throbber
as) United States
`a2) Patent Application Publication io) Pub. No.: US 2007/0079282 Al
`
` Nachnaniet al. (43) Pub. Date: Apr. 5, 2007
`
`
`US 20070079282A1
`
`(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 Lindsey,
`Livermore, CA (US); Paul M. Tabet,
`Danville, CA (US)
`
`Correspondence Address:
`MORRISON & FOERSTER LLP
`755 PAGE MITI. RD
`PALO ALTO, CA 94304-1018 (US)
`
`(21) Appl. No.:
`
`11/241,073
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`GO06F
`(52) US. C1.
`
`(2006.01)
`9/44
`iccccccccccccescssecsscresscsessessceseesesersscsscees 717/106
`
`(57)
`
`ABSTRACT
`
`Asystem 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
`webservices enabled and process driven.
`
`102
`
`114
`
`100
`
`Application Data
`
`106
`
`108
`
`
` Designer UI
`
` } Application.Definition
`
`
`120
`; ApplicationDefinition
`Application Data
`
`
`
`
`
`
`
`Database
`
`Application Definition
`table
`
`|.
`
`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 of 27
`
`US 2007/0079282 Al
`
`Figure la
`
`102
`
`114
`
`
`Designer UI
`
`A Application.Definition:
`
`
`Application Data [-]
`
`
`
`
`
`
`
`
`
`
`
`108
`
`Application Definition
`
`Application Data
`
`Database
`
`
`
`Application Definition
`table
`
`|.
`
`Application Data table
`
`112
`
`124
`
`Page 2 of 49
`
`Page 2 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 2 of 27
`
`US 2007/0079282 Al
`
`WebBrowser
`
`
`Application
`
`Component
`
`140
`
`38
`
`42
`
`146
`
`148
`
`150
`
`Application
`
`WebService
`
`132
`
`
`
`
`
`
`Database
`
`Page 3 of 49
`
`Page 3 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 3 of 27
`
`US 2007/0079282 Al
`
`Ce
`
`
` Application
`499
`<Area
`
`.
`.
`-"
`name=name property
`label=displayname
`
`
`StandardArea
`240) Area Properties:
`rows=rowcount
`name,displayname,width,
`cols=colcount>
`
`rowcount, colcount
` 204
`
`
`
`<FormComponent
`
` Component(atleast 1), type is oneof:
`name=nameproperty
`
`Label, TextBox, TextArea, RadioButton,
`type=type property
`
`
`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,
`
`datatvpe. required.
`
`
`
`
`
`
`Page 4 of 49
`
`Page 4 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 4 of 27
`
`US 2007/0079282 Al
`
`:
`
`:
`
`Fae 2b
`
`393
`‘
`
`26.
`
`a
`
`
`-
`
`‘|
`
`<Form name=application name>
`
`262
`
`263
`
`<Area
`hame=nameproperty,label=displaynamc,
`rows=rowcount,cols=colcount>
`
`TableArea
`
`240
`20
`TableCamnonent
`
`Area Properties:
`name,displayname, width,
`rowcount, colcount
`
`-
`
`.
`
`.
`
`
`_
`TableCo
`<TableGomponent name=... />
`
`Properties: name, width,
`colindex
`
`-
`
`To
`
`<FormComponent
`(same as in Standard
`Area} />
`
`~
`
`me,
`
`</TableColumn >
`
`*
`
`</TableDetailRow >
`
`272
`
`264
`
`- 265
`
`266
`
`267
`
`268
`
`269
`
`270
`
`271
`
`200 Application
`
`</TableComponent>
`273
`[_<rares>|~274
`a78
`
`
`
`Page 5 of 49
`
`Page 5 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 5 of 27
`
`US 2007/0079282 Al
`
`Figure 3
`
`Request Information:
`302
`
` 300
`
`
`
`
`
`30
`
`A
`
`Date:| 4/22/2005
`
`30g
`Patient Name}
`
`John J. Smith
`
`308
`
`310
`
`Page 6 of 49
`
`Page 6 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 6 of 27
`
`US 2007/0079282 Al
`
`Figure 4a
`
`410
`
`N\ Form: { name, description, version, category, theme, subject}
`
`Area (1 or more)
`
`BehaviorList (Optional, 0 or more)
`
`415 N\
`
`Area : {name,label, layout, rows, cois, visibility }
`
`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,
`FormComponent: {sour rowindex, colindex,hidden,datacolumn,maxtength, }
`alignment, allowedchars, rows,cols, size, allowmultiple, datalookup
`formula, style, align, linkedcontroiname,attachtype
`
`FormComponentList (Optional, 0 or 1)
`
`FormComponent (Optional, 0 or more)
`
`BehaviorList (Optional, 0 or 1)
`
`430 \ BehaviorList
`
`435
`Code:string
`
`Behavior : {name, event, category} (Optional, 0 or more)
`
`Page 7 of 49
`
`Page 7 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 7 of 27
`
`US 2007/0079282 Al
`
`Figure 4b
`
`440\tablecomponent : (name, type, rows, allow_more_rows, style, allow_row_delete}
`
`TableHeadRow
`
`|setiecotumn (1 ormore)
`
`TableDetailRow
`
`|vebleCohure (1 ormore)
`
`TableFootRow (Optional, 0 or more)
`
`TableColumn (1 or more)
`
`BehaviorList
`
`450
`
`*\tableColumn : {name, label, rowindex, colindex, width}
`L FormComponent(Optional, 0 ormore)
`
`:
`
`Page 8 of 49
`
`Page 8 of 49
`
`

`

`Patent Application Publication Apr. 5, 2007
`
`Sheet 8 of 27
`
`US 2007/0079282 Al
`
`Area Component
`,
`name-=area_0
`label=Request Information
`cols=4, rows=6
`
`Form- Component
`name=comp_area_0_0_0
`type= LABEL
`
`rowindex=0, colindex=0
`
`Form Component
`name=date_]
`type=DATE
`dataset=process_master/dtcl
`rowindex=0, colindex=1
`
`Foye En label=Date:
`
`Form Component
`name=comp_area_0_]_0
`type=LABEL
`label= Patient Name:
`rowindex=1, colindex=0
`
`Form Component
`name-=select_3
`type=SELECT
`datalookup=CORE/$CID/USER
`dataset=process_master/scl
`rowindex=0, colindex=1
`
`Figure 5b
`
`53
`
`.
`area_0, Label=Request Information, ...
`
`532——
`
`ComponentDefinition
`
`534—~
`
`comp_area_0_0_0, label=Date:, ...
`
`536-— date_1l, type=DATE, ...
`538
`comp_area_0_1_0, label=Patient Name:, ...
`539 select_3, type=SELET,...
`
`52
`
`Page 9 of 49
`
`Page 9 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 9 of 27
`
`US 2007/0079282 Al
`
`540
`
`Figure 5c
`
`<Area name="area_0" label="Request Information" cols="4" rows="6" layout="four">
`
`542
`
`544
`
`ws
`<ComponentDefinition>
`
`<FormComponent name="comp_area_0_00" type="LABEL"required="false"
`label="Date:"datatype="0" maxlength="25" style="EditBox" rowindex="0"
`colindex="0" datalookup="" dataset=""" />
`
`</Area> -
`
`546
`
`<FormComponent name="date_1" type="DATE”required="false" label="date_1"
`
`datatype="4" maxlength="25" style="EditBox" rowindex="0" colindex="1"
`
`datalookup="" dataset="PROCESS_MASTER/dtc1" />
`
`<FormComponent name="comp_area_0_10" type="LABEL"required="true"
`label="Patient Name:" datatype="0" maxlength="25" style="EditBox"
`rowindex="1" colindex="0" datalookup="" dataset="" />
`
`<FormComponent name="select_3" type="SELECT"required="false"
`label="select_3" datatype="1" maxlength="25" style="EditBox" rowindex="1"
`
`colindex="1" datalookup="CORE/$CID/USER"
`
`dataset="PROCESS_MASTER/sc1" />
`
`</ComponentDefinition>
`
`Page 10 of 49
`
`Page 10 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 10 of 27
`
`US 2007/0079282 Al
`
`00
`
`Raue ba
`
`Name=Value
`
`602
`
`Data: Client
`Structure
`
`Application Data Application
`select_3=John J. Smi
`Database
` 4/22/2005
`
`Figure 6b
`
`604
`
`date_1=4/22/2005
`
`608
`
`610
`
`.
`Figure 6c
`61
`
`614
`
`16
`
`6
`
`dtcl
`
`618
`
`Example
`Application
`Data on
`Client
`
`Example
`Application
`Data in
`
`622
`
`624
`
`Page 11 of 49
`
`Page 11 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 11 of 27
`
`US 2007/0079282 Al
`
`Figure 7a
`
`
`
`
`ata
`Ns
`ree:
`
`
`
`
`
`
`
`Page 12 of 49
`
`Page 12 of 49
`
`

`

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

`

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

`

`Patent Application Publication Apr.5,2007 Sheet 14 of 27
`
`US 2007/0079282 Al
`
`Figure 7d
`
`
`
`748 (Ade PeetRabaier <7
`
`MLCmRSa lk
`
`Select Event
`
`i O sotect' Object
`® Satect Function
`
`cusiomFunction_Jawrence @
`wlewplain) print! copy fo Clipboard;7
`Zunetien eustosfunction lavrenced) {
`fr¥eus code goes heza.
`ieiths
`* \
`
`WA
`
`u ah
`
`i
`
`
`
`
`
`Page 15 of 49
`
`Page 15 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 15 of 27
`
`US 2007/0079282 Al
`
`Figure 7e
`
`740
`
`Select Event
`
`
`49
`
`
`
`sie plata j print | copy twcliphaard ! F-
`bg javascrize.
`7/Palid custom rouvines loz calculations, validations, or egonMouseQver
`7/Selact the Cbsact cz Function, Salect fvent and click Add Evant az Add Founcrion.
`#ffos can else click tha Data Zlessnt or Function on the lefr to help build the action.
`/fEdit Funetiong by eiickicg in this area.
`\
`
`748
`
`
`
`Page 16 of 49
`
`Page 16 of 49
`
`

`

`
`
`
`
`
`Ewa
`(RNB
`Add a group ofelements: SUM(x,+%,+--+X,}
`a
`;
`a Soeae
`i Only data elements accessible to the target field are displayed in the Data Elements window. Within a table you may only work with
`|
`instances ofthat row ofthe table. In the Table Summary Footer Areas you may access columnsof the table as well as data elements
`|
`from other areas. Table Summary Footer Areas can only get summary (SUM, Min, Max, etc) of data columnsfrom thetable.
`i
`
`
`
`i
`4u
`
`_—_#eCcn7FF
`
`Patent Application Publication Apr.5,2007 Sheet 16 of 27
`
`US 2007/0079282 Al
`
`Figure 7f
`
`
`
`
`Formula Builder for Line item Subtotal
` uble click on data
`elements, math
`operations, and formulas to
`
`
`
`75
`
`
`zd
`
`Page 17 of 49
`
`Page 17 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 17 of 27
`
`US 2007/0079282 Al
`
`Siaa
`
`
`Smartforms™
`{ Gtegend } © Logout
`
`
`Applicalion Type:|Aa g
`
`91/15/2004
`PROD
`
`
`L
`Geov Undenloy
`01/15/2004
`PROD
`2
`Geny Edt Qepley Delete
`01/2572006
`TEST
`1
`Geov Edit Deploy Qelete
`91/15/2004
`TEST
`2
`Seov undesloy —
`02/28/2004
`PROD
`
`
`3
`TEST
`ou 15/2003
`Ceay Initiate Deploy Delete
`
`
`3
`- PROD
`piszs/i008
`Geay undebioy
`:
`
`G1f15/2004= %
`
`
`
`
`SETI
`[First/Previous.
`se
`
`
`
`Gary Undesloy 2
`
`
`
`
`
`
`
`
`
`
`08/01/2005
`4
`~ 98/18/2005
`.
`09:00AM Sunny Yang
`SetectActon
`fi] a a Test Apslication 1
`Active
`2 G9:00AM Lise to route any file type, such... Sunny Yang
`osyov2005
`06/18/2005
`a — :
`.
`0862008
`.
`09:00 AM “Sunny Yang. 09:00AM |
`SetectActon
`$4) ay 8 Test Application 2
`1 09:00 AM” Use tor
`Sunny Yang
`08/01/2005
`98/18/2005
`sane
`es708/2065
`
`09:60 AM Sunry Yang
`09:00 AM
`1
`Test
`Test Application 3
`SeteActon
`iyi
`89:00AM Use to route any file type, such... Suany Yang
`KST
`KST
`
`a osoi/300s =.=8748/2005oe ee 09/15/2005 00 iet :
`
`
`
`
`
`
`Test Application 4 "o£ (06:00.AM Use teroute. anyfile type, sucti... Sunny Yang~09:00AM" Sunny NangInactive 09:00.4M
`oe
`9970172005
`08/01/2008
`08/18/2005
`tL OS:00 AM Use to route any file type, such... Sunny Yang
`09:00AM Sunny Yang
`06:00 AN
`KST
`KST
`«ST
`
`fytisite : Belo : Road
`Copyright 1995 - 2005, Nsite. ail rights reserved.
`
`Active’
`
`C
`
`Test Application S
`
`Active
`
`
`
`Page 18 of 49
`
`Page 18 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 18 of 27
`
`US 2007/0079282 Al
`
`i
`|i
`|
`|
`
`||i
`
`Fave 7k
`
`755
`
`
`
`
`757
`|
`758
`
` 75 . ee ;
`
`
`
`SSEMa
`URL petpas ss rocess nsite, com/rartners.
`f6p?
`
`ide!oon2772heae? 17769FOUKESreexeal’y
`
` _H
`
`site Ptatform Options
`ES]
`£3 Save LoginCookie,56-onlyneve to
`Link Type [Picase Select
`ogi once per selon
`3 Shew Nsite Platforn tabs
`Application
`Select the inbound link you would like to create. With a link that taunches an Nsite
`screen view (In Progress. Completed, Archives, or Drafts} you may Biter for a specific’
`Application. When taunching aa application you may populate application contrels.
`
`
`755
`
`
`75
`7
`76
`
`
`
`
`
`
`_UR Psdperseeyingrenee
`URL neces//puncese,25%tecop/porcoers18"
`
`<5]
`Nee PlatformOptions
`76xy
`Naite PlatformOptions
`‘Showe Nsite Piatform tabs
`Link Type [Launch Application
`EF Save Login Cookie. so only have ta
`Link Type
`£3 Saw Login Cockia soanlyhave ts
`|
`login once per session
`764\pppteation f
`O-——~. application onizatonvane
`gy Sener,
`Once the URL és built, you will need fo copyit and paste it to the 3rd party web
`i
`Onca the URL is buat. you will need to copy @ and paste it to the 3rd party wab
`
`application. Wher launching an application. you can populate application controls by
`adding the variable narnes from the 3rd party applicationif they provide that capability
`spalication.You mayfitter for a specific apptication in the Nsite screenview, or
`
`
`
`Controls to Populate
`Copy Control Name Code
`
`
`
`Double-diick the data element from your
`above
`
`‘current application, copy the Control
`Name Code for pasting into the URL
`
`
`
`
`
`
`
`762
`
`Page 19 of 49
`
`Page 19 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 19 of 27
`
`US 2007/0079282 Al
`
`tgure A
`MeL Meiers
` 76
`
`@ Static URL
`ONsite to Nsite (Initiate and prepoputate another Nsite process)
`
`765
`
`
`
`
`anaraEES
`O Static URL
`768~|———~@ Nsite to Nsite (Initiate and prepopulate another Nsite process)
`768-———_| Nsite Application Variables
`Select Process Application to — :«—(769
`|
`from Application Name
`Initiate
`770
`|
`Drag and drop variables from your current
`Select another process application, then Drag and Drop i
`application to the mapping boxes
`comrols to map to the controls from the current application
`:
`Current Application Mapping Boxes|Application to Initiate Mapping Boxes
`
`
`Tacenvanamet Bl [______}>[_______]|Ropdtextconrat’ fg} — 771
`
`
`
`
`
`
`
`TextContolname2a >
`Apo2TextControl2
`:
`TextControlName3
`App2TextControl3
`
`TextControiName4
`App2TextControls
`
`
`TextContraiName5
`App2TextControl§
`
`
`
`TextControiNameS
`App2TextControlé
`
`
`TextControiName?
`App2TextControl7
`
`
`TextControlNames
`App2TextControls
`&
`
`
`
`Co]
`
`
`
`
`
`|
`
`70S
`
`Page 20 of 49
`
`Page 20 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 20 of 27
`
`US 2007/0079282 Al
`
`Figure 8
`
`601
`
`i
`Client Computer
`
`Application
`Definition
`
`B02
`803
`805
`
`807
`
`808
`
`830
`
`840 809
`
`B31
`
`Cc
`
`lient Computer
`
`Application
`Definition
`
`992
`833
`835
`
`837
`
`838
`
`839,
`
`
`
` Application Server
`
`
`
`852
`
`App Designer JSP
`
`FormProcessor
`
`
` AppPlayer JSP
`
`
`
`
`
`
`BusinessFactory
`
` 854
` + ProcessService
`
`DefinitionFactory
`
`870
`
`-
`
`Page 21 of 49
`
`Page 21 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 21 of 27
`
`US 2007/0079282 Al
`
`Figure 9
`
`AppDesigner server|914
`page presents ‘user
`Anterface.
`
`
`
`
`
` 910 Start Save Application Definition
`
`
`920
`
`
`916
`
`918 ©
`
`No
`
`Create New App?
`
`Create Empty
`
`Definition object
`
`
`
`
`Load an existing
`
`application definition
`
`into Definition object.
`
` Wait for User Action
`Yes
`
`
`
`924
`Component Added?
`
`928
`
`User Clicked Save?
`
`Yes
`
` Add new component
`to Definition Transform Definition
`
`Into XML according
`to XML schema
`
`
` Send XML to
`
`
`
`AppDesigner JSP for
`storage in database
`
`
`
`Page 22 of 49
`
`Page 22 of 49
`
`

`

`More components?
`
`For each application
`componentin XML
`application definition.
`
`
`Compose component
`name
`
`
`Start GetValues
`:
`subroutine
`
`
`
`
`
`
`
`Look up datasettable
`
`and column names by
`component namein XML
`
`
`Get componentvalue
`from ProcessMaster
`
`property with dataset
`table and column names
`
`
`
`Set BusinessObjectValue {1034
`property with component
`name to component
`value
`
`Patent Application Publication Apr.5,2007 Sheet 22 of 27
`
`US 2007/0079282 Al
`
`Figure 10a
`
`Get XML application
`definition
`(ProcessDefinition) from
`DefinitionFactory
`
`1024
`
`
`
`1037
`
`Page 23 of 49
`
`Page 23 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 23 of 27
`
`US 2007/0079282 Al
`
`Figure 10b
`
`Start RenderHTML
`
`subroutine
`
`name
`
`component
`
`
`
`
`For each application
`componentin XML
`
`application definition
`
`
`Compose component
`
` Create HTML elementfor 1056
`
`
`
`
`
`
`
`Get component value
`from
`BusinessObjectValue
`property with component
`
`Add componentvalue to
`HTML element.
`
`More components?
`
`
`
`1064
`
`Page 24 of 49
`
`Page 24 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 24 of 27
`
`US 2007/0079282 Al
`
`Figure 11
`
`Start Save Application Data|1110
`Begin XMLtraversalto 1123
`- fillin ProcessMaster
`
`_ For each application|1124
`component in XML
`application definition
`
`FormProcessor decodes
`incoming HTTP response
`parameter values
`
`FormProcessorcreates
`
`BusinessFactory
`
`1118
`
`1120
`
`Compose component
`name
`
`1126
`
`Find componentvalue
`with component namein
`HTTP request
`
`1128
`
`Lookup dataset table|1130
`1122
`and column names by
`component namein XML
`
`traverses XML
`
`BusinessFactory
`
`
`
`Set ProcessMaster
`
`property with dataset
`table and column names
`to componentvalue
`
`
`
`
`
`1132
`
`1134
`Yes
`
`
`More components?
`
`
`1138
`
`Store ProcessMasterin 1136
`database using
`ProcessService
`
`Page 25 of 49
`
`Page 25 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 25 of 27
`
`US 2007/0079282 Al
`
`Figure 12a
`
`1201
`
`Application
`
`Application Data
`
`Application Definition
`
`1204
`1208
`
`
`
`Figure 12b
`
`Edit
`
`1222
`
`Active Mode
`
`Undeploy
`
`
`“—~1223
`
`
`
`inactive Mode
`
`Deploy
`
`1231
`
`1221-
`
`IniitiateProcess
`or Routing
`
`Page 26 of 49
`
`Page 26 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 26 of 27
`
`US 2007/0079282 Al
`
`ue |
`
`1301
`
`1302
`
`process_definition
`
`
`
`
`
`pk_process_definition_id: numeric(9,0)
`fk_core_company_id: numeric(9,0)
`
`fk_core_company_process_id: numeric(9,0)
`
`process_xmi: ntext
`
`process_ftype: nvarchar(1)
`1303
`version: numeric(9,0)
`
`is_active: nvarchar(1)
`
`mode: nvarchar(1)
`
`1304
`effective_date: datetime
`
`end_date: datetime
`
`1305
`is_locked: nvarchar(1)
`locked_by: numeric(9,0)
`
`lock_date: datetime
`
`
`
`Page 27 of 49
`
`Page 27 of 49
`
`

`

`Patent Application Publication Apr.5,2007 Sheet 27 of 27
`
`US 2007/0079282 Al
`
`1404
`1406
`
`
`
` process_detail
`process_master
`
`
`
`pk_process_master_id: numeric(9,0)
`pk_process_detail_id: numeric(9,0)
`routing_id: numeric(9,0)
`fk_process_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: numeroON 1422
`
`
`
`fk_core_company_id: numeric(9,0)
`set: nvarchar(256)
`
`
`subject: nvarchar(100)
`sc2: nvarchar(256)
`1421
`
`status: nvarchar(1)
`s¢e3: nvarchar(256)
`
`
`
`Isct: ntext
`description: nvarchar(100)
`
`Isc2: ntext
`
`s¢1: nvarchar(256)
`
`
`\sc3: ntext
`sc2: nvarchar(256)-—-—_________
`
`
`
`sc3: nvarchar(256)—~_
`ne1: numeric(15,3)
`
`
`
`Isci: ntext
`1407
`nc2: numeric(15,3)
`
`Isc2: ntext
`nie3: numeric(15,3)
`
`
`
`bc1: nvarchar(1)
`
`isc3: ntext 1405
`
`net: numeric(15,3)
`be2: nvarchar(1)
`
`
`
`nc2: numeric(15,3)
`be3: nvarchar(1)
`
`
`dtc1: datetime
`nes: numeric(15,3)
`
`
`dtc2: datetime
`bet: nvarchar(1)
`
`
`
`dte3: datetime
`be2: nvarchar(1)
`
`
`be3: nvarchar(1)
`
`
`dict: datetime
`dtc2: datetime
`
`dtc3: datetime
`
`process_extension
`
`
`pk_process_extension_id: numeric(9,0)
`
`fk_process_master_id: numeric(9,0)
`s¢e1: nvaschar(256)
`
`
`process_attachment
`
`$¢2: nvarchar(256)
`
`sce3: nvarchar(256)
`
`pk_process_attachment_id: numeric(9,0)
`Isc1: ntext
`
`
`pk_fk_core_company_id: numeric(9,0)
`Isc2: ntext
`
`
`pk_process_master_id: numeric(9,0)
`Isc3: ntext
`
`
`
`pk_process_detail_id: numeric(9,0)
`net: numeric(15,3)
`
`
`file_name: nvarchar(128)
`ne2: numeric(15,3)
`
`file_type: nvarchar(10)
`
`
`nc3: numeric(15,3)
`
`file_size: numeric(9,0)
`bet: nvarchar(1)
`
`
`file_content_in_byte: varbinary
`be2: nvarchar(1)
`attachment_type: nvarchar(1)
`
`
`be3: nvarchar(1)
`
`dtc1: datetime
`dtc2: datetime
`
`dtc3: datetime
`
`
`
`1410
`
`
`
`Page 28 of 49
`
`Page 28 of 49
`
`

`

`US 2007/0079282 Al
`
`Apr. 5, 2007
`
`BROWSER BASED DESIGNER AND PLAYER
`
`BACKGROUND OF THE INVENTION
`
`[0001]
`
`1. Tield 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 Microsoft™ Word™, Adobe™
`Photoshop™, and Intuit™ Quicken™ 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 problematicif 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.
`
`[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 Explorer™ or Mozilla Firefox™, and a web server,
`e.g. Apache™ or Microsoft™ Internet Information Ser-
`vices™. An application can be dividedinto 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 fromthe user interface. The web browser runs
`the user interface. The web server providesthe userinterface
`to the web browser and runs the business logic, possibly in
`cooperation with other servers such as an applicationserver,
`e.g. JBoss™ or BEA™ WebLogic™, and a database server,
`e.g. Oracle™, The web application need not be installed
`directly on the user’s computer. ‘he 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 JavaScript™ which will be executed by the
`web browser whenthe pageis retrieved. A web application
`includes a user-interface componentthat 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 JavaScript™. A browser-equipped
`computer, therefore, uses a network connection to permit a
`user to access a web application running on a remoteserver,
`for example. Furthermore, web applications can be updated
`at any time by installing the update onthe 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 includea 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 ofthe programming
`language, so such customization by programming can be
`expensive. Rapid Application Development (RAD) tools
`address these problems by simplifying programmingtasks.
`Atypical RAD toolis 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 whencreating or extending an application.
`RADtools 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
`Delphi™, Microsoft Visual Basic™, and Macromedia/
`Adobe ColdFusion™, which can be used to develop a wide
`range of applications, but often require some programming.
`RADtools 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 developmentis 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 casts
`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. Delphi™, Visual
`Basic™, and ColdFusion™ simplify the development of
`web applications created using programming languages.
`Thatis, 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, butit is still necessary to write code in
`
`Page 29 of 49
`
`Page 29 of 49
`
`

`

`US 2007/0079282 Al
`
`Apr. 5, 2007
`
`a programming language for some portions of the applica-
`tion, such as the business logic. QuickBase™ provides for
`rapid development of forms-based web applications using a
`graphical user interface. Furthermore, QuickBaseitselfis 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.
`
`InfoPath™ from Microsoft™ provides for rapid
`[0010]
`development of forms. InfoPath forms can optionally be
`madeavailable as web applications, but the InfoPath form
`designer itself is not a web application and mustbe installed
`directly on a user’s computer. Furthermore,
`InfoPath
`depends on other Microsoft products such as Internet
`Explorer™ and does not work with browsers from other
`vendors, such as Mozilla Firefox™, Therefore InfoPath
`forms can only be accessed from computers on which
`InfoPath™ and related Micrasoft™ products are installed.
`
`
`
`browser using the user interface, and transmitting the
`defined aspects to a server over a computer networkto create
`a web-based. software application. Embodiments of the
`invention mayinclude one or moreofthe 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 mayinclude, at the server, the steps of
`rendering a representation of the application fromthe trans-
`mitted defined aspects, retrieving data associated with the
`application from a storage, and transmitting the representa-
`tion and retrieved data to a clicnt. 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 browserofthe client and
`using the library as an intermediary between the web
`browserofthe 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.
`
`[xisting RAD tools do not combinethe benefits of
`(0011]
`Ina second aspect, the invention features a com-
`(0014]
`web applications with features such as customizable pro-
`puter enabled method of providing a software application,
`cessing in a scripting language, linkage with external data
`including the acts of receiving al a server over a computer
`sources such as databases, and linkage to web services. We
`network fromafirst client web browser a software applica-
`have recognized that
`it would be desirable to have an
`tion including defined aspects of the application, rendering
`easy-to-use RAD tool which is itself a web application, and
`a representation of the application fromthe received defined
`which allows a user to quickly develop and customize
`aspects, retrieving data associated with the application from
`web-based data processing applications that can include data
`a storage, and transmitting the representation and retrieved
`input, validation, processing, and linkage with web services.
`data to a second client. Embodiments of the invention may
`Such a RAD tool could be used to quickly and efficiently
`include one or moreof the following features. In the method
`develop and customize applications using any computerthat
`of providing a software application, the computer network
`has a standard web browser and access to the Internet.
`may include the Internet. ‘he method of providing a soft-
`Furthermore, web applications typically require complex
`ware application may include,at the secondclient, the steps
`business logic for their activities. This logic is typically
`of providing a web browser and providinga user interface to
`written in strongly typed languages and the logic requires
`a user on the web browser from the received representation
`recompilation and redeployment. It would be desirable to
`and data. The method ofproviding a software application
`provide a RAD tool with a scripting language which can
`may include, at the second client, the acts of: providing a
`change or extend the behavior of web applications without
`library on the browser and using the library as an interme-
`the additional overhead of recompilation or redeployment.
`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 browserat thefirst
`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.
`
`[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
`performa 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 linkingthe userinterface 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 a

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