throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2007/007.9282 A1
`Nachnani et al.
`(43) Pub. Date:
`Apr. 5, 2007
`
`US 2007007.9282A1
`
`(54) BROWSER BASED DESIGNER AND PLAYER
`(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
`7SS PAGE MILL RD
`PALO ALTO, CA 94304-1018 (US)
`
`(21) Appl. No.:
`
`11/241,073
`
`(22) Filed:
`
`Sep. 30, 2005
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`G06F 9/44
`(52) U.S. Cl. .............................................................. 717/106
`
`ABSTRACT
`(57)
`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.
`
`O2
`
`14
`
`
`
`20
`
`
`
`
`
`Application Definition
`
`Application Data
`
`
`
`Database
`
`
`
`
`
`
`
`
`
`Application Definition .
`table
`
`Application Data table
`
`SAP Exhibit 1006
`SAP v. Express Mobile, Inc.
`IPR2021-01145
`Page 00001
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 1 of 27
`Figure la
`
`US 2007/0079282 A1
`
`102
`
`ll4
`
`00
`
`Designer UI
`
`
`
`
`
`
`
`Application Definition
`
`Application Data
`
`
`
`
`
`Database
`
`
`
`
`
`Application Definition .
`table
`
`Application Data table
`
`2
`
`IPR2021-01145 Page 00002
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 2 of 27
`
`US 2007/0079282 A1
`
`
`
`
`
`Web Browser
`
`Application
`
`32
`
`l46
`
`IPR2021-01145 Page 00003
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 3 of 27
`
`US 2007/007.9282 A1
`
`Figure 2a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Application 202
`
`StandardArea
`
`204
`
`240N Area Properties:
`name, displayname, width,
`rowcount, colcount
`
`Component (at least ), type is one of
`Label, TextBox, TextArea, RadioButton,
`CheckBox, Select List, File Attachment,
`Button, Image, Link.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Component
`Properties:
`name, type,
`rowindex, colindex,
`hidden, dataset,
`datalinkage,
`datatwbe, reauired
`
`
`
`<Area
`name=name property
`label=displayname
`OWSOWolt
`cols=colcount
`
`
`
`
`
`<FormComponent
`name=name property
`type=type property
`datatype=datatype property
`required=required property
`defaultvalue=defaultvalue prop
`rowindex=rowindex property
`colindex=colindex property
`hidden=hidden property
`datacolumn=next available
`column name
`Me
`
`
`
`
`
`
`
`
`
`
`
`IPR2021-01145 Page 00004
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 4 of 27
`
`US 2007/007.9282 A1
`
`
`
`Application
`
`TableArea
`
`Area Properties:
`name, displayname, width,
`rowcount, colcount
`
`Properties: name, width,
`colindex
`
`263
`
`<Area
`name=name property, label=displayname,
`rows=rowcount, cols=colcounts
`
`<FormComponent
`(same as in Standard
`Area) />
`
`---
`
`- C/TableColumn >
`---
`</TableDetailRow >
`
`272
`
`</TableComponent>
`
`273
`
`264
`
`- 265
`
`266
`
`267
`
`268
`
`269
`
`270
`
`27l
`
`IPR2021-01145 Page 00005
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 5 of 27
`Figure 3
`
`US 2007/0079282 A1
`
`
`
`300
`
`
`
`Request Inforquation
`302
`
`304
`
`Date: 4/22/2005
`
`30g
`
`Patient Name John J. Smith
`
`
`
`308
`
`30
`
`IPR2021-01145 Page 00006
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 6 of 27
`
`US 2007/0079282 A1
`
`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, cols, visibility}
`L ComponentDefinition (1 or more)
`FormComponent (if present, 1 or more)
`
`Ot
`
`TableComponent (if present, 1 or more)
`
`420
`name, displayname, type, datatype, required, keyfield, readonly,
`YFomcomponent: {
`rOWindex, Colindex, hidden, datacolumn, maxlength, }
`alignment, allowedchars, rows, cols, size, allowimultiple, datalookup,
`formula, style, align, linkedcontrolname, attachtype
`FormComponentList (Optional, 0 or 1)
`
`FormComponent (Optional, 0 or more)
`
`Behaviorlist (Optional, 0 or 1)
`
`430
`N Behaviorist
`
`L Behavior: (name, event, category) (Optional, 0 or more)
`435 u-1 L
`Code: string
`
`IPR2021-01145 Page 00007
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 7 of 27
`
`US 2007/0079282 A1
`
`Figure 4b
`
`440
`YTabocomponent : (name, type, rows, allow more rows, style, allow row delete)
`
`TableHeadROW
`team (1 or more)
`
`TableDetailROW
`to (1 or more)
`
`TableFootRow (Optional, 0 or more)
`team (1 or more)
`
`Behaviorlist
`
`450
`YTablacolumn : {name, label, rowindex, Colindex, width)
`L FormComponent (Optional, 0 or more)
`
`IPR2021-01145 Page 00008
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 8 of 27
`
`US 2007/0079282 A1
`
`
`
`52
`
`Area Component
`name=area 0
`label=Request Information
`cols=4, rows=6
`Form Component
`name=comp_area 0-00
`type=LABEL
`label=Date:
`rowindex=0, colindex=0
`
`Form Component
`name=datel
`type=DATE
`dataset=process master/dtcl
`rowindex=0, colindex=l
`
`-
`
`fare 5,
`
`W
`
`Form Component
`name=comp_area 0-l-O
`type=LABEL
`label=Patient Name:
`rowindex=l, colindex=0
`
`Form Component
`name=select 3
`type=SELECT
`datalookup=CORE/SCID/USER
`dataset=process master/scil
`rowindex=0, colindex=l
`
`Figure 5b
`530N area_0, Label=Request Information, ...
`532 N.
`Component Definition
`
`comp_area 0-0-0, label-Date:, ...
`534 N.
`536- date l, type=DATE, ...
`538
`comparea 0 l 0, label=Patient Name:, ...
`539
`select 3, type=SELET, ...
`
`IPR2021-01145 Page 00009
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 9 of 27
`
`US 2007/007.9282 A1
`
`Figure 5c
`
`540
`
`
`
`<Area name="area 0" label="Request Information" cols="4" rows="6" layout "four">
`
`<ComponentPefinition>
`
`<FormComponent name="comp area 00 0" type="LABEL" required="false"
`label="Date:" datatype="0" maxlength="25" style="EditBox" rowindex="0"
`colindex="0" datalookup=" dataset="f>
`
`<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 1 0" typer"LABEL" required="true"
`label="Patient Name:" datatype="0" maxlength="25" style="EditBox"
`rowindex="1" colindex="0" datalookup=" datasets" f>
`
`<FormComponent name="select 3" type="SELECT" required="false"
`label="select 3" datatype="1" maxlength="25" style="EditBox" rowindex="1"
`colindex="1" datalookup="CORE/SCID/USER"
`dataset="PROCESS MASTER/sc1" f>
`
`</Component Definition
`
`IPR2021-01145 Page 00010
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 10 of 27
`
`US 2007/007.9282 A1
`
`600
`
`Application Data
`
`hye 6a
`
`Application
`Data: Client
`
`Figure 6b
`
`
`
`604
`
`date l=4/22/2005
`
`608
`
`select3=John J. Smi
`
`60
`
`Figure 6c
`6
`
`
`
`6
`
`66
`
`4/22/2005
`
`Example
`Application
`Data on
`Client
`
`Example
`Application
`Data in
`Database
`
`IPR2021-01145 Page 00011
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 11 of 27
`
`US 2007/007.9282 A1
`
`Figure 7a
`
`
`
`IPR2021-01145 Page 00012
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 12 of 27
`Figure 7b
`
`US 2007/0079282 A1
`
`720 721
`
`
`
`723
`
`IPR2021-01145 Page 00013
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 13 of 27
`
`US 2007/007.9282 A1
`
`Figure 7c
`
`
`
`IPR2021-01145 Page 00014
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 14 of 27
`
`US 2007/0079282 A1
`
`Figure 7d
`
`
`
`io Salad Function
`
`|text-
`i
`customFunction lawrences
`s
`
`Select twent shocubleCick W
`
`mm-mm-mm
`
`4.
`
`view it is : print copy to th; beats...?
`functica estarrunctipaliawrence { } {
`wese ceasia gees the ea.
`isit, N
`
`748
`
`IPR2021-01145 Page 00015
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 15 of 27
`
`US 2007/007.9282 A1
`
`Figure 7e
`
`
`
`740
`
`s &
`Oselect Functio
`
`select Event Select event is
`
`troubleClick
`.
`.
`.
`vier risis print cops to sigbasti i
`st as ascist.
`fasiid custa, rativities a calcuistics, waiigatics, ex concuseOver
`actica.
`iseet the tict is
`actic, Salist extet art click Axe east at is
`a sets car sists click the data alars at praxiastier cry txt legs to help build the aeties.
`ified it firetástas try eitskin in this area.
`
`49
`
`748
`
`asid Eventrarder
`
`Aig Function
`
`IPR2021-01145 Page 00016
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 16 of 27
`
`US 2007/007.9282 A1
`
`Figure 7f
`
`
`
`
`
`753
`
`Only data elements accessible to the target field are displayed in the Data Elements window. Within a table you may only work with
`instances of that row of the table, in the Table Summary Footer Areas you may access columns of the table as well as data elements
`from other areas. Table Summary Footer Areas can only get summary (SUM, Min, Max, etc) of data columns from the table,
`
`
`
`IPR2021-01145 Page 00017
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 17 of 27
`
`US 2007/0079282 A1
`
`isionals critis: 5ties
`PRCd
`Y
`PROX
`N
`2
`N
`Es
`tes
`2
`Y
`Prod
`s
`Y
`test
`3
`Y
`3.
`Y
`
`Olfisf2004
`0/Sf204
`0.5:2004
`(1572.04
`of2Si2004
`Olylsf2O4
`oil/35iggot
`lfs/208
`
`copy ridecay
`lette
`Scox Edit Reggy
`cey Edit decay delete
`gby Undecoy
`Scay. Initiate ceetcy delete
`CCEY undedley
`Y
`
`
`
`
`
`Select Action
`
`Seled Action
`
`
`
`w
`
`s:
`
`f Test Application
`-
`.
`is 6 Test Application 2
`: "
`-
`. . .
`Test Application 3
`.
`. . .
`Test Application 4
`
`Active'
`-
`
`Test
`
`Inactive
`
`see Action
`
`x
`
`Test Applications
`
`Active
`
`a SSAS
`3.
`8:8
`osysf2Oos
`08/of2005
`Osfia/2005
`09:00 AM use to route any file type, such... Sunny Yang 09:00 AM Sunny Yang C9:00 AM
`07:25.2095
`.
`. " .
`.
`.
`.
`08/0/2ggs
`08/18/2005
`09:00 AM use tor
`W
`.
`Sunny Yang (9:00 AM Sunny Yang os: A
`Ks
`. .
`.
`. .
`Kst,
`KST
`303.2095
`80/2005
`oB/18/2005
`09:30 AM Use to route any file type, such... Surry Yang 09:00 AM Sunny Yarg 09:00AM
`KS
`KST
`03:15/2005 .
`.
`. .
`.
`.
`.
`. .
`.
`. . .
`.
`des
`08.18/2005
`i. (9:00AM use to route any file type, such... sunny Yang 09:00 AM Sunny Yang 09:00AM
`sfl/2005
`08/0f20s
`Bis/200s
`OS:00 AM use to route any file type, such... Sunny Yang 09:00 AM Sunny Yang 09:00 AM
`KS
`Kst
`KS
`
`tist sits Hale : Legs:
`Copyright 99s - 2333, isits. All rights reserved.
`
`IPR2021-01145 Page 00018
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 18 of 27
`
`US 2007/0079282 A1
`
`
`
`
`
`URL SE;5:5:33:3
`isiaxxxxis
`sea-????ssixxxess.
`
`755
`
`75
`75 8-N Link Type Please Select
`Application
`
`Nsite Platform options
`E3 Save Loon
`scs only neves
`kogir orce per session
`Show Nsiteration tabs
`Select the inbound link you would like to create. With a link that launches an Nsite
`screen yiew (in Progress. Completed, Archives, or drafts you may fief for a specific;
`application. When launching an application
`ra
`ulate application controls.
`
`s
`
`755
`
`create Inbound link
`URt.https://
`ess.nsite.com/Partners. g?
`dissexxxuris????seas????ses frexxxxxas
`
`75
`
`Create inbound Link
`R https://processinsites fartners. g
`id-kxxxxture???seas???ssfsexxxxxsists
`
`Nise Platform options
`759 N.
`since have to
`76
`link Type launch ApplicatioS2
`Application ApplicationName 2 E. as
`Once the R is built, you will need to copy it and paste it to the 3rd party web
`application. When launching an application, you can populate application controls by
`sdding the variable names from the 3rd party application if they provide that capability
`Controls to Populate
`Copy Controt Name Code
`extCoreMarte
`extOrcNaire2
`extControlNarne3
`extcontroNare
`Tesco?itro Nares
`TextControNames
`TaxControl:Name?
`
`76
`
`
`
`... 8
`
`current application, copy the Control
`Nanne Code of pasting into the URL
`above
`
`Nsite Pattornr 0
`763
`3 Save Login cookie, so only have to
`Link type
`C.
`76 Application ApplicationName
`Once the URL is built, you will need to copy a and paste it to the 3rd party web
`application. You may fitter for a specific application in the Nsite screen view, or
`selectio Application Filter to view at applications
`
`rar
`
`
`
`762
`
`IPR2021-01145 Page 00019
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 19 of 27
`
`US 2007/007.9282 A1
`
`765
`76
`
`Link Builder
`
`O Static URL
`ONsite to Nsite (initiate and prepopulate another Nsite process)
`
`765
`
`Link Builder
`
`
`
`OStatic URL
`768 -5 Nsite to Nsite (initiate and prepopulate another Nsite process)
`
`Select Process Application to
`768-1- Nsite Application Variables
`Initiate Process App2
`N
`from Application Name
`Select another process application, then drag and orop
`Drag and drop variables from your current
`controls to map to the controls fron the current application
`application to the mapping boxes
`Application to initiate Mapping Boxes
`Current Application Mapping Boxes
`O) O App2textcontrol
`App2TextControl2
`App2TextContro3
`App2TextContro4
`App2TextContro5
`App2textControls
`App2TextControl?
`App2TextControl.8 R
`
`TextOcottNare3
`extControl.Narie-4
`extControNafe5
`extControNares
`TextControNanet
`
`
`
`
`
`77
`
`IPR2021-01145 Page 00020
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 20 of 27
`
`US 2007/0079282 A1
`
`Figure 8
`
`801
`
`Client Computer
`
`802
`
`803
`805
`
`807
`
`808
`
`830
`
`831
`
`Client Computer
`
`832
`
`833
`835
`
`837
`
`838
`
`839.
`
`840
`
`809
`
`852
`
`
`
`
`
`
`
`
`
`
`
`854
`
`
`
`
`
`Application Server
`
`App Designer JSP
`
`
`
`App Player JSP
`
`Fomprocessor
`
`
`
`
`
`860
`862
`
`864
`
`DefinitionFactory
`
`BusinessFactory
`
`ProcessService
`
`Database
`
`IPR2021-01145 Page 00021
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 21 of 27
`
`US 2007/0079282 A1
`
`Figure 9
`
`Start Save Application Definition ) 910
`
`AppDesigner server 1914
`page presents user
`interface.
`
`916
`
`
`
`Yes
`Create Empty
`Definition object -- New App?
`
`918
`
`920
`
`
`
`Load an existing
`application definition
`into Definition object.
`
`No
`
`
`
`
`
`922
`
`
`
`
`
`Wait for User Action
`
`924
`
`component Added?d N-gser Clicked save >Ne
`
`928
`
`Yes
`
`Yes
`
`Add new component
`to Definition
`
`926
`
`Transform Definition
`into XML according .
`to XML schenna
`
`
`
`Send XML to
`AppDesigner JSP for
`storage in database
`
`
`
`IPR2021-01145 Page 00022
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 22 of 27
`
`US 2007/007.9282 A1
`
`Figure 10a
`
`
`
`Get XML application
`definition
`(ProcessDefinition) from
`DefinitionFactory
`
`Start GetValues
`Subroutine
`
`
`
`1024
`
`
`
`
`
`
`
`
`
`
`
`
`
`For each application
`component in XML
`application definition.
`
`Compose component
`ae
`
`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
`
`More components?
`
`1037
`
`IPR2021-01145 Page 00023
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 23 of 27
`Figure 10b
`
`US 2007/007.9282 A1
`
`Start RenderHTML
`Subroutine
`
`1050
`
`
`
`For each application
`component in XML
`application definition
`
`
`
`Compose component
`ae
`
`Create HTML element for 1056
`component
`
`Get component value
`from
`BusinessObjectValue
`property with component
`
`Add component value to
`HTML element.
`
`More components?
`
`
`
`
`
`
`
`
`
`
`
`1064
`
`IPR2021-01145 Page 00024
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 24 of 27
`
`US 2007/0079282 A1
`
`Figure 11
`
`Start Save Application Data ) 1110
`
`
`
`
`
`FormProcessor decodes 1118
`incoming HTTP response
`parameter values
`
`FormRrocessor Creates
`BusinessFactory
`
`BusinessFactory
`traverses XML
`
`1120
`
`1122
`
`Store ProcessMaster in
`database using
`ProcessService
`
`1136
`
`Begin XML traversal to 1123
`fill in ProcessMaster
`
`For each application
`Component in XML
`application definition
`
`1124
`
`Compose Component
`late
`
`1126
`
`Find component value
`with component name in
`HTTP 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
`More components?
`
`
`
`Yes
`
`IPR2021-01145 Page 00025
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 25 of 27
`
`US 2007/007.9282 A1
`
`Figure 12a
`
`
`
`1201
`
`1202
`
`Application
`
`12O3
`
`
`
`1204
`
`1205
`
`Application Definition
`
`Application Data
`
`w
`
`Figure 12b
`
`Edit
`
`1210
`
`1221
`
`N
`InitiaterOceSS
`or Routing
`
`Active Mode
`
`Undeploy
`N1223
`
`inactive Mode
`
`Deploy
`
`1231
`
`
`
`
`
`
`
`1230
`
`IPR2021-01145 Page 00026
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 26 of 27
`
`US 2007/007.9282 A1
`
`pie s
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 Xml:ntext
`process type: nvarchar(1)
`version: numeric(9,0)
`is active: nvarchar(1)
`mode: nvarchar(1)
`effective date: datetime
`end date: datetime
`is locked: nvarchar(1)
`locked by: numeric(9,0)
`lock date: datetime
`
`
`
`30
`
`302
`
`303
`
`304
`
`305
`
`IPR2021-01145 Page 00027
`
`

`

`Patent Application Publication Apr. 5, 2007 Sheet 27 of 27
`
`US 2007/0079282 A1
`
`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)N
`fk core company process id: numeric(9,0)
`type id: numeric(9,0
`422
`sc1: nvarchar(256)
`fk Core Company id: numeric(9,0)
`Sc2: nvarchar(256)
`l42l
`subject: nvarchar(100)
`sc3: nvarchar(256)
`status: nvarchar(1)
`sc1:ntext
`description: nvarchar(100)
`sc2:ntext
`sc1: nvarchar(256)
`sc2: nvarchar(256) - sc3. ntext
`Nahar(256- 407
`1406
`A: as: :
`inc2: numeric b,
`sche
`sc2 intext
`inc3: numeric(15,3)
`sc3:ntext - la05
`bc1: nvarchar(1)
`nc1: numeric(15,3)
`bc2: nvarchar(1)
`inc2: numeric(15,3)
`bc.3: nvarchar(1)
`inc3: numeric(15,3)
`ditc1: datetime
`bc1: nvarchar(1)
`dtc2 datetime
`bc.2: nvarchar(1)
`dtc3; datetime
`bc3: nvarchar(1)
`ditc1: datetime
`ditc2: datetime
`ditc.3: datetime
`
`l404
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`process attachment
`pkiprocess attachment id: numeric(9,0)
`pk flk core company id: numeric(9,0)
`pk process master id: nurneric(9,0)
`pk process detail id: numeric(9,0)
`file name: nvarchar(128)
`file type: nvarchar(10)
`file size: numeric(9,0)
`file content in byte: warbinary
`attachment type: nva?char(1)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1410
`
`process extension
`pk process extension id: numeric(9,0)
`fk process master id: numeric(90)
`sc1: nvarchar(256)
`sc2: nvarchar(256)
`sc3: nvarchar(256)
`3. As
`sc3. ntext
`nc1: numeric(15,3)
`nc2: numeric(15.3)
`nc3: numeric(15,3)
`bc1: nvarchar(1)
`bc.2: nvarchar(1)
`bc.3: nvarchar(1)
`dtc1: datetime
`ditc2: datetime
`ditc3; datetime
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IPR2021-01145 Page 00028
`
`

`

`US 2007/007.9282 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
`0004 Today, most types of software applications are
`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.
`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 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 JavaScript TM 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
`applications user interface may be implemented as a web
`page using HTML and JavaScript T.M. 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.
`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
`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, 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
`
`IPR2021-01145 Page 00029
`
`

`

`US 2007/007.9282 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.
`0010 InfoPathTM from MicrosoftTM provides for rapid
`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
`0013 In general, in a first aspect, the invention features
`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.
`0014. In a second aspect, the invention features a com
`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 designing the software application, defining the
`aspects of the application using the user interface, and
`transmitting the defined aspects to the server over the
`compute

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