CN100424637C - System and method for building wireless applications - Google Patents

System and method for building wireless applications Download PDF

Info

Publication number
CN100424637C
CN100424637C CNB2005100524493A CN200510052449A CN100424637C CN 100424637 C CN100424637 C CN 100424637C CN B2005100524493 A CNB2005100524493 A CN B2005100524493A CN 200510052449 A CN200510052449 A CN 200510052449A CN 100424637 C CN100424637 C CN 100424637C
Authority
CN
China
Prior art keywords
data
screen
assembly
definition
mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005100524493A
Other languages
Chinese (zh)
Other versions
CN1661554A (en
Inventor
菲拉·比布尔
迈克尔·申菲尔德
卡门·B·维塔诺夫
布莱恩·R·戈林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google Technology Holdings LLC
Original Assignee
Research in Motion Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN1661554A publication Critical patent/CN1661554A/en
Application granted granted Critical
Publication of CN100424637C publication Critical patent/CN100424637C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A system and method is described for effective management of a User Interface (UI) of a wireless device by implementing direct mapping between the application data domain and UI screens and controls. The device has an intelligent wireless device runtime environment (Device Runtime) that provides a set of basic services to manage the wireless application, including a series of linked screen and data component definitions, and their interactions can simplify the development effort and reduce resource allocation. The data domain for this category of applications is defined using the atomic data component definitions. The communication between a device user interface and data components is defined using atomic screen component definitions. Both screen and data component definitions are described in metadata using a structured definition language such as XML. The relationships between the screen and data component definitions are embedded in the XML definitions in the form of screen/data mappings. Typically, rendered screens for display are derived from some underlying data component and screens controls affected by user events impact the current state (or data representation) of the application Changes to the application domain data are automatically synchronized with the user interface, and user-entered data is automatically reflected in the application domain data. The primary mechanism behind this synchronization is the mapping of screens and data. This mechanism enables creation of dynamic and interactive screens. All changes to the data component can be immediately reflected on the screen and vice versa. This model allows building effective wireless applications based on server-to-device notifications. The data updates asynchronously pushed from the server are instantaneously reflected at the UI screen.

Description

Be used to make up the system and method for wireless applications
Technical field
The application relates generally to the demonstration of wireless applications on the user interface of wireless device.
Background technology
Today, the quantity of employed terminal device continues to increase, as mobile phone, the PDA with wireless communication ability and bidirection pager etc.Operate in software application on these equipment and increased that it is functional.For example, mobile phone can comprise the application program of the weather of retrieving city scope, and perhaps PDA can comprise the application program that allows the user to buy groceries.These software applications utilize the connectivity to network, so that provide useful service in time to the user.But, because the limited resources of some equipment, and transmit the complicacy of mass data to equipment, exploitation remains difficulty and task consuming time at the software application of plurality of devices.
At present, with equipment disposition for by communicating based on the browser of the Internet and/or local application and network service.Browser has and is applicable at multiple different equipment and carries out the advantage of cross-platform operation, but has the shortcoming that request comes the page (screen cut and paste among the HTML) of automatic network service, and it has hindered the continuation that is included in the data in the screen.Local application has the advantage at the special research and development of type of equipment platform, thereby at each run environment constantly, provides the application program of relative optimization.But local application has following shortcoming: non-platform independence, and a plurality of versions of essential exploitation same application domain, and size is relatively large, thus the memory resource of the equipment of giving has caused serious burden.In addition, application developers need be used the experience as programming languages such as Java and C++, so that make up these hard coded native applications, comprises that the hard coded of screen elements and data element is static mutual.Existence is to operating in the needs of the application program on the client device, and it has the environment time of running widely of the dynamic interaction between data utilized and the screen elements, and has the consumption to the minimizing of device resource.
System and method disclosed herein provides the definition of a kind of link screen and data package, to get rid of or to eliminate in the above-mentioned shortcoming at least some.
Summary of the invention
What need is, by reducing the demand of any external coding and the device resource that is utilized by application program when providing being provided, reduces related complexity in the exploitation wireless applications.Described a kind of by realizing that between application data territory and UI screen and control directly mapping comes the system and method for effective management of user's interface (UI).Described equipment has intelligent radio equipment operation environment (equipment operation constantly) constantly, provide Basic Service Set incompatible management wireless applications, comprise the definition of a series of link screens and data package, and it can be simplified development effort alternately and reduce resources allocation.Utilize the atomic data component definition to define at such application's data territory.Utilize the atom screen assembly to define communication between define equipment user interface and the data package.Utilize as structure definition languages such as XML and in metadata, describe screen and data package definition.The form of relation between screen and the data package definition with screen/data map is embedded in the XML definition.Typically, from some lower floor's data packages, obtain the reproduction screen be used to show, and the screen control that is subjected to the customer incident influence can influence the current state (or data representation) of application program.The change of application programs numeric field data is automatically synchronous with user interface, and user input data is reflected in the application program numeric field data automatically.Main mechanism after this is synchronous is the mapping of screen and data.This mechanism can be created dynamically and interactive screen.All changes to the data assembly can be reflected on the screen immediately, vice versa.This model permission is notified to equipment according to server and is created effective wireless applications.To immediately be reflected in the UI screen from the Data Update of server asynchronous push.
According to the present invention, a kind of method of screen elements to show on the user interface of wireless device that is created in the component applications of carrying out on the wireless device according to data object proposed, described application program comprises the data package with at least one data field definition and has the screen assembly of at least one screen elements definition, described assembly defines with structure definition language, it is characterized in that, said method comprising the steps of: select and the corresponding screen assembly of selecting for demonstration of screen elements; Existing at least one mapping in the recognition screen assembly, described mapping is used to specify by the defined screen assembly of identifier of the described mapping of expression and the relation between the data package; Accord with according to mapped identification and to select mapped data assembly by described mapping institute; The data field that obtains with the mapped data assembly defines corresponding data object field value; Definition produces screen elements according to screen elements, so that comprise the data object field value according to the form of defined data field definition in the mapping (enum) data assembly.
According to a further aspect in the invention, a kind of system of screen elements that is created in the component applications of carrying out on the wireless device according to data object on the user interface of wireless device, to show, described component applications comprises the data package with at least one data field definition and has the screen assembly of at least one screen elements definition, described assembly defines with structure definition language, it is characterized in that described system comprises: the device that is used to select and select the corresponding screen assembly of screen elements that is used to show; The device that is used for existing at least one mapping of recognition screen assembly, described mapping are used to specify by the defined screen assembly of identifier of the described mapping of expression and the relation between the data package; Be used for selecting device by described mapping institute mapped data assembly according to described identifier; Be used to obtain the device that defines corresponding data object field value with the data field of mapped data assembly; And be used for according to screen elements definition generation screen elements so that comprise the device of data object field value according to the form of the defined data field definition of mapping (enum) data assembly.
According to a further aspect in the invention, the variation that has proposed the screen elements on the user interface that a kind of basis is presented at wireless device is created in the method for the data object of the component applications of carrying out on the wireless device, described component applications comprises the data package with at least one data field definition and has the screen assembly of at least one screen elements definition, described assembly defines with structure definition language, it is characterized in that, said method comprising the steps of: select and the corresponding screen assembly of described screen elements; Existing at least one mapping in the recognition screen assembly, described mapping is used to specify the relation between screen assembly and the data package; Selection is by described mapping institute mapped data assembly; According to obtaining changing value with the institute corresponding screen elements of mapped data assembly; According to the form of defined data field definition in the mapping (enum) data assembly, described changing value is distributed to the data field value of data object.
Description of drawings
With reference to as an example accompanying drawing only, in the following detailed description, it is more obvious that these and other features will become, wherein,
Fig. 1 is the block scheme of network system;
Fig. 2 is the block scheme of wireless device shown in Figure 1;
Fig. 3 is the block scheme of the intelligent framework of equipment shown in Figure 2;
Fig. 4 is the block scheme of component applications shown in Figure 2;
Fig. 5 shows the typical application packing that is used for example component application program shown in Figure 4 and presides over model;
Fig. 6 shows the exemplary method of realizing component applications shown in Figure 5;
Fig. 7 shows another exemplary method of realizing component applications shown in Figure 5;
Fig. 8 shows at application's data shown in Figure 2 and the mapping between the screen assembly;
Fig. 9 shows the operation at the initial screen demonstration of mapping shown in Figure 8;
Figure 10 show at mapping shown in Figure 8 according to the renewal of customer incident to the data object; And
Figure 11 show at mapping shown in Figure 8 according to the renewal of asynchronous message to the data object.
Embodiment
Network system
With reference to Fig. 1, network system 10 comprises a plurality of terminal devices 100, be used for by as but the wide area network (WAN) 104 that is not limited to the Internet carry out alternately with one or more generic services 106.These equipment 100 can be but be not limited to PDA, pager, cell phone etc.By service 106 generic services that provide can be network service and/or other service, as but be not limited to SQL database, based on CORBA and the RMI/IIOP system of IDL, leave over database, J2EE, SAP RFC and COM/DCOM assembly.In addition, system 10 can also have wireless network 102, is used for wireless device 100 is linked to each other with WAN 104.Should recognize, other equipment and computing machine (not shown) can by WAN 104 with remove other related networks shown in Figure 1 and network service 106 and link to each other.For simply,, select network service 106 according to plan (schema) definition in order to be described below system 10.Yet, should recognize, if desired, can serve this network service 106 of replacing by other.In addition, for simply, after this network 102,104 with system 10 is called network 104.
Referring again to Fig. 1, equipment 100 sends and receives request/corresponding message 105 respectively when communicating with network service 106.Equipment 100 can by use message header information and associated data content-form requests/response messages 105, operate as the networking client of network service 106, for example, ask and receive product price and availability there from online trader.Network service 106 is that the client application 302 (referring to Fig. 2) on the communication facilities 100 interacts so that the example of the system of practicality is provided to the user of communication facilities 100 with it by wireless network 104.
In order to satisfy suitable request/corresponding message 105, network service 106 can by various protocols (as but be not limited to HTTP and assembly API) and apps server 110 communicate, so that on equipment 100, provide at that time, show relevant business logic (method) to client application 302 (referring to Fig. 2).Apps server 110 can also comprise network and serve 106 softwares, thereby network service 106 can be considered to the subclass of apps server 110.The application program 302 of equipment 100 can be used the business logic of apps server 110, is similar to the method relevant with object (or function) of calling.Should recognize, can pass through message 105,, the direct relatively download/upload of client application 302 and apps server 110 be arrived equipment 100 via network 104.It is to be further appreciated that equipment 100 can communicate by network 104 and one or more network services 106 and affiliate application server 110.
Server environment
With reference to Fig. 1, network service 106 provides the informational message 105 used by the client application on the equipment 100 302 (referring to Fig. 2) (synchronously or asynchronously).Alternatively, or in addition, network service 106 can receive and use the informational message 105 that is provided by client application performed on the equipment 100 302, perhaps executes the task with the name of client application performed on the equipment 100 302.Network can be served 106 and be defined as software service, its can realize as utilization be registered in that general discovery in the network service registration is described and integrated (UDDI) in the expressed interface of web services definition language (WSDL), and can communicate by message 105 and client device 100 by being exposed on the network 104 as simple object Access Protocol appropriate protocol such as (SOAP).In some implementations, SOAP is the standard that has defined the XML form of message 105, comprises the XML section of known forms included among the SOAP.SOAP supports that also wherein soap message 105 is as the document styles application program of the symbol (wrapper) that unrolls of the XML document of unrolling.The optional part of another of SOAP has defined HTTP binding (that is, header), and some SOAP realize supporting MSMQ, MQ series, SMTP or TCP/IP transportation protocol.Alternatively, network service 106 can be used other known communication protocols, message 105 forms, and can express interface according to other web services languages except that above-mentioned.
Client environment
With reference to Fig. 2,, and be loaded into the memory module 210 of the device infrastructure 204 of equipment 100 by network 104 transmission assembly application programs 302.Alternatively, can connect or come charging assembly application program 302 by connected in series, USB as short distance radio communication system (not shown) such as IR, 802.11 (x), bluetooth TM.In case be loaded in the equipment 100, then can be by the 206 executive module application programs 302 of the component framework on the equipment 100, it can be converted to local code with component applications 302, and is carried out by the processor in the device infrastructure 204 208.Alternatively, can come interpretation component application program 302 by other software modules on the equipment 100 or operating system.Under any circumstance, in the terminal operating that provided by equipment 100 operating component application program 302 under the environment constantly, thereby described time of running, environment provided the intelligence software framework that is used for management and carries out the set of basic of typical application 302 behaviors (as continuation, message transmission, screen navigation and demonstration etc.).
Referring again to Fig. 1, can the client environment time of running that be provided by equipment 100 be configured, thereby equipment 100 is operated as the networking client of network service 106.Should recognize that the client environment time of running also can make equipment 100 become the client of any other the common plan definition service on the network 104.The client environment time of running of equipment 100 preferably can produce, become client application 302 on its main frame and the actuating equipment 100 (it comprises data 400 and screen 402 component definitions---referring to Fig. 4 and following description).In addition, the specific function of the client environment time of running can include but are not limited to: the figure on the output device of data management, Mediation Device 100 of support, coordinate memory distribution, networking, the I/O operating period to language and provide towards the access of the class of kernel object and support file/storehouse.Realize by equipment 100 the time of running environment example can comprise as but be not limited to the java runtime environment (JRE) at quarter that (CLR) and Sun Microsystems, Inc. propose between common language runtime that Microsoft proposes.
Preferably, the terminal operating of equipment 100 constantly environment is supported the resident following basic function of carrying out version of client application 302 (referring to Fig. 2), for example but be not limited to:
For equipment 100 provides communication capacity,, perhaps send message 105 to any other the common plan definition service that links to each other by network 104 so that send message 105 to network service 106;
On the input equipment of equipment 100, provide the user's data input capability, so that the data division (going to the message of service) of 106 the output message 105 of providing services on the Internet;
Be provided on the output device the response message 105 (input message) of network service 106 or the data representation or the fan-out capability of uncorrelated notice;
Provide data storage service, so that in the memory module 210 (referring to Fig. 2) of equipment 100, keep local client data; And
Provide the execution environment of script, so that coordinate the operation of the application component 400,402 (referring to Fig. 4) of client application 302.
With reference to Fig. 2,4 and 5, client time of running (for example, provide by component framework 206) load the metadata that is included in assembly 400,402,404,406 definition, and on equipment 100, make up the version carried out of application program 302, for example by Application Container 300.Exist but be not limited to the operation models of two kinds of client times of running: based on carrying out and based on the execution of metadata this locality of template.Under situation based on the application program 302 (have data 400, screen 402, message 404 and workflow component 406-and see Fig. 4) of complete definitions component, framework 206 can utilize local code, realization is used to preside over data, message and the screen template 500 of constructing in advance based on the local execution model of template on equipment 100.When loading application programs 302 definition, the client environment that is provided by component framework 206 is with the meta data definition parameter filling template 500 from assembly 400,402,404, and makes up according to native format and can carry out client application 302.The workflow script (for example ECMA script) of workflow component 406 can be converted to local code, (for example perhaps use suitable script interpreter 502, the ECMA script interpreter) carries out local code redirector 504, wherein redirector 504 is by local runtime engine 506 constantly, will be interpreted as operation to local component to calling of script.Utilization is based on the execution of metadata, the environment or assembly 400,402,404,406 definition are remained XML (for example) time of running of component framework 206, and it is resolved when carrying out, and perhaps uses the native representations of XML (for example) node.The term of execution, the local runtime constantly definition of 506 pairs of assemblies of engine 400,402,404,406 is operated, and is not that the local component entity is operated.Should recognize, another kind of execution model will comprise the application program that has at the component definition 400,402 of data and screen, have the method at the more hard coded (morehard-coded) 405 of the residue message of application program 302 and workflow element simultaneously.
Therefore, the local client environment time of running provides interface to the operation associated system of the functional and device infrastructure 204 of equipment 100, processor 208 for client application 302.Preferably, the time of running, environment provided controlled, safe and stable environment on equipment 100, and the executive module application program 302 therein.The time of running, environment provided assembly 400,402 definition (and if using definition 404,406), was exclusively used in the actual web client of each device infrastructure 204 of equipment 100 with establishment.Should recognize, for simply, below describe will be referred to the client environment time of running that provides by component framework 206, only as example.
Communication facilities
Refer again to Fig. 2, equipment 100 be as but be not limited to the equipment of mobile phone, PDA, bidirection pager or dual-mode communication device.Described equipment 100 comprises network connection interface 200, and transceiver for example links to each other with device infrastructure 204 by connecting 218.In the operating period of equipment 100, connecting interface 200 can pass through Radio Link (for example RF, IR etc.) and link to each other as networks 104 such as wireless networks 102, this can communicate with one another equipment 100 and communicates by network 104 and external system (as network service 106), and coordinates client application 302 and serve requests/response messages 105 (see figure 1)s between 106.The data transmission of the requests/response messages 105 between network 104 support equipments and the external system, described external system links to each other with network 104.The voice communication of the call between the equipment of network 104 all right support equipments 100 and network 104 outsides.Wireless network 102 can use wireless data transmission protocols, for example but be not limited to DataTAC, GPRS or CDMA.
Refer again to Fig. 2, equipment 100 also has by connecting 222 user interfaces 202 that link to each other with device infrastructure 204 so that carry out alternately with user's (not shown).User interface 202 comprises one or more user input devices, as but be not limited to qwerty keyboard, keypad, tracking wheel, stylus, mouse, microphone and user's output device (for example lcd screen display) and/or loudspeaker.If screen then can also be with described display as the user input device by device infrastructure 204 controls to touch-sensitive.Adopt user interface 202 to come requests/response messages 105 on coherent system 10 (see figure 1)s by the user of equipment 100, as the client application 302 by framework 206 is adopted, will be further described below.
Refer again to Fig. 2, by the operation of device infrastructure 204 starting outfits 100.Described device infrastructure 204 comprises computer processor 208 and related storage module 210.Computer processor 208 is by carrying out the dependent instruction that is provided by operating system and the client application 302 that is arranged in memory module 210, the operation of network interface 200, user interface 202 and the framework 206 of control communication facilities 100.In addition, should recognize that device infrastructure 204 can comprise the computer-readable recording medium 212 that links to each other with processor 208, be used for providing the client application 302 of instruction and/or loading/updated stored module 210 to processor.Described computer-readable recording medium 212 can comprise hardware and/or software, only as example, for example disk, tape, can be optically read medium (for example CD/DVD ROM) and storage card.Under each situation, computer-readable medium 212 can adopt the form of mini disk, floppy disk, magnetic tape cassette, hard disk drive, solid-state memory card or RAM, is arranged in the memory module 210.Should be noted that above listed computer-readable medium 212 can or be used singly or in combination.
Mapping relations between the assembly
In fact, typically can have overlapping content by the developer to the expression of assembly 400,402, and the behavior of each assembly 400,402 of application program 302 is distinct.Therefore, usually produce content true of user interface 202 (see figure 2)s and according to the similarity between the expression of these assemblies 400,402 by discerning usually by following lower floor data element, be convenient to specific mapping 804 (see figure 8)s are incorporated in the expression of screen assembly 402, will be further described below.With reference to figure 4 and 8, these mappings 804 come down to the expression (screen elements definition) of the screen elements 802 relevant with screen assembly 402 and the shortcut that how screen assembly 402 moved in the time of running during executive utility 302.Mapping 804 is the relations of statement between the screen elements definition of screen assembly 402 and data package 400 definition.About the expression of screen assembly 402, use mapping 804 to reduce to describe the required metadata amount of assembly 402.Therefore, use mapping 804 to have a direct impact to describing application program 302 required " sign indicating number " measurers.How to move in the time of running about assembly 402, mapping 804 has been specified and how has been resolved by screen elements 802 statements and influence the data element (being described by data package 400) that has linked.In this, specify mapping 804 can reduce the developer provides additional specific screen transaction code in application program 302 needs.
With reference to figure 8, the screen representation (see figure 4) of screen assembly 402 is made of screen elements 802, for example but be not limited on user interface 202 to show and the UI relevant with the data field example of respective data object 800 controls.Therefore, with 802 bindings of each screen elements and mapping (804) to each data object 800.The user of application program 302 can select screen elements 802 (see figure 2)s and propagate into the data object 800 that is mapped on the screen elements 802 on the user interface 202.Similarly, all modifications (being driven by application program 302 logical ORs input server message 105) to data object 800 can be reflected in the screen elements 802 that is mapped on these data objects 800.Monitor to the tracking of customer incident with to any direct modification of data object 800 by map manager 312, as described below.Described mapping 804 is used to identify and revises by mapping 804 data objects that influenced 800.The screen elements 802 of corresponding screen assembly 402 and the data object 800 of its data package that links 400 are isolated in mapping 804.
Should recognize that screen assembly 402 or data package 400 definition comprise mapping 804, have defined relation or each data field (or data field group) of data object 800 and the relation between the screen elements 802 between data object 800 and the screen elements 802.Should recognize, data object 800 can be delivered to user interface 202, as parameter.In this case, will from the parameter of transmitting, extract the data field value that is mapped to the data object 800 on the screen elements 802.For example, defined editor's control (screen elements 802) in the definition of the screen field of screen assembly 402 can be mapped to the data field definition (promptly shining upon 804 one to one) of the data package 400 of link, the selection control (screen elements 802) that defines in perhaps can the screen field with screen assembly 402 is mapped in the particular data field of data package 400 set (being one-to-many mapping 804).
With reference to figure 4 and 8, as described, except other attributes, the screen assembly metadata can be mapped to the data field definition of the data package 400 of link.For example, single screen elements 802 can be mapped to:
One of data field definition of data package 400, perhaps
By main key word (or mapped identification symbol) to all data fields definition of data assembly 400-in this case, will shine upon 804 and resolve to main key field.
Selection/list screen element 802 can be mapped to:
The set of all examples of data package 400, perhaps
Data field as the data package of gathering 400 one of defines
Please refer to following example component application program 302, be mapped to the example of the editing screen element 802 " ebName " on " name " field of certain data objects 800 of " User " data package 400 and be mapped to the example of the selection screen elements 802 " cbName " on " name " field of all data objects 800 of " User " data package 400.
Device framework
Refer again to Fig. 2, the framework of equipment 100 206 links to each other with device infrastructure 204 by connecting 220.The client's environmental unit time of running 100 is provided by framework 206, and preferably, can be according to meta data definition, produce, preside over and carry out client application 302 (comprising component definition-as follows).Equipment operation constantly (Device Runtime) can be considered to provide set of basic 304 with management with the intelligence software framework 206 of typical application 302 behaviors (for example but be not limited to continue, provide, message transmission, screen navigation and user interface/screen service) is provided.Therefore, framework 206 provides the native client environment time of running for client application 302, and is the interface with equipment 100 functions of processor 208, and is the relevant operation system of device infrastructure 204.Framework 206 by preferably on equipment 100, provide controlled, safe and stable environment provide the time of running environment, wherein component applications 302 is carried out in as Application Container or execution environment 300.
With reference to figure 3, framework 206 can be used for carrying out client application 302 (as the network service client terminal application program) and by the requests/response messages 105 on the network 104, can supporting the visit (see figure 1) to network service 106 and related application server 110 in the environment constantly at terminal operating.Component applications 302 comprises the software application of being carried out by framework 206.Each time when executive utility 302, framework 206 be application program 302 each assembly 400,402 (and if use, then define 404,406-sees Fig. 4) create execution environment 300.The assembly 400,402 of execution environment 300 loading application programs 302 (, then defining 404,406) if use, and can create the local code of carrying out by the processor in the device infrastructure 204 208.Therefore, framework 206 provides main frame execution environment 300, and the definition that is used for regulation assembly 400,402 (if use, definition 404,406) is exclusively used in real network client into each relevant device infrastructure 204 of communication facilities 100 with establishment.Only as example, execution environment 300 can be carried out and comes given application program 302 based on the execution model of metadata according to aforesaid this locality based on template.Described execution environment 300 can be called as the smart host container of client application 302, and can be responsible for analyzing the numeric representation (data object 800) in screen value (screen elements 802 is seen Fig. 8) and the updated stored module 210.
Refer again to Fig. 3, be not included as assembly 400,402 (if use in specific service, definition 404,406-sees Fig. 4) or be received as under the situation as the independent assembly (not shown) of the part of component applications 302, framework 206 also provides framework services 304 (set of standard generic services) to client application 302.Application program 302 has and the communicating by letter of execution environment 300, if desired, can coordinate with framework services 304 communicate by letter 216.The framework services 304 of framework 206 is by 220 coming coordinating communication with being connected of device infrastructure 204.Therefore, provide visit by framework 206 and related service 304 to client application 302 to device infrastructure 204, user interface 202 and network interface 200.Should recognize that a part of (see figure 2) of the operating system of device infrastructure 204 can be represented the service/manager of execution environment 300 and selected framework services 304.
With reference to figure 3 and 8, framework services 304 comprise as but be not limited to contact manager 306, expression manager 308, data management system 310, and can comprise access services, service and utility services are provided.The access services (not shown) provides application program 302 visits to other software applications that exist on the communication facilities 100.Providing of the service (not shown) software application 302 of management on communication facilities 100 is provided.Application program provides and can comprise request and receive new and the application program of upgrading 302; Configuration is used to visit the application program 302 of the service that can pass through network 104 visits; Revise the configuration of application program 302 and service; And deletion application program 302 and service.The utility services (not shown) is used to realize various common tasks, for example carries out in the data manipulation of going here and there in the conversion of various forms.
With reference to figure 3,8 and 9, the connectivity between contact manager 306 management application programs 302 and the external system 10 is for example represented message 105 and the related data of application program 302 at network service 106 (by contact manager 306) transmission/reception.As described below, can use contact manager 306 to realize a string mapping 804.When on the output device of user interface 202, exporting at that time the expression (see figure 2) of expression manager 308 management application programs 302.Data management system 310 allow component applications 302 with data storage in the memory module 210 of device infrastructure 204 (see figure 2), should recognize that manager 310 can be used for by shining upon 804 modification/establishments of coordinating the data instance of the data package 400 that links with screen assembly 402.Framework 206 also has map manager 312, is used to follow the tracks of each relation (mapping) 804 between each data object 800 and the screen elements 802.Mapping is stored in the mapping table that links to each other with map manager 312.In case on user interface 202 initialization screen elements 802, represent that then manager 308 uses map manager 312 to keep the screen elements 802 that is shown and the dynamic integrality between the respective data object 800.When revising one of screen elements 802 by the user by user interface 202, map manager 312 is responsible for changing by data management system 310 and is propagated into proper data object 800 in the storer 210.During one of data object 800 in revising storer 210, map manager 312 is checked object 800 current whether being presented on the user interface 202, if like this, then be responsible for upgrading corresponding screen elements 802 by expression manager 308, by consulting the corresponding mapping 804 in this table, this variation is reflected in the data object 800.Should recognize that the framework services 304 of communication facilities 100 provides function to component applications 302, described application program 302 comprises above-mentioned manager.
Therefore, framework 206 allows to show interactive application 302 on user interface 202, and typically, expression is from the information in application program 302 territories and allow the user to import and revise related data object 800 and screen elements 802.Described framework 206 provides a kind of system that user interface 202 is effectively managed by realize directly mapping 804 between application data territory (data object 800) and UI screen elements 802 (for example UI control).The change of application programs numeric field data object 800 is dynamically synchronous with user interface 202, and user input data automatically is reflected in the Application Domain data object 800.Main mechanism after this is synchronous is the mapping 804 between paired screen elements 802 and the data object 800.Described mapped system relates to the wireless applications 302 of utilization with the meta data definition of expressing as structure languages such as XML.804 mechanism of shining upon can be created on user interface 202 dynamically and interactive screen.Institute to data object 800 can be changed synchronously is reflected on the user interface, and vice versa.Mapping 804 realization is convenient to notify to equipment according to server and is constructed wireless applications 302.UI screen elements 802 by link will synchronously be reflected on the user interface 202 from the data object 800 of server asynchronous push.These mappings 800 can be suitable for various wireless applications 302, and for example stock exchange, new renewal, warning, weather upgrade.
Application component
With reference to figure 2, carry out client application 302 in the environment constantly at the terminal operating of framework 206, and this application program support is to the visit (see figure 1) by the service 106 network service operations that provide.WSDL and soap protocol definition clearly comprise the message pattern.In the WSDL network service definition, utilize the notion of message and data division to define these operations, described message and data division are used for network service client terminal application program 302 is defined as the set (see figure 4) of related data 400 and message 404 assemblies.
With reference to figure 4, the block scheme of component applications 302 comprises data package 400, expression assembly 402.Residue message/workflow the part 405 of application program 302 can be provided by message components 404, described message components 404 by 214 coordinating with communicating by letter of execution environment 300, perhaps can it be set to the hard coded element 405 (as by with defined with program developer) of application program 302 by workflow component 406.Can the utilization structure definitional language assembly 400,404 (and if having used 404) be configured to series of metadata records, constitute by a plurality of predetermined-elements of specified attribute of expression resource, thereby each element can have one or more values.Typically, each metadata schema has the feature of definition, as but be not limited to: the implication of the element of limited quantity, the title of each element and each element.The example meta data plan comprise as but be not limited to Dublin kernel (DC), Great Britain and America and edit and record rule (AACR2), government information finger URL service (GILS), coding filing and describe (EAD), IMS whole world learned academy (IMS) and Government Of Australia finger URL service (AGLS).The coding grammer allow by device infrastructure 204 (see figure 2)s come processing components 400,402 (and if use, 404) metadata, and code scheme comprise as but be not limited to XML, HTML, XHTML, XSML, RDF, machine readable is edited and recorded (MARC) and multipurpose internet mail expansion (MIME).
Refer again to Fig. 4 and 8, data package 400 has defined the data object 800 that is used by component applications 302, comprises the application data of representing with as local code or XML.The example of the data object 800 that data package 400 can be described is order, user and financial transaction.Data package 400 has been described data of description object 800 to be needed any information and what form to express this information with.For example, data package 400 can define as but to be not limited to form be that bulleted list, the time with establishment order of date time format, the form of string is the order status of string and has another the user who orders of the corresponding to form of definition with data package 400 for the only identifier by at the order order, the form that constitute of numeral.Because the rules of arrangement (choreography rule) according to network service 106 is delivered to message 105 with data division (element) from message 105 usually, therefore preferably, has the continuation of data object 800.Can serve 106 layout definition (if available) according to network and dynamically produce data object 800, perhaps come definition of data object 800 according to the definition and/or the message relevant information of complicated type by application designer.Should recognize, can screen assembly 402 be mapped to data package 400 (see figure 9)s by shining upon 804, as described below.
In addition, described data package 400 can by as but be not limited to a string data field definition that HTML, XHTML and XML and other structure definition languages write and constitute, wherein data object 800 (see figure 9)s are the data instances according to the data field definition.Should be noted that the data object definition provides the definition of structure He its corresponding data type of data field, thereby data object 800 is examples of certain data objects definition.Data field comprises that data object definition and each data field have the related data type.In addition, the complex data field comprises the structure of subdata field.The data package 400 that the definition of data object 800 is included in application program 302 in the works.These data definitions are provided for defining the data model by application program 302 employed data objects 800.Therefore, data package 400 is and set of a plurality of data field definition combining, the form of definition respective data word segment value when with box lunch the example being turned to data object 800.400 definition of described data package can maybe can be selected via main or composite key and need not key word it is defined.These key words can use to be provided as the only link between right mapping (enum) data 400 and screen 402 assemblies with mapping 804.
Refer again to Fig. 4, expression/screen assembly 402 has defined outward appearance and the behavior by the shown application program 302 of user interface 202.Carry out when mutual when the user uses user interface 202 and component applications 302, described expression assembly 402 can be specified GUI screen and and control and the action that will carry out.For example, when the user to typewrite input or when pressing the button of edit box, the action that expression assembly 402 can define screen, label, edit box, button and menu and will adopt.Most of network service consumers use network service operations results' visual representation, therefore provide on can its equipment 100 of explicit user interface screen the time of running environment.
The example application program 302 that will illustrate to screen assembly 402 below and be used to accept transmit the screen assembly 402 transmission parameters of parameter.Consider that this application program has:
Data package 400 " User ";
List the screen assembly 402 " srcALLUSERs " of the choice box of all user names, had the button/menu item that shows the selected user details;
Demonstration is as the screen assembly 402 " srcUSERInfo " of user's details of parameter transmission.
Example XML data package 400
The data package 400 " User " that can use following metadata to define to have main key field " name ":
<cData?name=″User″pkey=″name″><dfield?name=″name″type=″String″/>
<dfield?name=″street″type=″String″/>
<dfield?name=″city″type=″String″/>
<dfield?name=″postal″type=″String″/>
<dfield?name=″phone″type=″String″/>
</cData>
Example XML represents assembly 402
" srcALLUSERs " screen cut and paste is mapped to the selection control " cbNames " of " title " field of all examples of " user " data package 400.The screen meta data definition comprises button or menu item, has with the selected parameter " user " that is delivered to user interface 202 as parameter to come display screen " srcUSERInfo ".
<cScr?name=″scrAllUsers″>
<choice?name=″cbNames″mapping=″User[].name″/>
<action?screen=″scrUserInfo″param=″cbNames.selected″/>
</cScr>
Screen " srcUSERInfo " has defined the editor's control " ebName " on " name " field of the particular instance that is mapped to " User " data package 400 that transmits as parameter:
<cScr?name=″scrUserInfo″param=″User″>
<edit?name=″ebName″mapping=″User.name″/>
</cScr>
Refer again to Fig. 4, can the residue message of application program 302 and other workflow parts 105 usually be set by 302 yuan of hard coded application programs, and/or can it be set to the other assembly 404,406 described respectively with structure definition language and code/script.Under the situation of using atom message components (atomic message component) 404, these have defined by component applications 302 and have made the form that is used for the message 105 that communicates as external systems such as network services 106, and comprise the message data of representing with as local code or XML.For example, one of message components 404 can describe as but be not limited to order the message of the order of the only identifier that comprises order, the state and the note relevant of order with order.Can represent (with being mapped to) WSDL message with message components 404 definition that structure definition language is write onlyly, and can dynamically produce in the time of running.Therefore, according to the standard network service metadata of the definitional language that is used to express network service interface, as but be not limited to WSDL and BPEL, realize dynamically producing at the component definition and the related data content of client application message 105.Definition web service messages 105 in operating environment, and defined correlativity between the message components in the definition of component applications 302 404.Can use predetermined message parameter and/or realize this correlativity, as following further definition by independent workflow component 406.
Refer again to Fig. 4, under the situation of the atom workflow component 406 that uses component applications 302, these have defined processing that occurs or the action that will carry out when message 105 arrives (see figure 1) from system 10 in the time will carrying out action (for example, above-mentioned action by 402 appointments of expression assembly).Can define expression workflow and message 105 processing by workflow component 406.With workflow component 406 with programming language or the script writing strings of commands, as but be not limited to the ECMA script, and can be compiled as local code and carry out, as mentioned above by execution environment 300.The example of workflow component 406 can be given data assignment, function screen or be sent message 105.Workflow component 406 is supported the correlativity between the message 105 and has been defined application flow, as one group of rule of operation on other assemblies 400,402,404.To define many workflow components at the application program 302 that provides.
Usually, ECMA (European computing machine make NAB National Association 0f Broadcasters) script is the script of standard, and wherein script is called as by another program but not the instruction sequence that computer processor is explained or carried out.Other examples of some of script are Perl, Rexx, VBScript, JavaScript and Tcl/Tk.Usually, these scripts are indicative language, are used to operate, customize and make the facility robotization of existing system, and for example equipment 100.In such system, useful function becomes available by user interface 202 (see figure 2)s, and script is that function is exposed to programme controlled mechanism.According to this mode, equipment 100 is used to provide the object of finishing the script ability and the main frame environment time of running of facility.
Exemplary components 404,406 based on the application program 302 of assembly can be:
Example XML message components 404
<msg?name=“ordConfirmation″type=”response”
action=“mhConfirmation″>
<part?name=“orderId″type=″String“/>
<part?name=“status″type=″String“/>
</msg>
Example ECMAScript workflow component 406
<actions>
<function?name=”mhConfirmation”>
key=ordConfirmation.orderId;
order=Order.get(key);
order.orderStatus=ordConfirmation.status;
scrConfirmation.display(order);
</function>
</actions>
Use XML or derivation come expression data 400, message 404 and represent 402 assemblies and use the workflow component 406 of ECMA script or its subclass can allow application developers to extract network service client terminal from any specific platform or environment, and realize the application program of " exploitation once moves Anywhere " in theory.How following example can utilize structure definition language (for example but be not limited to XML) and platform-neutral script/programming language (for example but be not limited to the ECMA script) if showing, definitions component is expressed network service client terminal application program 302.
In addition,,, can see that message components 404 can the relaying desired data, so that input and output message 105 as above given with reference to figure 4.The storage of the data in memory module 210 (see figure 2)s of corresponding data assembly 400 Mediation Devices 100 is so that represented on user interface 202 (see figure 2)s subsequently by expression assembly 402.Workflow component 406 can coordination data 400, the data transmission between the expression 402, message 404 assemblies.The client can directly store and upgrade atomic data object 800 time of running.
Example basic operation based on the Application models of assembly
Should be noted that with reference to following Fig. 9,10 and 11 and describe the operation that describes processing mapping 804 in detail.
With reference to figure 1,3 and 6, for example, operation 900 shows when equipment 100 receives the response message 105 that comprises message data (902), and suitably workflow component 406 is explained the data content (904) of message 105 according to suitable message components 404.Then, workflow 406 data streams (906) also are inserted into corresponding data assembly 400 (910) with data, so that be stored in subsequently in memory module 210 (see figure 2)s (912).In addition, if desired, workflow component 406 also is inserted into data suitable expression assembly 402 (908), so that show (914) subsequently on user interface 202 (see figure 2)s.
With reference to figure 1,3 and 7, operation 1000 show at as press the button or the data input 1002 of the action of choice menus item, the user carries out these actions (1003) by user interface 202 on user interface elements.Relevant workflow assembly 406 is explained input data (1004) and is created the data entity (1006) that is defined by suitable data package 400 according to suitable expression assembly 404.Then, described workflow component 406 is filled customer-furnished input data (1010) to data package 400, so that be stored in subsequently in memory module 210 (see figure 2)s (1012).In addition, workflow component 406 also will be imported data and be inserted in the suitable message components 404 (1008), send to network service (1014) in the message 105 so that will import data subsequently as data entity, as defined by message components 404.
In aforesaid operations, should recognize that if be included as the hard coded part 405 of application program 302, then the operation of workflow 406 and message 404 assemblies will correspondingly be other operations.
Predetermined and active screen produces
Wireless applications 302 can have the predetermined set of screen elements 802 and data object 800, in the application programming stage, and the relation (mapping 800) in the Field Definition of data package 400 and screen assembly 404 between these set of identification.This model can be called as predetermined screen and data relationship model, expresses with metadata in component field definition to screen elements 802 that the user represents and the mapping 804 between the data object 800 thereby can use as structure languages such as XML.
Can also dynamically produce the screen of user interface 202 according to the structure of the data object 800 relevant with screen elements 802.In some cases, can not predict the form (for example returning network service 106 operations of arbitrary XML) of the data stream that receives as input by message 105 (see figure 1)s in advance from server (network service 106).Under the situation of the data stream of representing with architecture to receive (for example XML), equipment 100 can be used the interpretative rule of definition by framework 206, screen format (for example UI control, layout etc.) is carried out intelligent predicting, so that the data object 800 that expression is represented by data stream.This can realize in the following manner: the XML in the manipulation of data stream (for example) node is to make up corresponding data sets part 400, then, corresponding data sets part 400 is explained with by distributing corresponding screen elements 802 by the framework 206 best bit-mapped on-screen assemblies of determining 402 by described map manager 312 (see figure 8)s, thereby is handled the data content of the data stream after the conversion.At exploitation wireless applications 302 be used for the data stream based on plan is converted between the even date of the component definition form of better being understood by the developer of map manager 312 and transformation rule, the plan of XML content will be scheduled to.This transformation rule will and be designed for the most common XML that runs into of conversion (for example) structured data stream content as the part of map manager 312.And the user can have the chance of upgrading the UI field and revise data before it having been stored into equipment 100 or having sent it back server.
Following example shows the arbitrary XML data stream segment of XML plan:
<dataNode1?attr1=’val1’attr2=’val2’>
<subDataNode1>abcdefg</subDataNode1>
<subDataNode2>222</subDataNode2>
<subDataNode3>333</subDataNode3>
</dataNode1>
<dataNode1?attr1=’val1’attr2=’val2’>
<subDataNode1>hijklmnop</subDataNode1>
<subDataNode2>555</subDataNode2>
<subDataNode3>666</subDataNode3>
</dataNode1>
Map manager 312 use comprise the data field definition, by the plan definition that application developer provided,
<dataEntity?name=’dataNode1’>
<dfield?name=’subDataNode1’type=’String’/>
<dfield?name=’subDataNode2’type=’int’/>
<dfield?name=’subDataNode3’type=’int’/>
</dataEntity>
And dynamically use transformation rule so that the XML data stream the acceptable form of application program (according to the plan that provides) is provided and produces suitable XML data object 800:
<dataEntity?name=’dataNode1’key=’0’>
<dfield?name=’subDataNode1’>abcdefg</>
<dfield?name=’subDataNode2’>222</>
</dataEntity>
<dataEntity?name=’dataNode1’key=’1’>
<dfield?name=’subDataNode1’>hijklmnop</>
<dfield?name=’subDataNode2’type=’int’>555</>
</dataEntity>
The expression of data object on user interface
When obtaining the screen of user interface 202, need be to resolving for bit-mapped on-screen element 802 shown data objects 800.The different options of certain data objects 800 that parsing will be used for initial value is as follows:
Initialization based on screen parameter
Typically, the data object 800 of data package 400 of value that will have bit-mapped on-screen element 802 is delivered to the screen of user interface 202 as parameter.In above given exemplary screen assembly 404, screen " srcUSERInfo " receives user's data object 800, as described parameter.Screen elements 802 on this screen in the data field definition that is mapped to user data assembly 400 will show from the data value in this parameter.
The initial value of Xie Xiing not
If at screen cut and paste shine upon 804 but also do not resolve the primary data object 800 of related data assembly 400, then will not show primary data value at the screen elements 802 that shines upon.An example will be that the screen at new user's data value is imported in definition.Initial user data package 400 will be also uncorrelated.After the user will newly be worth the data field that is input to screen elements 802, use mapping definition to create the new data-objects 800 of this data package 400, as following will be at user data update described.
The tabulation of all data objects
For the selection control/list type of screen elements 802, mapping 804 can be specified the data object 800 that will use all establishments, shown in above given exemplary screen assembly 404.
Screen representation
With reference to figure 3,8 and 9, this scene 850 has been described when drawing new screen on user interface 202 at the performed step of screen elements 802.In step 852, described map manager 312 detects the screen elements 802 that is mapped on data package 400 fields.In step 854, map manager 312 checks whether the data object 800 of the type is affixed on the screen-promptly as the parameter transmission.If like this, then map manager is delivered to expression manager 308 so that show it on screen in the data field value of step 858 place retrieve data object 800 and with it.If not so, then in step 856, on screen 202, show default value (for example screen blank, numeral 0 etc.) at this field type.
Control to the data renewal
With reference to figure 3 and 8, according to mapping 804 metadata, the value that the user is imported is reflected in the field value of the related data object 800 in the storer 210.
Described processing can relate to following function:
Input validation;
Data creation;
Data Update.
Input validation
The checking of user input data can be automatically based on data cmp (for example telephone number).
Data creation
According to input value,, then can create new data-objects 800 if run into the new data key value.In above given sample data assembly 400,, then create new user data object 800 if import previous undefined title.
Data Update
Result as the input of the user on user interface 202 can upgrade the field value at the data object 800 of available data assembly 400.
Upgrade operation
Dual mode more new model can be operated according to following dual mode:
Automatically submit to
When frameing out, the user submits data to.
The translative mode of management
Mapping specifies menu action (screen elements 802) with deal with data.For example, for many order screen, in the end " submission " menu item on the screen will upgrade/create result data object 800.Another menu item (for example " cancellation ") may cause importing abandoning of data.
With reference to figure 3,8 and 10, following scene 870 has been described the user input data on the user interface 202 (customer incident) has been mapped to flow process on the data object 800.In step 872, when the user on screen elements 802, import/more during new data, UI manager 308 is delivered to map manager 312 with described numerical value.In step 874, if this is the screen elements 802 of mapping, map manager 312 is resolved suitable data package 400 and requested data object 800 from data management system 310.In step 876, data management system 312 checking is mated with data package 400 field types that this screen elements 802 is mapped on it at the numerical value of screen elements 802 inputs.In step 878, data management system 310 is kept at the data value of revising in the temporary storage, and does not submit to-" dirty (dirty) " data.Data management system 310 is also resolved the renewal that this is an available data object 800 or the establishment of new data-objects 800.In step 880, customer incident is defined as submitted (option A) or is ended (option B).Definite for what submit to: option A: submit to,
1) user selects to be mapped to button or the menu item of submitting in the action (screen elements 802);
2) UI manager 308 is notified this action to map manager 312;
3) map manager 312 request msg managers 310 are submitted to and are changed;
4) data management system 310 is submitted this variation to and data object 800 is stored in the storer 210.
Definite for what end: option B: rollback,
1) user by selecting is not mapped to button or the menu item (screen elements 802) of submitting to action to be and frames out;
2) UI manager 308 is notified this action to map manager 312;
3) map manager 312 request msg managers 310 rollbacks should change;
4) data management system 312 abandons that this variation-this can represent: if created new mapping as screen assembly 402 to the result of data package 400 mappings 804, then only abandon the variation of each field or delete whole data object 800.
The control data updated
If equipment 100 can receive Data Update asynchronously from external source (for example network service 106), then will cause utilizing the screen-refresh of fresh information to the change of the data value relevant with screen elements 802.With reference to figure 3,8 and 11, when receiving message 105 from server 106 (952), message manager 312 determines whether message 105 are mapped on the data package 400 of the current executive utility 302 in the framework 206 (954).In this case, and then carry out following further step: in step 956, device framework 206 receives the notice relevant with data variation from server 106; In step 958,310 pairs of data objects of message manager 306 notification data managers 800 are carried out any relevant Data Update; In step 960, message manager 306 is also notified this data variation to map manager 312; In step 962, utilize mapping 804 metadata, whether map manager 312 verification msgs change relevant with current screen; In step 964, if variation is relevant with the information of current demonstration, then map manager 312 is asked UI managers 308 clear screens; And, refresh the data object 800 of this screen with display update in step 966.Otherwise in step 968, message 105 can not influence the currency of the screen elements 802 that shows on user interface 202.
Although disclose at one or more ultimate systems and method, many variants are apparent to one skilled in the art, and such variant is in the application's scope.For example, although the subclass of XML and ECMA script has been provided in the example that is provided, can also use other language and language variant to come definitions component application program 302.In addition, should recognize,, the definition of data field can be included in screen assembly 402 (see figure 4)s as a kind of selection of above-mentioned mapping 804.Therefore, the generation of screen elements 802 will define based on the data field that is included in screen assembly 402 definition, and data package 400 can be mapped on the corresponding screen assembly 402 with included data field definition (804).Therefore, the generation of data object 800 will depend on the data field definition that is comprised in the bit-mapped on-screen assembly 402.

Claims (35)

1. the method for screen elements that is created in the component applications of carrying out on the wireless device according to data object on the user interface of wireless device, to show, described application program comprises the data package with at least one data field definition and has the screen assembly of at least one screen elements definition, described assembly defines with structure definition language, it is characterized in that, said method comprising the steps of:
Select and the corresponding screen assembly of selecting for demonstration of screen elements;
Existing at least one mapping in the recognition screen assembly, described mapping is used to specify by the defined screen assembly of identifier of the described mapping of expression and the relation between the data package;
Accord with according to mapped identification and to select mapped data assembly by described mapping institute;
The data field that obtains with the mapped data assembly defines corresponding data object field value;
Definition produces screen elements according to screen elements, so that comprise the data object field value according to the form of defined data field definition in the mapping (enum) data assembly.
2. method according to claim 1 is characterized in that a plurality of data field definition of shared data assembly between screen assembly represented by mapping and data package.
3. method according to claim 2, the corresponding step that links during the screen elements that it is characterized in that also comprising the screen assembly that a plurality of data fields definition and identifier is represented defines.
4. method according to claim 2 is characterized in that also comprising the step of the customer incident that detects the user interface relevant with screen elements.
5. method according to claim 4 is characterized in that also comprising the mapping steps in the corresponding screen assembly of link data assembly of identification and affected screen elements.
6. method according to claim 5 is characterized in that also comprising that the data field that utilizes the link data assembly defines the step of the data object in the updated stored device.
7. method according to claim 5 is characterized in that also comprising that the data field that utilizes the link data assembly is defined in the step of creating new data-objects in the storer.
8. method according to claim 2 is characterized in that obtaining described data object field value by described data object field value is delivered to user interface as parameter.
9. method according to claim 2 is characterized in that by first identifier definition of first screen elements being mapped to first data package; And second screen elements definition is mapped to second data package different with first data package by second identifier.
10. method according to claim 2, definition is mapped on the identical data package with second screen elements with the definition of first screen elements to it is characterized in that utilizing first identifier.
11. method according to claim 2 is characterized in that described structure definition language is based on XML's.
12. method according to claim 2 is characterized in that described identifier is simple main key word.
13. method according to claim 2 is characterized in that described identifier is a composite key.
14. method according to claim 2 is characterized in that also comprising by described equipment receiving the step of asynchronous communication message by the network that links to each other with described equipment that described message comprises the message data object.
15. method according to claim 2, it is characterized in that also comprising check with described equipment on the application's data assembly that provides corresponding, at the step of the message of mapping.
16. method according to claim 15 is characterized in that also comprising according to described message and upgrades data package, described renewal is reflected in the step in the screen elements of described data package link then.
17. method according to claim 15 is characterized in that also comprising that the data field that utilizes the link data assembly is defined in the step of creating the message data object in the storer.
18. the system of screen elements that is created in the component applications of carrying out on the wireless device according to data object on the user interface of wireless device, to show, described component applications comprises the data package with at least one data field definition and has the screen assembly of at least one screen elements definition, described assembly defines with structure definition language, it is characterized in that described system comprises:
Be used to select and select the device of the corresponding screen assembly of screen elements that is used to show;
The device that is used for existing at least one mapping of recognition screen assembly, described mapping are used to specify by the defined screen assembly of identifier of the described mapping of expression and the relation between the data package;
Be used for selecting device by described mapping institute mapped data assembly according to described identifier;
Be used to obtain the device that defines corresponding data object field value with the data field of mapped data assembly; And
Be used for according to screen elements definition generation screen elements so that comprise the device of data object field value according to the form of the defined data field definition of mapping (enum) data assembly.
19. system according to claim 18 is characterized in that a plurality of data field definition of shared data assembly between screen assembly represented by mapping and data package.
20. system according to claim 19 is characterized in that the corresponding screen elements definition of the screen assembly that a plurality of data field definition and identifier is represented is associated.
21. system according to claim 19 is characterized in that also comprising the device of the customer incident that is used to detect the user interface relevant with screen elements.
22. system according to claim 21 is characterized in that also comprising the device that is used for discerning with the mapping of the corresponding screen assembly of link data assembly of affected screen elements.
23. system according to claim 22 is characterized in that also comprising that the data field that is used for utilizing the link data assembly defines the device of the data object of updated stored device.
24. system according to claim 22 is characterized in that also comprising that configuration is used for utilizing the data field of link data assembly to be defined in the device that storer is created new data-objects.
25. system according to claim 19 is characterized in that obtaining described data object field value by described data object field value is delivered to user interface as parameter.
26. system according to claim 19 is characterized in that by first identifier definition of first screen elements being mapped to first data package; And second screen elements definition is mapped to second data package different with first data package by second identifier.
27. system according to claim 19, definition is mapped on the identical data package with second screen elements with the definition of first screen elements to it is characterized in that utilizing first identifier.
28. system according to claim 19 is characterized in that described structure definition language is based on XML's.
29. system according to claim 19 is characterized in that described identifier is simple main key word.
30. system according to claim 19 is characterized in that described identifier is a composite key.
31. system according to claim 19 is characterized in that also comprising being used for receiving the device of asynchronous communication message by described equipment by the network that links to each other with described equipment that described message comprises the message data object.
32. system according to claim 19, it is characterized in that also comprising be used to check with described equipment on the application's data assembly that provides corresponding, at the device of the message of mapping.
33. system according to claim 32 is characterized in that also comprising being used for upgrading data package, described renewal being reflected in device with the screen elements of described data package link then according to described message.
34. system according to claim 32 is characterized in that also comprising being used for utilizing the data field of link data assembly to be defined in the device that storer is created the message data object.
35. a basis is presented at the method that the variation of the screen elements on the user interface of wireless device is created in the data object of the component applications of carrying out on the wireless device, described component applications comprises the data package with at least one data field definition and has the screen assembly of at least one screen elements definition, described assembly defines with structure definition language, it is characterized in that, said method comprising the steps of:
Select and the corresponding screen assembly of described screen elements;
Existing at least one mapping in the recognition screen assembly, described mapping is used to specify the relation between screen assembly and the data package;
Selection is by described mapping institute mapped data assembly;
According to obtaining changing value with the institute corresponding screen elements of mapped data assembly;
According to the form of defined data field definition in the mapping (enum) data assembly, described changing value is distributed to the data field value of data object.
CNB2005100524493A 2004-02-27 2005-02-28 System and method for building wireless applications Active CN100424637C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04251160.0 2004-02-27
EP04251160A EP1571547A1 (en) 2004-02-27 2004-02-27 System and method for building wireless applications with intelligent mapping between user interface and data components

Publications (2)

Publication Number Publication Date
CN1661554A CN1661554A (en) 2005-08-31
CN100424637C true CN100424637C (en) 2008-10-08

Family

ID=34746128

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100524493A Active CN100424637C (en) 2004-02-27 2005-02-28 System and method for building wireless applications

Country Status (9)

Country Link
EP (1) EP1571547A1 (en)
JP (3) JP2005259131A (en)
KR (1) KR100795765B1 (en)
CN (1) CN100424637C (en)
AU (1) AU2005200852A1 (en)
CA (1) CA2498540C (en)
MX (1) MXPA05002276A (en)
SG (3) SG114770A1 (en)
TW (1) TWI314415B (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100808662B1 (en) 2005-12-08 2008-02-29 한국전자통신연구원 SCA Based Application System and the Method of Exchanging Component in Operation thereof
EP2042989A1 (en) * 2006-02-03 2009-04-01 Research In Motion Limited System and method for extending a component-based application platform with custom services
EP1835397A1 (en) * 2006-02-27 2007-09-19 Software Ag Application framework
US20080301236A1 (en) * 2007-05-31 2008-12-04 Microsoft Corporation Contextual social language
US8478245B2 (en) 2007-08-01 2013-07-02 Phunware, Inc. Method and system for rendering content on a wireless device
US8103865B2 (en) 2007-08-01 2012-01-24 Phunware, Inc. Server method and system for rendering content on a wireless device
US8667412B2 (en) * 2007-09-06 2014-03-04 Google Inc. Dynamic virtual input device configuration
US7979350B1 (en) 2007-10-23 2011-07-12 Gotv Networks, Inc. Method and system for accessing wireless account information
US8060594B1 (en) 2007-10-23 2011-11-15 Phunware, Inc. Client-side wireless communications link support for mobile handheld devices
US8009619B1 (en) 2007-10-23 2011-08-30 Phunware, Inc. Server-side wireless communications link support for mobile handheld devices
US9015692B1 (en) 2007-10-23 2015-04-21 Phunware, Inc. Method and system for customizing content on a server for rendering on a wireless device
KR100973543B1 (en) * 2008-01-15 2010-08-02 포항공과대학교 산학협력단 Modeling Method and Device for Dynamic Architecture of Mobile Application
US20090251488A1 (en) * 2008-04-07 2009-10-08 Hands-On Mobile, Inc. Method and system for executing applications on a wireless device
US8271579B2 (en) 2008-04-07 2012-09-18 Phunware, Inc. Server method and system for executing applications on a wireless device
US8209355B2 (en) * 2008-07-28 2012-06-26 Microsoft Corporation Automatic user interface generation for entity interaction
TWI393047B (en) * 2009-06-30 2013-04-11 Accton Technology Corp An adapting infotainment device
US10387140B2 (en) 2009-07-23 2019-08-20 S3G Technology Llc Modification of terminal and service provider machines using an update server machine
KR101117165B1 (en) * 2010-05-28 2012-03-07 단국대학교 산학협력단 Web platform unit for mobile terminal connectioned web-application program in heterogeneous operating system
KR101878488B1 (en) 2011-12-20 2018-08-20 한국전자통신연구원 Method and Appartus for Providing Contents about Conversation
US10296562B2 (en) 2013-02-12 2019-05-21 Oath Inc. Dynamic generation of mobile web experience
US9342300B2 (en) 2014-03-11 2016-05-17 Blue Wolf Group, LLC Analyzing components related to a software application in a software development environment
CN110012040B (en) * 2018-01-04 2022-06-21 武汉斗鱼网络科技有限公司 Multi-state pendant updating method and system in mobile terminal
CN108920133B (en) * 2018-06-14 2021-06-18 北京三快在线科技有限公司 Cross-language programming method and device, electronic equipment and storage medium
CN111414410B (en) * 2019-01-07 2023-07-14 阿里巴巴集团控股有限公司 Data processing method, device, equipment and storage medium
US20220100900A1 (en) * 2019-06-14 2022-03-31 Hewlett-Packard Development Company, L.P. Modifying data items
CN114564176B (en) * 2022-01-27 2023-08-22 阿里云计算有限公司 Code development method, server and storage medium
KR20230151676A (en) * 2022-04-26 2023-11-02 쿠팡 주식회사 Electronic apparatus and operation method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010045963A1 (en) * 1997-04-14 2001-11-29 Apple Computer, Inc. Method and apparatus for binding user interface objects to application objects
US20030060896A9 (en) * 2001-01-09 2003-03-27 Hulai Steven J. Software, devices and methods facilitating execution of server-side applications at mobile devices
WO2003044654A2 (en) * 2001-11-15 2003-05-30 Softplumbers S.A. Method for developing and managing large-scale web user interfaces

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140893A (en) 2001-11-02 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> Device and method for automatically creating user interface program, program and storage medium
JP4490026B2 (en) * 2002-01-28 2010-06-23 日立オムロンターミナルソリューションズ株式会社 Customizable information processing device
KR100475432B1 (en) * 2002-02-26 2005-03-10 삼성전자주식회사 method for design modification of Graphic User Interface and recorded media thereof
KR20050057822A (en) * 2003-12-11 2005-06-16 에스케이씨앤씨 주식회사 Method for realization gui using xml

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010045963A1 (en) * 1997-04-14 2001-11-29 Apple Computer, Inc. Method and apparatus for binding user interface objects to application objects
US20030060896A9 (en) * 2001-01-09 2003-03-27 Hulai Steven J. Software, devices and methods facilitating execution of server-side applications at mobile devices
WO2003044654A2 (en) * 2001-11-15 2003-05-30 Softplumbers S.A. Method for developing and managing large-scale web user interfaces

Also Published As

Publication number Publication date
KR100795765B1 (en) 2008-01-21
JP2005259131A (en) 2005-09-22
EP1571547A1 (en) 2005-09-07
CA2498540C (en) 2013-07-30
MXPA05002276A (en) 2008-11-24
SG135202A1 (en) 2007-09-28
TW200605588A (en) 2006-02-01
JP2012142017A (en) 2012-07-26
CN1661554A (en) 2005-08-31
AU2005200852A1 (en) 2005-09-15
SG172622A1 (en) 2011-07-28
TWI314415B (en) 2009-09-01
JP5248964B2 (en) 2013-07-31
KR20060042393A (en) 2006-05-12
SG114770A1 (en) 2005-09-28
JP2009087340A (en) 2009-04-23
CA2498540A1 (en) 2005-08-27

Similar Documents

Publication Publication Date Title
CN100424637C (en) System and method for building wireless applications
US8108830B2 (en) System and method for building wireless applications with intelligent mapping between user interface and data components
CN100429620C (en) System and method for applying development patterns for component based applications
US7814404B2 (en) System and method for applying workflow of generic services to component based applications for devices
US7509649B2 (en) System and method for conversion of generic services&#39; applications into component based applications for devices
CN100435094C (en) System and method for building mixed mode execution environment for component applications
CN100444108C (en) System and method for executing wireless applications using common UI components from a UI repository
US7698383B2 (en) System and method for building component applications using metadata defined mapping between message and data domains
CN101699393B (en) Network-facing intelligent software interface dynamic generation method
CN100596139C (en) System and method for building component applications using metadata defined mapping between message and data domains
US20050193361A1 (en) System and method for presentation of wireless application data using repetitive UI layouts
CN100437478C (en) System and method for interactive wireless applications
CN101185303A (en) System and method for creating a mapping document for binding messages between an application and an associated backend server
CA2538561C (en) System and method for conversion of web services applications into component based applications for devices
CA2498541A1 (en) System and method for presentation of wireless application data using repetitive ui layouts
CA2538531C (en) System and method for applying workflow of generic services to component based applications for devices
AU2008202421B2 (en) System and method for building wireless applications with intelligent mapping between user interface and data components

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MOTOROLA MOBILITY LLC

Free format text: FORMER OWNER: RESEARCH IN MOTION LTD.

Effective date: 20130117

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130117

Address after: Illinois State

Patentee after: Motorola Mobility, Inc.

Address before: Voight, Ontario, Canada

Patentee before: Research In Motion Ltd.

TR01 Transfer of patent right

Effective date of registration: 20190123

Address after: American California

Patentee after: Technology Holdings Co., Ltd of Google

Address before: Illinois State

Patentee before: Motorola Mobility, Inc.

TR01 Transfer of patent right