throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2007/0079282 A1
`Apr. 5, 2007
`Nachnani et a].
`(43) Pub. Date:
`
`US 20070079282Al
`
`(54) BROWSER BASED DESIGNER AND PLAYER
`
`(22) Filed:
`
`5613- 30, 2005
`
`(76)
`
`Inventors: Pawan Nachnani; Newark; CA (US);
`Jill Huang, Mountain House, CA (US);
`Ramesh Kagoo, Pleasanton; CA (US);
`Sampath Thasampalayam; Fremont,
`CA (US); Lawrence Lindsey,
`Livermore; CA (US); Paul M. Tabet;
`Danville, CA (US)
`
`Correspondence Address:
`DIORRISON & FOERSTER LLP
`755 PAGE lVIIIiIi RD
`PALO ALTO, CA 94304-1018 (US)
`
`(21) Appl. 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
`driven.
`web services enabled and process
`
`102
`114
`
`
`Designer UI
`
`106
`
`120
`
`
`_i
`IE ApplicationDefinition
`
`Application Data
`
`
`
`table
`
`108
`
`Database
`
`Application Definition
`
`.
`
`Application Data table
`
`Page 1 of 49
`
`GOOGLE EXHIBIT 1009
`
`Page 1 of 49
`
`GOOGLE EXHIBIT 1009
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 1 0f 27
`
`US 2007/0079282 A1
`
`Figure 1a
`
`102
`
`114
`
`108
`
`
`
`
`
`
`
` Ii ApplicationDefinition
`
`
`
`
`
`Database
`
`Application Definition
`table
`
`-
`
`Application Data table
`
`1 l 2
`
`
`
`Page 2 of 49
`
`Page 2 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 2 0f 27
`
`US 2007/0079282 A1
`
`Web Browser
`
`Application
`
`132
`
`
`
`
`
`
`Application
`
`Web Page
`
`146
`
`148
`
`1 50
`
`
`
`Page 3 of 49
`
`Page 3 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 3 0f 27
`
`US 2007/0079282 A1
`
`E W
`
` Application
`
`202
`<Area
`
`,
`'
`—'
`namc=name property
`label=displayname
`
`
`StandardArea
`24“ Area Properties:
`rows=rowcount
`name, displayname, width,
`€015=80160unt>
`
`rowcount, colcount
`204
`
`
`<ForrnComponent
`
` Component (at least 1), type is one of:
`
`name=name property
`
`Label, TcxtBox, TextArca, RadioButton,
`WPC=WPC PIOPCKY
`
`CheckBox, Select List, File Attachment,
`
`datatype=datatype property
`
`
`Button, Image, Link.
`requircd=required property
`defaultvaluc=dcfaultvalue prop
`
`
`rowindex=rowindex property
`Component
`
`
`
`colindex=colindcx property
`Properties:
`
`name, type,
`hiddcn=hidden property '
`
`datacolumn=next available
`
`rowindex, colindex,,
`
`
`column name
`hidden, damset,
`
`
`/>
`datalinkagc,
`
`datatvoe. reouired.
`
`
`
`
`
`
`Page 4 of 49
`
`Page 4 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 4 0f 27
`
`US 2007/0079282 A1
`
`
`
`263
`
`Application
`
`203
`\
`
`Tabchrea
`
`24 '
`20
`
`Tahlchmnnnenr
`
`<Arca
`
`'
`
`‘
`
`namc=namc property, labcl=displaynamc,
`r0ws=rowcount, cols=colcount>
`
`Area Properties:
`name, displaynamc, width,
`rowcount, colcount
`
`_
`
`
`
`264
`
`- 265
`
`266
`
`267
`
`268
`
`269
`
`270
`
`271
`
`<FormComponent
`(same as in Standard
`Area) />
`
`‘
`
`“Nu“
`
`(/TablcColumn >
`
`'
`
`\“x‘
`
`</TabchctailRow >
`
`272
`
`</TablcComponcm>
`
`27 3
`
`
`
`’ ‘m
`
`275
`
`Page 5 of 49
`
`Page 5 of 49
`
`

`

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

`

`Patent Application Publication Apr. 5, 2007 Sheet 6 0f 27
`
`US 2007/0079282 A1
`
`Figure 4a
`
`410
`
`\
`
`Form ': (name, description, version, category, theme. subject}
`
`Area (1 or more)
`
`BehaviorList (Optional, 0 or more)
`
`415
`
`\
`
`Area : { name, label, layout, rows, cois, visibility}
`
`L ComponentDefinition (1 or more)
`
`FormComponent (if present, 1 or more)
`or
`
`TableComponent (if present, 1 or more)
`
`420
`
`name, displayname, type, datatype, required, keyfield, readonly,
`
`\FormCom onent' {defaultvalue. rowindex, colindex. hidden, datacoiumn, maxlength, }
`
`>
`
`p
`
`-
`
`'
`
`alignment, allowedchars, rows, cols, size, allowmultiple, datalookup,
`formula, style, align, linkedcontrolname, attachtype
`
`FormComponentList (Optional, 0 or 1)
`
`FonnComponent (Optional, 0 or more)
`
`BehaviorList (Optional, 0 or 1)
`
`430
`
`\ BehaviorList
`[— Behavior : {name. event, category) (Optional, 0 or more)
`435/ L Code : string
`
`Page 7 of 49
`
`Page 7 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}
`
`TableHeadRow
`
`lvTableColumn (1 or more)
`
`TableDetailRow
`
`|—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)
`
`Page 8 of 49
`
`Page 8 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 8 0f 27
`
`US 2007/0079282 A1
`
`- Mum 5
`&
`
`Area Component
`,
`name=area_0
`label=Request Information
`cols=4, rows=6
`
`Form-Component.
`name=comp_arcafi0_0_0
`typc=LABEL
`label=Datc:
`rowindex=0, colindex=0
`
`Form Component
`name=datc_1
`type=DATE
`dataset:process_master/dtc1
`iowindex=0, c0lindcx=l
`
`r0windex=0 , colin dcx= 1
`
`Form Component
`name=comp_area_0_1_0
`typc=LABEL
`label: Patient Name:
`rowindcx=l , colindex=0
`
`Form Component
`name=sclect_3
`typc=SELECT
`datalookup: CORE/$CID/USER
`dataset=process_master/scl
`
`Figure 5b
`
`53
`
`0\ arca_0, Labcl=Requcst Information, . ,.
`53le—
`
`Component Definition
`
`534\
`
`comp_arca_0_0_0. labcl=Datc;. . . .
`
`536‘
`
`date_1, type=DATE,
`
`538.14
`
`comp_arca_0_l_0, label=Patient Name2,
`
`539/
`
`select_3, type=SELET, . . .
`
`52
`
`Page 9 of 49
`
`Page 9 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" layout="four">
`
`542
`
`.
`.
`<ComponentDefin1tion>
`
`544'
`
`<FormComponent name="comp_area_0_0_0" lype="LABEL" required="fa]se"
`
`label="Date:“-datatype="0" maxlength="25" style="EditBox" rowindex="0"
`
`colindex="0" datalookup="" dataset="" />
`
`</C0mponentDcfinition>
`
`<FormComponent name="date_l " type="DATE" required="false" 1abel="date_1"
`
`datatype="4" maxlength="25" style="EditBox" rowindex="0" colindex="l"
`
`datalookup="" dataset="PROCESS_MASTER/dtc1" />
`
`<FormComponent name="comp_area O 1 0" type="LABEL" required="true"
`
`label="Patient Namez" datatype="0" maxlengt ="25" style="EditBox" ,
`
`rowindex="1" colindex="0" datalookup="" dataset="" />
`
`<FormComp0nent name="select_3" type="SELECT" required="false"
`
`Iabel="select_3" datatype=" 1" maxlen
`
`="25" style="EditBox" rowindex="1"
`
`colindex=" 1 " datalookup="CORE/$CID/USER"
`
`dataset="PRO CESS_MASTER/sc 1 " />
`
`Page 10 of 49
`
`Page 10 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 10 0f 27
`
`US 2007/0079282 A1
`
`600
`
`dial/Ln gm
`
`Application Data Application
`
`Namc=VaIUC
`
`602
`
`Data: Client
`Structure
`
`Figure 6b
`
`604
`
`date_l=4/22/2005
`
`603
`
`select_3=]ohn I. Smi
`
`610
`
`Example
`Application
`Data on
`Client
`
`Example
`Application
`Data in
`Database
`
`618
`
`
`
`_
`Figure 6c
`61
`
`614
`
`16
`
`6
`
`dtcl
`
`
`
` 4/22/2005
`
`622
`
`Page 11 of 49
`
`Page 11 of 49
`
`

`

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

`

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

`

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

`

`Patent Application Publication Apr. 5, 2007 Sheet 14 0f 27
`
`US 2007/0079282 A1
`
`Figure 7d
`
`'0" Builder »— Web Page Dialog
`‘» M Q ' 0mm: 0mm
`{9 Blind Function
`
`:
`_erga
`cuslommmanca EM
`
`vlm pizla' min! 3 may (0 clipbcuc’ 1’?
`1 1mm :91:a:!\mc:l_ _1Imn=ai)l
`2 1mm: cafi- can: hazq.
`1.5111
`r \748
`
`ai
`
`‘ _ Add rum rug-mm; " 1' 5
`
`
`
`Page 15 of 49
`
`Sal-6 Evin!
`
`/
`
`
`
`
`
`Page 15 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 15 0f 27
`
`US 2007/0079282 A1
`
`Figure 76
`
`740
`
`sum! Even! SelacIEvenl E
`:Sefack Ewen!
`anBlux
`49
`
`V
`nnDoubleClick
`.
`_
`‘
`‘
`.
`vzwmaagpnmgcopym:i;b¢..£a'7.
`a SWIMHFL
`”Build cunt: retain“ gaz calculuiqm. kahuna“, a: a unMouseOver
`I/Sllfict th. Ctbéltt =3 alncticrg 5.10:: Evlnt u! clict {dd Evln‘: a: Add. Maxim.
`i/rm can Elia die; 23 a3;- zuum 9r magiqn an uh. 1.2: cc hllp build an Amara.
`Midst. mum. by tucking gn this; ngu.
`
`
`
`\748
`
`
`
`Page 16 of 49
`
`Page 16 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 16 0f 27
`
`S 2007/0079282 A1
`
`Figure 7f
`
`Formula Builder forLine Item Subtotal
` u edickon a
`eemen .ma operalo s,andformulas o
`
`
`Scel1.0ty ' Scellflnit Price
`
`753
`
`\
`
`I U
`
` 75
`
`
`
`;
`
`1%
`I;
`*:
`
`I 2
`
`
`mg
`
`mm
`
`a
`4;;w___wmu
`.A 4‘-
`5 Onfy data eiements aouessiblqto the target field are displayed in the Data Elements window, Win a Iable you may only work wim
`insrances of that row of the table. In the Tame Summary Footer Areas you may access columns of the table as well as data elements
`from other areas. Tame Summary Footer Areas an onry get summary (SUM. Min. Max etc) of data columns from the table.
`
`Add a group ofelemenLq SUM(x,+xl+-~-+x‘)
`
`Page 17 of 49
`
`Page 17 of 49
`
`

`

`
`
`Test Application 3
`_
`1
`'
`West Applic‘atich é
`
`_
`
`Tesx
`4_
`V
`Xnadivg
`
`1
`
`v
`
`'1
`
`1
`
`
`_
`‘
`_ i1; ilfi‘sfig a
`_
`
`
`M
`' 08/18/2005
`’
`OSIDUZOOS
`52mm"
`*5 Q a T152 ”9.39355“ 1
`Activ:
`2 Began Use to me any file :ype, such... Sunny Vang 09%“ Sunny Yang
`ne‘né'zizti
`- "
`'
`'
`,
`,
`0712542035,
`..
`- "
`L


`.
`.
`05/01/2903,
`,.
`,
`5mm» 35‘ E! 5 1-251 Radiation 2 My:
`\
`'
`'
`‘
`’
`.
`1 ' 09:99 AMV
`[15:29 r
`.
`SDnny Yang
`03:00 AM Sunny Ya'mi , nsgqn AM .
`_'
`..

`.
`EST.
`;,‘ ..
`KST.’
`.*
`"‘57
`_».
`.
`"
`
`3310112005
`may.”
`539'0312005
`cans/2005
`
`09: 0 AM Sunny Yang
`5912:1553!“ NA
`139500 AM we ta route any Me tyne, such... Sunny Yang
`09:09 AM
`KST
`K57
`«-
`~
`'

`cans/29:15 ,
`_ ‘.
`ti.
`_ V A
`v.
`7
`v,
`.
`'
`._
`-
`-
`Jami/2' gs
`.
`V
`.
`1752;141:905
`.
`' Sand Adbn
`'09100:Afl Use m‘ roqte finv'file gype, sud’i
`. Sunny Yéng
`03:00AM Sunny Ya'rg'g
`09410 M
`6910112605
`OSIOIHOOS
`13511812005
`OSWO AM Us: to mute any file type, such... Sunny Yang
`09:0D AM Sunny Yang
`(39:00 AN
`K57
`IGT
`IGT
`
`flvmlg‘ : H515! 2 £9323 ~
`Cmflghx x993 - 2095, gags. Ml fights rcxarvad.
`
`Patent Application Publication Apr. 5, 2007 Sheet 17 0f 27
`
`US 2007/0079282 A1
`
`
`
`
`I Bchcnd i £31.05;me
`
`2
`91!15/1594
`PROD
`Y
`
`1
`01/15/2094
`PROD
`N
`2
`0112532394
`TEST
`N
`
`1
`cuisjaooa
`TEST
`n
`2
`0212512604
`PROD
`Y
`
`5
`Y
`TEST
`cu 1512004
`
`3
`v
`, 212m:
`DUE/£009
`
`
`v3 DUKE/2004
`
`
`
`
`
`
`
`
`
`
`
`
`..,
`
`Tes! Applitarian 5
`
`Adv:
`
`
`
`Page 18 of 49
`
`Page 18 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 18 0f 27
`
`US 2007/0079282 A1
`
`4?ch 7R
`
`755
`
`
`
`-
`__
`_
`._
`_
`x
`§IIflEHEHHEaHHflIflHHIIIIIIIIIIIIIIIIIIII'III
`oceas .nsite . cam/Partners . a ?
`g????&ea-????&stnmi:§
`
`75 m
`
`i i
`
`
`.
`E
`75
`75
`E
`Llnk WP" Please 59‘3“
`g Egrmmlwmynm 10
`B Shaw Ns'la WED:
`i
`8\ AppHcaflon
`bga m pa m"
`
`4
`seen the Inbound link you would like Io mam. wan a fink mat launches in Make
`men View (In Progress. Comolalzd. Amhives. or Drafts) you my film tote specific“
`
`appiieelimv Mus launching an appliuafian you mar popular?» applicatinnconmls. i%
`
`
`75
`
`755
`
`
`
`
`E
`
`
`
`
`
`
`§§
`URL 232$;‘m”§f3§§§§52;§$+mfifi‘mmfigiflfi?
`URL max/L $3§§§523§§§é§§£§2htmmrig 2;?
`
`
`.
`.
`_
`‘F’
`Name Phumm owone
`Nah Favour: Option!
`g
`76x
`
`
`.
`i
`_
`_
`mm am yet session
`3
`'
`wk
`i
`L'm‘ TYW Launch ADDlumiké
`:93 SM Loq‘n cm, in mm... m
`Llnk WP“
`B 5“: Login Coakh ”mum in
`
`g mm,mm. ms
`76%Appllcation ,
`= Application ‘
`-pncalmnName %
`mmfiim2:”
`i
`,5
`z
`E
`f
`0ndheURLisbuik.youwxllnaedbmpyflendvasteilwflumpartym
`
`
`Once the URL is bull. yauwill used to may I and pasta inomo 3m party we:
`
`
`
`”plinth". When humming an application. you an populate applicaflon controls by
`appliab‘mi You may filter for a speck: appliauon in ma Nuts saeen view. or
`
`
`Saba N A
`'
`{ion Flherh iguana pf
`adding me variable nan-ms [tom the 3rd patty appfiahnn «they providc M causally
`
`
`
`Connols to Populate
`Copy Control Name code
`
`
`
`bouhhdick in data element horn your
`wnent :ppliaimn. mpy me Control
`
`Name Code lot casing into its URL
`
`above
`
`
`762
`
`
`
`
`
`Page 19 of 49
`
`Page 19 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 19 0f 27
`
`US 2007/0079282 A1
`
`¢qure 7C
`765
`Link Builder
`
`© Static URL
` 76
`0 Nsite to Nsite (initiate and prepopulaie another Nsite process)
`
`765
`
`
`
`
`r"Link Builder
`O Slatic URL
`7687M Nsite to Nsite (initiate and prepopulate another Nsite process)
`
`i
`
`Select Process Application to
`
`771
`
`Select another process appliwlion. then Drag and crop i
`cotmoismmapmmeconmlsmmaamemappficaiion 3
`Application to Initiate Mapping Boxes
`
`aiil
`
`768\L Nsite Application Variables
`from Application Name
`Drag and drop variables from your amen!
`application to the mapping boxes
`Current Application Mapping Boxes
`
`
`
`76
`Tmmromamm a" :2] >E::Il Awflextcmw
`
`
`AppZ'iextControlz
`TextConuoiNamez a.
`
`
`AppZTextConimn
`
`
`
`TextCommlNamM
`AppZTexiConimlt
`
`
`
`TextConnuiNameS
`AppZ'I’extComrols
`
`
`
`TexiControlNames
`AppZTextConimlG
`
`AppZTextConimW
`
`AppZTexiConimiB -_
`
`
`
`TextConlmiNameS l C: ’23
`373‘
`
`
`
`EAWKA?”
`
`Page 20 of 49
`
`Page 20 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 20 0f 27
`
`US 2007/0079282 A1
`
`Figure 8
`
`801
`
`331‘
`
`‘
`Chen! Computer
`
`802
`803
`
`805
`
`807
`
`808
`
`830
`
`C
`
`llent Computer
`
`832
`833
`
`835
`
`837
`
`838
`
`839‘
`
`840 809
`
`
`
`
`I 862
`App.Player JSP
`
`II 864
`'
`
`
`
`
`
`Application Sewer
`
`
`852
`
`App Designer JSP
`
`FonnProoessor
`
`860
`
`
`
`
`
`
`
`BusinessFactory
`
`DefinitionFactory
`
`
` , ProcessServIce
`
`s70
`
`.
`
`'
`
`854
`
`Page 21 of 49
`
`Page 21 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 21 0f 27
`
`US 2007/0079282 A1
`
`Figure 9
`
`
`
`Start Save Application Definition
`
`
`
`
`AppDesigner sewer
`page presentsuser
`interface.
`
`910
`
`
`
`914'
`
`916
`
`918 '
`
`
`
`
`Create Empty
`Create New App?
`Definition object
`
`
`
`
`No
`
`
`
`Load an existing
`
`application definition
`into Definition object.
`
`
`920
`
`
`
`
`
`
`
`Wait for User Action
`
`924
`Component Added?
`
`Yes
`
`Add nevr component
`to Definition
`
`
`
`928
`
`User Clicked Save?
`
`Yes
`
`Transform Definition
`Into XML according
`
`to XML schema
`
`Send XML to
`
`AppDeslgner JSP for
`
`storage In database
`
`
`
`
`
`Page 22 of 49
`
`Page 22 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 22 0f 27
`
`US 2007/0079282 A1
`
`Figure 103
`
`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
`
`Page 23 of 49
`
`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
`
`BusinessObjectValue
`property with component
`
`Add component value to
`HTML element.
`
`More components?
`
`
`
`
`
`
`
`
`
`1064
`
`Page 24 of 49
`
`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
`
`1118
`
`1 120
`
`1122
`
`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
`
`FormProcessor decodes
`
`incoming HTTP response
`parameter values
`
`BusinessFactory
`
`FormProcessor creates
`
`BusinessFactory
`
`traverses XML
`
`1134
` Yes
`No
`
`More components?
`
`Store ProcessMaster in
`database using
`ProcessService
`
`1136
`
`1138
`
`Page 25 of 49
`
`Page 25 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 25 0f 27
`
`US 2007/0079282 A1
`
`1201
`
`Figure 12a
`
`Fig-ure 12b
`
`1202
`
`Application
`
`1204
`
`Application Definition
`
`'
`
`
`1205
`Application Data
`
`
`
`>
`
`Edit
`
`1210
`
`1221 '
`
`\
`lniitiateProcess
`or Routing
`
`Active Mode
`
`,
`
`Undeploy
`
`\1223
`
`
`
`Deploy
`
`1231
`
`inactive Mode
`
`1 230
`
`Page 26 of 49
`
`Page 26 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 26 0f 27
`
`US 2007/0079282 A1
`
`«TN
`
`1301
`
`process_definition
`
`
`
`
`pk_process_definition_id: numen'c(9,0)
`fk_core_company_id: numeric(9.0)
`
`fkflcore_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_dale: datetime
`is_locked: nvarchar(1)
`
`
`Iocked_by: numen'c(9.0)
`Iock_date: datetirne
`
`
`1 302
`
`1303
`
`1 305
`
`
`
`Page 27 of 49
`
`Page 27 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 27 0f 27
`
`US 2007/0079282 A1
`
`process_master
`
`1422
`
`1421
`
`1404
`
`1406
`
`1410
`
` process_detail
`
`pk_process_master_id: numeric(9,0)
`pk_prooess_delail_id: numeric(9,0)
`
`
`routing_id: numeric(9,0)
`fk_proc‘ess_master_id: numeric(9,0)
`
`
`
`fk.core_user_id: numeric(9,0)
`parenl_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)
`
`
`
`Isc1: ntext
`description: nvarchar(100)
`Isc2: ntext
`
`
`sc1: nvarchar(256)
`
`lsc3: ntext
`sc2: nvarchar(256)\
`
`
`nc1: numeric(15,3)
`
`sc3: nvarchar(256)\
`lsc1: ntexi
`1407
`
`
`nc2: numeric(15,3)
`
`lch; ntext
`
`{163: numeric(15.3)
`
`
`
`bc1: nvarchar(1)
`Isc3: ntexi / 1405
`
`nc1: numeric(15,3)
`
`bc2: nvarchar(1)
`
`nc2: numeric(15,3)
`bc3: nvarchar(1)
`
`
`
`dtc1: daletime
`nc3: numeric(15.3)
`
`
`
`dth: datetime
`bc1: nvarchar(1)
`
`
`
`dtca: daietime
`bc2: nvarchar(1)
`
`
`
`bc3: nvarchar(1)
`dtc1: datetime
`
`dtc2: datetime
`
`dtc3: datetime
`
`
`process_extension
`
`
`pkJarocess_extension_id: numeric(9,0)
`
`fk_process_master_id: numeric(9,0)
`
`sc1: nvarchar(256)
`process_attachment
`
`
`sc2: nvarchar(256)
`
`sc3: nvarchar(256)
`pk_process_aflachment_id: numeric(9,0)
`
`lsc1: ntext
`
`
`pk_fk_core_company_id: numenc(9.0)
`Isc2: ntext
`
`
`pk_process_master_id: numeric(9,0)
`lsc3: ntext
`
`
`
`pk_process_de!ail_id: numeric(9,0)
`nc1: numeric(15,3)
`file_name: nvarchar(128)
`
`
`nc2: numeric(1 5,3)
`
`file_type: nvarchar(10)
`
`nc3: numeric(15‘3)
`
`
`file_size: numeric(9,0)
`bc1: nvarchar(1)
`
`file_oonieni_in_byte: varbinary
`
`bc2: nvarchar(1)
`attachmenLtype: nvarchar(1)
`
`bc3: nvarchar(1)
`
`dtc1: datetime
`
`dtc2: datetime
`
`dtc3: datetime
`
`
`
`
`Page 28 of 49
`
`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. Furthemrore, 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.
`
`[0005] Web applications, also referred to herein as
`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 Intemet 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 .IavaScr‘iptTM 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 tirrre 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.
`A typical 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
`DelpthM, 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 fomrs 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 efi‘iciently.
`[0009] Several of the RAD tools described above provide
`support for creating web applications. DelphiTM, Visual
`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
`
`Page 29 of 49
`
`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. Furthemlore, QuickBase itselfis 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 fomls. 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 011 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 011 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 itselfa 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 ap olication 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 lntemet. 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 designing the software application, defining the
`aspects of the application using the user interface, and
`transmitting the defined aspects to the server over the
`computer network. The method of providing a software
`application may include the acts of tracking a plurality of
`versions of the software application, maintaining each ver-
`sion as compatible with prior versions of the software
`application, and allowing a plurality of the versions to be
`active at the same time.
`
`In general, in a third aspect, the invention features
`[0015]
`a computer enabled method of providing a software appli-
`cation,
`including the acts of receiving over a computer
`network aspects of an application from a server, executi

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