throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2007/0079282 A1
`
` Nachnani et al. (43) Pub. Date: Apr. 5, 2007
`
`
`US 20070079282Al
`
`(54) BROWSER BASED DESIGNER AND PLAYER
`
`(22)
`
`Filed:
`
`Sep. 30, 2005
`
`(76)
`
`Inventors: Pawan Nachnani, Newark, CA (US);
`Jin Huang, Mountain House, CA (US);
`Ramesh Kagoo, Pleasanton, CA (US);
`Sampath Thasampalayam, Fremont,
`CA (US); Lawrence Lindsey3
`Livermore, CA (US); Paul M. Tabet,
`Danville, CA (US)
`
`Correspondence Address:
`MORRISON & FOERSTER LLP
`755 PAGE MILL RD
`PALO ALTO, CA 94304-1013 (US)
`
`(21) App]. No.:
`
`11/241,073
`
`Publication Classification
`
`(51)
`
`Int. Cl-
`(2006.01)
`G06F 9/44
`(52) US. Cl.
`.............................................................. 717/106
`
`(57)
`
`ABSTRACT
`
`A system for designing, deploying, and executing enterprise
`applications is provided. The system allows for rapid devel-
`opment and deployment of Web-based data-oriented appli-
`cations. Multiple versions of the applications can exist
`simultaneously without conflicts. The applications may be
`web services enabled and process driven.
`
`1 02
`
`1 l4
`
`120
`
` —i
`
`IE ApplicationDefinition
`
`108
`
`Application Data
`
`
`
`
`
`
`
`Database
`
`
` Application Definition
`table
`
`Application Data table
`
`-
`
`Exhibit 1006
`
`Page 01 0f49
`
`Adobe Inc. v. Express Mobile, |nc.,
`|PR2021-XXXXX
`
`
`
`US. Pat. 9,471,287
`
`Exhibit 1006
`
`Exhibit 1006
`Page 01 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 1 0f 27
`
`US 2007/0079282 A1
`
`Figure 1a
`
`102
`
`114
`
`Dcsigncr UI
`
`
`
`Application Data “—
`
`
`
`' ApplicationDefinition I
`
`
`
`120
`
`
` Ii ApplicationDefinition
`
`
`
`
`
`108
`
`
`
`Application Data
`
`Databasc
`
`Application Definition
`table
`
`V
`
`.
`
`Application Data table
`
`1 1 2
`
`
`
`Exhibit 1006
`
`Page 02 of 49
`
`Exhibit 1006
`Page 02 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 2 0f 27
`
`US 2007/0079282 A1
`
`Web Browser
`
`Application
`
`38
`
`42
`
`132
`
`
`
`
`Component
`140
`
`
`
`
`
`
`Web Page
`
`
`Application
`
`146
`
`148
`
`150
`
`
`
`
`
`Exhibit 1006
`
`Page 03 of 49
`
`Exhibit 1006
`Page 03 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007
`
`Sheet 3 of 27
`
`US 2007/0079282 A1
`
`Figure 2a
`
`
`
`
`<Area
`
`
`
`Application
`202
`name=name property
`
`
`
`label=displayname
`
`rows=rowcount
`
` StandardArea
`
` 240\ Area Properties:
`cols: colcount>
`
`name, displayname, width,
`
`rowcount, colcount
`204
`
`
`
`
`
`<ForrnComponent
` Component (at least 1), type is one of:
`
`
`name=name property
`
`Label, TextBox, TextArea, RadioButton,
`
`WPC=WPC PTOPCKY
`CheckBox, Select List, File Attachment,
`
`datatype=datatype property
`
`
`
`Button, Image, Link.
`required=required property
`
`defaultvalue=defaultvalue prop
`
`
`
`rowindex=rowindex property
` Component
`
`colindex=colindex property
`Properties:
`
`
`name, type,
`hidden=hidden property '
`
`datacolumn=next available
`rowindex, colindex,,
`
`
`column name
`hidden, dataset,
`
`/>
`datalinkage,
`
`
`datatvoe. recruited.
`
`
`
`
`
`Exhibit 1006
`
`Page 04 of 49
`
`Exhibit 1006
`Page 04 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 4 0f 27
`
`US 2007/0079282 A1
`
`263
`
`Application
`
`TableArea
`
`Area Properties:
`name, displayname, width,
`rowcount, colcount
`
`<Area
`namc=namc property, labcl=displayname,
`rows=rowcount, cols=colcount>
`
`275
`
`264
`
`- 265
`
`266
`
`267
`
`268
`
`269
`
`270
`
`271
`
`Component (0 or more;
`same as in StandardArea)
`
`<FormComponent
`(same as in Standard
`Area) />
`
`‘
`
`~““‘~—._~
`
`</TableColumn>
`
`‘
`
`</TableDetailRow >
`
`272
`
`</TableComponenr>
`
`27 3
`
`’ -\'m
`
`Exhibit 1006
`
`Page 05 of 49
`
`Exhibit 1006
`Page 05 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 5 0f 27
`
`US 2007/0079282 A1
`
`Figure 3
`
` 300
`
`Request Infor
`
`ation-
`
`302
`
`30
`
`Date: 4/22/2005
`
`
`
`
`
`
`
`308
`
`310
`
`306\
`
`_
`Panent Name
`
`_
`John I. Smith
`
`Exhibit 1006
`
`Page 06 of 49
`
`Exhibit 1006
`Page 06 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 6 of 27
`
`US 2007/0079282 A1
`
`Figure 4a
`
`410
`
`\
`
`Form '2 ( name, description, version, category, theme. subject}
`
`Area (1 or more)
`
`BehaviorList (Optional, 0 or more)
`
`415
`
`\
`
`Area : { name, label. layout, rows, cols, vlslbllity }
`
`L ComponentDefinition (1 or more)
`
`FormComponent (if present, 1 or more)
`
`Of
`
`TableComponent (if present, 1 or more)
`
`420
`
`name, displayname, type, datatype, required, keyfield, readonly,
`
`\FormComponent: {defaultvalue, rowindex, colindex, hidden, datacolumn, maxlength, }
`
`alignment, allowedchars, rows, cols, size, allowmultiple, datalookup
`formula, style, align, linkedcontrolname, attachtype
`
`,
`
`FormComponentLlst (Optional, 0 or 1)
`
`FormComponent (Optional, 0 or more)
`
`BehaviorList (Optional, 0 or 1)
`
`430
`
`\ BehaviorList
`[— Behavior : (name, event, category} (Optional, 0 or more)
`435/ L Code 2 string
`
`Exhibit 1006
`
`Page 07 of 49
`
`Exhibit 1006
`Page 07 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 7 0f 27
`
`US 2007/0079282 A1
`
`Figure 4b
`
`440
`
`,
`
`\TableComponent : (name, type, rows, alldw_more_rows, style, allow_row_delete}
`
`TableHead Row
`
`lvTableColumn (1 or more)
`
`TableDetailRow
`
`l—TableColumn (1 or more)
`
`TableFootRow (Optional, 0 or more)
`
`l>TableColumn (1 or more)
`
`BehaviorList
`
`450
`
`\TableColumn : (name, label, rowindex, colindex, width}
`L FormComponent (Optional, 0 or more)
`
`-
`
`Exhibit 1006
`
`Page 08 of 49
`
`Exhibit 1006
`Page 08 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 8 0f 27
`
`US 2007/0079282 A1
`
`my Sgt
`
`Area Component
`,
`name=area_0
`label=Request Information
`cols=4, rows=6
`
`FormComponent
`namc=comp_area__0_0_0
`type=LABEL
`label=Datc:
`rowindex=0, colindex=0
`
`Form Component
`name=date_1
`type=DATE
`dataset:process_master/dtc1
`towindex=0, colindcx=1
`
`rowindex=0, colindex= 1
`
`Form Component
`name=comp_area_0_l_0
`type=LABEL
`label: Patient Name:
`rowindex=1 , colindex=0
`
`Form Component
`name=select_3
`type=SELECT
`datalookup= CORE/$CID/USER
`dataset=process_master/sc1
`
`Figure 5b
`
`53
`
`0\ area_0, Labcl=Request Information,
`532\L_
`
`Component Definition
`
`534\
`
`comp_area_0_0_0, label=Date:.
`
`536‘
`
`date_l, type=DATE,
`
`538-;
`
`comp_area_0_l_0, label=Patient Namez,
`
`539/
`
`select_3, type=SELET,
`
`52
`
`Exhibit 1006
`
`Page 09 of 49
`
`Exhibit 1006
`Page 09 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 9 0f 27
`
`US 2007/0079282 A1
`
`540
`
`Figure 5c
`
`<Area name="area_0" label="Request Information" cols="4" rows="6" 1ayout="f0ur">
`
`</C0mponentDcfinition>
`
`<ComponentDefinition>
`
`<FormComponent name="comp_area 0 0 O" type="LABEL" required="false"
`
`label="Date:"-datatype="0" maxlength="25" style=="EditBox" rowindex="0"
`
`colindex="0" datalookup="" dataset="" />
`
`<FormComponent name="date_1" type="DATE" required="false" 1abel="date_1"
`
`datatype="4" maxlength="25" style="EditBox" rowindex="0" colindex="1"
`
`datalookup="" dataset="PROCESS_MASTER/dtc1" />
`
`<F0rmComponent name="comp_area_0_1_0" type="LABEL" required="true"
`
`label="Patient Namez" datatype="0" maxlength="25" style="EditBox" ’
`
`rowindex="1" colindex="0" datalookup="" dataset="" />
`
`<FormComponent name="select_3" type="SELECT" rcquired="false"
`
`1abel="select_3" datatype=" 1" maxlength="25" style="EditBox" rowindex="1"
`
`colindex="1" datalookup="CORE/$CID/USER"
`
`dataset="PROCESS_MASTER/sc1" />
`
`Exhibit 1006
`
`Page 10 of 49
`
`Exhibit 1006
`Page 10 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 10 of 27
`
`US 2007/0079282 A1
`
`600
`
`iijwc éflk
`
`Data: Client
`
`Application Data
`
`Application
`
`Figure 6b
`
`604
`
`datc_1=4/22/2005
`
`603
`
`
`
`sclcct_3=]ohn I. Smi
`
`610
`
`.
`Figure 6c
`
`61
`
`Example
`Application
`Data on
`Client
`
`Example
`Application
`Data in
`Database
`
`
`
` “—
`
`4/22/2005
`
`62
`
`
`John J. Smith
`
`Exhibit 1006
`
`Page 11 of 49
`
`Exhibit 1006
`Page 11 of 49
`
`

`

`
`
`
`
`
`
`
`
`
`Patent Application Publication Apr. 5, 2007 Sheet 11 0f 27
`
`US 2007/0079282 A1
`
`Figure 7a
`
`
`
`
`
`711
`
`Exhibit 1006
`
`Page 12 of 49
`
`Exhibit 1006
`Page 12 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 12 0f 27
`
`US 2007/0079282 A1
`
`Figure 7b
`
`720
`
`721
`
`723
`
`
`
`
`
`Exhibit 1006
`
`Page 13 of 49
`
`Exhibit 1006
`Page 13 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 13 of 27
`
`US 2007/0079282 A1
`
`Figure 7c
`
`
`
`Exhibit 1006
`
`Page 14 of 49
`
`Exhibit 1006
`Page 14 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 14 0f 27
`
`US 2007/0079282 A1
`
`Figure 7d
`
`3 Ac on Builde ~ Web Page Dialog
`
`0 Saint cum
`(9 sum Function
`
`
`
`vtm phla ' min! 3 ccb‘v (0 gligbcarc’ 1?
`1mm: mnm;gn_1-mnuul
`(Ik‘au: coda see: man.
`i-x'u;
`r \748
`
`
`
`
`
`Exhibit 1006
`
`Page 15 of 49
`
`Exhibit 1006
`Page 15 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 15 of 27
`
`US 2007/0079282 A1
`
`Figure 76
`
`740
`
`Slled Event
`
`
`49
`
`V
`unDouMgClick
`.
`_
`‘
`‘
`.
`copy a: cingomfi i ?.
`viayplién print
`a javucnpn
`”Build cut»: retain“ gs: calculating->9. vutéuscnl, a: a onMouseOver
`[IS-lieu ch. Objlct :: maxim-L, Sahc: 3:11;: 1:: click Add 311:: a: Add. Meagan
`[lieu can use elicit :11! 93;. 51-min: 9: Mann an ab: 2.2: a: hip band 2” Mug.
`llids: mum. by axiak’an gn this; ngux.
`
`1., {fl meantime~
`
`\
`748
`
`
`
`(nw«Lins
`
`Exhibit 1006
`
`Page 16 of 49
`
`Exhibit 1006
`Page 16 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 16 of 27
`
`US 2007/0079282 A1
`
`Figure 7f
`
`
`
`
`Sce11.Qty ‘ $cell.Un1t Price
`
`
`Only data elements aooesslblqto the tatgel field are displayed in the Data Elements window, Within a Iable you may only work wim
`instances of that row of the table. In the Table Summaty Footer Areas you may access columns ollhe table as well as data elements
`from other areas. Table Summary Footer Areas an only get summary (SUM. Min. Max, etc) of data columns from the table.
`
`
`
`
`753
`
`
`
`
`
`
`
`75
`
`Exhibit 1006
`
`Page 17 of 49
`
`Exhibit 1006
`Page 17 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 17 0f 27
`
`US 2007/0079282 A1
`
`
`
`mag
`
`(:{Qv‘ngww‘mmi%.-K'E.€k£~f%
`Smartfl'mm“I
`
`780
`
`
`
`
`
`01/15/2604
`01/15/2094
`
`
`ems/2004
`
`01/15/2004
`ouéS/z‘ooé
`
`cu 15/2004
`0x12311005:
`01/15/2004
`
`<<-<-<222<
` qulMt—‘Ni—‘N
`
`
`
`Seed/won i2}
`
`3;. .Q 7349“???“ 2
`Test Applicaticn 3
`
`
`
`-' send/wan {3;
`Semfidhn {'2
`
`
`
`
`Active-
`Test
`
`luadii'g
`
`Active
`
`.
`sunny Yang
`" '
`
`Sunny Yang
`-
`Sunny Yéng’
`
`2131:1133 t 8.352 = mu:
`Cnpyrlg‘hi 199$ - 2995. 5533. M] rights rexarvad.
`
`
`
`
`
`08/0112005
`0811812005
`
`' oa/xa/zohs L
`
`Sunny Yang
`09:00 AM Sunny Yang
`09:00 AM
`09:00 AM Use no me any file :yp'e, such...
`
`KST
`KST
`Activ:
`Salaam"
`'2; Q a 7:5: Apglkah'an 1
`iGT _
`
`
`,
`V
`08/01/2905
`Delis/:90
`--
`_
`_,
`07/25/2095
`,
`,
`
`
`03:00 AM 'Surin'y Yahfi ,
`139::90 AM i
`‘n9:pl0AMv Usegnrp
`‘
`‘
`'
`
`lCSTr
`.
`KST .
`E
`33/01/2005
`05/18/2005?
`ogsoo AM use to route any file type, such...
`09:00 AM Sunny Yang
`09:00 M E
`KST
`KST
`KST
`i
`-
`.
`v,
`_ ,.
`‘-
`03/15/2905“.
`_ns/o’i/2_o_os
`.
`V
`.
`awe/2,005
`03:00‘AM‘ Sunny Ya’n'g
`oagoo AM
`09:00AM Us: 211‘ 'roqte a’ny'flle type, such...
`05/01f2005
`0311812005
`(39/01/2005
`Sunny Yang
`09:00 AM Sunny Yang
`05:00 AM
`09:00 AM Us: to route any file type, sum...
`KST
`lGT
`K57
`
`
`njst Appgac‘auqéi 4'
`
`Task Applications
`
`Exhibit 1006
`
`Page 18 of 49
`
`Exhibit 1006
`Page 18 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 18 of 27
`
`US 2007/0079282 A1
`
`1?ch 7k
`
`
`’
`’
`__
`_
`_
`x
`$IIiHa“aIHHaflHflIIHHIIIIIIIIIIIIIIIIIIIIIIII
`9???&ea-????&SE=W .
`75 M
`cc as.nsite.com/Parcners.1a§?
`
`i i
`
`75
`
`755
`
`
`75
`
`763\
`
`E
`
`i
`
`
`75Ei
`if mm Platform Oflionl
`E5 Save ng'flwdcwmymw
`Llnk Wpe Please Select
`log'nmoeperusdan
`B Shasz‘LaFIalkxmmbs
`758\ Appncatkon
`
`755
`Select the Inbound link you wouid like to mam. Wm. a link that launches an Nshe
`me" View (In Progress. Complalzd, Natives, or Drans) yuu my final for a specific
`
`
`application When hundu'ng an application you mar Feudal: application camels,
`
`
`
`
`
`1' Great u
`URL ht: s:
`A
`first gave me a, a ?
`URL
`~
`,
`1
`‘
`.
`
`
`
`
`ififinfififfiifii{azamgnéséméasiafi
`{£35.34 t‘n‘Egifééi‘xié‘Efiéffififiéig 3&7
`
`
`
`1
`
`Memo mum Options
`Link W e
`um. maaovm cm
`I
`ESMloaficm—fiomfimm
`P
`EmLogir-{hakhsamlymh
`’
`
`
`mm mm per union
`min once per session
`i
`y
`13 ShowNsiu Platform abs
`764\APP"¢W09 ‘
`sna-NsinHitler!“man
`i
`OmahaURLisbuik.youwmnaedtocopvhndvasteilwfluarvvartyweh
`'
`OmmeURme‘yauwfllnnedtoeopylandpastainomeikmpanyweb
`;
`ewfimm When launching an application. m can playmate WWW" OWNS by
`appliafimi You may filter m a speck: appuamm in me mm; ween View. or
`
`
`;
`adding me vafiabit names from the 3rd pan! appliafinn "they moms ma! “WU
`m No Application Huerta view an 1;:le ens,
`E
`Connols to Populate
`Copy Control Name Code
`
`76
`TcxtConfmlNawI
`
`TeflCommlNarmZ
`
`boubledick the data clement from your
`TanCormnlea
`
`
`
`0:an ippflafinn. my me Comm!
`TextcordrotNma
`Name Code (or pasz'ng into this URL
`
`
`above
`
`WMNameS
`
`
`TextlerdNameG
`
`TmcmtrNName‘l
`
`
`
`
`
`Exhibit 1006
`
`Page 19 of 49
`
`Exhibit 1006
`Page 19 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 19 of 27
`
`US 2007/0079282 A1
`
`Link Builder
`
`
`765
`
`76
`
`© Static URL
`0 Nsite to Nsite (Initiate and prepopulate another Nsite process)
`
`
`
`765
`
`
`
`r—Link Builder
`0 Static URL
`76% Nsite to Nsite (Initiate and prepopulate another Nsite process)
`
`
`
`
`
`768\L Nsite Application Variables
`from Application Name
`Drag and drop variables from your current
`application to the mapping boxes
`
`i
`3
`1
`
`-"E/ 769
`Select Process Application to
`‘
`770
`Initiate Process AppZ
`v‘
`Seied another process applioation. then Drag and Drop i
`oormolstomaptn the controlsimntha currem application
`‘
`
`771
`
`i l i
`
`El
`lI
`lS
`l
`
`Application to Initiate Mapping Boxes
`Current Application Mapping Boxes
`[2:223 >E::.:] sziexmmrw
`
`AppZTextContmiZ
`TextContmiNameS
`[2:223 >312] Appzwmconm
`
`TextContrulNarne4
`TextContmlNameS
`
`
`:2 (:2: Wham“
`AppZTextComroiS
`TextControiNameS
`
`
`TextControlName?
`AppZTextConimlG
`AppZTextConiroU
`
`
`AppZTextControia
`
`
`"
`
`-
`
`Exhibit 1006
`
`Page 20 of 49
`
`Exhibit 1006
`Page 20 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 20 of 27
`
`US 2007/0079282 A1
`
`Figure 8
`
`801
`
`331‘
`
`Client Computer
`
`802
`
`803
`
`805
`
`807
`
`808
`
`830
`
`840 809
`
`Cllent Computer
`
`832
`
`833
`
`835
`
`837
`
`838
`
`839‘
`
`
`
`860
`
`Application Sewer
`
`
`A
`
`I 862
`pp‘PlayerJSP
`
`II 864
`
`
`
`
`
`
`854
` , ProcessServlce
`
`App Designer JSP
`
`'
`
`
`
`852
`
`Exhibit 1006
`
`Page 21 of 49
`
`Exhibit 1006
`Page 21 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 21 0f 27
`
`US 2007/0079282 A1
`
`Figure 9
`
`Start Save Application Definition
`
`910
`
`AppDeslgner server
`page presents‘user
`interface.
`
`914'
`
`-
`
`Create Empty
`
`.
`
`Yes
`
`
`Definitionobject -CreateNewApp?
`
`
`918 '
`
`No
`
`
`
`920
`
`Load an existing
`application definition
`
`
`into Definition object.
`
`
`
`
`1
`Wait for User Action
`
`922
`
`
`
`924
`Component Added?
`
`No
`
`928
`User Clicked Save?
`
`NO
`
`
`
`
`
`Yes
`
`Yes
`
`-
`Add new component
`to Definition
`
`926
`
`'
`-
`Transform Definition
`into XML according .
`to XML schema
`
`_
`
`Send XML to
`
`AppDeslgner JSP for
`storage in database
`
`
`
`916
`
`Exhibit 1006
`
`Page 22 of 49
`
`Exhibit 1006
`Page 22 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 22 0f 27
`
`US 2007/0079282 A1
`
`Figure 10a
`
`Get XML application
`definition
`
`(ProcessDefinition) from
`DefinitionFactory
`
`Start GetVaers
`subroutine
`
`1024
`
`
`
`
`
`
`
`
`
`For each application
`component in XML
`application definition-
`
`Compose component
`name
`
`More components?
`
`Look up dataset table
`and column names by
`component name in XML
`
`
`
`
`
`Get component value
`from ProcessMaster
`
`
`
`property with dataset
`table and column names
`
`
`
`Set BusinessObjectValue 1034
`property with component
`name to component
`value
`
`
`
`
`
`1 037
`
`Exhibit 1006
`
`Page 23 of 49
`
`Exhibit 1006
`Page 23 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 23 of 27
`
`US 2007/0079282 A1
`
`Figure 10b
`
`Start RenderHTML
`
`subroutine
`
`,
`
`1050
`
`
`
`For each application
`component in XML
`application definition
`
`
`
`
`
`Compose component
`name
`o
`
`Create HTML element for 1056
`
`component
`
`Get component value'
`from
`
`BusinessObjectVaIue
`property with component
`
`Add component value to
`HTML element.
`
`More components?
`
`
`
`
`
`
`
`
`
`1064
`
`Exhibit 1006
`
`Page 24 of 49
`
`Exhibit 1006
`Page 24 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 24 0f 27
`
`US 2007/0079282 A1
`
`Figure 11
`
`Start Save Application Data
`
`1110
`
`FormProcessor decodes
`incoming HTTP response
`parameter values
`
`
`
`FormProcessor creates
`
`BusinessFactory
`
`1118
`
`1 120
`
`1 122
`
`Begin XML traversal to
`- fill in ProcessMaster
`
`1123
`
`_ For each application
`component in XML
`application definition
`
`1124
`
`Compose component
`name
`
`1126
`
`Find component value
`with component name in
`H'ITP request
`
`1128
`
`Look up dataset table
`and column names by
`component name in XML
`
`1130
`
`
`
`Set ProcessMaster
`property with dataset
`
`
`table and column names
`to component value
`
`
`
`1132
`
`No
`
`1134
`Yes
`
`
`More components?
`
`
`
`
`
`BusinessFactory
`traverses XML
`
`1 136
`
`
`
`Store ProcessMaster in
`
`
`database using
`ProcessService
`
`Exhibit 1006
`
`Page 25 of 49
`
`Exhibit 1006
`Page 25 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 25 of 27
`
`US 2007/0079282 A1
`
`Figure 12a
`
`1201
`
`
`1202
`Application
`1203
`
`
`
`
`
`
`
`
`1204
`
`'
`Application Definition
`
`
`1205
`
`
`Application Data
`
`
`
`
`.
`
`
`Fig-ure 12b
`
`,
`
`Edit
`
`1210
`
`1221 '
`
`\
`iniitiateProcess
`or Routing
`
`
`
`
`Active Mode
`
`Undeploy
`
`
`\1223
`
`
`
`lnactive Mode
`
`1230
`
`Deploy
`
`1231
`
`Exhibit 1006
`
`Page 26 of 49
`
`Exhibit 1006
`Page 26 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 26 of 27
`
`US 2007/0079282 A1
`
`JEflwfl
`
`1301
`
`process_definition
`
`1 302
`
`1303
`
`1305
`
`
`
`
`pk_process_definition_id: numeric(9,0)
`fk_core_company_id: numeric(9.0)
`
`fl<,_core_company_process_id: numeric(9,0)
`
`
`process_xml: ntext
`
`process_type: nvarchar(1)
`
`version: numeric(9.0)
`
`is_active: nvarchar(1)
`
`
`mode: nvarchar(1)
` 1304
`
`effective_date: datetime
`
`end_da1e: datetime
`
`is__locked: nvarchar(1)
`
`
`Iocked_by: numeric(9.0)
`Iock_date: datetime
`
`
`
`Exhibit 1006
`
`Page 27 of 49
`
`Exhibit 1006
`Page 27 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 27 of 27
`
`US 2007/0079282 A1
`
`1422
`
`1421
`
`1404
`
`6
`
`process_detail
`process_master
`
`
`pk_process_masler_id: numeric(9,0)
`pk_prooess_delail_id: numeric(9,0)
`
`
`
`routing_id: numen'c(9,0)
`fk_proc‘ess_master_id: numeric(9,0)
`
`
`
`fk.core_user_id: numeric(9.0)
`parent_id: numeric(9.0)\
`
`
`
`fk_core_company_process_id: numeric(9,0)
`type_id: numeric(9.0
`
`
`
`fk_core_company_id: numeric(9,0)
`Sc1: nvarchar(256)
`
`
`
`subject: nvarchar(100)
`sc2: nvarchar(256)
`
`
`
`status: nvarchar(1)
`sc3: nvarchar(256)
`
`
`
`
`
`
`description: nvarchar(100)
`Isc1: ntext
`sc1: nvarchar(256)
`Isc2: ntext
`
`
`
`
`sc2: nvarchar(256)\ 140
`Isc3: ntext
`
`
`sc3: nvarchar(256)\
`nc1: numeric(15,3)
`
`Isc1: ntexi
`1407
`nc2: numeric(15,3)
`
`lch: ntext
`nc3: numeric(15,3)
`
`
`
`MT nvarchar(1)
`Isc3: ntext / 1405
`nc1: numeric(15,3)
`
`bc2: nvarchar(1)
`
`
`nc2: numeric(15,3)
`bc3: nvarchar(1)
`
`
`
`
`dtc1: datetime
`nc3: numerlc(15.3)
`
`
`
`dth: datetime
`bc1: nvarchar(1)
`
`
`
`dtcaz datetime
`ch: nvarchar(1)
`
`
`
`bc3: nvarchar(1)
`dtc1: datetime
`
`dtc2: datetime
`
`dtc3: datetime
`
`
`
`process_extension
`
` pk_process_extension_id: numeric(9,0)
`
`fl<_process_master_id: numeric(9,0)
`
`sc1: nvarchar(256)
`
` process_attachment
`sc2: nvarchar(256)
`
`sc3: nvarchar(256)
`
`pk_prooess_attachment_id: numeric(9,0)
`
`
`pk_fk_core_company_id: numen'c(9,0)
`:2; 2::
`
`
`
`
`pk_process_master_id: numeric(9,0)
`lsc3; ntext
`
`
`pk_process_detail_id: numeric(9,0)
`
` nc1: numen'c(15,3)
`file_name: nvarchar(128)
`nc2: numeric(15,3)
`
`
`
`file__type: nvarchar(10)
`
`
`
`n63: numen'c(15.3)
`
`
`file_size: numen'c(9,0)
`
`bc1: nvarchar(1)
`file_oontenl_in_byte: varbinary
`
`
`
`bc2: nvarchar(1)
`attachmenLtype: nvarchar(1)
`
`
`bc3: nvarchar(1)
`
`dtc1: datetime
`dtc2: datetime
`
`dtc3: datetime
`
`
`
`1410
`
`Exhibit 1006
`
`Page 28 of 49
`
`Exhibit 1006
`Page 28 of 49
`
`

`

`US 2007/0079282 A1
`
`Apr. 5, 2007
`
`BROWSER BASED DESIGNER AND PLAYER
`
`BACKGROUND OF THE INVENTION
`
`[0001]
`
`1. Field of the Invention
`
`[0002] The present invention relates generally to methods
`for programming a machine to perform data processing, and
`in one aspect to methods for programming a machine to
`perform specific data processing tasks described in a sim-
`plified manner.
`
`[0003]
`
`2. Description of the Related Art
`
`types of software applications are
`[0004] Today, most
`installed directly on a user’s computer. Examples of such
`applications include the MicrosoftTM WordTM, AdobeTM
`PhotoshopTM, and IntuitTM QuickenTM computer programs.
`A user of such an application generally is limited to using
`that application on the computers on which it has been
`installed. This limitation is problematic if a user is traveling
`and does not have physical access to the computer on which
`an application is installed. Furthermore, updating these
`applications to add new features or fix defects requires
`installation of updates directly on the user’s computer,
`which is often a time-consuming process.
`
`also referred to herein as
`[0005] Web applications,
`browser-based applications, solve such usability and instal-
`lation problems by using a web browser, e.g. Microsoft
`Internet ExplorerTM or Mozilla FirefoxTM, and a web server,
`e.g. ApacheTM or MicrosoftTM Internet Information Ser-
`vicesTM. An application can be divided into at least two main
`parts: a user interface, which is presented to a user and
`interacts with the user, and business logic, which performs
`the tasks required of the application, in accordance with user
`input received from the user interface. The web browser runs
`the user interface. The web server provides the user interface
`to the web browser and runs the business logic, possibly in
`cooperation with other servers such as an application server,
`e.g. JBossTM or BEATM WebLogicTM, and a database server,
`e.g. OracleTM. The web application need not be installed
`directly on the user’s computer. The term server or web
`server here refers to software executed on a computer, also
`referred to generally in the field as a server platform.
`
`[0006] A web browser is a type of specialized software
`application, typically installed directly on the user’s com-
`puter, which allows a user to view and interact with web
`pages. Web pages are documents, typically in HyperText
`Markup Language (HTML) format that the web browser
`retrieves from a web server computer via a network, using
`a protocol such as the HyperText Transfer Protocol (HTTP).
`Web pages may include software code in a programming
`language such as JavaScriptTM which will be executed by the
`web browser when the page is retrieved. A web application
`includes a user-interface component that is loaded as part of
`a web page by a browser via a network connection. A web
`application’s user interface may be implemented as a web
`page using HTML and JavaScriptTM. A browser-equipped
`computer, therefore, uses a network connection to permit a
`user to access a web application running on a remote server,
`for example. Furthermore, web applications can be updated
`at any time by installing the update on the server.
`
`[0007] Computer software applications are often required
`to perform operations that are specific to a particular user or
`organization. For example, a software application may be
`
`used to in a hospital to request clinical tests. The software
`application may include a set of data fields for which a user
`provides data values, such as a patient name and a test name.
`A particular hospital may also require a patient medical
`record number in a format defined by that hospital. In
`general, the set of data fields, and actions to be taken after
`data values have been provided, are dependent on the needs
`of the hospital, and may change over time. Therefore there
`is a need for customization of software to meet specific
`requirements. Customization of software may include devel-
`oping new software or modifying existing software. Cus-
`tomization can be done by a programmer using a program-
`ming language such as C++, Java, or BASIC. However, the
`use of such languages often requires substantial time and
`effort, as well as specialized knowledge of the programming
`language, so such customization by programming can be
`expensive. Rapid Application Development (RAD) tools
`address these problems by simplifying programming tasks.
`Atypical RAD tool is software that includes a graphical user
`interface for laying out application user interfaces and
`defining application behaviors in terms of predefined actions
`such as data entry and database access. A RAD tool may
`present a list of predefined behaviors or actions from which
`a user can choose when creating or extending an application.
`RAD tools are generally easier to learn and use than con-
`ventional programming-language based approaches
`for
`developing applications, and can shorten the time required
`to develop applications. Existing RAD tools include Borland
`DelphiTM, Microsoft Visual BasicTM, and Macromedia/
`Adobe ColdFusionTM, which can be used to develop a wide
`range of applications, but often require some programming.
`RAD tools such as Intuit QuickBase and Microsoft InfoPath
`can be used to develop applications that involve filling out
`data forms and accessing databases.
`[0008] There is a need for non-programmers to design,
`develop, and deploy simple to complex, composite and
`monolithic applications in the business world today. Appli-
`cation development is a costly, time consuming, and risky
`proposition for even capable engineering organizations, let
`alone business analysts and other non-technical staff. Few
`organizations have the resources to use complex develop-
`ment
`tools and deployment environments to build and
`deploy applications. This engineering capability void has
`fostered a large and thriving software industry as known
`today. Even so, packaged software applications are expen-
`sive to purchase and even more expensive to install, con-
`figure and maintain. A new breed of Software As A Service,
`(SAAS,) vendors have evolved to deliver complex software
`as a service to further eliminate complexity and reduce costs
`to leverage software application benefits. Even with SAAS
`vendors providing robust pre-built applications, only a small
`percentage of business software application requirements
`are met and hence,
`the need for both applications and
`infrastructure that is aimed at business analysts and pro-
`grammers to design, develop and deploy applications
`quickly and efficiently.
`[0009]
`Several of the RAD tools described above provide
`support for creating web applications. DelphiTM, Vlsual
`BasicTM, and ColdFusionTM simplify the development of
`web applications created using programming languages.
`That is, those tools simplify the creation of user interfaces by
`providing graphical user interface builder tools that can be
`easily connected to business logic implemented in a pro-
`gramming language, but it is still necessary to write code in
`
`Exhibit 1006
`
`Page 29 of 49
`
`Exhibit 1006
`Page 29 of 49
`
`

`

`US 2007/0079282 A1
`
`Apr. 5, 2007
`
`a programming language for some portions of the applica-
`tion, such as the business logic. QuickBaseTM provides for
`rapid development of forms-based web applications using a
`graphical user interface. Furthermore, QuickBase itself is a
`web application, which means that it allows web applica-
`tions to be developed using the same web application model
`in which the applications will be deployed. That is, users of
`QuickBase can develop applications on any computer run-
`ning a web browser, without directly installing QuickBase
`software on their own computer. QuickBase applications
`may also be hosted on web servers provided by a software
`vendor, for example, Intuit, so that users are not required to
`provide a web server to host QuickBase applications they
`develop.
`
`InfoPathTM from MicrosoftTM provides for rapid
`[0010]
`development of forms. InfoPath forms can optionally be
`made available as web applications, but the InfoPath form
`designer itself is not a web application and must be installed
`directly on a user’s computer. Furthermore,
`InfoPath
`depends on other Microsoft products such as
`Internet
`ExplorerTM and does not work with browsers from other
`vendors, such as Mozilla FirefoxTM. Therefore InfoPath
`forms can only be accessed from computers on which
`InfoPathTM and related MicrosoftTM products are installed.
`
`[0011] Existing RAD tools do not combine the benefits of
`web applications with features such as customizable pro-
`cessing in a scripting language, linkage with external data
`sources such as databases, and linkage to web services. We
`have recognized that
`it would be desirable to have an
`easy-to-use RAD tool which is itself a web application, and
`which allows a user to quickly develop and customize
`web-based data processing applications that can include data
`input, validation, processing, and linkage with web services.
`Such a RAD tool could be used to quickly and efficiently
`develop and customize applications using any computer that
`has a standard web browser and access to the Internet.
`
`Furthermore, web applications typically require complex
`business logic for their activities. This logic is typically
`written in strongly typed languages and the logic requires
`recompilation and redeployment. It would be desirable to
`provide a RAD tool with a scripting language which can
`change or extend the behavior of web applications without
`the additional overhead of recompilation or redeployment.
`
`[0012] Existing Web-based RAD tools do not provide a
`single unified interface and environment for building a web
`application that includes a user interface linked to persistent
`data stored in a database. Existing Web-based RAD tools
`disadvantageously use a multi-step process that starts at the
`level of individual data elements, and expect the user to
`perform a series of steps to define a user interface linked to
`persistent data. These steps typically include defining a field,
`defining an object, defining a container, linking the objects,
`defining a user interface, and linking the user interface to the
`objects and fields, all of which are complex and time-
`consuming.
`
`SUMMARY OF THE INVENTION
`
`In general, in a first aspect, the invention features
`[0013]
`a computer enabled method of creating a software applica-
`tion. The method includes the acts of providing a user
`interface for designing the software application on a web
`browser, defining aspects of the application via the web
`
`browser using the user interface, and transmitting the
`defined aspects to a server over a computer network to create
`a web-based software application. Embodiments of the
`invention may include one or more of the following features.
`The method of creating a software application may include
`the acts of providing a set of components on the web
`browser and implementing aspects of the application using
`the components. The method may include the steps of
`providing a library on the browser and using the library as
`an intermediary between the defined aspects at the browser
`and the server. The computer network may include the
`Internet. The method may include, at the server, the steps of
`rendering a representation of the application from the trans-
`mitted defined aspects, retrieving data associated with the
`application from a storage, and transmitting the representa-
`tion and retrieved data to a client. The method may include,
`at the client, the act of executing the representation and data
`on a web browser. The method may include the acts of
`providing a library on the web browser of the client and
`using the library as an intermediary between the web
`browser of the client and the server. The method may include
`the acts of tracking multiple versions of the software appli-
`cation, maintaining each version as compatible with prior
`versions of the software application, and allowing multiple
`of the versions to be active at the same time.
`
`In a second aspect, the invention features a com-
`[0014]
`puter enabled method of providing a software application,
`including the acts of receiving at a server over a computer
`network from a first client web browser a software applica-
`tion including defined aspects of the application, rendering
`a representation of the application from the received defined
`aspects, retrieving data associated with the application from
`a storage, and transmitting the representation and retrieved
`data to a second client. Embodiments of the invention may
`include one or more of the following features. In the method
`of providing a software application, the computer network
`may include the Internet. The method of providing a soft-
`ware application may include, at the second client, the steps
`of providing a web browser and providing a user interface to
`a user on the web browser from the received representation
`and data. The method of providing a software application
`may include, at the second client, the acts of: providing a
`library on the browser and using the library as an interme-
`diary between the browser and the server. The method of
`providing a software application may include the acts of
`providing a user interface on the web browser at the first
`client for desi

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket