CN100456247C - System and method of building wireless component applications - Google Patents

System and method of building wireless component applications Download PDF

Info

Publication number
CN100456247C
CN100456247C CNB2003801099917A CN200380109991A CN100456247C CN 100456247 C CN100456247 C CN 100456247C CN B2003801099917 A CNB2003801099917 A CN B2003801099917A CN 200380109991 A CN200380109991 A CN 200380109991A CN 100456247 C CN100456247 C CN 100456247C
Authority
CN
China
Prior art keywords
message
data
mobile communications
component
communications device
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.)
Expired - Lifetime
Application number
CNB2003801099917A
Other languages
Chinese (zh)
Other versions
CN1757014A (en
Inventor
迈克尔·申菲尔德
比埃拉·比布尔
布伦杜沙·L·弗里奇
布赖恩·R·戈林
罗伯特·克兰
卡缅·B·维塔诺夫
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.)
BlackBerry Ltd
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 CN1757014A publication Critical patent/CN1757014A/en
Application granted granted Critical
Publication of CN100456247C publication Critical patent/CN100456247C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

A system and method of building component applications are provided. Component applications are executed on terminal devices, which communicate with a schema-based service via a network and the Internet. The component applications comprise data components, presentation components, and message components, which are written a structured definition language such as XML code. The component applications further comprise workflow components which can be written as a series of instructions such as in a subset of ECMAScript, and are embedded in the XML code.

Description

Be used to set up method, mobile communications device and the server that wireless module is used
Technical field
The application relates to radio communication, particularly relates to the software that is used for mobile communications device.
Background technology
The number of the current mobile communications device that uses constantly increases, for example mobile phone, the PDA with wireless communication ability and bidirection pager.Operating in software application on these mobile communications devices has increased their practicality.For example, a mobile phone can comprise the application program of retrieval at the weather of a city scope, or a PDA can comprise the application program that makes the user choose groceries.These software applications have utilized the movability of these devices to reach for the internuncial advantage of wireless network, so that provide timely and useful service to the user, and irrelevant with this user's position.But because the limited resource of mobile communications device and provide complicacy to mobile communications device data wireless ground, developing the software application that is used for mobile communications device still is difficult and task consuming time.
Current, mobile communications device is arranged to by browser and/or native application based on the internet and communicates by letter with Web service.Browser has the advantage that can be suitable on cross-platform basis at various different devices operations, but shortcoming is that this shortcoming is included in obstruction the continuation of the data in this screen from Web service requests for page (HTML screen definition).Another shortcoming of browser is that this screen presented in working time, and this may cause the resource anxiety.The advantage that native application has is at the type of mobile device and special exploitation, thereby the application program of optimizing relatively at each runtime environment is provided.But the shortcoming that native application has is that it is not a platform independently, therefore needs a plurality of versions of the same application program of exploitation, and big relatively on scale, thereby has heavily consumed the memory resource of mobile device.And the exploit person of application program need have the native application that the experience of the programming language of Java and C++ for example makes up these hard codeds.Need to operate in the application program that has the mobile device resource consumption of reduction on the Web service client computer with various runtime environments, again.
System and method disclosed herein provides an applied environment based on assembly, so that overcome or alleviate above-mentioned shortcoming at least to a certain extent.
Summary of the invention
Current application program can not be adapted to operate on the client computer with various runtime environments, and can undesirably consume the resource of too many mobile device.Browser is one to have from the application program of a shortcoming of a Web service requests for page (screen definition of HTML), and this shortcoming has hindered the continuation of the data that comprise in this screen.Another shortcoming of browser is that this screen presented in working time, and this may cause the resource anxiety.Native application is another example of current application program, and the shortcoming that has is that it is not a platform independently, thereby needs a plurality of versions of the same application program of exploitation, and sizable scale is arranged simultaneously, thus heavy burden the memory resource of mobile device.Opposite with current application program, a system that sets up wireless component applications and communicate with wireless component applications is provided.This system is included in the component applications of carrying out on the mobile communications device, communicates by letter with Web service by wireless network and internet.This component applications comprises one or more data packages, display module and/or message components, and these component applications are write as with the structured definition language of for example xml code.This component applications may further include workflow component, and this workflow component comprises a series of instructions of for example being write as with the ECMAScript subclass, and can be embedded in the xml code in certain embodiments.A kind of method of setting up component applications also is provided.Step that the method comprising the steps of: create data package, create display module and create message components.This data package, display module and message components can be write as with XML in certain embodiments.This method also comprises step: this data package, display module and message components and workflow component are lumped together write one group of instruction that the program design language as the subclass of for example ECMAScript calls the turn.
Therefore, the invention provides a kind of process network and carry out mutual method by mobile communications device and Web service.This method comprises step: receive a request internet message that is used for setting up communication between Web service and communicator; Respond this request internet message and send a component applications that comprises a plurality of assemblies, first group of assembly has the descriptor of representing with structured definition language and second group of assembly is expressed as a series of instructions, the runtime environment that these assemblies are arranged to by communicator provides, and can carry out version so that produce configuration as of this component applications of the Web client computer of Web service; Wherein this execution that can carry out version provides through subsequently the message exchange of network between Web service and communicator.
Also disclose a kind of mobile communications device, be configured to use the version carried out of the component applications that comprises a plurality of assemblies to carry out alternately through network and Web service.This device comprises: be used to operate the device basic structure of this mobile device, this mobile device comprises and is used to carry out this processor that can carry out version and relational storage; Be coupled to the user interface of this device basic structure, this device basic structure has to be arranged to this can carry out input media and the output unit that version is communicated by letter; Transceiver is coupled to this device basic structure and is arranged to and this network service; And runtime environment, be used to coordinate the execution that this can carry out version, be used for the Web client computer of this device configuration as Web service, this runtime environment is arranged to the second group of assembly that has first group of assembly of the descriptor of representing with structured definition language and be expressed as a series of instructions carries out alternately; Wherein this execution that can carry out version provides through subsequently the message exchange of network between this Web service and this communicator.
Also disclose a kind of computer program, be used to dispose a mobile communications device, so that use the version carried out of a component applications that comprises a plurality of assemblies to carry out alternately through network and Web service.This computer program comprises: a computer-readable medium; Be stored in the runtime environment module on this computer-readable medium, be used to coordinate the execution that this can carry out version, so that this device is configured to the Web client computer of Web service, this runtime environment is arranged to first group of assembly with descriptor of representing with structured definition language and second group of assembly being expressed as a series of instructions carries out alternately; Wherein this execution that can carry out version provides through subsequently the message exchange of network between this Web service and this communicator.
Also disclose a server, configuration is used to provide Web service, so that carry out alternately through network and a mobile communications device.This server comprises: a network interface is used to receive a request internet message, so that set up communication between Web service and communicator; Be coupled to this network interface and be used to respond the component applications that this request internet message sends, this component applications comprises a plurality of assemblies, first group of assembly has the descriptor of representing with a kind of structured definition language, and second group of assembly is expressed as a series of instructions, the runtime environment that these assemblies are arranged to by this communicator provides, and can carry out version so that produce that this device is disposed as this component applications of the Web client computer of Web service; Wherein this execution that can carry out version provides through subsequently the message exchange of network between this Web service and this communicator.
A kind of mobile communications device also is provided, has been configured to use the version carried out of the component applications that comprises a plurality of assemblies to carry out alternately through network and Web service.This device comprises: a foundation structure device is used to operate this mobile device and carries out this and can carry out version; A user's interface device is coupled to and is configured to be used for can carry out the foundation structure device that version is communicated by letter with this; A transceiver device is coupled to this device basic structure and is arranged to and this network service; And one working time device, be used to coordinate the execution that this can carry out version, so that the Web client computer of this device configuration as Web service, this second group of component interaction that device was arranged to and had first group of assembly of the descriptor of representing with structured definition language and be expressed as a series of instructions working time; Wherein this execution that can carry out version provides through subsequently the message exchange of network between this Web service and this communicator.
Description of drawings
In the detailed description made from reference to the accompanying drawings below, it is obvious that these and other characteristic will become, wherein:
Fig. 1 is the block diagram of a communication system;
Fig. 2 is the block diagram of the mobile communications device of Fig. 1;
Fig. 3 is the block scheme of the component applications of Fig. 2;
Fig. 4 is the block diagram of an example component application program of presentation graphs 3;
Fig. 5 is the process flow diagram of a method that the wireless component applications of Fig. 3 is set up in expression;
Fig. 6 is the process flow diagram that is used for a method communicating between one of Fig. 1 device and Web service;
Fig. 7 illustrates an exemplary method of the component applications of implementing Fig. 3;
Fig. 8 illustrates another exemplary method of the component applications of implementing Fig. 3; And
Fig. 9 is the block diagram of another example of Fig. 2 device.
Concrete embodiment
Network system
With reference to figure 1, network system 10 comprises mobile communications device 100, is used for by the wireless network 102 and the internet 104 of a coupling mutual with one or more Web service that is provided by Web server 106.When communicating by letter with the Web service of Web server 106, device 100 sends respectively and receives requests/response messages 105.By the requests/response messages 105 and the relevant data content that use the message header message form, this device 100 can be operating as the Web client computer of Web service, for example from the request of online trade company and reception products quotation and availability.Web service is the example of a system, and the client applications 302 (referring to Fig. 2) on the communicator 100 is by wireless network 102 and internet 104 and this system interaction, so that utility is provided to the user of mobile communications device 100.The message 105 that sends between communicator 100 and Web service can be passed through (traverse) message maps service (not illustrating), this message maps service this message 105 of conversion between the different-format that is used by device 100 and Web service.
In order to satisfy suitable requests/response messages 105, Web server 106 is communicated by letter with an application server 110 by variety of protocol (such as, but be not limited to HTTP and assembly API), so that show relevant business logic (method) to the client applications 302 (referring to Fig. 2) that once is provided on this device 100.This application server 110 also can comprise Web server 106 softwares, and making this Web server 106 to be considered is a subclass of this application server 110.Be similar to a kind of method (or a function) of calling about an object, the application program 302 of device 100 can be used the business logic of application server 110.Should be realized that, can be via network 102,104 by 105 client applications program 302 direct download/upload auto levelizers 100 that relate to application server 110 of this message.Should further be recognized that device 100 can pass through network 102,104 and communicate by letter with relevant application server 110 with one or more Web servers 106.It should further be appreciated that this device 100 can be directly coupled to application server 110, thereby according to this Web server 106 of expectation bypass.
Server environment
Referring to Fig. 1, Web server 106 provides the informational message of being used by client applications 302 105 on communicator 100.In addition or as a kind of selection, Web server 106 can receive and use by carrying out the informational message 105 that this client applications 302 provides on this communicator 100, or finishes the task of the representative client applications of carrying out on communicator 100 302.Web service can be defined as a software service of Web server 106, this Web service can realize using an interface of Web Services Description Language (WSDL) (WSDL) expression that is registered among general discovery description and integrated (UDDI), and can pass through to explain to communicate by letter by message 105 with customer set up 100 on internet 104 through the suitable agreement of for example Simple Object Access Protocol (SOAP).In certain embodiments, SOAP is the standard that definition is used for the XML form of message 105, comprises a good XML fragment that forms that is packaged in the SOAP unit.The other parts of SOAP have stipulated how routine data is expressed as XML and how uses SOAP to realize remote procedure call (RPC).These optional SOAP partly are used to realize the application program of RPC form, wherein send and comprise a SOAP request message 105 that can call function and forward this function parameters to, and this server 106 returns this response message 105 results and carries out function from this customer set up 100.SOAP also supports the document form application program, and wherein this soap message 105 is packings around XML document.The optional part definition HTTP constraint of another of SOAP (being title), wherein some SOAP embodiment is supported MSMQ, MQ series, SMTP or TCP/IP host-host protocol.In addition, this Web service can be used other known communication protocol, message 105 forms, and this interface can be expressed with being different from above-mentioned web service language.Therefore, the user of device 100 utilizes the service that is provided by server 106 through network 102,104.
Client environment
With reference to figure 2, component applications 302 is software applications, as described in Fig. 3, can be write as with the subclass of for example extend markup language (XML) and ECMAScript.XML and ECMAScript are based on the language of standard, make the software developer with portable and mode developer component application program 302 independent platform.By this component applications 302 of wireless network 102 wireless transmissions, and be encased in the memory module 210 of device basic structure 204.In addition, component applications 302 can connect or IR for example 802.11 (x) and/or Bluetooth via connected in series a, USB TMShort range wireless communication system be loaded on this device 100.In case be loaded into mobile communications device 100, then this component applications 302 can be carried out by the component framework structure on the mobile communications device 100, handle component application program 302 conversion cost machine codes are carried out this this machine code by the processor in this device basic structure 204 208.In addition, this component applications 302 can be performed as this machine code or by the compiling of other software module on this mobile communications device 100 or operating system, provides as after this with the component framework structure 206 of this machine runtime environments of numeral 206 expressions.
Refer again to Fig. 1 and 2, can be configured to make device 100 to be operating as (Web server 106) Web client computer of Web service by the device 100 client computer runtime environments 206 that provide.The client computer runtime environment 206 of device 100 preferably can installed generation on 100, master control and this client applications 302 of execution (it is the form of component applications, referring to Fig. 3).In addition, the concrete function of this client computer runtime environment 206 can including, but not limited to for example for language, coordinate memory distribute, networking, in the I/O operating process data management, on the output unit of device 100 harmony figure and provide the orientation classification and support the support of access of the kernel object in file/storehouse.The java runtime environment (JRE) that provides such as, but be not limited to the common statement working time (CLR) that is provided by company of Microsoft (Microsoft) and Sun Microsystems company can be provided the example of the runtime environments of being implemented by device 100 206.
Environment 206 preferably supports to be used for the resident following basic function of carrying out version of client applications 302 when installing 100 terminal operating, such as, but be not limited to:
The communication capacity that message 105 is sent to the Web service of this Web server 106 that connects by network 102,104 is provided;
On an input media of device 100, provide the data input capability, so that offer the data division of the output message 105 (to the message of this service) of the Web service of this Web server 106 by the user;
Be provided for the data presentation or the fan-out capability of the uncorrelated prompting of the data of response message 105 (input information) of Web service or the Web server on this output unit 106;
Provide the data-carrier store service, so that in the memory module 210 (referring to Fig. 2) of device 100, keep the native client machine data; And
Be provided for the execution environment of script, so that coordinate the operation of the application component 400,402,404,406 (referring to Fig. 3) of client applications 302.
Therefore, environment 206 provides interface for client applications 302 during this this messenger client terminal operating, and interface is offered the function of processor 208 of device 100 and the operating system of device basic structure 204.This runtime environment 206 is preferably in provides controlled, a safety and stable environment on the device 100, wherein the executive module application program 302.This runtime environment 206 provides the definition of this assembly 400,402,404,406, so that create specifically the actual Web client computer at each each device basic structure 20 of communicator 100.
Communicator
With reference to figure 1 and Fig. 2, this mobile communications device 100 is such as, but be not limited to mobile phone, PDA, bidirection pager and dual mode communication device (referring to Fig. 9).Device 100 comprises a network connection interface, for example by connecting 218 transceivers 200 that are coupled to device basic structure 204.In the operating period of device 100, these transceiver 200 connectable to network 102,104 for example are connected to wireless network 102 by the RF link, and device 100 can be communicated with one another by network 102,104 and external system (for example Web server 106).The requests/response messages 105 that this transceiver 200 also helps this device 100 to coordinate between client applications 302 and server 106,110.Network 102,104 is supported in that the data in requests/response messages 105 send between the device 100 that is connected to network 102,104 and the external system.This network 102,104 can also be supported the voice communication for the call between the device of communicator 100 and this network 102,104 outsides.Wireless network 102 can use a kind of wireless data transmission protocols, such as, but be not limited to Data TAC, GPRS or CDMA.Connection between wireless network 102 and internet 104 comprises an internet gateway (not illustrating), and this message 105 and related data content can be flowed between the Web service of coupling arrangement 100 and server 106.
Refer again to Fig. 2, device 100 also has by connecting 222 user interfaces 202 that are coupled to device basic structure 204, so that mutual with user's (not illustrating).User interface 202 comprises one or more user input apparatus, such as, but be not limited to qwerty keyboard, auxiliary keyboard, orbit wheel, input pen, Genius mouse, microphone, and output unit, for example lcd screen display and/or loudspeaker.If this screen is a touch-sensitive, then this display can also be as the user input apparatus by 204 controls of device basic structure.When the client applications of carrying out in runtime environment 206 302 adopted this requests/response messages message 105, the user of device 100 adopted this user interface 202 to come to coordinate this requests/response messages message 105 through system 10 (referring to Fig. 1).
Refer again to Fig. 2, start the operation of mobile communications device 100 by device basic structure 204.Device basic structure 204 comprises a computer processor 208 and this relational storage module 210.By carrying out by operating system and being placed on the dependent instruction that the client applications 302 in the memory module 210 provides, computer processor is controlled the operation of the runtime environment 206 of this network interface 200, user interface 202 and communicator 100.Should further be recognized that device basic structure 204 can comprise the computer-readable recording medium 212 that is coupled to processor 208, be used for instruction is provided to processor and/or client applications 302 is loaded/be updated to this memory module 210.Computer-readable medium 212 can comprise hardware and/or software, and disk, tape, light computer-readable recording medium, for example CD/DVD, ROMS and storage card are for example only arranged for instance.In each case, this computer-readable medium 212 can be taked shallow bid, floppy disk, tape, hard disk drive, solid-state memory card or be provided at the form of the RAM in the memory module 210.Be noted that the above-mentioned example calculation machine computer-readable recording medium 212 of listing can be used alone or in combination.
Component applications
With reference to figure 3, the block diagram of component applications 302 comprises data package 400, display module 402 and message components 404, and these assemblies are by 214 being coordinated by workflow component 406 with communicating by letter of client computer runtime environment 206.This structured definition language can be used for handle component 400,402,404 and is configured to a series of metadata record, and this metadata record comprises some predefines unit of the specific object of representing a resource, makes each unit can have one or more values.Each metadata planning has the feature of definition usually, such as, but be not limited to: the unit of limited quantity, the title of each unit reaches the connotation at each unit.The metadata planning of example comprises such as, but be not limited to Dublin (Dublin) core (DC), English-cent rule-like (AACR2), government information positioning service (GILS), coding archives to be described (EAD), IMS whole world learned academy (IMS), reaches Government Of Australia positioning service (AGLS).The coding sentence structure makes the metadata of device basic structure 204 (referring to Fig. 2) processing components 400,402,404, and encoding scheme comprises such as, but be not limited to XML, HTML, XHTML, XSML, RDF, MARC, machine-readable catalogue (MARC) and multi-usage internet mail expansion (MIME).Client computer runtime environment 206 is for the meta-data descriptor operation of this assembly 400,402,404, so that provide one of this application program 302 can carry out version.
Refer again to Fig. 4, data package 400 limits the data entity that is used by component applications 302.The example of the data entity that data package 400 can be described has: user and financial transaction.Data package 400 definition are in order to describe the information format of desired information of this data entity and expression.For example, this data package 400 can define such as, but be not limited to: comprise a order of unique identifier at the order that is formatted as numeral, be formatted as a tabulation of the project of word string, has the time that the order of Date-Time form is created, be formatted as the order status of character string, and a user who sends this order, this order is formatd according to another definition of this data package 400.
Refer again to Fig. 4, the message format that these message components 404 definition are used by component applications 302 is so that communicate by letter with the external system of for example Web service.For example, one of this message components 404 can be described the message that is used to place an order such as, but be not limited to one, and this order comprises the unique identifier that is used for this order, the state and the note relevant with order of order.
Refer again to Fig. 4, this display module 402 defines the outward appearance and the working condition of this component applications 302 when component applications 302 is shown by user interface 202.Display module 402 can be stipulated GUI screen and control, and the action that will be performed when the user uses this usefulness registered permanent residence 202 and this component applications 302 alternately.For example, this display module 402 can limit screen, label, edit box, button and menu, and the action of keying in an edit box or will take during by next button as the user.Most of Web service consumers use the visual display of Web service operating result, therefore can provide this runtime environment on the device 100 of explicit user interface screen.
With reference to figure 1 and 4, should be realized that this display module 402 can be according to the environment change of client platform and device 100 in above-mentioned client component application program 302 definition master mode.For example, under some situation, the Web service user does not require directly perceived a demonstration.The application definition of the assembly 400,402,404,406 of this component applications 302 can be by master control in the Web service registration table, as platform-neutral-data 400, message 404, have the boundling (referring to Fig. 2) at the workflow 406 component descriptions symbol of the various intended client group platform of working time-special-purpose display module 402 descriptors.When this discovery or configuration request message 105 were issued, this client type should be prescribed the part as this request message 105.In order to avoid copy data, message and workflow metadata in the different client platform packing component applications 302 at this communicator 100, the application program definition can be gone up by the boundling of master control conduct with the platform that does not the link on the same group-neutral component definition of display module 402 at this application server 110 (for example).When the user makes a discovery or during downloading request message 105, the client computer runtime type of this communicator 100,116 is identified and disposes suitable boundling, be delivered to device 100 through networks 102,104 by this Web server 106.For those Web services user, client applications 302 will comprise by this workflow component 406 and data package 400 and message components 404 and link display module 402.
Refer again to Fig. 4, the workflow component 406 of this component applications 302 defines the processing that will take place in the time will carrying out an operation, for example an action that will be performed during from system's 10 arrival by operation of aforesaid display module 402 regulations or when message 105 (referring to Fig. 1).By workflow component 406 definition demonstration, workflow and Message Processing.This workflow component 406 is write a series of instructions such as, but be not limited to the ECMAScript script by with programming language or script, and can become to be compiled into this machine code like that and carried out by runtime environment 206 as described.An example of workflow component 406 can be to data assignment, management screen or send this message 105.When having display module, can create a plurality of workflow definings, so that be supported in ability and the feature that changes in the device 100.Can determine the workflow defining that this is suitable, and send in the download of this application program 302 with in providing.
ECMA (European computer maker federation) script is a kind of script of standard, and script wherein can be called as by another program rather than by the sequence of computer processor compiling or the instruction carried out.The example of other script has Perl, Rexx, VBScript, JavaScript and Tcl/Tk.Usually, script is the instruction language, is used to the facility managing, customize and operate existing system automatically, for example installs 100.In this system, can obtain useful function, and this script is to be used to show the mechanism of control function of programming by user interface 202 (referring to Fig. 2).In this way, device 100 provides the object of finishing this script ability and the main frame runtime environment of facility.
Specifically, EMCAScript is an object-oriented programming language, is used for carrying out in this main frame runtime environment the object of calculating and Management Calculation.ECMAScript can be used as a page script language, and a kind of mechanism is provided, and carries out the calculating of server 106,110, as the part (referring to Fig. 1) based on the client server architecture of webpage of system 10.ECMAScript is provided for the core script ability of various main frame runtime environments, and therefore this core script to be considered to for some concrete main frame runtime environments be operating platform neutrality.Runtime environment 206 (referring to Fig. 2) can be provided for the ECMAScript main frame runtime environment of the client-side calculating of communicator 100, such as, but be not limited to; The object of expression frame, menu, ejection, dialog box, text area, anchor point, frame, history, cookies and I/O.In addition, the main frame runtime environment of runtime environment 206 provides a device of incident that scripted code is appended to, and these incidents load, unload, make mistakes such as but not limited to the change, the page and the image that focus on and mouse action is submitted, reached to abort, selection, form to.In the embodiment of using the ECMA script, the code that appears in the workflow component 406 makes up with fixing user interface section with text calculating and image, and to user's reacting alternately on this user interface 202.Web server 106 (referring to Fig. 1) is provided for the different hosted environment of the calculating of server one side, comprises the object of expression request, client and file, and the mechanism of locking and shared data.By client computer one side and server one batter are originally used together, might be in a customized user interfaces 202 that is provided for based on the component applications 302 of Web, Distribution Calculation between client communication device 100 and server 106,110.
ECMAScript also defines one group of built-in operational character, can not be proper function or method.The ECMAScript operational character such as but do not comprise with limiting to various unary operators, multiplication operations symbol, additive operator, by turn shifting function symbol, relational operator, equate operational character, scale-of-two bitwise operator, binary logic operational character, assignment operator and comma operator.But the ECMAScript sentence structure is similar to the Java sentence structure, and limit (relaxed) separated in the ECMAScript sentence structure, so that make it can be developed personnel as a kind of easy-to-use script.For example, the variable among ECMAScript does not require its type of statement, neither the type relevant with attribute, and the function that does not require qualification literal occurred and states before calling.Should be realized that, in object-oriented programming language based on a classification, usually by the example carrier state, carry method by classification, and just structure and the behavioral characteristic inherited.In ECMAScript, carry this state and method by object, and whole succession structure, work performance and state.
The component applications example
Therefore, with reference to figure 4, client applications 302 can be defined as the component definition of a group platform neutrality, refers to promptly for data package 400 and message components 404 assemblies and the display module 402 (or any other suitable structured definition language) that uses XML.Workflow component 406 can use ECMAScript (or the neutral script of any other suitable platform) definition.When assembly 400,402,404,406 assemblies of this component applications 302 were provided on the communicator 100, client computer runtime environment 206 (referring to Fig. 2) can define the generation component template based on unit.Environment 206 when utilizing the terminal operating of a big class, for example the cross-platform standard of XML or ECMAScript can be used for definition application component metadata data rather than makes up this component applications 302 in advance.The constraint of this delay can make the definition of common applications of this component applications 302 be run on the various terminal system environment 206 by 100 expressions of various different communication devices.
Utilizing and the consistent limitation unit of following DTD (Document Type Definition) (DTD), how following example can use such as, but be not limited to the structured definition language of XML and the mode of representing Web service client applications 302 such as, but be not limited to the neutral script/programming language of the operating platform of ECMAScript if showing:
<!ELEMENT?wcApp(desc?,iconUrl?,res*,wcData*,wcMsg*,style*,
wcScr*,wcFlow)>
<!ATTLIST?wcApp
name?CDATA#REQUIRED
title?CDATA#IMPLIED
vendor?CDATA#IMPLIED
version?CDATA#IMPLIED
transportKey?CDATA#IMPLIED
installNotifURL?CDATA#IMPLIED
registerURL?CDATA#IMPLIED
>
<!ELEMENT?desc(#PCDATA)>
<!ELEMENT?iconUrl(#PCDATA)>
<!ELEMENT?res(#PCDATA)>
<!ATTLIST?res
name?CDATA#REQUIRED
url?CDATA#REQUIRED
type(xml
Figure C20038010999100201
image)sound)any)#REQUIRED
deferred(true?false)″false″-
>
Example?Data?Component?400
<!ELEMENT?wcData(field+)>
<!ATTLIST?wcData
name?CDATA#REQUIRED
persisted(true!false)″true″
>
<!ELEMENT?dfield(#PCDATA)>
<!ATTLIST?dfield
name?CDATA#REQUIRED
type(String
Figure C20038010999100202
Number?Boolean?Date?Any)″Any″
array(true
Figure C20038010999100203
false)″false″
cmp(true?false)″false″
cmpName?CDATA#I?MPLIED
key(01)2)″0″
>
Example?Message?Component?404
<!ELEMENT?wcMsg(mfield*)>
<!ATT?LIST?wcMsg
name?CDATA#REQUIRED
mapping?CDATA#IMPLIED
>
<!ATTLIST?wcMsg
pblock?CDATA#IMPLIED
>
<!ELEMENT?mfield(#PCDATA)>
<!ATTLIST?mfield
name?CDATA#REQUIRED
type(String?I?Number?I?Boolean?Date?Array?XML)#IMPLIED
mapping?CDATA#IMPLIED
>
Example?Presentation?Components?402
<!ELEMENT?wcScr(layout?,menu?,refresh?,event?)>
<!ATTLIST?wcScr
name?CDATA#REQUIRED
title?CDATA#IMPLIED
main(true?false)″false″
dialog(true
Figure C20038010999100211
false)″false″
param?CDATA#IMPLIED
>
<!ELEMENT?style(font?)>
<!ATT?LIST?style
name?CDATA#REQUIRED
bgColor?CDATA#IMPLIED
>
<!ELEMENT?font?EMPTY>
<!ATTLIST?font
name?CDATA#REQUIRED
color?CDATA#IMPLIED
size?CDATA#IMPLIED
bold(true false)″false″
italic(true?false)″false″
underline(true?j?false)″false″
>
<!ELEMENT?refresh(msg+)>
<!ELEMENT?msg(#PCDATA)>
<!ELEMENT?layout(layout*,label*,separator*,edit*,image*,choice*,
button*,textarea*)>
<!ATTLIST?layout
type(grid?j?flow{border
Figure C20038010999100221
vertical)#REQUIRED
param?CDATA#IMPLIED
placement?CDATA#IMPLIED
style?CDATA#IMPLIED
>
<!ELEMENT?menu(item*)>
<!ELEMENT?item(action,condition?)>
<!ATTLIST?item
name?CDATA#REQUIRED
label?CDATA#REQUiRED
shortcut?CDATA#IMPLIED
>
<!ELEMENT?action?EMPTY>
<!ATTLIST?action
screen?CDATA#IMPLIED
pblock?CDATA#IMPLIED
param?CDATA#IMPLIED
acceptChanges(true
Figure C20038010999100222
false)″true″
>
<!ELEMENT?condition?EMPTY>
<!ATTLIST?condition
pblock?CDATA#REQUIRED
param?CDATA#IMPLIED
result(true false)″true″
>
<!ELEMENT?event?EMPTY>
<!ATTLIST?event
type(onlnit?onClick?onChange?onFocusOut)″onlnit″
pblock?CDATA#IMPLIED
screen?CDATA#IMPLIED
param?CDATA#IMPLIED
>
<!ELEMENT?separator?EMPTY>
<!ELEMENT?label(condition?,event?)>
<!ATTLIST?label
name?CDATA#REQUIRED
value?CDATA#REQUIRED
placement?CDATA#IMPLIED
style?CDATA#IMPLIED
>
<!ELEMENT?edit(condition?,event?)>
<!ATTLIST?edit
name?CDATA#REQUIRED
value?CDATA#IMPLIED
mapping?CDATA#IMPLIED
type(char|number|date|pwd|phone|email)″char″
readOnly(true|false)″false″
placement?CDATA#IMPLIED
style?CDATA#IMPLIED
>
<!ELEMENT?textarea(condition?,event?)>
<!ATTLIST?textarea
name?CDATA#REQUIRED
value?CDATA#IMPLIED
mapping?CDATA#IMPLIED
readOnly(true
Figure C20038010999100241
false)″false″
placement?CDATA#IMPLIED
style?CDATA#IMPLIED
>
<!ELEMENT?image(condition?,event?)>
<!ATTLIST?image
name?CDATA#REQUIRED
resName?CDATA#REQUIRED
placement?CDATA#IMPLIED
>
<!ELEMENT?choice(condition?,event?,entry*)>
<!ATTLIST?choice
name?CDATA#REQUIRED
value?CDATA#IMPLIED
mapping?CDATA#IMPLIED
type(singleList|multiList|dropdown|checkbox|
radio)″single?List″
readOnly(true?false)″false″
placement?CDATA#IMPLIED
style?CDATA#IMPLIED
>
<!ELEMENT?entry(#PCDATA)>
<!ELEMENT?button(condition?,event?)>
<!ATTLIST?button
name?CDATA#REQUIRED
label?CDATA#REQUIRED
image(true|false)″false″
placement?CDATA#IMPLIED
style?CDATA#IMPLIED
>
ExampleWorkflow?Component?406
<!ELEM?EN?TwcFlow(block+)>
<!ELEM?ENTpblock(#PCDATA)>
<!ATTLIST?pblock
id?CDATA#REQUIRED
param?CDATA#IMPLIED
>
What as above provide is such, and the XML unit defines example component application program 302, comprises wcApp unit, wcData unit, wcMsg unit, wcSrc unit and wcFlow unit.With reference to figure 3, the wcApp element is a high-grade unit of limitation unit application program 302.The wcData unit limits the data package 400 of this example, comprises the type field of one group of name.The wcMsg unit limits the message components 404 of this example, the type field that similar qualification one group name claims.The wcSrc unit limits the display module 402 of this example.This example display module 402 is a mark, separator, image, button, edit field, text area, individual event option table, multinomial option table, drop-down list, check box, radio button or the screen that comprises one group of other display module 402.
With reference to above-mentioned example component application program 302 and Fig. 3, this wcFlow unit defines example workflow assembly 406.The process block of this XML unit (pblock) attribute has been specified a process block unit that is nested in the wcFlow unit.Each process block unit all comprises the script of the part of the workflow that limits this component applications 302.This script is write as with ECMAScript.
For the work performance of definitions component application program 302, workflow component 406 uses ECMAScript to come reference and operation this data package 400, this display module 402 and this message components 404.Workflow component 406 also can be realized for the assembly executable operations with component applications 302 definition with reference to the external object type.For example, wcMsg type allows that the message that limited by message components 404 is evaluated to determine whether to provide command field, and determines whether to be dealt into for example external system of the Web service of server 106.The type of wcData has been determined the collection scale by the data entity of data package 400 definition, and allows to leave out data entity.A wcScr type realizes display module 402 is shown to the user.Similarly, a special session external object allows a message to be shown to user (referring to Fig. 2) on user interface 202.
Example component application program 302 with interface
With reference to figure 1 With 4, show the block diagram that another example component application program 302 is described.Be included in display module 402 in the example component application program 302 defined a logon screen 500, specific screen 502, one transmit information screen 504, an order list screen 508 and an order status screen 506.These screens will be provided on the user interface 202 of communicator 100 (referring to Fig. 2).The pizza menu that the component applications 302 of this example makes that the user browses that pizza menu, an order is used to send and the details of the order of browsing over.This user at first is provided is logon screen 500 on user interface 202.The user provides a username and password, and presses login button 501 subsequently.The user distribution inspection of document the user name and password that workflow component 406 contrast is provided by information 105 by the Web service of server 106.If the user successfully logins, then show specific screen 502.From this specific screen 502, this user can the choice menus item places an order or browses order status, and this will determine whether to show this delivery information screen 504, or not show this order list screen 508.This delivery information screen 504 makes this user specify the details of an order.Use the customer-furnished information of data package 400 storages of describing an order.
The selected subsequently menu option of user sends order, and this will start these message 105 that workflow component 406 handles limit by the corresponding message assembly 404 that comprises sequence information and deliver to this Web service on the server 106.Order list screen 508 is listed order in the past, allows the selected menu item of user to browse the details of these one or more orders of listing.Sending out after an order or choice menus item browse order details, response message 105 according to being received and handled by related news assembly 404, workflow component 406, display module 402 and data package 400 subsequently by device 100 shows order status screen 506.Order status screen 506 comprises the information of describing the order that this user sent, and causes the menu item that specific screen 502 is shown when selection.This message components 404 is passed at the desired data of the input and output of this message 105.Corresponding data package 400 is coordinated the storage of the data in the memory module 210 (referring to Fig. 2) of device 100, is used for subsequently by this demonstration of display module 402 on user interface.The conversion of workflow component 406 coordination datas between data package 400, display module 402 and message components 404.
The example component application program 302 that is presented among Fig. 5 is represented with following XML and mEScript, comprise data package 400, message components 404, the display module 402 of conduct " wcScr " and the workflow component 406 of conduct " wcFlow ", be used to handle other assembly 400,402,404 as " wcMsg " as " wcData ":
<IDOCTYPE?wcApp?SYSTEM″wcApp.dtd″>
<wcApp?name=″WirelessPiza″title=″Wireless
Piza″vendor=″ARG″version=″0.9″>
<desc>Order?pizza?from?your?wireless?device.</dese>
<iconUrl>http://www.example.com/wirelessPizzalcon.png<
/iconUrl>
<wcData?riame=″User″>
<dfield?name=″name″type=″St?ring″key=″1″/>
<dfield?name=″passwordHash″type=″String″/>
<dfield?name=″street″type=″String″/>
<dfield?name=″city″type=″String″/>
<dfield?name=″postal″type=″String″/>
<dfield?name=″phone″type=″String″/>
</wcData>
<wcData?name=″OrderStatus″>
<dfield?name=″confNumber″type=″Number″key=″1″/>
<dfield?name=″status″type=″String″/>
<dfield?name=″datetime″type=″Date″/>
</wcData>
<wcData?name=″Order″>
<dfield?name=″orderld″type=″Number″key=″1″/>
<dfield?name=″special″type=″String″/>
<dfield?name=″user″cmp=″true″cmpName=″User″/>
<dfield?name=″datetime″type=″Date″/>
<dfield
name=″orderStatus″cmp=″true″cmpName=″OrderStatus″/>
</wcData>
<wcData?name=″Special″>
<dfield?name=″desc″key=″1″type=″String″/>
<dfield?name=″price″type=″Number″/>
</wcData>
<wcMsg?name=″inAddSpecial″mapping=″Special″>
</wcMsg>
<wcMsg?name=″inRemoveSpecial″pblock=″mhRemoveSpecial″>
<mfie?ld?name=″desc″mapping=″Special.desc″/>
</wcMsg>
<wcMsg?name=″inOrderStatus″>
<mfield?name=″orderld″mapping=″Order.orderld″/>
<mfield?name=″status″mapping=″Order.orderStatus″/>
</wcMsg>
<wcMsg?name=″inUserlnfo″mapping=″User″>
</wcMsg>
<wcMsg?name=″outOrder″>
<mfield?name=″special″mapping=″Order.special″/>
<mfield?name=″user″mapping=″Order.user″/>
<mfield?name=″datetime″mapping=″Order.datetime′/>
</wcMsg>
<wcScr?name=″scrSpecials″title=″Specials″main=″true″>
<layout?type=″flow″>
<choice?name=″slSpecials″value=″Special0.
desc+′.$′+Special0.price″type=″singleList″/>
</layout>
<menu>
<item?name=″login″label=″Login″>
<action?screen=″scrLogin″/>
<condition
pblock=″chLoggedin″result=″false″/>
</item><item?name=″order″label=″Order″
>
<action
screen=″scrDelivery″param=″Application.authenticatedUser″/>
<condition?pblock=″chLoggedin″/
>
</item>
<item?name=″viewOrderStatus″label=″View
Orders?Status″>
<action?screen=″scrOrdersList″/
>
<condition?pblock=″chLoggedin″/
>
</item>
</menu>
</wcScr>
<wcScr?name=″scrLogin″dialog=″true″>
<layout?type=″vertical″>
<layout?type=″flow″>
<label
name=″lblUserName″value=″User?Name:′”/>
<edit
name=″edUserName″type=″char″/>
</layout>
<layout?type=″flow″>
<label
name=″lblPassword″value=″Password:″/>
<edit
name=″ed?Password″type=″pwd″/>
</layout>
<button?name=″btnLogin″label=″Login″>
<event
type=″onClick″pblock=″ahLogin″param=″edUserName.vaXue″/>
</button>
</layout>
</wcScr>
<wcScr?name=″scrDelivery″title=″Please?provide?delivery
informatio?n″param=″User″>
<layout?type=″vertical″>
<layout?type=″flow″>
<label
name=″lblStreet″value=″Street:″/>
<edit
name=″street″mapping=″User.street″type=″char″/>
</layout>
<layout?type=″flow″>
<label
name=″lblCity′value=″City:″/>
<edit?name=″city″mapping=″User.
city″type=″char″/>
</layout>
<layout?type=″flow″>
<label
name=″lblPostalCode″value=″Postal?code:″/>
<edit
name=″postalCode″mapping=″User.postal″type=″char″/>
</layout>
<layout?type=″flow″>
<label
name=″lblPhone″value=″Telephone:″/>
<edit
name=″phone″mapping=″User.phone″type=″phone″/>
</layout>
<layout?type=″flow″>
<label?name=″lblDate″valua=″Date
of?delivery:″/>
<edit?name=″date″type=″date″/>
</layout>
</layout>
<menu>
<item?name=″sendOrder″label=″Send
Order″>
<action
pblock=″ahSendOrder″param=″User″/>
</item>
</menu>
</wcScr>
<wcScr?name=″scrOrderStatus″title=″Order
status″param=″Order″>
<layout?type=″vertical″param=″%″>
<layout?type=″flow″>
<label
name=″lblSpecialr″value=″Special:″/>
<label
name=″lblSpecialMapped″value=″@OrderO.special″/>
</layout>
<layout?type=″flow″>
<label
name=″lblConfNumber″value=″Confirmation?number:″/>
<label
name=″lblConfNumberMapped″value=″@Order0.orderStatus.
confNumber″/>
</layout>
<layout?type=″flow″>
<label
name=″lblStatus″value=″Status:″/>
<label
name=″lblStatusMapped″value=″@Ordero.orderStatus.status″/>
</layout>
<layout?type=″flow″>
<label
name=″lblConfDate″value=″Date?of?last?status?update:″/>
<label
name=″lblConfDateMapped″value=″@Order0.orderStatus.datetime″/
>
</layout>
<separator/>
</layout>
<menu>
<item?name=″continue″label=″Continue″>
<action?screen=″scrSpecials″/>
</item>
</menu>
<refresh>
<msg>inOrderStatus</msg>
</refresh>
</wcScr>
<wcScr?name=″scrOrdersList″title=″Previous?Orders″>
<layout?type=″vertical″>
<label?name=″lblInstructions″value=″Select
one?or?more?order:″/>
<choice
name=″mlOrderList″value=″@Order0.datetime+′-′+@Orders.special″
mapping=″Order0″type=″multiList″/>
</layout>
<menu>
<item?name=″viewOrder″label=′View?Order″
>
<action
screen=″scrOrderStatus″param=″mlOrder?List.selected″/>
</item>
</menu>
</wcScr>
<wcFlow>
<pblock?id=″chLoggedin″>
return?Application.authenticatedUser!=
null;
</pblock>
<pblock?id=″ahLogin″param=″User.name″>
if(User.passwordHash==Util.md5
(scrLogin.edPassword)){
Application.authenticatedUser=
User;
scrLogin.back();.
}else{
Dialog.display(″Invalid?login!″);
}
</pblock>
<pblock?id=″ahSendOrder″param=″User″>
Order.orderld=Util.guid();
Order.special=scrSpecials.slSpecials.
selected;
Order.user=User;
Order.datetime=scrDelivery.date;
OrderStatus.confNumber=Util.guid();
OrderStatus.status=″Sent.Pending
response.″;
OrderStatus.date=UtiLcurrentDate();
Order.orderStatus=OrderStatus;
outOrder.send();
scrOrderStatus.display(Order);
</pblock>
<pblock
id=″mhRemoveSpecial″param=″inRemoveSpecial″>
Special.desc=inRemoveSpecial.desc;
Special.delete();
</pblock>
</wcFlow>
</wcApp>
Fig. 5 is the process flow diagram of a method of expression, and this method is set up this wireless component applications 302, be used for subsequently through network 102,104 for device 100 communication.Also with reference to figure 3, this method is a starting point with the step 600 of creating this data package 400, defines for example user's and order data entity.This method continues with the step 602 of creating display module 402, is used to define the user interface section such as screen, button, menu and image.This method continues with the step 604 of creating message components 402, is used for definition and is sent to for example message format of the external system of the Web service on server 106 (referring to Fig. 1).Assembly 400,402,404 is represented with structured definition language, such as, but be not limited to representing with a structured definition language based on XML.This method finishes with step 606, attempts data package 400, display module 402 and message components 404 are lumped together with workflow component 406, so that the work performance of definition application 302.This workflow component 406 is by a series of instructions of writing, such as, but be not limited to above-mentioned ECMAScript.The method that makes up a wireless component applications 302 can comprise than step shown in Figure 5 still less or more step.
Referring to Fig. 1 and Fig. 6, show the mutual operation 800 between the Web service of device 100 and Web server.Web service receives the request message 105 (802) that these request unit 100 beginnings are communicated by letter with Web service.Web service uploads to device 100 (804) to the assembly 400,402,404,406 (if any one is arranged) of the component applications 302 that requires, so that be supported in Web service and install message exchange subsequently between 100.This device receives the component applications 302 of this transmission, and beginning provides this assembly 400,402,404,406 (806) by this runtime environment 206 (referring to Fig. 3), so that by producing that of this component applications 302 can carry out version and a Web client computer this device being configured to Web service.The user of device 100 is input to the user interface 202 of device 100 to data referring to Fig. 2) (808) (, be used for sending to subsequently Web service (810) as a request message 105 that is used to receive the Web service operation.This request message 105 is handled in this Web service, and sends the appropriate responsive message 105 (812) that comprises data, is used for output on user interface 202 subsequently.Device 100 receives the message 105 (814) that comprises these data, and the version carried out of this component applications 302 is suitably exported data on user interface 202.And according to above-mentioned, between device 100 and Web service, carry out exchanges data (816), or finish this exchange (818), and the version carried out of this component applications 302 quilt is according to expecting or being kept in the storer 210 (referring to Fig. 2) or deletion from runtime environment 206.
With reference to figure 1,3 and 7, for example when device 100 received the response message 105 (902) that comprises message data, operation 900 illustrated this suitable workflow component 406 compiles this message 105 according to these suitable message components 404 data content (904).Workflow component 406 is handled this data content (906) immediately, and these data are inserted into (910) in the corresponding data sets part 400, is used for subsequently the storage (912) at memory module 210 (referring to Fig. 2).And if necessary, this workflow component 406 also is inserted into data in this appropriate display assembly 402 (908), is used for the demonstration (914) on user interface 202 (referring to Fig. 2) subsequently.
Referring to Fig. 1,3 and 8, operating process (1000) illustrates the data inputs (1002) at an action, for example by next button or selected menu option, the user carries out these actions (1003) by this user interface 202 (referring to Fig. 2) on a user interface section.Workflow component 406 that should be relevant is explained this input data (1004) according to appropriate display assembly 404, and creates the data entity (1006) that is limited by proper data assembly 400.Workflow component 406 is filled this data package 400 (1010) with customer-furnished input data immediately, is used for subsequently the storage (1012) in this memory module 210 (referring to Fig. 2).And, this workflow component 406 also is inserted into these input data in this suitable message components 404 (1008), be used for message 105 these input data as data entity being sent to Web service signal input 105 (1014) subsequently, as definition by this message components 404.
Should be realized that, because not using whole programming languages, uses this component applications 302 for example the XML of more plain easy and the measured technology of ECMAScript on the contrary, so the component applications 302 that uses said method to create can be created than hard coded application program less time.This method can produce wherein the separated component applications 302 of definition of this user interface 202 and these data.This separation make any assembly 400,402,404,406 in this component applications 302 modification and do not influence and the material change of other assembly 400,402,404,406 that need be in this component applications 302, and therefore can help this component applications 302 maintenance, be included in the modification and the renewal of this component applications 302 on the device 100.
Fig. 9 is the block diagram of a double-mode mobile communication device 710, is the further example of the device 100 of Fig. 1 and 6.This double-mode mobile communication device 710 comprises: transceiver 711, microprocessor 738, display 722, flash memory 724, RAM storer 726, auxiliary I/O (I/O) device 728, serial port 730, keyboard 732, loudspeaker 734, microphone 736, short-range wireless communications sub-system 740, and can comprise other device subsystem 742.Transceiver 711 preferably includes: send and receiving antenna 716 and 718, receiver 712, transmitter 714, one or more local oscillator 713 and digital signal processor 720.In this flash memory 724, this double-mode mobile communication device 710 preferably includes a plurality of software module 724A-724N that can be carried out by microprocessor 738 (and/or DSP 720), comprises voice communications module 724A, data communication module 724B and is used to carry out a plurality of other operational module 724N of a plurality of other functions.
This double-mode mobile communication device 710 preferably has a bidirectional communication apparatus of voice and its communication ability.Therefore this double-mode mobile communication device 710 can be for example communicates through any speech network of for example analog or digital cellular network, and can pass through data network communications.With communication tower 719 voice and data network are shown among Fig. 9.These voice and data networks can be the communication networks that separates, and use the foundation structure of separating, and for example base station, network controller etc. maybe can be integrated into single wireless network.
This communication subsystem 711 is used to communicate by letter with this voice and data network 719, and comprises receiver 712, transmitter 714, one or more local oscillator 713, and also can comprise DSP 720.This DSP720 is used to the signal of transmitter 714 and receiver 712 is received and sends, and also is used for being provided to receiver 712 from transmitter 714 receiving control informations and control information.If this voice communications versus data communications occurs with single-frequency, or adjacent frequency configuration, then can be used in combination single local oscillator 713 with transmitter 714 and receiver 712.In addition, if what realize voice communication and corresponding data communication utilization is different frequency, then available a plurality of local oscillators 713 generations are corresponding to a plurality of frequencies of this voice and data network 719.Though what describe among Fig. 9 is two antennas 716,718, double-mode mobile communication device 710 can be used with the individual antenna structure.Communicate by letter with communication module 711 via the link between DSP 720 and microprocessor 738 and to comprise the information of voice-and-data information.The detailed design of communication subsystem 711, for example frequency band, assembly selection, power level etc. depend on the communication network 719 that wherein will operate double-mode mobile communication device 710.For example, wanting to operate in a double-mode mobile communication device 710 in the North America market can comprise and be designed to utilize Mobitex TMOr DataTAC TMA communication subsystem 711 of mobile data communication network work, and also can design one of any operation that utilizes multiple voice communication networks such as AMPS, TDMA, CDMA, PCS for example; Utilize wireless universal packet service (GPRS) data communication network and GSM voice communication network to operate and want to use device 710 to dispose in Europe.The separation of other type and integrated data and voice network can utilize this double-mode mobile communication device 710 too.
According to the type of single or several networks 719, require also may change for the access of this double-mode mobile communication device 710.For example, in Mobitex and DataTAC data network, use the unique identification number relevant that mobile device is registered on the network with each device.But in the GPRS data network, network insertion is relevant with the user of user or mobile device.The GPRS device requires a user's identification module (" SIM ") usually, requires this module to come operation double-mode mobile communication device on a GPRS network.Can operate this locality is non-network communicating function (if any), need not this SIM, but except the operation of any legal requirements, for example outside 911 urgent calls, a double-mode mobile communication device can not be carried out any communication function that relates to through data network 719.
At the network registry of finishing any requirement or after activating processing procedure, this double-mode mobile communication device 710 can pass through network 719 (or several network) transmission and receiving communication signal immediately, comprise the voice-and-data signal the two.Be routed to this receiver 712 by antenna 716 from the signal that communication network 719 receives, this receiver 712 provides signal amplification, down conversion, filtering, channel selection etc., and the analog digital conversion can be provided.The analog digital conversion of received signal realizes more complicated communication function, digital demodulation and the decoding of for example using DSP 720 to carry out.Handle the signal that will be sent to network 719 in a similar mode, this processing comprises by DSP 720 modulation and coding, and be provided to transmitter 714 immediately and be used for digital-to-analog conversion, up-conversion, filtering, amplification, and sent to communication network 719 (or several network) by antenna 718.Though showing single transceiver 711, Fig. 9 not only is used for voice communication but also be used for data communication, but this double-mode mobile communication device 710 might comprise two different transceivers, first transceiver is used for sending and received speech signal, and second transceiver is used to the signal that transmits and receive data.
Except handling this signal of communication, this DSP 720 also provides the control of receiver and transmitter.For example, the gain level that is added to the signal of communication of this receiver 712 and transmitter 714 can be controlled adaptively by the automatic gaining controling algorithm of carrying out among this DSP 720.Other transceiver control algolithm can also be carried out in DSP 720, so that the more complicated control of transceiver 711 is provided.
The overall operation of this double-mode mobile communication device 710 is preferably managed and controlled to microprocessor 738.The microprocessor of many types or microcontroller can be used in wherein, or other single DSP 720 can be used for carrying out the function of microprocessor 738.In transceiver 711, carry out and comprise that data and the rudimentary of voice communication are communicated by letter at least by DSP 720.In addition, for example the high level communication of voice communication application 724A is used and data communication application 724B can be stored in the flash memory 724 for microprocessor 738 execution.For example, this voice communications module 724A can provide a sophisticated user interface, can operate via this network 719 to send between double-mode mobile communication device 710 and a plurality of other voice device and the reception audio call.Similarly, this data communication module 724B may provide and can operate a sophisticated user interface that is used to transmit and receive data, and for example sends and receive for example data such as email message, file, manager data, short-text message via network 719 between this double-mode mobile communication device 710 and a plurality of other data set.In this double-mode mobile communication device 710, an aforesaid component framework structure 206 can also be performed as a software module or application program, or is attached among one of software module 724A-724N.
Microprocessor 738 also interacts with other double-mode mobile communication device subsystem, and for example display 722, flash memory 724, random-access memory (ram) 726, auxiliary I/O (I/O) subsystem 728, serial port 730, keyboard 732, loudspeaker 734, microphone 736, short-range communication subsystem 740 and any other are designated as 742 double-mode mobile communication device subsystem usually.
The function that some subsystem executive communication shown in Figure 9 is relevant, and other subsystem can provide executive resident or install function associated.It should be noted that, for example some subsystem of keyboard 732 and display 722 both can be used for the relevant function of communicating by letter, for example the text message that input is used to send through data communication network can be used for the device resident functions again, for example the function of computing machine or task list or other PDA types.
The operating system software that is used by microprocessor 738 preferably is stored in the long-time memory such as flash memory 724.Except this operating system of whole low order functions of control double-mode mobile communication device 710, flash memory 724 may comprise a plurality of high-level softwares application program or module, for example the software module 724N of voice communications module 724A, data communication module 724B, manager module (not illustrating) or any other type.Flash memory 724 also can be included as the file system of storage data.These modules are carried out by microprocessor 738, and are provided at the user of double-mode mobile communication device and a kind of advanced interface between the mobile device.The graphic assembly that provides by display 722 is be provided this interface, and the I/O assembly by assisting I/O728, keyboard 732, loudspeaker 734 and transmitter 736 to provide.This operating system, specifically double-mode mobile communication device software application program or module or its part can be encased in the volatile memory of RAM 726 for example temporarily, are used for operating quickly.And, the signal of communication that will receive for good and all be written to be arranged on long-time memory 724 before, the signal of communication of reception also can be by temporary to RAM726.
An exemplary application module 724N that can be loaded on the double-mode mobile communication device 710 is a kind of personal information manager (PIM) application program, and for example PDA function of calendar event, agreement and task items is provided.This module 724N also can be mutual with the voice communications module 724A of management of telephone call, voice mail etc., and can be used for that managing email is communicated by letter and the data communication module of other data transmission is mutual.In addition, voice communications module 724A all can be integrated in this PIM module with repertoire data communication module 724B.
This flash memory 724 preferably provides a kind of file system to provide, so that promote the storage of the pim data item on double-mode mobile communication device 710.This PIM application program preferably includes an ability that transmits and receive data by this wireless network 719, or itself or carry out the transmission and the reception of data item in conjunction with this voice communications versus data communications module 724A, 724B.The mirror-image system that be used for data item relevant with particular user created in the preferably and renewal seamlessly integrated, synchronous with one corresponding group data storage or that host computer system is relevant by wireless network 719 of pim data item by this.
This double-mode mobile communication device 710 can also be by placing this double-mode mobile communication device 710 and manually synchronous with a main system in an interface frame, this interface frame is coupled to the serial port 730 of this double-mode mobile communication device 710 serial port of this main system.This serial port 730 can also be used to make a user preference to be set by an external device (ED) or software application, or downloads other application module 724N that is used to install.This wired download path can be used to an encryption key is loaded on the double-mode mobile communication device 710, and this is than passing through the safer method of wireless network 719 exchange of encryption information.
In addition, can be loaded into application module 724N on this double-mode mobile communication device 710 by network 719, auxiliary I/O subsystem 728, serial port 730, short-range communication subsystem 740 or any other suitable subsystem 742, and be installed among flash memory 724 or the RAM 726 by the user.This dirigibility in application program is installed has increased the functional of double-mode mobile communication device 710, and can provide enhancing in apparatus function, communication-related functions or the two.For example, secure communication applications can make it possible to use double-mode mobile communication device 710 to carry out e-business capability and other this financial transaction.
When operating this dual mode device according to data communication mode, for example microprocessor 738 be handled and be provided to text message or web pages downloaded received signal will by transceiver 711, preferably further handle this received signal so that output to display 722, or also can output to an auxiliary I/O device 728.Though other form of the complete alphanumeric keyboard of for example known DVORAK form also can be used, the user of double-mode mobile communication device 710 can also utilize preferably the keyboard 732 of an alphanumeric keyboard of finishing of arranging with the QWERTY form to form for example data item of email message.The user who utilizes a plurality of auxiliary I/O devices 728 further to strengthen for double-mode mobile communication device 710 imports, and this auxiliary I/O device 728 can comprise finger wheel input media, touch pad, various switch, shake input switch etc.The data item of forming by this user's input can be sent by transceiver 711 through communication network 719 subsequently.
When this double-mode mobile communication device 710 is operated with voice communication mode, the whole operation of this double-mode mobile communication device 710 is substantially similar to this data pattern, just this received signal preferably is output to loudspeaker 734, and the voice signal that is used to send is to be produced by microphone 736.In addition, for example the voice of speech message recording subsystem or audio frequency I/O subsystem also can be carried out on this double-mode mobile communication device 710.Though preferably mainly realize the output of voice or sound signal by loudspeaker 734, also available display 722 provides calling party's sign, the duration of audio call or the indication of other voice call related.For example, this microprocessor 738 combines with voice communications module and operating system software, can detect the caller id information of an input audio call, and this audio call is presented on the display 722.
Double-mode mobile communication device 710 also comprises a short-range communication subsystem 740.For example, this short-range communication subsystem 740 can comprise an infrared facility and relevant circuit and element, or the short-range wireless communication module of bluetooth module or 802.11 modules for example, so that provide and the system of similar startup and communicating by letter of device.It should be appreciated by those skilled in the art that " bluetooth " and 802.11 is meant many groups standard that can obtain from Institute of Electrical and Electronics Engineers (IEEE) standard that relates separately to wireless personal area network and WLAN.
Though being disclosed in this and having described one or more example system and method for this instructions, personnel in the art are with obvious many as can be known variations, and this variation is within the application's scope.For example, though the subclass of XML and ECMAScript is used in this example that provides, the modification of available other Languages and language is come the definitions component application program.For example, the E4X standard script language of suggestion can be used to the position of ECMAScript.And other structured definition language except that above-mentioned XML can comprise such as, but be not limited to resource description framework structure (RDF), XSLT and XHTML.In addition, though this component applications is described as be in the application program of carrying out on the mobile communications device, component applications also can be carried out on other computer systems of the personal computer of for example radio configuration.

Claims (41)

1. one kind is carried out mutual method by mobile communications device through network and Web service, comprises step:
Send a request internet message that is used between Web service and this communicator, setting up communication to server;
At described mobile communications device place, respond this request internet message and receive a component applications that comprises a plurality of assemblies, first group of assembly has the meta-data descriptor of representing with structured definition language, the configuration information that is used for the definitions component application program, and second group of assembly is expressed as a series of directive scripts of being associated with meta-data descriptor, the workflow that is used for the definitions component application program, the runtime environment that these assemblies are arranged to by communicator provides, and can carry out version so that produce configuration as of this component applications of the client computer of Web service;
Wherein this execution that can carry out version is convenient to through subsequently the exchanges data of network between this Web service and this communicator.
2. according to the process of claim 1 wherein that this runtime environment provides this can carry out an interface of version for the processor of foundation structure of this communicator and the function of relevant operation system.
3. according to the method for claim 2, wherein this runtime environment is arranged to and realizes comprising following any ability: be provided for an internet message is sent to the communication of this Web service; Provide data, so that be provided for the data content of an internet message relevant with Web service by user's input of this device; Respond an internet message relevant data presentation is provided with this Web service; Data storage service is provided, is used for remaining on the native client machine data of a storer of this device; And/or be provided for the execution environment of a script, be used for coordinating can carry out the operation of the assembly of version at this.
4. according to the method for claim 2 or 3, wherein this runtime environment is configured to the part of this operating system.
5. according to the method for claim 2, further comprise step: after the response that receives network requests message, send an internet message from this communicator to this server, this internet message is according to structured definition language, being configured one of at least corresponding to this first group of assembly.
6. according to the method for claim 5, further comprise step: after this server sends internet message, handle this internet message, and send the response to network message that comprises according to these structured definition language formatted message data to this mobile communications device, this response to network message is arranged to and shows this message data subsequently on the user interface of this communicator.
7. according to the method for claim 2, further comprise step: after sending the request internet message to this server, a data assembly is included in first group of component definition that this mobile communications device place receives, and this data package is used to define the information of the data entity that description used by program and the form that is used for this information.
8. according to the method for claim 7, further comprise step: after sending the request internet message to this server, a message components is included in first group of component definition that this mobile communications device place receives, this message components is used to limit a form by the message of this program use, so that communicate by letter with this Web service through network.
9. method according to Claim 8, wherein this data package definition and message component definition are platform independences, so that adapt to various runtime environment.
10. according to Claim 8 or 9 method, further comprise step: after sending the request internet message to this server, a display module is included in first group of assembly that this mobile communications device place receives, and this display module is used to define the outward appearance of this component applications when component applications appears on the user interface of device.
11. according to the method for claim 10, environment was a platform-specific when wherein this display module was for various predetermined running.
12. according to the method for claim 10, wherein this structured definition language is based on extend markup language.
13. method according to claim 10, further comprise step: after sending the request internet message to this server, a workflow component is included in second group of assembly that this mobile communications device place receives, and this workflow component is used to be defined in the processing procedure that will occur when being carried out an operation by the regulation of one of first group of assembly.
14. according to the method for claim 13, a series of instructions that wherein are used for this workflow component are represented with object oriented programming languages.
15. according to the method for claim 13, a series of instructions that wherein are used for this workflow component are expressed as a script.
16. according to the method for claim 15, wherein this script is based on ECMAScript.
17. method according to claim 13, further comprise step: after the response that receives the request internet message, send by the user of this communicator and an internet message of the mutual initiation of user interface section to this server, this internet message comprises the data entity corresponding to this user interface section by the workflow component establishment.
18. according to the method for claim 17, wherein dispose this internet message, so that comprise data entity based on this structured definition language according to this message components.
19. method according to claim 18, further comprise step: after this server sends internet message, receive the response to network message that comprises the message data that relates to this data entity at this mobile communications device place, this response to network message is arranged to the demonstration of this message data on the user interface of this communicator subsequently.
20. according to the method for claim 19, wherein this message data is formatted according to this structured definition language.
21. a mobile communications device is arranged to through network and uses the version carried out of a component applications that comprises a plurality of assemblies and Web service to carry out alternately, this device comprises:
Be used to operate the device basic structure of this mobile device, this device basic structure comprises and is used to carry out this processor that can carry out version and relational storage;
Be coupled to the user interface of this device basic structure, this user interface has to be arranged to this can carry out input media and the output unit that version is communicated by letter;
A transceiver is coupled to this device basic structure and is arranged to and this network service; And
A runtime environment, be used for the processing components application program and can carry out version to produce this, so that the client computer of this device configuration as Web service, this runtime environment is arranged to second group of assembly handling a series of directive scripts that have first group of assembly of the meta-data descriptor of representing with structured definition language and be expressed as being associated with meta-data descriptor, described first group of assembly is used for the configuration information of definitions component application program, and described second group of assembly is used for the workflow of definitions component application program;
Wherein this execution that can carry out version is convenient to through subsequently the exchanges data of network between this Web service and this communicator.
22. according to the mobile communications device of claim 21, wherein this runtime environment provides this can carry out an interface of version for the processor of a foundation structure of this communicator and the function of relevant operation system.
23. according to the mobile communications device of claim 22, wherein this runtime environment is arranged to and realizes comprising following any ability: be provided for an internet message is sent to the communication of this Web service; Provide data, so that be provided for the data content of an internet message relevant with Web service by user's input of this device; Respond an internet message relevant data presentation is provided with this Web service; Data storage service is provided, is used for remaining on the native client machine data of a storer of this device; And/or be provided for the execution environment of a script, be used for coordinating can carry out the operation of the assembly of version at this.
24. according to the mobile communications device of claim 22 or 23, wherein this runtime environment is configured to the part of this operating system.
25. according to the mobile communications device of claim 22, wherein this can be carried out version and is arranged to an internet message is sent to this Web service, according to structured definition language, corresponding to one of at least this internet message of configuration of this first group of assembly.
26. mobile communications device according to claim 24, wherein this can be carried out version and be arranged to the response to network message of reception corresponding to this internet message, this response to network message is used to comprise according to this structured definition language and the formatted message data that this response to network message is arranged to and shows this message subsequently on the user interface of this communicator.
27. the mobile communications device according to claim 22 also comprises: a data assembly in first group of component definition, this data package are used to define description by the information of the data entity of this program use and the form that is used for this information.
28. the mobile communications device according to claim 27 also comprises: a message components in first group of component definition, this message components are used to limit a form by the message of this program use, so that communicate by letter with this Web service through network.
29. according to the mobile communications device of claim 28, wherein this data package definition and message component definition are platform independences, so that adapt to various runtime environment.
30. the mobile communications device according to claim 28 or 29 also comprises: the outward appearance of this component applications when display module in first group of assembly, this display module are used to be defined on this user interface that component applications appears at device.
31. according to the mobile communications device of claim 29, environment was a platform-specific when wherein this display module was for various predetermined running.
32. according to the mobile communications device of claim 30, wherein this structured definition language is based on extend markup language.
33. the mobile communications device according to claim 30 also comprises: a workflow component in this second group of assembly, this workflow component are used to be defined in will be according to carried out a processing procedure that occurs when operating by the regulation of one of first group of assembly.
34. according to the mobile communications device of claim 33, this series of instructions that wherein is used for this workflow component is represented as an object oriented programming languages.
35. according to the mobile communications device of claim 33, the instruction sequence that wherein is used for this workflow component is expressed as script.
36. according to the mobile communications device of claim 35, wherein this script is based on ECMAScript.
37. mobile communications device according to claim 33, wherein this can be carried out version and be arranged to the internet message of transmission by the mutual initiation of the user of communicator and user interface section, and this internet message comprises the data entity of being created by workflow component corresponding to this user interface section.
38. according to the mobile communications device of claim 37, wherein dispose this internet message, so that comprise data entity based on this structured definition language according to this message components.
39. mobile communications device according to claim 38, wherein this can be carried out version and be arranged to the response to network message that reception comprises the message data that relates to this data entity, and this response to network message is arranged to and shows this message subsequently on the user interface of this communicator.
40. according to the mobile communications device of claim 39, wherein this message data is formatted according to this structured definition language.
41. a server, being arranged to provides Web service, so that carry out alternately through network and a mobile communications device, this server comprises:
A network interface is used to receive a request internet message, so that set up communication between Web service and communicator;
Processor is coupled with described network interface, and being used to provides:
Be used to respond the component application interface routine that this request internet message sends a component applications, this component applications comprises a plurality of assemblies, first group of assembly has the meta-data descriptor of representing with a kind of structured definition language, the configuration information that is used for the definitions component application program, and second group of assembly is expressed as a series of directive scripts of being associated with meta-data descriptor, the workflow that is used for the definitions component application program, the runtime environment that these assemblies are arranged to by this communicator provides, and can carry out version so that produce that this device is disposed as this component applications of the client computer of Web service;
Wherein this execution that can carry out version is convenient to through subsequently the exchanges data of network between this Web service and this communicator.
CNB2003801099917A 2002-12-26 2003-12-24 System and method of building wireless component applications Expired - Lifetime CN100456247C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US43601102P 2002-12-26 2002-12-26
US60/436,011 2002-12-26
US60/503,706 2003-09-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2009100013373A Division CN101453491B (en) 2002-12-26 2003-12-24 System and method for building application program of assembly

Publications (2)

Publication Number Publication Date
CN1757014A CN1757014A (en) 2006-04-05
CN100456247C true CN100456247C (en) 2009-01-28

Family

ID=36689399

Family Applications (3)

Application Number Title Priority Date Filing Date
CNB2003801099917A Expired - Lifetime CN100456247C (en) 2002-12-26 2003-12-24 System and method of building wireless component applications
CN2009100013373A Expired - Lifetime CN101453491B (en) 2002-12-26 2003-12-24 System and method for building application program of assembly
CN200380109992.1A Expired - Lifetime CN1757015B (en) 2002-12-26 2003-12-24 System and method for building and execution of platform-neutral generic services client applications

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN2009100013373A Expired - Lifetime CN101453491B (en) 2002-12-26 2003-12-24 System and method for building application program of assembly
CN200380109992.1A Expired - Lifetime CN1757015B (en) 2002-12-26 2003-12-24 System and method for building and execution of platform-neutral generic services client applications

Country Status (1)

Country Link
CN (3) CN100456247C (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102198229B1 (en) * 2014-09-19 2021-01-04 콘비다 와이어리스, 엘엘씨 Service layer session migration and sharing
EP3486772A1 (en) 2017-11-16 2019-05-22 Siemens Aktiengesellschaft Method for reciprocally integrating applications in an industrial program-control system
CN110020307B (en) * 2017-11-30 2023-06-13 阿里巴巴集团控股有限公司 Drawing method and device for client end view

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266666B1 (en) * 1997-09-08 2001-07-24 Sybase, Inc. Component transaction server for developing and deploying transaction- intensive business applications
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
WO2002025412A1 (en) * 2000-09-21 2002-03-28 Ec-One, Inc. Component service network system
WO2002033539A2 (en) * 2000-10-19 2002-04-25 International Business Machines Corporation Realtime configuration updates and software distribution to active client positions
WO2002075573A1 (en) * 2001-03-19 2002-09-26 Microsoft Corporation System and method for communications management and data exchange

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69940027D1 (en) * 1998-12-16 2009-01-15 Nokia Siemens Networks Gmbh SERVICE SYSTEM IN A NETWORK
WO2000046719A2 (en) * 1999-02-03 2000-08-10 Onesoft Corporation Financial modeling in a modular system and method for processing transactions
CN1271893C (en) * 2001-11-27 2006-08-23 台达电子工业股份有限公司 Electronic ballast circuit with function of correcting power factor and load current amplitude factor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266666B1 (en) * 1997-09-08 2001-07-24 Sybase, Inc. Component transaction server for developing and deploying transaction- intensive business applications
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
WO2002025412A1 (en) * 2000-09-21 2002-03-28 Ec-One, Inc. Component service network system
WO2002033539A2 (en) * 2000-10-19 2002-04-25 International Business Machines Corporation Realtime configuration updates and software distribution to active client positions
WO2002075573A1 (en) * 2001-03-19 2002-09-26 Microsoft Corporation System and method for communications management and data exchange

Also Published As

Publication number Publication date
CN1757015B (en) 2010-11-10
CN101453491A (en) 2009-06-10
CN1757015A (en) 2006-04-05
CN101453491B (en) 2012-07-18
CN1757014A (en) 2006-04-05

Similar Documents

Publication Publication Date Title
CN1757216B (en) System and method of creating and communicating with component based wireless applications
KR100826147B1 (en) System and method of building wireless component applications
US7555538B2 (en) System and method for building and execution of platform-neutral generic services&#39; client applications
CN101473675B (en) Virtualization of mobile device user experience
CN100456247C (en) System and method of building wireless component applications
KR20120032265A (en) Method, terminal, server and computer-readable recording medium for supporting management of rss document on mobile browser

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20090128