throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2006/0248121 A1
`(43) Pub. Date:
`Nov. 2, 2006
`Cacenc0 et al.
`
`US 20060248121A1
`
`(54) SYSTEM AND METHOD FOR SUPPORTING
`PACKAGING, PUBLISHING AND
`REPUBLISHING OF WIRELESS
`COMPONENT APPLICATIONS
`
`(76) Inventors: Michael Cacenco, Brampton (CA);
`Bryan Goring, Milton (CA); Michael
`Shenfield, Richmond Hill (CA)
`Correspondence Address:
`OGLVY RENAULT LLP
`1981 MCGILL COLLEGE AVENUE
`SUTE 16OO
`MONTREAL, QC H3A2Y3 (CA)
`(21) Appl. No.:
`11/106,575
`(22) Filed:
`Apr. 15, 2005
`
`Publication Classification
`
`(51) Int. Cl.
`G06F 7/30
`G06F 12/00
`
`(2006.01)
`(2006.01)
`
`(52) U.S. Cl. .............................................................. 707/200
`
`(57)
`
`ABSTRACT
`
`An application generation environment (e.g. an IDE tool)
`coordinates development of component-based applications
`using an interconnected model of objects serialized in a first
`format of a structured definition language (e.g. XML).
`Applications are generated for execution on a client device
`(e.g. a wireless mobile) and a Supporting stateful proxy
`gateway and primarily define the processing of messages
`communicated over a network between the client device and
`an external data source. Such as a service or other remote
`end-point, via the gateway. Application artifacts are pack
`aged by the environment in a bundle for distribution to
`gateways with the model of objects transformed to a second
`compact form. The bundle may have various attributes
`defined at publishing, including the re-definition of the
`invocation end-point contained in a service descriptor, be
`digitally signed and deposited in a repository (e.g. Web
`DAV) and published to a registry (e.g. UDDI). Bundles may
`be retrieved from repositories, verified, re-deposited and
`re-published (e.g. to a private domain) by the environment.
`
`
`
`
`
`1114
`
`Ye
`S
`
`112
`
`Update End-Point
`
`
`
`End
`
`SAP Exhibit 1014
`SAP v. Express Mobile, Inc.
`IPR2021-01146
`Page 00001
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 1 of 11
`
`US 2006/0248121 A1
`
`
`
`(cCrporate domain
`
`Discovery
`Seyer
`
`Device RE
`Eccl. tin
`
`applications
`
`
`
`14
`
`S-C p
`App.
`/
`Repository
`gig Other Enterprise
`se
`Applitations
`
`
`
`m-m
`
`<<publish applicatio
`
`6
`
`12
`
`Data Sources
`
`<<developingN
`application operatid -
`
`Figure l
`
`IPR2021-01146 Page 00002
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 2 of 11
`
`US 2006/0248121 A1
`
`tO
`network
`10
`
`
`
`tranSCelVer
`
`lSC
`Interface
`
`Navigator
`230
`
`Editor section
`232
`
`Viewer section
`236
`
`Figure 2
`
`201
`
`IPR2021-01146 Page 00003
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 3 of 11
`
`US 2006/0248121 A1
`
`301
`
`-1
`
`300
`
`302
`
`304
`
`306
`
`Figure 3
`
`IPR2021-01146 Page 00004
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 4 of 11
`
`US 2006/0248121 A1
`
`y
`
`301
`
`
`
`206
`
`Figure 4
`
`IPR2021-01146 Page 00005
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 5 of 11
`
`US 2006/0248121 A1
`
`-50
`
`LARGE Pepperoni Pizza
`
`
`
`
`
`
`
`Order List
`
`
`
`Any Pizza plus 3 toppings
`
`Nov 1, 2002
`
`You Go Girl
`You Go Girl
`You Go Girl
`
`Oct 20, 2002
`Oct 19, 2002
`Oct 18, 2002
`
`Stuffed Burger
`
`What A Deal
`506
`
`– 500
`
`
`
`
`
`User name: Frank
`
`Password: *****
`
`
`
`
`
`
`
`
`
`
`
`
`
`Please provide delivery information
`
`Street: 100 Main Street
`City: Anytown
`Postal code: A3C OE4
`Telephone: 123-456-7890
`Date of Delivery: Mon, Dec 2, 2002, 1:00PM
`
`Order Status
`
`Special: LARGE Pepperoni Pizza
`Confirmation number: 19267
`Status: Sent. Pending response.
`Date of last status update: Fri, Nov 25, 2002
`Special: Stuffed Burger
`Confirmation number: 17737
`Status: Pending delivery.
`Date of last status update: Mon, Nov 25, 2002
`
`Special: Stuffed Burger
`Confirmation number: l l 158
`Status: Delivered.
`Date of last status update: Fri, Nov 16, 2002
`
`
`
`Nur
`
`Figure 5
`
`IPR2021-01146 Page 00006
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 6 of 11
`
`US 2006/0248121 A1
`
`
`
`Model Layer
`
`Design Time
`model 608
`
`Run Time
`model 610
`
`into
`validator 620
`
`Service Layer
`application
`generator 622
`
`build
`Service 626
`
`skin
`manager 618
`
`Backend
`connector 616
`
`localization
`service 624
`
`deployment
`service 628
`
`security
`service 632
`
`DataSources 106
`
`634
`di
`Repository 114/ Registry 1 12
`
`Figure 6
`
`IPR2021-01146 Page 00007
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 7 of 11
`
`US 2006/0248121 A1
`
`206
`
`Navigator
`230
`
`
`
`Figure 7
`
`16
`
`N
`
`
`
`Editor section
`232
`
`
`
`Viewer section
`236
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`message
`and data
`relationship
`
`
`
`8. x: localization
`
`f
`
`User Interface Layer 606
`
`--. y
`
`graphical
`editors
`701
`
`IPR2021-01146 Page 00008
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 8 of 11
`
`US 2006/0248121 A1
`
`206
`
`Navigator
`230
`
`116
`
`Editor section
`232
`wo
`
`Task
`list
`234
`
`
`
`
`
`Viewer section
`236
`
`
`
`
`
`
`
`
`
`
`
`
`
`screen-data
`relationship
`viewer
`
`:
`
`application
`
`graphical
`viewers
`
`SOUC
`viewers
`
`Figure 8
`
`IPR2021-01146 Page 00009
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 9 of 11
`
`US 2006/0248121 A1
`
`
`
`
`
`
`
`design time
`data model
`608
`
`ocalizalor
`service 624
`
`902 generate application
`language descriptors
`
`
`
`
`
`------------------
`905 generate mapping
`
`file descriptor
`
`o get components
`
`-- a
`904 generate
`XML
`
`S
`
`O O DO O
`
`----------- - - - - - - - - - - 907 generate mapping
`908 prepare SOC bundles
`
`a
`
`as
`
`a
`
`- - - - - - - - ----- - - - - - - - - - - - - ---.
`
`IPR2021-01146 Page 00010
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 10 of 11
`
`US 2006/0248121 A1
`
`1000
`\
`
`1002
`
`
`
`1004
`O
`
`
`
`1006
`
`
`
`1008
`
`
`
`100
`
`
`
`In Navigator
`Select Project
`
`Invoke “Package'
`Or “Publish
`
`Transform XML
`to Compact Form
`
`Package Project
`Artifacts
`
`Select Signing
`Certificate
`
`End
`
`Figure 10
`
`IPR2021-01146 Page 00011
`
`

`

`Patent Application Publication Nov. 2, 2006 Sheet 11 of 11
`
`US 2006/0248121 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`Configure Publish
`Options
`
`
`
`
`
`s
`
`Select Bundle
`
`Publish to
`Registry
`
`SD
`(incl. end-point)
`
`Add SD to Bundle
`
`1114
`
`Y CS
`
`
`
`
`
`Update End-Point
`
`
`
`Sign Bundle
`M
`
`NO
`
`Deposit to
`Repository
`
`
`
`End
`
`Figure 11
`
`IPR2021-01146 Page 00012
`
`

`

`US 2006/0248121 A1
`
`Nov. 2, 2006
`
`SYSTEMAND METHOD FOR SUPPORTNG
`PACKAGING, PUBLISHING AND REPUBLISHING
`OF WIRELESS COMPONENT APPLICATIONS
`
`COPYRIGHT NOTICE
`0001. A portion of the disclosure of this patent document
`contains material which is subject to copyright protection.
`The copyright owner has no objection to the facsimile
`reproduction by any one of the patent document or patent
`disclosure, as it appears in the Patent and Trademark Office
`patent file or records, but otherwise reserves all copyright
`rights whatsoever.
`0002) 1. Technical Field
`0003. This application relates generally to the develop
`ment of software applications and particularly to compo
`nent-based applications and their availability over a net
`work.
`0004 2. Background
`0005 There are a continually increasing number of ter
`minals and mobile devices in use today, Such as Smart
`phones, PDAs with wireless communication capabilities,
`personal computers, self service kiosks and two-way pagers/
`communication devices. Software applications which run on
`these devices increase their utility. For example, a Smart
`phone may include an application which retrieves the
`weather for a range of cities, or a PDA may include an
`application that allows a user to shop for groceries. These
`Software applications take advantage of the connectivity to
`a network in order to provide timely and useful services to
`users. However, due to the restricted resources of some
`devices, and the complexity of delivering large amounts of
`data to the devices, developing and maintaining software
`applications tailored for a variety of devices remains a
`difficult and time-consuming task.
`0006 Currently, mobile communication devices are pri
`marily configured to communicate with web-based applica
`tions, such as service oriented applications, through web
`browsers and/or native applications. Browsers have the
`advantage of being adaptable to operate on a cross-platform
`basis for a variety of different devices, but have a disadvan
`tage of requesting pages (screen definitions in HTML) from
`the application, which hinders the persistence of data con
`tained in the screens. A further disadvantage of browsers is
`that the screens are rendered at runtime, which can be
`resource intensive. Native applications have the advantage
`of being developed specifically for the type of mobile
`device, thereby providing a relatively optimized application
`program for each runtime environment. However, native
`applications have a disadvantage of not being platform
`independent, thereby necessitating the development of mul
`tiple versions of the same application, as well as being
`relatively large in size, thereby taxing the memory resources
`of the mobile device. Further, application developers need
`experience with programming languages Such as Java and
`C++ to construct these hard-coded native applications. There
`is a need for application development environments that can
`assist in the development of applications for selected devices
`and terminals with their respective runtime environment, as
`well as being capable of assisting the selection from a
`variety of back-end data sources.
`
`0007 Systems and methods disclosed herein provide a
`component based application development environment to
`obviate or mitigate at least Some of the above presented
`disadvantages.
`
`BRIEF DESCRIPTION OF THE DRAWING
`0008. These and other features will become more appar
`ent in the following detailed description in which reference
`is made to the appended drawings wherein:
`0009 FIG. 1 is a block diagram of a communication
`network system;
`0010 FIG. 2 is a block diagram of a tool for developing
`and generating the applications of FIG. 1;
`0011 FIG. 3 is a block diagram of a component appli
`cation package of FIG. 1;
`0012 FIG. 4 is a block diagram illustrating example
`components of the application of FIG. 3;
`0013 FIG. 5 shows example screens and workflow for a
`sample component application of FIG. 3;
`0014 FIG. 6 is a block diagram of the tool architecture
`of FIG. 2;
`0.015 FIG. 7 shows editors of the tool of FIG. 6;
`0016 FIG. 8 shows viewers of the tool of FIG. 6;
`0017 FIG. 9 shows a method of application generation
`using the tool of FIG. 6;
`0018 FIG. 10 shows a method of building a deployable
`application; and
`0019 FIG. 11 shows a method of deploying a deployable
`application.
`
`DESCRIPTION
`0020. An application generation environment (e.g. an
`IDE tool) coordinates development of component-based
`applications using an interconnected model of objects seri
`alized in a first format of a structured definition language
`(e.g. XML). Application components are generated for
`execution on a client device (e.g. a wireless mobile device)
`comprising a runtime environment and a Supporting stateful
`proxy gateway and primarily define the processing of mes
`sages communicated over a network between the client
`device and an external data source such as a service or other
`remote end-point via the gateway. The application genera
`tion environment packages the application artifacts (whether
`generated within the environment or otherwise obtained) in
`a bundle for distribution or re-distribution. The model of
`objects may be transformed to a second compact form (e.g.
`using XSLT) for resource constrained client devices. Various
`attributes may be defined at publishing including the re
`definition of an invocation end-point contained in a service
`descriptor. The bundle may be digitally signed and deposited
`in a repository (e.g. WebDAV) and published to a registry
`(e.g. UDDI). Thus the application bundle may be shared
`with gateways and other application generation environ
`mentS.
`0021. As an extended function to re-distribute component
`applications, the application generation environment per
`mits browsing a repository (e.g. a public domain repository)
`
`IPR2021-01146 Page 00013
`
`

`

`US 2006/0248121 A1
`
`Nov. 2, 2006
`
`and downloading of an application bundle. The bundle may
`be verified, digitally signed and re-published to another (e.g.
`a private domain) repository and registry.
`Network System
`0022 Referring to FIG. 1, a network system 10 com
`prises mobile communication devices 100 for interacting
`with one or more backend data sources 106 (e.g. a schema
`based service such as web service or database that provides
`enterprise services used by an application 105) via a wireless
`network 102 coupled to an application gateway AG. The
`devices 100 are devices such as but not limited to mobile
`telephones, PDAs, two-way pagers, dual-mode communi
`cation devices. The network 10 can also have desktop
`computers 117 coupled though a local area network 119. The
`devices 100 and desktop computers 117 of the network 10
`are hereafter referred to as the devices 100 for the sake of
`simplicity. It is recognised that the application gateway AG
`and data sources 106 can be linked via extranets (e.g. the
`Internet) and/or intranets as is known in the art. The appli
`cation gateway AG handles request/response messages ini
`tiated by the application 105 as well as subscription notifi
`cations pushed to the device 100 from the data sources 106.
`The AG can function as a Data Mapping Server for medi
`ating messaging between a client runtime RE on the device
`100 and a backend server of the data sources 106. The
`Runtime Environment RE is an intelligent container that
`executes application 105 components and provides common
`services as needed for execution of the applications 105. The
`gateway AG can provide for asynchronous messaging for
`the applications 105 and can integrate and communicate
`with legacy back-end data sources 106. The devices 100
`transmit and receive the Wireless Component Applications
`technology or wireless component applications 105, as
`further described below, when in communication with the
`data sources 106, as well as transmit/receive messaging
`associated with operation of the applications 105. The
`devices 100 can operate as web clients of the data sources
`106 through execution of the applications 105 when provi
`sioned on respective runtime environments RE of the
`devices 100.
`0023 For satisfying the appropriate messaging associ
`ated with the applications 105, the application gateway AG
`communicates with the data sources 106 through various
`protocols (such as but not limited to HTTP SQL, and
`component API) for exposing relevant business logic (meth
`ods) to the applications 105 once provisioned on the devices
`100. The applications 105 can use the business logic of the
`data sources 106 similarly to calling a method on an object
`(or a function). It is recognized that the applications 105 can
`be downloaded/uploaded in relation to data sources 106 via
`the network 102 and application gateway AG directly to the
`devices 100. For example, the application gateway AG is
`coupled to a provisioning server 108 and a discovery server
`110 for providing a mechanism for optimized over-the-air
`provisioning of the applications 105, including capabilities
`for application 105 discovery from the device 100 as listed
`in a UDDI (for example) registry 112. The Registry 112 can
`be part of the Discovery Service implemented by the server
`110, and the registry 112 is used for publishing the appli
`cations 105. The application 105 information in the registry
`112 can contain such as but not limited to a Deployment
`Descriptor DD (contains information Such as application
`
`105 name, version, and description) as well as the location
`of this application 105 in an application repository 114.
`0024 Referring again to FIG. 1, for initialization of the
`runtime environment RE, the RE receives the gateway AG
`URL and the gateway AG public key in a MDS 115 service
`book. The runtime environment RE uses this information to
`connect to the gateway AG for initial handshaking. Device
`100 provisioning or BES 116, depending on the domain,
`pushes the MDS 115 service book to the device 100. It is
`recognised there could be more than one gateway AG in the
`network 10, as desired. Once initialized, access to the
`applications 105 by the devices 100, as downloaded/up
`loaded, can be communicated via the gateway AG directly
`from the application repository 114, and/or in association
`with data source 106 direct access (not shown) to the
`repository 114.
`Application Design User Interface or Tool 116
`0.025
`Referring to FIG. 1, the applications 105 can be
`stored in the repository 114 as a series of packages that can
`be created by a Studio developer tool 116, which is
`employed by developers of the applications 105. The devel
`oper design tool 116 can be a Rapid Application Develop
`ment (RAD) tool used to develop the Wired and/or Wireless
`Component Application 105 packages. The tool 116 can
`provide Support for a drag-and drop graphical approach for
`the visual design of application 105 components (see FIG.
`4) such as but not limited to screens 402, data elements 400,
`messages 404 and application workflow logic 406, as further
`defined below. The application 105 packages are represented
`as metadata (XML) that can be generated automatically by
`the tool 116 through an automatic code generation process.
`This tool 116 can provide for the automatic generated code
`to include or be otherwise augmented by an industry stan
`dard Scripting language (e.g. JavaScript) or other scripting/
`programming languages known in the art. The availability of
`the application 105 packages of the repository 114 is pub
`lished via the discovery service of the server 110 in the
`registry 112. It is recognized that there can be more than one
`repository 114 and associated registries 112 as utilized by
`the particular network 10 configuration of the application
`gateway AG and associated data sources 106.
`0026 Referring to FIG. 2, the tool 116 is operated on a
`computer 201 that can be connected to the network 10 via a
`network connection interface such as a transceiver 200
`coupled via connection 218 to a device infrastructure 204.
`The transceiver 200 can be used to upload completed
`application programs 105 to the repository 114 (see FIG. 1),
`as well as access the registry 112 and selected data sources
`106. Referring again to FIG. 2, the developer design tool
`116 also has a user interface 202, coupled to the device
`infrastructure 204 by connection 222, to interact with a user
`(not shown). The user interface 202 includes one or more
`user input devices such as but not limited to a keyboard, a
`keypad, a trackwheel, a stylus, a mouse, a microphone, and
`is coupled to a user output device such as a speaker (not
`shown) and a screen display 206. If the display 206 is touch
`sensitive, then the display 206 can also be used as the user
`input device as controlled by the device infrastructure 204.
`The user interface 202 is employed by the user of the tool
`116 to coordinate the design of applications 105 using a
`series of editors 600 and viewers 602 (see FIG. 6), using a
`plurality of wizards 604 to assist/drive in the workflow of the
`development process.
`
`IPR2021-01146 Page 00014
`
`

`

`US 2006/0248121 A1
`
`Nov. 2, 2006
`
`0027 Referring again to FIG. 2, operation of the tool
`computer 201 is enabled by the device infrastructure 204.
`The device infrastructure 204 includes a computer processor
`208 and the associated memory module 210. The computer
`processor 208 manipulates the operation of the network
`interface 200, the user interface 202 and the display 206 of
`the tool 116 by executing related instructions, which are
`provided by an operating system and application 105 design
`editors 600, wizards 604, dialogs 605 and viewers 602
`resident in the memory module 210. Further, it is recognized
`that the device infrastructure 204 can include a computer
`readable storage medium 212 coupled to the processor 208
`for providing instructions to the processor 208 and/or to
`load/design the applications 105 also resident (for example)
`in the memory module 210. The computer readable medium
`212 can include hardware and/or software such as, by way
`of example only, magnetic disks, magnetic tape, optically
`readable medium such as CD/DVD ROMS, and memory
`cards. In each case, the computer readable medium 212 may
`take the form of a small disk, floppy diskette, cassette, hard
`disk drive, solid state memory card, or RAM provided in the
`memory module 210. It should be noted that the above listed
`example computer readable mediums 212 can be used either
`alone or in combination.
`0028 Referring again to FIG. 2, the design tool 116 is
`operated on the computer 201 as an application development
`environment for developing the applications 105. The devel
`opment methodology of the tool 116 can be based on a visual
`"drag and drop” system of building the application visual,
`data, messaging behaviour, and runtime navigation model.
`The tool 116 can be structured as a set of plug-ins to a
`generic integrated design environment (IDE) framework,
`such as but not limited to the Eclipse universal tool platform
`from eclipse.org, or the tool 116 can be configured as a
`complete design framework without using plug-in architec
`ture. For exemplary purposes only, the tool 116 will now be
`described as a plug-in design environment using the Eclipse
`framework.
`0029 Referring to FIGS. 2 and 6, Eclipse makes provi
`sions for a basic, generic tool 116 environment that can be
`extended to provide custom editors, wizards, project man
`agement and a host of other functionality. The Eclipse
`platform is designed for building integrated development
`environments (IDES) that can be used to create applications
`as diverse as web sites, embedded JavaTM programs, C++
`programs, and Enterprise JavaBeansTM. The navigator view
`230 shows files in a users (e.g. developer) workspace; a text
`editor section 232 shows the content of a file being worked
`on by the user of the tool 116 to develop the application 105
`and associated components 400,402.404,406 (see FIG. 4) in
`question; the tasks view section 234 shows a list of to-dos
`for the user of the tool 116; and the outline viewer section
`236 shows for example a content outline of the application
`105 being designed/edited, and/or may augment other views
`by providing information about the currently selected object
`such as properties of the object selected in another view. It
`is recognised that the tool 116 aids the developer in creating
`and modifying the coded definition content of the compo
`nents 400,402.404 in the structured definition language (e.g.
`in XML). Further, the tool 116 also aids the developer in
`creating, modifying, and validating the interdependencies of
`the definition content between the components 400,402.404,
`Such as but not limited to message/data and screen/data
`relationships. It is also recognised that presentation on the
`
`display of wizard 604 and dialog 605 content for use by the
`developer (during use of the editors 600 and viewers 602)
`can be positioned in one of the sections 230.232.234,236
`and/or in a dedicated wizard section (not shown), as desired.
`0030 The Eclipse Platform is built on a mechanism for
`discovering, integrating, and running modules called plug
`ins (i.e. editors 600 and viewers 602). When the Eclipse
`Platform is launched via the UI 202 of the computer 201, the
`user is presented with an integrated development environ
`ment (IDE) on the display 206 composed of the set of
`available plug-ins, such as editors 600 and viewers 602. The
`various plug-ins to the Eclipse Platform operate on regular
`files in the user's workspace indicated on the display 206.
`The workspace consists of one or more top-level projects,
`where each project maps to a corresponding user-specified
`directory in the file system, as stored in the memory 210
`(and/or accessible on the network 10), which is navigated
`using the navigator 230. The Eclipse Platform UI paradigm
`is based on editors, views, and perspectives. From the user's
`standpoint, a workbench display 206 consists visually of
`views 602 and editors 600. Perspectives manifest them
`selves in the selection and arrangements of editors 600 and
`views 602 visible on the display 206. Editors 600 allow the
`user to open, edit, and save objects. The editors 600 follow
`an open-save-close lifecycle much like file system based
`tools. When active, a selected editor 600 can contribute
`actions to a workbench menu and tool bar. Views 602
`provide information about some object that the user is
`working with in the workbench. A viewer 602 may assist the
`editor 600 by providing information about the document
`being edited. For example, viewers 602 can have a simpler
`lifecycle than editors 600, whereby modifications made in
`using a viewer 602 (such as changing a property value) are
`generally saved immediately, and the changes are reflected
`immediately in other related parts of the display 206. It is
`also recognised that a workbench window of the display 206
`can have several separate perspectives, only one of which is
`visible at any given moment. Each perspective has its own
`viewers 602 and editors 600 that are arranged (tiled, stacked,
`or detached) for presentation on the display 206.
`Component Applications 105
`0031
`Referring to FIG. 3, the application 105 packages
`have application elements or artifacts 301 such as but not
`limited to XML definitions 300, mappings 302, application
`resources 304, and optionally resource bundle(s) 306 for
`localization support. XML definitions 300 are XML coding
`of application data 400, messages 404, Screens 402 compo
`nents and workflow 406, part of the raw application 105. It
`is recognised that XML Syntax is used only as an example
`of any structured definition language applicable to coding of
`the applications 105. Application mapping 302 defines the
`relationship of content in the application messaging to
`backend operation of the data sources 106. The application
`developer creates the mappings 302 using the tool 116,
`whereby the gateway AG utilizes this mapping 302 infor
`mation during communication of the application 105
`request/response messages between the runtime RE, of the
`devices 100, and the data sources 106. The resources 304 are
`one or more resources (images, Sound bites, media, etc . . .
`) that are packaged with the application 105 as static
`dependencies. For example, resources 304 can be located
`relative to a resources folder (not shown) such that a
`particular resource may contain its own relative path to the
`
`IPR2021-01146 Page 00015
`
`

`

`US 2006/0248121 A1
`
`Nov. 2, 2006
`
`main folder (e.g. resources/icon.gif, resources/screens/cli
`part 1.0/happyface.gif, and resources/sound bites/midi/in
`themood.midi). The resource bundles 306 can contain local
`ization information for each language Supported by the
`application 105. These bundles can be located in a locale
`folder, for example, and can be named according to the
`language Supported (e.g. locale/lang en-properties and
`locale/lang frproperties). An example of the elements 301
`are given below.
`0032. It is recognised that the runtime environment RE of
`the device 100 is the client-resident container within which
`the applications 105 are executed on the device 100. The
`container manages the application 105 lifecycle on the
`device 100 (provisioning, execution, deletion, etc.) and is
`responsible for translating the metadata (XML) representing
`the application 105 into an efficient executable form on the
`device 100. The application 105 metadata is the executable
`form of the XML definitions 300, as described above, and is
`created and maintained by the runtime environment RE. The
`RE can provide a set of common services to the application
`105, as well as providing support for optional JavaScript or
`other scripting languages. These services include Support for
`Such as but not limited to UI control, data persistence and
`asynchronous client-server messaging. It is recognised that
`these services could also be incorporated as part of the
`application 105, if desired.
`0033 Referring to FIG. 4, the component applications
`105 are software applications which can have artifacts 301
`written, for example, in eXtensible Markup Language
`(XML) and a subset of ECMAScript. XML and ECMAS
`cript are standards-based languages which allow software
`developers to develop the component applications 105 in a
`portable and platform-independent way. A block diagram of
`the component application 105 comprises the data compo
`nents 400, the presentation components 402 and the message
`components 404, which are coordinated by workflow com
`ponents 406 through interaction with the client runtime
`environment RE of the device 100 (see FIG. 1) once
`provisioned thereon. The structured definition language (e.g.
`XML) can be used to construct the components 400, 402.
`404 as a series of metadata records, which consist of a
`number of pre-defined elements representing specific
`attributes of a resource Such that each element can have one
`or more values. Each metadata schema typically has defined
`characteristics such as but not limited to; a limited number
`of elements, a name of each element, and a meaning for each
`element. Example metadata schemas include Such as but not
`limited to Dublin Core (DC), Anglo-American Cataloguing
`Rules (AACR2), Government Information Locator Service
`(GILS), Encoded Archives Description (EAD), IMS Global
`Learning Consortium (IMS), and Australian Government
`Locator Service (AGLS). Encoding syntax allows the meta
`data of the components 400, 402,404 to be processed by the
`runtime environment RE (see FIG. 1), and encoding
`schemes include schemes such as but not limited to XML,
`HTML, XHTML, XSML, RDF, Machine Readable Cata
`loguing (MARC), and Multipurpose Internet Mail Exten
`sions (MIME). The client runtime environment RE of the
`device 100 operates on the metadata descriptors of the
`components 400, 402, and 404 to provision an executable
`version of the application 105.
`0034) Referring again to FIG. 4, the data components
`400 define data entities which are used by the component
`
`application 105. Data components 400 define what infor
`mation is required to describe the data entities, and in what
`format the information is expressed. For example, the data
`component 400 may define information such as but not
`limited to an order which is comprised of a unique identifier
`for the order which is formatted as a number, a list of items
`which are formatted as strings, the time the order was
`created which has a date-time format, the status of the order
`which is formatted as a string, and a user who placed the
`order which is formatted according to the definition of
`another one of the data components 400.
`0035) Referring again to FIG. 4, the message compo
`nents 404 define the format of messages used by the com
`ponent application 105 to communicate with external sys
`tems such as the web service. For example, one of the
`message components 404 may describe information Such as
`but not limited to a message for placing an order which
`includes the unique identifier for the order, the status of the
`order, and notes associated with the order. It is recognised
`that data definition content of the components can be shared
`for data 400 and message 404 components that are linked or
`otherwise contain similar data definitions.
`0036 Referring again to FIG. 4, the presentation com
`ponents 402 define the appearance and behaviour of the
`component application 105 as it displayed by a user inter
`face of the devices 100. The presentation components 402
`can specify GUI screens and controls, and actions to be
`executed when the user interacts with the component appli
`cation 105 using the user interface. For example, the pre
`sentation components 402 may define Screens, labels, edit
`boxes, buttons and menus, and actions to be taken when the
`user types in an edit box or pushes a button. It is recognised
`that data definition content of the components can be shared
`for data 400 and presentation 402 components that are
`linked or otherwise contain similar data definitions.
`0037 Referring to FIGS. 1 and 4, it is recognized that in
`the above described client component application 105 defi
`nitions hosting model, the presentation components 402 may
`vary depending on the client pl

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