[go: up one dir, main page]

CN1757015B - Systems and methods for building and executing platform-neutral common service client applications - Google Patents

Systems and methods for building and executing platform-neutral common service client applications Download PDF

Info

Publication number
CN1757015B
CN1757015B CN200380109992.1A CN200380109992A CN1757015B CN 1757015 B CN1757015 B CN 1757015B CN 200380109992 A CN200380109992 A CN 200380109992A CN 1757015 B CN1757015 B CN 1757015B
Authority
CN
China
Prior art keywords
data
end device
message
component
service
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
CN200380109992.1A
Other languages
Chinese (zh)
Other versions
CN1757015A (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
Priority claimed from PCT/CA2003/001976 external-priority patent/WO2004059938A2/en
Publication of CN1757015A publication Critical patent/CN1757015A/en
Application granted granted Critical
Publication of CN1757015B publication Critical patent/CN1757015B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

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

用于建立和执行平台-中性的普通服务客户应用程序的系统和方法 Systems and methods for building and executing platform-neutral common service client applications

技术领域technical field

本申请涉及经过网络对一个装置的服务通信。This application relates to service communication to a device via a network.

背景技术Background technique

当今使用的终端设备的数目不断增加,例如移动电话、具有无线通信能力的PDA、个人计算机、自助式音乐台和双向寻呼机。运行在这些装置上的软件应用程序增加了它们的实用性。例如,一部移动电话可以包括检取用于一个城市范围的气候的应用程序,或一个PDA可以包括使得使用者购置杂货的应用程序。这些软件应用程序利用对于网络的连接来为使用者提供及时和有用的服务。但是,由于某些装置的局限资源以及对装置提供大量数据的复杂性,开发用于各种装置的软件应用程序依然是艰难和耗时的任务。The number of terminal devices in use today is constantly increasing, such as mobile phones, PDAs with wireless communication capabilities, personal computers, kiosks and two-way pagers. Software applications running on these devices increase their usefulness. For example, a mobile phone may include an application to retrieve the weather for a city-wide, or a PDA may include an application to enable the user to shop for groceries. These software applications utilize connections to networks to provide timely and useful services to users. However, developing software applications for various devices remains a difficult and time-consuming task due to the limited resources of some devices and the complexity of providing large amounts of data to the devices.

当前,装置被配置用于通过基于互联网的浏览器和/或本机应用程序与Web服务通信。浏览器具有能适于在跨平台基础上针对各种不同装置操作的优点,但缺点是从网络服务请求页面(HTML屏幕清晰度),这种缺点将妨碍包括在该屏幕中的数据的持续性。浏览器的另一缺点是该屏幕在运行时间呈现,这将会是资源的严重占用。本机应用程序具有针对装置平台的类型专门开发的优点,从而提供针对每一个运行环境的相对优化的应用程序。但是,本机应用程序具有的缺点是它不是独立的平台,因而需要开发同一个应用程序的多个版本,以及在规模上相对大,因而重耗了装置的存储器资源。而且,应用程序的开发人需要具有例如Java和C++的程序设计语言的经验来构建这些硬编码的本机应用程序。因此需要具有对于能运行在具有各种运行环境的客户机上、又具有降低的装置资源消耗的应用程序。Currently, devices are configured to communicate with Web services through Internet-based browsers and/or native applications. The browser has the advantage of being adapted to operate on a cross-platform basis for various devices, but has the disadvantage of requesting pages from web services (HTML screen resolution), which will prevent the persistence of the data included in this screen . Another disadvantage of browsers is that the screen is rendered at runtime, which can be a heavy hog of resources. Native applications have the advantage of being specially developed for the type of device platform, thereby providing relatively optimized applications for each operating environment. However, a native application has the disadvantage that it is not platform independent, thus requiring the development of multiple versions of the same application, and relatively large in scale, thereby consuming memory resources of the device. Also, developers of applications need experience with programming languages such as Java and C++ to build these hard-coded native applications. It is therefore desirable to have applications that are capable of running on clients with various operating environments, yet have reduced device resource consumption.

在此公开的系统和方法提供了一个基于组件的应用环境,以便克服或至少在一定程度上减轻上述的缺点。The systems and methods disclosed herein provide a component-based application environment to overcome, or at least mitigate to some extent, the above-mentioned disadvantages.

发明内容Contents of the invention

当前的应用程序不能适应于运行在具有各种运行环境的客户机上,并且会不希望地消耗太多的装置资源。浏览器是一个应用程序,具有从一Web服务请求页面(HTML的屏幕清晰度)的一个缺点,这种缺点妨碍了该屏幕中包括的数据的持续性。浏览器的另一缺点是该屏幕在运行时间呈现,这将会是资源的严重占用。本机应用程序是当前应用程序的另一实例,具有的缺点是它不是独立的操作平台,从而需要开发同一个应用程序的多个版本,以及在规模上相对大,从而重耗了装置的存储器资源。与当前应用程序相反,提供一个系统,通过组件应用程序建立并执行平台中性类属规划限定的服务。该系统包括在装置上执行的组件应用程序,这些组件应用程序通过例如互联网的网络与网络服务通信。该组件应用程序包括一个或多个数据组件、显示组件、和/或消息组件,这些组件应用程序以例如XML代码的结构化定义语言写成。该组件应用程序可以进一步包括工作流组件,该工作流组件包括一系列例如以ECMAScript子集写成的指令,并且在某些实施方案中可被嵌入在XML代码中。还提供了一种建造组件应用程序的方法。该方法包括步骤:生成数据组件、产生显示组件、以及创建消息组件。该数据组件、显示组件和消息组件可以用诸如XML的一种结构化定义语言写成。本方法还包括步骤:把该数据组件、显示组件和消息组件与工作流组件系在一起写成例如ECMAScript或ECMAScript的一个子集的脚本语言。Current applications are not adapted to run on clients with various operating environments and would undesirably consume too many device resources. A browser is an application that has a drawback of requesting a page (screen resolution of HTML) from a Web service, which prevents the persistence of the data contained in the screen. Another disadvantage of browsers is that the screen is rendered at runtime, which can be a heavy hog of resources. A native application is another example of a current application, and has the disadvantage that it is not an independent operating platform, thus requiring the development of multiple versions of the same application, and relatively large in size, thereby consuming the memory of the device resource. Contrary to current applications, provide a system for building and executing services defined by a platform-neutral class plan through component applications. The system includes component applications executing on devices that communicate with web services over a network, such as the Internet. The component application includes one or more data components, display components, and/or message components written in a structured definition language such as XML code. The component application may further include a workflow component comprising a series of instructions written, for example, in a subset of ECMAScript, and in some embodiments may be embedded in XML code. A method of building component applications is also provided. The method includes the steps of: generating data components, generating display components, and creating message components. The data component, display component and message component can be written in a structured definition language such as XML. The method also includes the step of tying the data component, display component and message component together with the workflow component in a scripting language such as ECMAScript or a subset of ECMAScript.

本发明提供了一种方法,借助终端装置而经过网络与规划限定的服务进行交互。该方法包括步骤:接收用于在服务和装置之间建立通信的一个请求网络消息;响应该请求网络消息发送包括多个组件的一个组件应用程序,第一组组件具有以结构化定义语言表示的描述符而第二组组件被表示成一系列指令,这些组件被配置用于借助装置的运行时环境进行提供,以便产生将该装置配置作为服务的客户机的该组件应用程序的一个可执行版本;其中该可执行版本的执行提供用于经过网络在服务和装置之间的随后的信息交换。The invention provides a method for interacting with planning-defined services via a network by means of a terminal device. The method includes the steps of: receiving a request network message for establishing communication between the service and the device; sending a component application program including a plurality of components in response to the request network message, a first set of components having a structured definition language descriptors and a second set of components represented as a series of instructions configured to be provided by the runtime environment of the device to produce an executable version of the component application that configures the device as a client of the service; Wherein execution of the executable version provides for subsequent exchange of information between the service and the device over the network.

进一步公开了一种终端装置,被配置用于经过网络使用包括多个组件的一个组件应用程序的可执行版本与基于规划的服务进行交互。该装置包括:一个用于操作该装置的装置基础结构,该装置基础结构包括用于执行该可执行版本的一个处理器和相关存储器;耦合到该装置基础结构的一个用户接口,该用户接口具有被配置用于与该可执行版本通信的一个输入装置和一个输出装置、耦合到该装置基础结构并且被配置用于与该网络通信的一种网络连接接口;以及一个运行时环境,用于协调该可执行版本的执行,以便把该装置配置作为服务的客户机,该运行时环境被配置用于与具有以结构化定义语言表示的描述符的第一组组件以及表示成一系列指令的第二组组件交互;其中该可执行版本的执行提供用于经过网络在服务和装置之间的随后的信息交换。Further disclosed is a terminal device configured to interact with a program-based service via a network using an executable version of a component application comprising a plurality of components. The device includes: a device infrastructure for operating the device, the device infrastructure including a processor and associated memory for executing the executable version; a user interface coupled to the device infrastructure, the user interface having an input device and an output device configured to communicate with the executable version, a network connection interface coupled to the device infrastructure and configured to communicate with the network; and a runtime environment for coordinating Execution of the executable version to configure the device as a client of a service, the runtime environment is configured for use with a first set of components having descriptors expressed in a structured definition language and a second set of components expressed as a series of instructions Group components interact; wherein execution of the executable version provides for subsequent exchange of information between the service and the device over the network.

还提供一种计算机程序产品,用于配置一个终端装置,以便使用包括多个组件的一个组件应用程序的可执行版本而经过网络与一个基于规划的服务进行交互。这种计算机程序产品包括:一个计算机可读介质;存储在该计算机可读介质上的运行时环境模块,用于协调该可执行版本的执行,以便把该装置配置作为服务的客户机,该运行时环境被配置用于与具有以结构化定义语言表示的描述符的第一组组件以及表示成一系列指令的第二组组件交互;其中该可执行版本的执行提供用于经过网络在服务和装置之间的随后的信息交换。A computer program product is also provided for configuring a terminal device to interact with a program-based service over a network using an executable version of a component application comprising a plurality of components. Such a computer program product includes: a computer-readable medium; a runtime environment module stored on the computer-readable medium for coordinating the execution of the executable version to configure the device as a client of a service, the runtime The runtime environment is configured for interacting with a first set of components having descriptors expressed in a structured definition language and a second set of components expressed as a series of instructions; wherein execution of the executable version provides for communication between services and devices over a network subsequent exchange of information.

另外公开了一个服务器,被配置用于提供基于规划的服务,以便经过网络与一个终端装置进行交互。该服务器包括:一个网络接口,用于接收一个网络请求消息,以便在该服务和该装置之间建立通信;耦合到该网络接口用于响应该请求网络消息进行发送的一个组件应用程序,该组件应用程序包括多个组件,第一组组件具有以一种结构化定义语言表示的描述符,而第二组组件被表示成一系列指令,这些组件被配置用于借助该装置的运行时环境进行提供,以便产生把该装置配置作为服务的客户机的该组件应用程序的一个可执行版本;其中该可执行版本的执行提供用于经过网络在服务和装置之间的随后的信息交换。In addition, a server is disclosed which is configured to provide a plan-based service for interacting with an end device via a network. The server includes: a network interface for receiving a network request message to establish communication between the service and the device; a component application coupled to the network interface for sending a network request message in response to the request, the component The application program comprises a plurality of components, a first set of components having descriptors expressed in a structured definition language and a second set of components expressed as a series of instructions configured to provide to generate an executable version of the component application that configures the device as a client of the service; wherein execution of the executable version provides for subsequent information exchange between the service and the device over the network.

还公开了一种终端装置,被配置用于经过网络使用包括多个组件的一个组件应用程序的可执行版本与基于规划的服务进行交互。该装置包括:一个基础结构装置,用于操作该装置来执行该可执行版本;一个用户接口装置,耦合到该基础结构装置而配置来用于与该可执行版本通信;一个网络接口,耦合到该装置基础结构并且被配置用于与该网络通信;以及一个运行时间装置,用于协调该可执行版本的执行,以便把该装置配置作为服务的客户机,该运行时间装置被配置用于与具有以结构化定义语言表示的描述符的第一组组件以及表示成一系列指令的第二组组件交互;其中该可执行版本的执行提供用于经过网络在服务和装置之间的随后的信息交换。Also disclosed is a terminal device configured to interact with a program-based service via a network using an executable version of a component application comprising a plurality of components. The device includes: an infrastructure device for operating the device to execute the executable version; a user interface device coupled to the infrastructure device configured to communicate with the executable version; a network interface coupled to the device infrastructure and is configured to communicate with the network; and a runtime device for coordinating the execution of the executable version to configure the device as a client of the service, the runtime device being configured for communicating with the A first set of components having descriptors expressed in a structured definition language interacts with a second set of components expressed as a series of instructions; wherein execution of the executable version provides for subsequent exchange of information between services and devices over a network .

附图说明Description of drawings

在下面参考附图作出的详细描述中,这些和其它特点将变得显见,其中:These and other features will become apparent from the following detailed description, made with reference to the accompanying drawings, in which:

图1是一个网络系统的框图;Fig. 1 is a block diagram of a network system;

图2是图1的一个类属终端装置的方框图;Fig. 2 is a block diagram of a generic terminal device of Fig. 1;

图3是图2装置的组件框架结构的框图;Fig. 3 is the block diagram of the component frame structure of Fig. 2 device;

图4是图2的一个组件应用程序的方框图;Figure 4 is a block diagram of a component application of Figure 2;

图4a示出用于图1系统的代表性的应用程序包和主控模型的示意图;Figure 4a shows a schematic diagram of a representative application package and master control model for the system of Figure 1;

图4b是图1装置的客户机运行时间的一模型;Figure 4b is a model of the client runtime of the device of Figure 1;

图5是表示建立图4的无线组件应用程序的一个方法的流程图;FIG. 5 is a flowchart illustrating a method of building the wireless component application of FIG. 4;

图6是用于在图1的装置和规划限定的服务之间进行通信的一个方法的流程图;FIG. 6 is a flowchart of a method for communicating between the apparatus of FIG. 1 and plan-defined services;

图7示出实现图4的组件应用程序的一个实例方法;Figure 7 illustrates an example method for implementing the component application of Figure 4;

图8示出实现图4的组件应用程序的另外一个实例方法;和Figure 8 illustrates another example method for implementing the component application of Figure 4; and

图9是图1装置的另一示例的框图。FIG. 9 is a block diagram of another example of the apparatus of FIG. 1 .

具体的实施方式specific implementation

网络系统Network Systems

参考图1,网络系统10包括多个类属的终端装置100,经由一个耦合的广域网(WAN)104,例如但不局限于互联网络与由网络服务器106提供的一个或者多个类属的规划限定的服务交互。这些类属的终端设备100可以是但不局限于例如个人计算机116、无线装置101、PDA、自助信息台等。由服务器106提供的普通服务可以是Web服务和/或其它服务,例如但不局限于SQL数据库、基于IDL的CORBA和RMI/IIOP系统、传统数据库、J2EE、SAP RFC和COM/DCOM组件。另外,该系统10还可以具有网关服务器112,用于将桌面终端116经由局域网(LAN)114连接到服务器106。而且,系统10还具有用于把无线装置101连接到WAN 104的一个无线网络102。可以认识到,其它装置和计算机(没示出)可以经过除图1所示以外的WAN 104和相关网络连接到Web服务器106。为了简化起见,下文中把类属的终端设备100、无线装置101和个人计算机116称作装置100。为了简单起见,选择Web服务用于系统10的下列描述。但是可以认识到,如果期望的话,其它类属规划限定的服务可以替代该Web服务。而且为了简化起见,系统10的网络102、104、112此后将称为网络104。Referring to FIG. 1 , a network system 10 includes a plurality of generic terminal devices 100, via a coupled wide area network (WAN) 104, such as but not limited to the Internet and defined by one or more generic programs provided by a web server 106. service interaction. These types of terminal devices 100 may be, but not limited to, eg, personal computers 116, wireless devices 101, PDAs, self-service kiosks, and the like. Common services provided by server 106 may be web services and/or other services such as, but not limited to, SQL databases, IDL-based CORBA and RMI/IIOP systems, legacy databases, J2EE, SAP RFC, and COM/DCOM components. In addition, the system 10 may also have a gateway server 112 for connecting desktop terminals 116 to the server 106 via a local area network (LAN) 114 . Furthermore, the system 10 also has a wireless network 102 for connecting the wireless device 101 to the WAN 104. It can be appreciated that other devices and computers (not shown) may be connected to Web server 106 via WAN 104 and related networks other than those shown in FIG. 1 . For simplicity, the generic terminal device 100 , wireless device 101 and personal computer 116 are referred to as device 100 hereinafter. For simplicity, Web services are chosen for the following description of system 10 . It will be appreciated, however, that other generic plan-defined services could be substituted for the Web service, if desired. Also for simplicity, the networks 102 , 104 , 112 of the system 10 will be referred to as the network 104 hereafter.

再参考图1,当与服务器106的Web服务通信时,装置100分别地发送与接收请求/响应消息105。通过使用消息标题信息形式的请求/响应消息105以及相关的数据内容,该装置100能操作为该Web服务的Web客户机,例如从在线商人请求和接收产品报价和有效性。Web服务是系统的一个实例,客户应用程序302(参见图2)利用该服务在通信装置100上通过无线网络104交互,以便提供工具给通信装置100的用户。在通信装置100和Web服务之间发送的消息105能够完成(traverse)一个消息映射服务(没示出),该消息映射服务在由装置100和Web服务使用的不同格式之间转换该信息105。Referring again to FIG. 1, when communicating with the Web service of the server 106, the device 100 sends and receives request/response messages 105, respectively. Using the request/response message 105 in the form of message header information and associated data content, the device 100 can operate as a Web client for the Web service, such as requesting and receiving product offers and availability from an online merchant. A web service is an example of a system by which client application 302 (see FIG. 2 ) interacts on communication device 100 over wireless network 104 to provide tools to a user of communication device 100 . Messages 105 sent between the communication device 100 and the Web service can traverse a message mapping service (not shown) that converts the information 105 between the different formats used by the device 100 and the Web service.

为了满足适当的请求/响应消息105,Web服务器106能够通过各种协议(例如但不局限于HTTP和组件API)与一个应用服务器110通信,以便向已经提供在装置100上的客户应用程序302(参见图2)表明相关的商业逻辑(方法)。该应用服务器110也可以包括Web服务器106软件,使得该Web服务器106能够被考虑是该应用服务器110的一个子集。类似于调用关于一个对象的一种方法(或一个功能),装置100的应用程序302能够使用应用服务器110的商业逻辑。应该认识到,能够通过该消息105而经由网络104把涉及应用服务器110的客户应用程序302直接下载/上载到装置100。应该进一步认识到,装置100可以通过网络104与一个或多个Web服务器106和相关的应用服务器110通信。也应该认识到,装置100能够直接耦合到应用服务器110,从而按照期望旁路该Web服务器106。In order to satisfy the appropriate request/response message 105, the Web server 106 can communicate with an application server 110 via various protocols (such as but not limited to HTTP and component API) in order to provide information to the client application 302 already provided on the device 100 ( See Figure 2) to show the associated business logic (method). The application server 110 may also include web server 106 software such that the web server 106 can be considered a subset of the application server 110 . Similar to invoking a method (or a function) on an object, the application 302 of the device 100 can use the business logic of the application server 110 . It should be appreciated that the client application 302 involving the application server 110 can be downloaded/uploaded directly to the device 100 via the network 104 through this message 105 . It should further be appreciated that the device 100 may communicate with one or more web servers 106 and associated application servers 110 over the network 104 . It should also be appreciated that the apparatus 100 can be coupled directly to the application server 110, thereby bypassing the Web server 106 as desired.

服务器环境server environment

参考图1,Web服务器106提供信息消息105,该信息消息105在装置100上由该客户应用程序302(参见图2)使用。另外或作为一种选择,Web服务器106可以接收并且使用由在该装置100上执行的该客户应用程序302提供的信息消息105,或代表在装置100上执行的客户应用程序302来执行任务。Web服务可被定义为Web服务器106的一个软件服务,该Web服务可以实现例如使用注册在通用发现描述和集成(UDDI)中的Web服务描述语言(WSDL)表示的一个接口,并且能够通过消息105与通过例如简单对象访问协议(SOAP)的适当协议在互联网络104上表述的客户装置100通信。在某些实施方案中,SOAP是定义用于该消息105的XML格式的一个规范,包括以SOAP组件包装的一个良好形成的XML片段。SOAP的其它部分规定了如何把程序数据表示为XML以及如何使用SOAP实现远程处理过程调用(RPC)。这些可选的SOAP部分被用于实现RPC形式的应用程序,其中从该客户装置100发送包括一个可调用功能以及要传送到该功能的参数的SOAP请求消息105,并且该服务器106利用该执行的功能的结果应答该响应消息105。SOAP还支持文件形式应用程序,其中该SOAP信息105是围绕XML文件的一个封装函数。SOAP另一个可选部分定义HTTP约束(即标题),其中某些SOAP实施方案支持MSMQ、MQ系列、SMTP或TCP/IP转送协议。另外,该Web服务可以使用其它已知通信协议、消息105格式,并且该接口可以用不同于上述的web服务语言来表达。Referring to FIG. 1, the Web server 106 provides an information message 105, which is consumed on the device 100 by the client application 302 (see FIG. 2). Additionally or alternatively, Web server 106 may receive and use information messages 105 provided by, or perform tasks on behalf of, client application 302 executing on device 100 . A Web service can be defined as a software service of a Web server 106 that implements an interface expressed, for example, using the Web Services Description Language (WSDL) registered in the Universal Discovery Description and Integration (UDDI), and that can communicate via a message 105 Communicates with client device 100 expressed over Internet network 104 through a suitable protocol such as Simple Object Access Protocol (SOAP). In some embodiments, SOAP is a specification that defines the XML format for the message 105, comprising a well-formed XML fragment wrapped in a SOAP component. Other parts of SOAP specify how to represent program data as XML and how to implement remote procedure calls (RPC) using SOAP. These optional SOAP parts are used to implement RPC-style applications where a SOAP request message 105 is sent from the client device 100 including a callable function and the parameters to be passed to the function, and the server 106 utilizes the executed The response message 105 is answered by the result of the function. SOAP also supports document form applications, where the SOAP message 105 is a wrapper function around an XML document. Another optional part of SOAP defines HTTP constraints (ie headers), some of which SOAP implementations support MSMQ, MQ series, SMTP or TCP/IP transfer protocols. Additionally, the web service may use other known communication protocols, message 105 formats, and the interface may be expressed in web service languages other than those described above.

通常,Web服务的出现是作为基于传统浏览器的一个替换和客户机-服务器TCP/IP连接的基础结构和应用程序。本来开始作为一种类属的机器-机器(M2M)通信协议,Web服务正在变成一种用于任何服务-服务(S2S)或服务-用户(S2C)通信的标准。根据一组标准协议(例如WSDL、SOAP、UDDI),Web服务能够提供例如基于XML的平台中性(platform neutral)通信渠道,能够支持同步和/或异步传递消息105。图1的系统10最好与该S2C模型相关,并且涉及从某些普通终端装置100操作Web服务的用户。因此,装置100的用户经过网络104利用由服务器106提供的服务。Typically, Web services emerge as an alternative to traditional browser-based and client-server TCP/IP connections for infrastructure and applications. Originally started as a generic machine-to-machine (M2M) communication protocol, Web services are becoming a standard for any service-to-service (S2S) or service-to-consumer (S2C) communication. Web services can provide eg XML-based platform neutral communication channels, capable of supporting synchronous and/or asynchronous delivery of messages 105, according to a set of standard protocols (eg WSDL, SOAP, UDDI). The system 10 of FIG. 1 is preferably related to this S2C model and involves a user operating a Web service from some common terminal device 100 . Thus, the user of the device 100 utilizes the services provided by the server 106 via the network 104 .

客户机环境client environment

参考图2,组件应用程序302通过网络104发送并且装入该装置100的装置基础结构204的存储器模块210。另外,组件应用程序302可以经由一个串行连接、USB连接、或例如IR、802.11(x)BluetoothTM的短程无线通信系统(没示出)加载。一旦加载到装置100,该组件应用程序302可由装置100上的组件框架结构206执行,组件框架结构206把组件应用程序302转换成本机代码,由该装置基础结构204中的处理器208执行该本机代码。另外,该组件应用程序302可被作为本机代码执行,或由装置100上的其它软件模块或操作系统编译。在任何情况下,该组件应用程序都在由装置100提供的终端运行时环境中运行。Referring to FIG. 2 , the component application 302 is sent over the network 104 and loaded into the memory module 210 of the device infrastructure 204 of the device 100 . Additionally, component application 302 may be loaded via a serial connection, USB connection, or short-range wireless communication system (not shown) such as IR, 802.11(x) Bluetooth (TM ). Once loaded into the device 100, the component application 302 is executable by the component framework 206 on the device 100, which converts the component application 302 into native code for execution by the processor 208 in the device infrastructure 204. machine code. Additionally, the component application 302 may be executed as native code, or compiled by other software modules or an operating system on the device 100 . In any case, the component application runs in the terminal runtime environment provided by the device 100 .

再参考图1,由装置100提供的客户机运行时环境能够被配置来使装置100作为Web服务的Web客户机(Web服务器106的Web客户机)操作。应该认识到,客户机运行时环境还可以使得装置100作为由服务器106提供的任意其它普通规划限定服务的客户机。装置100的客户机运行时环境最好能够在装置100上生成、主控和执行该客户应用程序302(该组件应用程序是组件应用程序的形式,参见图4和下面的描述)。另外,该客户机运行时环境的具体功能可以包括但不局限于例如对于语言、协调存储分配、连网、在I/O操作过程中的数据管理、在装置100的输出装置上的坐标制图以及提供对定向分类和支援文件/库的核心对象的存取的支持。由装置100实现的运行时环境的实例可以包括例如但不局限于由微软(Microsoft)公司提供的公用语言运行时间(CLR)和Sun Microsystems公司提供的Java运行时环境(JRE)。Referring again to FIG. 1 , the client runtime environment provided by the apparatus 100 can be configured to enable the apparatus 100 to operate as a Web client for Web services (the Web client for the Web server 106 ). It should be appreciated that the client runtime environment may also enable the apparatus 100 to act as a client of any other general program-defined service provided by the server 106 . The client runtime environment of the device 100 is preferably capable of generating, hosting and executing the client application 302 (the component application is in the form of a component application, see FIG. 4 and description below) on the device 100 . Additionally, specific functions of the client runtime environment may include, but are not limited to, for example, for languages, coordinating storage allocation, networking, data management during I/O operations, coordinate mapping on output devices of device 100, and Provides support for directional taxonomy and access to core objects supporting files/libraries. Examples of runtime environments implemented by the apparatus 100 may include, for example but not limited to, the Common Language Runtime (CLR) provided by Microsoft Corporation and the Java Runtime Environment (JRE) provided by Sun Microsystems Corporation.

装置100的终端运行时环境最好支持用于驻留客户机应用302(参见图2)的可执行版本的下列基本功能,例如但不局限于:The terminal runtime environment of the device 100 preferably supports the following basic functions for resident executable versions of the client application 302 (see FIG. 2 ), such as but not limited to:

提供把消息105发送到Web服务器106的Web服务的通信能力、或提供把消息105发送到经由网络104连接到该装置100的任何其它普通规划限定的服务的通信能力;providing communication capabilities for sending messages 105 to Web services of the Web server 106, or providing communication capabilities for sending messages 105 to any other general planning-defined service connected to the device 100 via the network 104;

由在装置100的一个输入装置上的用户提供数据输入的能力,以便提供用于该Web服务器106的Web服务的出行消息105(到该服务的消息)的数据部分;The ability to provide data input by the user on an input device of the device 100 to provide the data portion of the travel message 105 (message to the service) for the Web service of the Web server 106;

提供数据表示或提供用于Web服务的响应消息105(输入消息)或在输出装置上的Web服务器106的不相关提示的输出能力;Provides data representation or output capability to provide response messages 105 (input messages) for web services or irrelevant prompts from web servers 106 on output devices;

提供数据存储器服务,以便在装置100的存储器模块210(参见图2)中保持本机客户机数据;以及providing a data storage service to maintain native client data in the memory module 210 (see FIG. 2 ) of the device 100; and

提供用于一种脚本语言的执行环境,以便协调客户应用程序302的应用程序组件400、402、404、406(参见图4)的操作。An execution environment is provided for a scripting language to coordinate the operation of the application components 400, 402, 404, 406 (see FIG. 4) of the client application 302.

参考图2、4和4a,客户机运行时间(例如由组件结构框架结构206提供)加载包含在组件400、402、404、406定义中的元数据,并且经由一个应用程序容器300构建在该装置100上的应用程序302的可执行版本。例如,有两种用于客户机运行时间的操作模型:根据模板的本机执行,及基于元数据执行。利用基于模板的本机执行模型,运行时间主控该数据、消息、及使用本机代码预先建立在装置100上的屏幕模板500。当加载应用程序302定义时,由组件框架结构206提供的客户机环境以来自该组件400、402、404的元数据限定参数填充该模板500,并且以本机格式构建可执行客户应用程序302。工作流组件406的工作流脚本(例如ECMAScript)可以被转换成本机代码,或使用对于本机代码重定向器504适当的脚本编译器502(例如ECMAScript翻译程序)执行,其中该重定向器504把对于脚本语言的调用编译成通过一种本机运行时间引擎506对于本机组件的操作。随着基于元数据执行,组件框架结构206的运行时环境或是保持以在执行时间期间解析的XML(例如)中的组件400、402、404、406定义,或是使用XML(例如)节点的本机表达。在执行过程中,本机运行时间引擎506操作该组件400、402、404、406的定义,而不是操作本机组件实体。应该认识到,该基于模板的方案能有超过基于元数据执行的更高的能效,但要求更复杂的执行环境和更多的存储器资源。Referring to Figures 2, 4 and 4a, the client runtime (provided, for example, by the component architecture framework 206) loads the metadata contained in the definitions of the components 400, 402, 404, 406 and builds the Executable version of application 302 on 100 . For example, there are two operating models for the client runtime: native execution against templates, and execution based on metadata. With a template-based native execution model, the runtime hosts the data, messages, and screen templates 500 pre-built on the device 100 using native code. When the application 302 definition is loaded, the client environment provided by the component framework 206 populates the template 500 with metadata defined parameters from the components 400, 402, 404 and builds the executable client application 302 in native format. Workflow scripts (e.g., ECMAScript) of workflow components 406 may be converted to native code, or executed using an appropriate script compiler 502 (e.g., an ECMAScript translator) for a native code redirector 504 that converts Calls to scripting languages are compiled into operations on native components by a native runtime engine 506 . With metadata-based execution, the runtime environment of the component framework 206 is either maintained as defined by components 400, 402, 404, 406 in XML (for example) parsed during execution time, or using XML (for example) nodes native expression. During execution, the native runtime engine 506 operates on the definition of the component 400, 402, 404, 406 rather than on the native component entity. It should be appreciated that this template-based approach can be more energy efficient than metadata-based execution, but requires a more complex execution environment and more memory resources.

因此,该本机客户机终端运行时环境为客户应用程序302提供了对装置100的装置基础结构204的处理器208和相关操作系统的功能的一个接口。该运行时环境最好在装置100上提供一个受控的、安全的和稳定的环境,在该环境中执行组件应用程序302。该运行时环境提供该组件400、402、404、406的定义,以便创建具体针对装置100的每一个分别装置基础结构204的实际Web客户机。应该认识到,为了简化下列描述,此后只将把由组件框架结构206提供的客户机运行时环境参考作为一个实例。Thus, the native client terminal runtime environment provides the client application 302 with an interface to the functionality of the processor 208 and associated operating system of the device infrastructure 204 of the device 100 . The runtime environment preferably provides a controlled, secure and stable environment on device 100 in which to execute component applications 302 . The runtime environment provides definitions of the components 400 , 402 , 404 , 406 in order to create actual web clients specific to each respective device infrastructure 204 of the device 100 . It should be appreciated that, in order to simplify the following description, reference to the client runtime environment provided by the component framework 206 will hereafter be taken as an example only.

通信装置communication device

再一次参考图2,装置100是例如但不局限于移动电话、PDA、双向寻呼机或双模式通信装置(参见图9)。装置100包括网络连接接口200,例如经连接218耦合到装置基础结构204的无线收发机或有线网接口卡或调制解调器。连接接口200可在装置100的操作过程中连接到网络104,例如可通过无线链路(例如RF、IR等)连接到无线网络102,这将使得设备100能够经网络104与外部系统(例如Web服务器106)彼此通信,并且协调在客户应用程序302和服务器106、110之间的请求/响应消息105(参见图1)。网络104支持在连接到网络104的装置和外部系统之间在请求/响应消息105中的数据发送。该网络104还可以支持对于在装置100和网络104外部的装置之间的电话呼叫的语音通信。无线网络102能使用一种无线数据传输协议,例如但不局限于Data TAC、GPRS或CDMA协议。Referring again to FIG. 2, the device 100 is, for example but not limited to, a mobile phone, a PDA, a two-way pager, or a dual mode communication device (see FIG. 9). Device 100 includes network connection interface 200 , such as a wireless transceiver or a wired network interface card or modem coupled to device infrastructure 204 via connection 218 . The connection interface 200 can be connected to the network 104 during the operation of the device 100, for example, can be connected to the wireless network 102 through a wireless link (such as RF, IR, etc.), which will enable the device 100 to communicate with external systems (such as Web The servers 106) communicate with each other and coordinate request/response messages 105 between the client application 302 and the servers 106, 110 (see FIG. 1). The network 104 supports data transmission in request/response messages 105 between devices connected to the network 104 and external systems. The network 104 may also support voice communication for telephone calls between the device 100 and devices external to the network 104 . Wireless network 102 can use a wireless data transmission protocol such as but not limited to Data TAC, GPRS or CDMA protocols.

再参考图2,装置100还具有通过连接222耦合到装置基础结构204的一个用户接口202,以便与用户(没示出)交互。用户接口202包括一个或者多个用户输入装置,例如但不局限于QWERTY键盘、辅助键盘、轨迹轮、输入笔、鼠标器、话筒,以及用户输出装置,例如LCD屏幕显示器和/或扬声器。如果该屏幕是触摸敏感的,则该显示器还可以用作通过装置基础结构204控制的用户输入装置。当客户应用程序302采用该请求/响应消息105时,装置100的用户采用该用户接口202来经过系统10(参见图1)协调该请求/响应消息105,下面将进一步描述。Referring again to FIG. 2, device 100 also has a user interface 202 coupled to device infrastructure 204 via connection 222 for interaction with a user (not shown). User interface 202 includes one or more user input devices such as, but not limited to, a QWERTY keyboard, keypad, track wheel, stylus, mouse, microphone, and user output devices such as an LCD screen display and/or speakers. The display can also be used as a user input device controlled through the device infrastructure 204 if the screen is touch sensitive. A user of device 100 employs the user interface 202 to coordinate the request/response message 105 through the system 10 (see FIG. 1 ), as described further below, when the client application 302 employs the request/response message 105 .

再参考图2,通过装置基础结构204发起装置100的操作。装置基础结构204包括计算机处理器208和相关存储器模块210。通过执行由操作系统以及放置在存储器模块210中的客户应用程序302提供的相关指令,计算机处理器208控制通信装置100的网络接口200、用户接口202和组件框架结构206的操作。应该进一步认识到,装置基础结构204可以包括耦合到处理器208的计算机可读存储介质212,用于把指令提供到处理器和/或将客户应用程序302加载/更新在存储器模块210中。计算机可读介质212可以包括硬件和/或软件,只举例来说比如有磁盘、磁带、光可读介质,例如CD/DVD、ROMS以及存储卡。在每种情况下,该计算机可读介质212都可以采取小盘、软盘、盒带、硬盘驱动器、固态存储卡、或提供在存储器模块210中的RAM的形式。应该指出,上述列出的实例计算机可读介质212能被单独或组合使用。Referring again to FIG. 2 , operation of the device 100 is initiated through the device infrastructure 204 . The device infrastructure 204 includes a computer processor 208 and associated memory modules 210 . Computer processor 208 controls the operation of network interface 200 , user interface 202 and component framework 206 of communication device 100 by executing associated instructions provided by the operating system and client application programs 302 residing in memory module 210 . It should be further appreciated that the device infrastructure 204 may include a computer-readable storage medium 212 coupled to the processor 208 for providing instructions to the processor and/or loading/updating the client application 302 in the memory module 210 . Computer readable media 212 may include hardware and/or software such as magnetic disks, tapes, optical readable media such as CD/DVD, ROMS, and memory cards, by way of example only. In each case, the computer readable medium 212 may take the form of a compact disk, floppy disk, cassette tape, hard drive, solid state memory card, or RAM provided in the memory module 210 . It should be noted that the above-listed example computer readable media 212 can be used alone or in combination.

装置的组件框架结构Component frame structure of the device

再参考图2,装置100的组件框架结构206由连接220被耦合到装置基础结构204。由该组件框架结构206给该装置100提供该客户机运行时环境,并且最好能够产生、主控及执行来自元数据定义的客户应用程序302(该客户应用程序是组件应用程序的形式--见下面描述)。因此,组件框架结构206提供用于该客户应用程序302的本机客户机运行时环境,并且是对于装置100的装置基础结构204的处理器208和相关操作系统的功能的一个接口。该组件框架结构206最好是通过在装置100上提供一个受控、安全和稳定的环境来提供该运行时环境,其中以一个应用程序容器300执行该组件应用程序302。该应用程序容器300可以称为用于该客户应用程序302的一个智能主机容器,并且能够负责用于分析消息元数据(消息105--参见图1)并且用于更新在存储器模块210中的元数据的表示。Referring again to FIG. 2 , component framework structure 206 of device 100 is coupled to device infrastructure 204 by connections 220 . The client runtime environment is provided to the device 100 by the component framework 206 and is preferably capable of generating, hosting and executing client applications 302 from metadata definitions (the client applications are in the form of component applications-- see description below). Thus, the component framework 206 provides the native client runtime environment for the client application 302 and is an interface to the functionality of the processor 208 and associated operating system of the device infrastructure 204 of the device 100 . The component framework 206 preferably provides the runtime environment by providing a controlled, secure and stable environment on the device 100 in which the component application 302 is executed with an application container 300 . The application container 300 can be referred to as a smart host container for the client application 302 and can be responsible for analyzing message metadata (message 105 - see FIG. 1 ) and for updating metadata in memory module 210. representation of data.

参考图3,该组件框架结构206可用于执行在终端运行时环境之内的客户应用程序302(比如Web服务客户应用程序),并且能通过该请求/响应消息105支持对该Web服务器106的Web服务操作以及相关应用服务器110(参见图1)的接入。该组件应用程序302包括由组件框架结构206执行的软件应用程序。每次执行该组件应用程序302,该组件框架结构206都产生用于该应用程序302的每个组件400、402、404、406(参见图4)的应用程序容器300。该应用程序容器300加载该应用程序302的组件400、402、404、406,并且能够创建由在装置基础结构204中的处理器208执行的本机代码。该组件框架结构206因此提供该主应用程序容器300,用于提供组件400、402、404、406的定义,以便创建具体用于通信装置100、116的分别装置基础结构204的每一个的实际Web客户机。该应用程序容器能够按照每一基于模板的本机执行和如上所述的基于元数据执行模型来提供组件应用程序302。Referring to FIG. 3, the component framework 206 can be used to execute a client application 302 (such as a Web service client application) within the terminal runtime environment, and can support the Web server 106 via the request/response message 105. Service operations and access to related application servers 110 (see FIG. 1 ). The component applications 302 include software applications executed by the component framework 206 . Each time the component application 302 is executed, the component framework 206 generates an application container 300 for each component 400 , 402 , 404 , 406 (see FIG. 4 ) of the application 302 . The application container 300 loads the components 400 , 402 , 404 , 406 of the application 302 and can create native code that is executed by the processor 208 in the device infrastructure 204 . The component framework 206 thus provides the main application container 300 for providing definitions of the components 400, 402, 404, 406 to create the actual Web Client computer. The application container can provide component applications 302 per template-based native execution and metadata-based execution models as described above.

再参考图3,在某些服务不被包括作为400、402、404、406(参见图4)的一部分的情况下,或在被接收按照分离的组件(没示出)作为组件应用程序302一部分的情况下,该组件框架结构206还可以将框架结构服务304(一个普通服务的标准设置)提供到该客户应用程序302。应用程序302具有与应用程序容器300的通信214,按照需要协调与框架结构服务304的通信216。组件框架结构206的框架结构服务304协调通过该连接220与该装置基础结构204的通信。因此,由该组件框架结构206把对于装置基础结构204、用户接口202和网络接口200的接入提供到客户应用程序302。此外,该客户应用程序302可以是适当抗病毒的客户应用程序,因为该应用程序容器300能够控制并且使该组件框架结构206对于该客户应用程序302的往返通信214、216的全部接入生效。应该认识到,该装置基础结构204的操作系统的一部分(参见图2)能够表示该应用程序容器300。Referring again to FIG. 3 , where certain services are not included as part of 400 , 402 , 404 , 406 (see FIG. 4 ), or are received as part of component application 302 as separate components (not shown) In the case of , the component framework 206 can also provide a framework service 304 (a standard setting of a common service) to the client application 302 . Application 302 has communication 214 with application container 300, coordinating communication 216 with framework service 304 as needed. The framework service 304 of the component framework 206 coordinates communications with the device infrastructure 204 over the connection 220 . Thus, access to the device infrastructure 204 , user interface 202 and network interface 200 is provided by the component framework 206 to the client application 302 . Furthermore, the client application 302 may be a suitably virus-resistant client application since the application container 300 is able to control and enable all access of the component framework 206 to the client application 302 for communications 214 , 216 to and from it. It should be appreciated that part of the operating system of the device infrastructure 204 (see FIG. 2 ) can represent the application container 300 .

再参考图3,下面描述的应用程序302的组件400、402、404、406(参见图4)一旦被提供在通信装置100、116上,就由该组件框架结构206的应用程序容器300给予对框架结构服务304的预定集合的接入。框架结构服务304例如而非限定地包括:通信服务306、显示服务308、持续服务310、接入服务312、提供服务314和实用工具服务316。通信服务306管理在组件应用程序302和外部系统10之间的连接性,例如涉及代表组件应用程序302的web服务(通过通信服务306)的消息105和相关数据的发送/接收。显示服务308管理当组件应用程序被输出在用户接口202的输出装置上时的显示(参见图2)。持续服务310使得组件应用程序302在该装置基础结构204的存储器模块210(参见图2)中存储数据。接入服务312提供该组件应用程序302对于出现在该通信装置100、116上的其它软件应用程序的接入。提供服务314管理在通信装置100、116上的软件应用程序的提供。应用程序提供可以包括:请求并接收新的及更新的组件应用程序302,配置用于接入到可通过网络104接入的服务的组件应用程序302,修改组件应用程序302和服务的配置,并且删除组件应用程序302和服务。工具服务316被用于实现各种常见任务,例如执行字串对不同格式的变换的数据处理。Referring again to FIG. 3, the components 400, 402, 404, 406 (see FIG. 4) of the application 302 described below, once provided on the communication device 100, 116, are given the right by the application container 300 of the component framework 206. Access to a predetermined set of framework services 304 . Framework services 304 include, for example and without limitation: communication service 306 , display service 308 , persistence service 310 , access service 312 , provision service 314 , and utility service 316 . The communication service 306 manages the connectivity between the component application 302 and the external system 10 , such as the sending/receiving of messages 105 and related data involving web services on behalf of the component application 302 (via the communication service 306 ). The display service 308 manages the display when the component application is output on the output device of the user interface 202 (see FIG. 2 ). The persistent service 310 causes the component application 302 to store data in the memory module 210 (see FIG. 2 ) of the device infrastructure 204 . Access service 312 provides the component application 302 access to other software applications present on the communication device 100 , 116 . Provisioning service 314 manages the provisioning of software applications on communication devices 100 , 116 . Application provisioning may include requesting and receiving new and updated component applications 302, configuring component applications 302 for access to services accessible over network 104, modifying configurations of component applications 302 and services, and Delete component applications 302 and services. Tool services 316 are used to implement various common tasks, such as data processing that performs transformations of strings to different formats.

应该认识到,通信装置100的框架结构服务304可以把包括上述服务的功能提供到组件应用程序302。结果是,组件应用程序302可以具有对于通信装置100的功能的接入而不必实现该功能。装置100的组件框架结构206(参见图2)最好只有实现存在于框架结构服务304中的这些服务的代码的一个拷贝,与出现的组件应用程序302的数量无关,从而最小化该框架结构服务304的代码复制。而且,不同于其中全部服务请求或服务API调用都由开发者以本机代码编程的普通应用程序,该组件定义400、402、404及工作流406将使用例如XML的一个结构化定义语言和例如ECMAScript的指令集来描述服务请求。该结构化定义语言提供该应用程序的用户接口202、持续的存储及与Web服务的通信的一种非过程的定义,同时该指令提供该程序上的组件连接。该客户机运行时环境把这些定义400、402、404解释成对于支持服务的本机调用。It should be appreciated that the framework services 304 of the communication device 100 may provide functionality including the services described above to the component applications 302 . As a result, the component application 302 can have access to the functionality of the communication device 100 without having to implement that functionality. The component framework 206 of the device 100 (see FIG. 2 ) preferably has only one copy of the code that implements these services residing in the framework services 304, regardless of the number of component applications 302 present, thereby minimizing the framework services 304. 304 code copy. Also, unlike common applications where all service requests or service API calls are programmed by the developer in native code, the component definitions 400, 402, 404 and workflow 406 will use a structured definition language such as XML and such as ECMAScript's instruction set to describe service requests. The structured definition language provides a non-procedural definition of the application's user interface 202, persistent storage, and communication with Web services, while the instructions provide component connectivity on the program. The client runtime environment interprets these definitions 400, 402, 404 as native calls to supporting services.

组件应用程序component application

参考图2,例如该Web服务客户应用程序302被在该组件框架结构206的终端运行时环境中执行,并且支持对于由服务器106提供的Web服务操作的接入(参见图1)。WSDL和SOAP协议定义清楚地隐含一个消息/数据模式。在一个WSDLWeb服务定义中,使用消息及数据部分的概念定义该操作,该操作把该Web服务客户应用程序302限定作为一组相关数据组件400及消息组件404(参见图4)。Referring to FIG. 2, for example, the Web service client application 302 is executed in the terminal runtime environment of the component framework 206 and supports access to Web service operations provided by the server 106 (see FIG. 1). WSDL and SOAP protocol definitions clearly imply a message/data schema. In a WSDL Web service definition, the concept of message and data parts is used to define the operation, which defines the Web service client application 302 as a set of related data components 400 and message components 404 (see FIG. 4 ).

参考图4,组件应用程序302的框图包括数据组件400、显示组件402和消息组件404,通过工作流组件406与应用程序容器300的通信214协调这些组件。该结构化定义语言可用于把组件400、402、404构造为一系列元数据记录,该元数据记录包括表示一个资源的具体属性的若干预定义单元,使得每一单元能够具有一个或多个值。每一元数据规划通常具有定义的特征,例如但不局限于:一个受限的单元数,每一单元的名称,及针对每一单元的含意。示例的元数据规划包括例如但不局限于都柏林(Dublin)核心(DC)、英-美分类规则(AACR2)、政府信息定位服务(GES)、编码档案描述(EAD)、IMS全球学术协会(IMS)、及澳大利亚政府定位服务(AGLS)。编码句法使得装置基础结构204(参见图2)处理组件400、402、404的元数据,并且编码方案包括例如但不局限于XML、HTML、XHTML、XSML、RDF、机读目录(MARC)及多用途互联网络邮件扩展(MIME)。Referring to FIG. 4 , a block diagram of a component application 302 includes a data component 400 , a display component 402 , and a message component 404 , which are coordinated by communication 214 with the application container 300 through a workflow component 406 . The structured definition language can be used to structure components 400, 402, 404 as a series of metadata records that include several predefined units representing specific attributes of a resource, such that each unit can have one or more values . Each metadata plan typically has defined characteristics such as, but not limited to: a limited number of cells, a name for each cell, and meaning for each cell. Exemplary metadata schemes include such as, but not limited to, Dublin Core (DC), Anglo-American Classification Rules (AACR2), Government Information Location Service (GES), Encoded Archive Description (EAD), IMS Global Academic Society (IMS ), and the Australian Government Location Service (AGLS). The encoding syntax enables the device infrastructure 204 (see FIG. 2 ) to process metadata for the components 400, 402, 404, and encoding schemes include, for example but not limited to, XML, HTML, XHTML, XSML, RDF, Machine Readable Catalog (MARC), and Multi Uses Internet Mail Extensions (MIME).

再参考图4,数据组件400限定由组件应用程序302使用的数据实体。数据组件400可以描述的数据实体的示例有:用户及财务事务处理。数据组件400限定为描述该数据实体要求的信息以及表示的信息格式。举例而言,该数据组件400可以定义例如但不局限于包括如下内容的订单:针对订单的被格式化为数字的唯一标识符,被格式为字串的项目的一个列表,具有日期-时间格式的订单被创建的时间,被格式化为字符串的订单状态,以及发出该订单的一个用户,该订单被根据该数据组件400的另一定义而格式化。由于数据部分(单元)通常被根据Web服务舞台规则从消息105变换到消息105,因而最好有数据组件400的持续。数据组件400可根据Web服务舞台定义(如果可得到)而被动态地产生,或根据复合类型定义和/或消息相关信息由该应用程序设计人员定义。Referring again to FIG. 4 , the data component 400 defines data entities used by the component application 302 . Examples of data entities that data component 400 may describe are: users and financial transactions. The data component 400 is defined to describe the information required by the data entity and the information format of the representation. For example, the data component 400 may define an order that includes, for example but without limitation, a unique identifier for the order formatted as a number, a list of items formatted as a string, in a date-time format The time when the order was created, the order status formatted as a character string, and a user who issued the order, the order is formatted according to another definition of the data component 400 . Since data parts (units) are usually transformed from message 105 to message 105 according to Web service stage rules, there is preferably persistence of data component 400 . Data components 400 may be dynamically generated based on Web service stage definitions (if available), or defined by the application programmer based on composite type definitions and/or message related information.

再参考图4,该消息组件404定义由组件应用程序302使用的消息格式,以便与例如Web服务的外部系统通信。举例而言,该消息组件404之一可以描述例如但不局限于一个用于发出订单的消息,该订单包括用于该订单的唯一标识符、订单的状态以及与订单相关的注释。以该结构化定义语言写成的消息组件404定义能够唯一地表示(并且映射到)WSDL消息,并且能够在执行时间动态地产生。因此,从在用于表示该Web服务接口的定义语言中,例如但不局限于WSDL和BPEL中的标准Web服务元数据中,能够实现针对用于客户机应用消息105、及相关数据内容的组件定义的动态产生。在操作的环境中限定Web服务消息105,并且其中定义在该组件应用程序302定义中的该消息组件404之间的相关性。如下面进一步限定的那样,这种相关性可以使用预定义的消息参数和/或通过分离工作流组件406来实现。Referring again to FIG. 4, the message component 404 defines the message format used by the component application 302 to communicate with external systems, such as Web services. For example, one of the message components 404 may describe, for example but not limited to, a message for placing an order including a unique identifier for the order, the status of the order, and notes associated with the order. Message component 404 definitions written in this structured definition language can uniquely represent (and map to) WSDL messages, and can be dynamically generated at execution time. Thus, from standard Web service metadata in a definition language used to represent the Web service interface, such as but not limited to WSDL and BPEL, components for client application messages 105, and associated data content, can be implemented Defined dynamic generation. Web service messages 105 are defined in an operational environment and therein are dependencies between the message components 404 defined in the component application 302 definitions. This correlation can be achieved using predefined message parameters and/or by separating workflow components 406 as further defined below.

再参考图4,该显示组件402限定了当组件应用程序302由用户接口202显示时该组件应用程序302的外观及行为。显示组件402能够规定GUI屏幕和控制,以及当用户使用用户接口202与该组件应用程序302交互时将被执行的动作。例如,该显示组件402可以限定屏幕、标号、编辑框、按钮和菜单,以及当用户键入一个编辑框或按下一个按钮时将要采取的动作。大多数Web服务消费者使用Web服务操作结果的可视显示,因此在能够显示用户接口屏幕的装置100上提供该运行时环境。Referring again to FIG. 4 , the display component 402 defines the appearance and behavior of the component application 302 when the component application 302 is displayed by the user interface 202 . The display component 402 is capable of specifying GUI screens and controls, and actions to be performed when a user interacts with the component application 302 using the user interface 202 . For example, the display component 402 can define screens, labels, edit boxes, buttons, and menus, as well as actions to be taken when the user types in an edit box or presses a button. Most Web service consumers use the visual display of Web service operation results, so this runtime environment is provided on the device 100 capable of displaying user interface screens.

参考图1、4和4b,应该认识到在上述客户机组件应用程序302定义主控模型中,显示组件402可以根据客户机平台和装置100的环境改变。例如,某些情况下,Web服务用户不要求一个可见的显示。该组件应用程序302的组件400、402、404、406的应用定义可以被主控在元数据贮存700中的一个Web服务注册表中,作为平台-中性数据400、消息404、具有针对各种预定客户机运行时间的一组平台-专用显示组件402描述符的工作流406组件描述符的一个集束(即具体的组件框架结构206-参见图2)。当该发现或配置请求消息105被发出时,该客户机类型应该被规定作为这一请求消息105的一部分。为了在针对该装置100的不同客户机平台打包组件应用程序302的同时避免复制数据、消息及工作流元数据,应用程序的定义可在该应用服务器110(例如)上被主控作为与显示组件403a、403b、403c的不同集合链接的平台-中性组件定义的一个集束,表示不同支持的装置100的用户接口202。还应该认识到,一个标准显示组件402可在该专用设备100不被明确支持的情况下使用,从而至少提供显示特性的一个减少的集合。当用户作出发现或下载请求消息105时,装置100的客户机运行时间类型被确认并且配置适当的集束,由该Web服务器106经过网络104传递到装置100。针对那些Web服务消费者,该客户应用程序302能够包含通过工作流组件406与数据400及信息404链接的选择的显示组件403a、403b、403c,从而提供一个定制的组件应用程序302。Referring to Figures 1, 4 and 4b, it should be appreciated that in the client component application 302 definition hosting model described above, the display component 402 can vary depending on the client platform and device 100 environment. For example, in some cases, Web service users do not require a visible display. The application definitions for the components 400, 402, 404, 406 of the component application 302 can be hosted in a Web service registry in the metadata store 700 as platform-neutral data 400, messages 404, with A set of Platform-Specific Display Components 402 Descriptor Workflow 406 A Bundle of Component Descriptors for Scheduled Client Runtime (ie Component Framework 206 - see Figure 2). When the discovery or configuration request message 105 is sent, the client type should be specified as part of this request message 105 . To avoid duplicating data, messages, and workflow metadata while packaging component applications 302 for different client platforms of the device 100, the definitions of applications can be hosted on the application server 110 (for example) as The different sets of 403a, 403b, 403c linked platform-neutral components define a bundle representing the user interface 202 of the different supported devices 100 . It should also be appreciated that a standard display component 402 can be used without the specific device 100 being explicitly supported, thereby providing at least a reduced set of display features. When a user makes a discovery or download request message 105 , the client runtime type of the device 100 is confirmed and an appropriate bundle is configured, delivered by the Web server 106 to the device 100 over the network 104 . For those Web service consumers, the client application 302 can include selected display components 403a, 403b, 403c linked with data 400 and information 404 through a workflow component 406, thereby providing a customized component application 302.

再参考图4,该组件应用程序302的工作流组件406限定了当将执行一个操作时发生的处理,例如由如上所述的显示组件402规定的一个操作、或当消息105(参见图1)从系统10到达时将被执行的一个动作。显示工作流及消息105的处理由工作流组件406限定。该工作流组件406被以程序设计语言或一种脚本语言,例如但不局限于ECMAScript脚本语言,写成一系列指令,并且如所述的那样能够被编译成本机代码以及由应用程序容器300执行。工作流组件406的一个示例可以是对于数据赋值、管理屏幕或发送该消息105。工作流组件406支持在该消息105之间的相关性并且按照关于其它组件400、402、404的操作的一组规则来定义应用程序流动。可以相对于一个给定的应用程序302定义多个工作流组件。这种附加的工作流组件与多个显示组件403a、403b、403c类似,可以根据不同的支持能力或具体装置100的特性来定义不同的工作流。Referring again to FIG. 4 , the workflow component 406 of the component application 302 defines the processing that occurs when an operation is to be performed, such as an operation specified by the display component 402 as described above, or when a message 105 (see FIG. 1 ) An action to be performed upon arrival from system 10. The process of displaying the workflow and message 105 is defined by the workflow component 406 . The workflow component 406 is written as a series of instructions in a programming language or a scripting language, such as but not limited to ECMAScript, and can be compiled into native code and executed by the application container 300 as described. An example of a workflow component 406 may be for data assignment, managing screens, or sending the message 105 . The workflow component 406 supports correlation between the messages 105 and defines the application flow according to a set of rules regarding the operation of other components 400 , 402 , 404 . Multiple workflow components can be defined with respect to a given application 302 . This additional workflow component is similar to the plurality of display components 403a, 403b, 403c, and different workflows can be defined according to different support capabilities or specific device 100 characteristics.

ECMA(欧洲计算机制造商联合会)脚本是一种标准的脚本语言,其中的脚本能够被称为由另一程序而不是由计算机处理器编译或执行的指令的序列。其它的脚本语言的示例有Perl、Rexx、VBScript、JavaScript以及Tcl/Tk。通常,脚本语言是指令的语言,用于管理、定制以及自动操作现有系统的设施,例如装置100。在这种系统中,已经可通过用户接口202(参见图2)得到有用的功能,并且该脚本语言是用于表明编制程序控制功能的一个机制。以此方式,装置100提供了完成该脚本语言能力的对象及设施的主控运行时环境。ECMA (European Computer Manufacturers Association) script is a standard scripting language in which a script can be referred to as a sequence of instructions compiled or executed by another program rather than by a computer processor. Examples of other scripting languages are Perl, Rexx, VBScript, JavaScript, and Tcl/Tk. Generally, a scripting language is a language of instructions for managing, customizing, and automating the facilities of an existing system, such as device 100 . In such a system, useful functions are already available through the user interface 202 (see FIG. 2), and the scripting language is a mechanism for expressing programmed control functions. In this way, device 100 provides a host runtime environment for objects and facilities that implement the scripting language capabilities.

具体地说,EMCAScript是一个面向对象的程序设计语言,用于在该主机运行时环境中执行计算和管理计算的对象。ECMAScript能被用作一个Web脚本语言,提供一种机制,执行服务器106、110的计算,作为系统10的基于Web的客户机-服务器结构的一部分(参见图1)。ECMAScript提供用于各种的主机运行时环境的核心脚本能力,并且因此该核心脚本语言能被认为是对于若干具体主机运行时环境是操作平台中性的。组件框架结构206(参见图2)能够提供用于装置100的客户机一侧的计算的ECMAScript主机运行时环境,例如但不局限于;表示窗口、选单、弹出、对话框、文字区、定位点、帧、历史、cookies和输入/输出的对象。另外,组件框架结构206的主机运行时环境提供把脚本代码附加到事件的一个装置,这些事件不局限地例如包括聚焦的改变、页面和图像加载、卸载、出错和异常中止、选择、形式提交、及鼠标动作。该脚本代码出现在该工作流组件406中,组合用户接口单元和固定的及计算的文本和图像,并且对于在用户接口202上的用户交互作出反应。Web服务器106(参见图1)提供用于服务器一侧的计算的不同的主机环境,包括表示请求、客户机和文件的对象,以及锁定和共享数据的机制。通过把客户机一侧和服务器一侧脚本一起使用,有可能在提供用于基于Web的组件应用程序302的一个定制用户接口202的同时,在客户机装置100和服务器106、110之间分配计算。Specifically, EMCAScript is an object-oriented programming language for performing calculations and managing calculated objects in the host runtime environment. ECMAScript can be used as a Web scripting language, providing a mechanism to perform computations on servers 106, 110 as part of the Web-based client-server architecture of system 10 (see FIG. 1). ECMAScript provides core scripting capabilities for a variety of host runtime environments, and thus the core scripting language can be considered operating platform neutral to several specific host runtime environments. The component framework 206 (see FIG. 2 ) can provide an ECMAScript host runtime environment for client-side computing of the device 100, such as but not limited to; presentation windows, menus, popups, dialog boxes, text fields, anchor points , frames, history, cookies and I/O objects. Additionally, the host runtime environment of the component framework 206 provides a means for attaching script code to events such as, but not limited to, focus changes, page and image loads, unloads, errors and aborts, selections, form submissions, and mouse actions. The script code appears in the workflow component 406 , combines user interface elements with fixed and computed text and images, and reacts to user interactions on the user interface 202 . Web server 106 (see FIG. 1 ) provides a distinct hosting environment for server-side computing, including objects representing requests, clients, and files, and mechanisms for locking and sharing data. By using client-side and server-side scripting together, it is possible to distribute computing between the client device 100 and the servers 106, 110 while providing a customized user interface 202 for the Web-based component application 302 .

ECMAScript还定义一组内置的操作符,可以不是严格意义上的功能或方法。ECMAScript操作符例如但不局限地包括各种一元操作符、相乘操作符、加法算符、逐位移位操作符、关系操作符、相等操作符、二进制按位算符、二进制逻辑操作符、赋值算符和逗点算符。但是ECMAScript句法类似于Java句法,ECMAScript句法被解限(relaxed),以便使其能被开发人员用作一种容易使用的脚本语言。例如,一个ECMAScript中的变量不要求申明其类型,也不是与属性相关的类型,并且不要求定义的函数在调用之前出现文字声明。应该认识到,在基于类的面向对象的程序设计语言中,通常由实例表示状态、由类表示方法,并且继承的只是结构和行为。在ECMAScript中,由对象表示该状态和方法,并且结构、行为及状态全部都可继承。ECMAScript also defines a set of built-in operators, which may not be strictly functions or methods. ECMAScript operators include, but are not limited to, various unary operators, multiplication operators, addition operators, bitwise shift operators, relational operators, equality operators, binary bitwise operators, binary logical operators, assignment operator and comma operator. While ECMAScript syntax is similar to Java syntax, ECMAScript syntax is relaxed so that it can be used by developers as an easy-to-use scripting language. For example, a variable in ECMAScript is not required to declare its type, nor is it a type associated with a property, and a defined function is not required to have a literal declaration before it is called. It should be recognized that in a class-based object-oriented programming language, the state is usually represented by the instance, the method is represented by the class, and only the structure and behavior are inherited. In ECMAScript, the state and methods are represented by objects, and the structure, behavior, and state are all inheritable.

组件应用程序示例Component application example

因此,参考图4,客户应用程序302能够被定义为一组平台中性的组件定义,即使用XML(或任何其它适当的结构化定义语言)的数据组件400和消息组件404以及显示组件402。工作流组件406能够使用ECMAScript(或任何其它适当的平台中性脚本语言)定义。当该组件应用程序302的组件400、402404、406组件被提供在装置100上时,框架结构206的客户机运行时环境(参见图2)能够基于元定义产生如下描述的组件模板。利用一大类的终端运行时环境,例如XML或ECMAScript的跨平台标准可用于定义应用程序组件元数据而不是预建该组件应用程序302。这种延迟的约束能够使得该组件应用程序302的普通应用程序的定义被运行于由各种不同装置100表示的各种终端系统环境上。Thus, referring to FIG. 4, a client application 302 can be defined as a set of platform-neutral component definitions, namely a data component 400 and a message component 404 and a display component 402 using XML (or any other suitable structured definition language). Workflow components 406 can be defined using ECMAScript (or any other suitable platform-neutral scripting language). When the components 400, 402, 404, 406 of the component application 302 are provided on the device 100, the client runtime environment of the framework 206 (see FIG. 2) can generate the component templates described below based on the meta definitions. Using a broad class of terminal runtime environments, cross-platform standards such as XML or ECMAScript can be used to define application component metadata rather than pre-building the component application 302 . This latency constraint enables the generic application definition of the component application 302 to be run on a variety of end system environments represented by a variety of different devices 100 .

使用XML或其衍生物表示该数据组件400、消息组件404和显示组件402,以及使用该ECMAScript语言或其子集表示工作流组件406,能够使得一个应用程序开发者从任意专用平台或环境中提取该Web服务客户机,并且原则上执行″一次生成则各处运行″的应用程序。下面的示例示出了能够使用例如但不局限于XML的一个结构化定义语言以及例如但不局限于ECMAScript的操作平台中性脚本/程序设计语言定义组件来表示一个Web服务客户应用程序302的方式:Expressing the data component 400, message component 404, and display component 402 using XML or its derivatives, and expressing the workflow component 406 using the ECMAScript language or a subset thereof, enables an application developer to extract The Web service client, and in principle executes "build once, run everywhere" applications. The following example shows the way a Web service client application 302 can be represented using a structured definition language such as but not limited to XML and operating platform neutral scripting/programming language definition components such as but not limited to ECMAScript :

示例XML数据组件400Sample XML Data Component 400

<dataname=″Order″><dataname="Order">

      <item name=″orderld″type=″Number″key=″true″/><item name="orderld"type="Number"key="true"/>

      <item name=″items″type=″String″array=″true″/><item name="items"type="String"array="true"/>

      <item name=″user″comp=″true″compName=″User″/><item name="user" comp="true" compName="User"/>

  <item name=″orderStatus″type=″String″/><item name="orderStatus"type="String"/>

</data></data>

示例XML消息组件404Example XML message component 404

    <msg name=″ordConfirmation″type=″response″<msg name="ordConfirmation" type="response"

action=″mhConfirmation″>action="mhConfirmation">

              <part name=″orderld″type=″String″/><part name="orderld"type="String"/>

              <part name=″status″type=″String″/><part name=″status″type=″String″/>

    </msg></msg>

示例XML显示组件402Example XML display component 402

    <<

screenname=″scrConfinnation″title=″OrderConfirmation″param=″Order″>screenname="scrConfinnation" title="OrderConfirmation" param="Order">

               <layouttype=″vertical″><layouttype="vertical">

               <widget type=″label″value=″Order Confirmation Result:″/><widget type=″label″value=″Order Confirmation Result:″/>

                 <widgettype=″edit″value=″@commat;Order.orderStatus″/<widgettype=″edit″value=″@commat; Order.orderStatus″/

               >>

    </layout></layout>

               <menu><menu>

                     <item label=″Continue″<item label="Continue"

         navigate=″&commat;scrMain″/>Navigate="&commat;scrMain"/>

             </menu></menu>

    </screen></screen>

示例ECMAScript工作流组件406Sample ECMAScript Workflow Component 406

<actions><actions>

         <function name=″mhConfirmation″><function name=″mhConfirmation″>

            key=ordConfirmation.orderId;key=ordConfirmation.orderId;

            order=Order.get(key);Order = Order.get(key);

            order.orderStatus=ordConfirmation.status;Order.orderStatus=ordConfirmation.status;

            scrConfirmation.display(order);scrConfirmation.display(order);

         </function></function>

</actions></actions>

参考图4,如上面给出的情况那样,能够看出该消息组件404转送用于该消息105的输入和输出所需的数据。对应的数据组件400协调在装置100的存储器模块210(参见图2)中的数据的存储,用于随后由该显示组件402在用户接口202(参见图2)上的显示。工作流组件406协调数据在数据组件400、显示组件402和消息组件404之间的变换。Referring to FIG. 4 , it can be seen that the message component 404 forwards the data required for the input and output of the message 105 , as was the case given above. A corresponding data component 400 coordinates the storage of data in the memory module 210 (see FIG. 2 ) of the device 100 for subsequent display by the display component 402 on the user interface 202 (see FIG. 2 ). Workflow component 406 coordinates the transformation of data between data component 400 , display component 402 and message component 404 .

对于如上所述组件应用程序模型来说,有若干潜在优点。例如,对在客户机运行时间和服务终点之间的服务协议中的仲裁器的要求被最小化。与要求一个Web服务器来主控附加组件(小服务程序、JSP、ASP等)以将HTML页面数据/请求与服务终点连接的基于浏览器的应用程序不同,该组件应用程序模型使用Web服务(在该服务器106上)的消息组件定义来实现在装置100的客户机运行时间之间的端对端直接连接。There are several potential advantages to the component application model described above. For example, the requirement for an arbitrator in the service agreement between the client runtime and the service endpoint is minimized. Unlike browser-based applications that require a web server to host add-ons (servlets, JSP, ASP, etc.) to connect HTML page data/requests to service endpoints, the component application model uses web services (in The messaging components on the server 106 are defined to enable peer-to-peer direct connections between client runtimes of the appliance 100 .

而且,该组件应用程序模型把基于浏览器的应用程序的简化与本机应用程序执行的效率结合。不同于浏览器应用程序,由于优选地立即下载整个应用程序302定义,所以最小化了运行时间的提供屏幕,并且客户机运行时环境能够产生应用程序屏幕的一个本机显示。另外,由于该组件应用程序模型结构是以包含数据的消息组件404为基础,来自该服务器的请求页面(在HTML中的屏幕清晰度)被最小化。Furthermore, the component application model combines the simplicity of browser-based applications with the efficiency of native application execution. Unlike browser applications, runtime rendering of screens is minimized because the entire application 302 definition is preferably downloaded immediately, and the client runtime environment can produce a native display of the application screens. Additionally, since the component application model structure is based on message components 404 containing data, the request page (screen resolution in HTML) from the server is minimized.

而且,与硬编码的本机应用程序相比,该组件应用程序结构能够提供一个很小的应用程序下载规模(只包括组件定义)、以及有效的数据存储器和持续模型。与管理提供的例如用于浏览器应用程序的HTML页面的显示相比,客户机运行时间能够直接存储并更新原子数据实体。Furthermore, the component application structure can provide a small application download size (only component definitions), as well as efficient data storage and persistence model compared to hard-coded native applications. In contrast to managing the display of rendered HTML pages, eg for a browser application, the client runtime can store and update atomic data entities directly.

而且,该组件应用程序结构能够提供一个平台中性模型。不同于专门针对具体客户机运行时间开发的本机应用程序,使用广泛采用的例如XML和ECMAScript标准构建的应用程序302能够在各种平台上重新使用,并且真正实现″一次生成则各处运行″的原理。而且该非过程及程序应用定义的组合能够大大降低编程时间和工作强度。Furthermore, the component application structure can provide a platform-neutral model. Unlike native applications developed specifically for a specific client runtime, applications 302 built using widely adopted standards such as XML and ECMAScript can be reused on a variety of platforms and truly "build once, run everywhere" principle. Moreover, the combination of non-procedural and procedural application definitions can greatly reduce programming time and effort.

组件应用程序模型的操作Operations on the Component Application Model

图5是表示一个方法的流程图,该方法建立该无线组件应用程序302,用于随后的经过网络104到装置100的通信。同时参考图3,该方法以创建该数据组件400的步骤600为起点,定义例如用户和订单的数据实体。该方法以创建显示组件402的步骤602继续,用于定义诸如屏幕、按键、菜单和图像的用户接口单元。该方法以创建消息组件402的步骤604继续,用于定义被发送到例如在服务器106(参见图1)上的Web服务的外部系统的消息格式。组件400、402、404被以结构化定义语言表示,例如但不局限于以基于XML的一个结构化定义语言。该方法以步骤606结束,尝试把数据组件400、显示组件402和消息组件404与工作流组件406合一起,以便定义应用程序302的运转情况。根据例如上述的ECMAScript的一个子集的一种脚本语言写出工作流组件406。构建一个无线组件应用程序302的方法可以包括比图5所示步骤更少或更多的步骤。FIG. 5 is a flow diagram illustrating a method for setting up the wireless component application 302 for subsequent communication to the device 100 over the network 104 . Referring also to FIG. 3 , the method starts with step 600 of creating the data component 400 , defining data entities such as users and orders. The method continues with a step 602 of creating a display component 402 for defining user interface elements such as screens, buttons, menus and images. The method continues with a step 604 of creating a message component 402 for defining the format of a message sent to an external system, such as a Web service on server 106 (see FIG. 1 ). Components 400, 402, 404 are represented in a structured definition language, such as but not limited to an XML-based one. The method ends at step 606 , where an attempt is made to bring together the data component 400 , display component 402 and message component 404 with the workflow component 406 in order to define the behavior of the application 302 . Workflow components 406 are written in accordance with a scripting language such as a subset of ECMAScript described above. The method of building a wireless component application 302 may include fewer or more steps than those shown in FIG. 5 .

参见图1及图6,示出了装置100和Web服务器的Web服务之间的交互的操作800。Web服务接收该请求装置100开始与Web服务通信的请求消息105(802)。Web服务把要求的组件应用程序302的组件400、402、404、406(如果有任何一个)上载(804)到装置100,以便支持在Web服务和装置100之间的随后的信息交换。该装置接收该发送的组件应用程序302,并且开始由该运行时环境提供(806)该组件400、402、404、406,以便通过产生该组件应用程序302的一个可执行版本而把该装置配置为Web服务的一个Web客户机。装置100的用户把数据输入(808)到装置100的用户接口202(参见图2),用于随后发送(810)到Web服务,作为用于接收Web服务操作的一个请求消息105。该Web服务处理该请求消息105并发送(812)包括数据的适当的响应消息105,用于随后在用户接口202上输出。装置100接收(814)包含该数据的消息105,并且该组件应用程序302的可执行版本适当地把数据输出在用户接口202上。而且按照上述的那样,在装置100和Web服务之间执行数据交换(816),或结束(818)该交换,并且该组件应用程序302的可执行版本被按照期望或保存在存储器210(参见图2)或者从运行时环境中删除。Referring to Figures 1 and 6, operations 800 of interaction between the device 100 and the Web service of the Web server are shown. The Web service receives the request message 105 requesting that the apparatus 100 start communicating with the Web service (802). The Web service uploads (804) the required components 400, 402, 404, 406 (if any) of the component application 302 to the device 100 to support subsequent information exchange between the Web service and the device 100. The device receives the sent component application 302 and begins provisioning (806) the components 400, 402, 404, 406 by the runtime environment to configure the device by generating an executable version of the component application 302 A web client for web services. The user of the device 100 enters (808) data into the user interface 202 of the device 100 (see FIG. 2) for subsequent sending (810) to the Web service as a request message 105 for receiving Web service operations. The web service processes the request message 105 and sends ( 812 ) an appropriate response message 105 including data for subsequent output on the user interface 202 . The device 100 receives (814) the message 105 containing the data, and the executable version of the component application 302 outputs the data on the user interface 202 as appropriate. Also as described above, a data exchange is performed (816) between the device 100 and the Web service, or the exchange is terminated (818), and the executable version of the component application 302 is saved as desired or in the memory 210 (see FIG. 2) Or remove from the runtime environment.

例如参见图1、3和7,操作过程(900)表示当该装置100接收(902)包含消息数据的响应消息时,该适当的工作流组件406根据适当的消息组件404编译(904)该消息105的数据内容的情况。工作流组件406随即处理(906)该数据内容,并且把该数据插入(910)到相应的数据组件400中,用于随后在存储器模块210(参见图2)中的存储(912)。而且如果需要的话,该工作流组件406还把数据插入(908)到该适当的显示组件402中,用于随后在用户接口202(参见图2)上的显示(914)。1, 3 and 7, for example, the operational process (900) shows that when the device 100 receives (902) a response message containing message data, the appropriate workflow component 406 compiles (904) the message from the appropriate message component 404 105 of the data content of the case. The workflow component 406 then processes (906) the data content and inserts (910) the data into the corresponding data component 400 for subsequent storage (912) in the memory module 210 (see FIG. 2). And, if necessary, the workflow component 406 also inserts (908) the data into the appropriate display component 402 for subsequent display (914) on the user interface 202 (see FIG. 2).

参见图1、3和8,操作过程(1000)示出针对一个动作的数据输入(1002),例如按下一个按钮或选定一个菜单选项,用户通过该用户接口202(参见图2)在一个用户接口单元上执行这些动作(1003)。该相关的工作流组件406根据适当的显示组件404编译(1004)该输入数据,并且创建(1006)由适当数据组件400限定的数据实体。工作流组件406随即以由用户提供的输入数据填充(1010)该数据组件400,用于随后在该存储器模块210(参见图2)中的存储(1012)。而且,该工作流组件406还把该输入数据插入(1008)到该适当的消息组件404中,按照由该消息组件404的定义,用于随后以消息105把作为数据实体的该输入数据发送(1014)到Web服务。Referring to Figures 1, 3 and 8, the operational process (1000) illustrates data entry (1002) for an action, such as pressing a button or selecting a menu option, through which the user interfaces 202 (see Figure 2) in a These actions are performed on the user interface unit (1003). The associated workflow component 406 compiles ( 1004 ) the input data from the appropriate display component 404 and creates ( 1006 ) the data entity defined by the appropriate data component 400 . The workflow component 406 then populates (1010) the data component 400 with the input data provided by the user for subsequent storage (1012) in the memory module 210 (see FIG. 2). Moreover, the workflow component 406 also inserts (1008) the input data into the appropriate message component 404, as defined by the message component 404, for subsequently sending the input data as a data entity in a message 105 ( 1014) to the web service.

应该认识到,由于该组件应用程序302不使用全部程序设计语言、而是相反地使用例如比较浅显易学的XML和ECMAScript的基于标准的技术,所以使用上述方法创建的组件应用程序302,将能需要比硬编码应用程序更少的时间来创建。该方法能实现其中把该用户接口202和数据的定义相分离的组件应用程序302。这种分离使得在该组件应用程序302中的任何组件400、402、404、406的修改不影响及要求在该组件应用程序302中的其它组件400、402、404、406的实质改变,并因此可以有助于该组件应用程序302的维护,包括在装置100上的该组件应用程序302的修改和更新。It should be appreciated that a component application 302 created using the methods described above will be able to require Less time to create than hardcoding applications. The method enables the implementation of component applications 302 in which the definition of the user interface 202 and data is separated. This separation is such that modification of any component 400, 402, 404, 406 in the component application 302 does not affect and require substantial changes in the other components 400, 402, 404, 406 in the component application 302, and therefore Maintenance of the component application 302 , including modification and updating of the component application 302 on the device 100 , may be facilitated.

图9是一个双模式移动通信装置710的框图,是图1和6的装置100的进一步的示例。该双模式移动通信装置710包括:收发机711、微处理器738、显示器722、闪速存储器724、RAM存储器726、辅助输入/输出(I/O)装置728、串行端口730、键盘732、扬声器734、话筒736、短程无线通信子系统740,并且还可包括其它装置子系统742。收发机711优选地包括:发送与接收天线716及718、接收器712、发射器714、一个或多个本机振荡器713及数字信号处理器720。在该闪速存储器724中,该双模式移动通信装置710最好包括能由微处理器738(和/或DSP 720)执行的多个软件模块724A-724N,包括语音通信模块724A、数据通信模块724B、和用于执行多个其它功能的多个其它操作模块724N。FIG. 9 is a block diagram of a dual-mode mobile communication device 710 which is a further example of the device 100 of FIGS. 1 and 6 . The dual-mode mobile communication device 710 includes: a transceiver 711, a microprocessor 738, a display 722, a flash memory 724, a RAM memory 726, an auxiliary input/output (I/O) device 728, a serial port 730, a keyboard 732, Speaker 734 , microphone 736 , short-range wireless communication subsystem 740 , and other device subsystem 742 may also be included. The transceiver 711 preferably includes: transmit and receive antennas 716 and 718 , a receiver 712 , a transmitter 714 , one or more local oscillators 713 and a digital signal processor 720 . In the flash memory 724, the dual-mode mobile communication device 710 preferably includes a plurality of software modules 724A-724N executable by the microprocessor 738 (and/or the DSP 720), including a voice communication module 724A, a data communication module 724B, and a number of other operating modules 724N for performing a number of other functions.

该双模式移动通信装置710最好是具有语音及数据通信能力的一个双向通信装置。因此该双模式移动通信装置710可以例如经过例如模拟或数字蜂窝网络的任一个的语音网络进行通信,并且还可以经过数据网络进行通信。图9中以通信塔719示出语音及数据网络。这些语音和数据网络可以是分离的通信网络,使用分离的基础结构,例如基站、网络控制器等,或可被集成为单一无线网络。The dual-mode mobile communication device 710 is preferably a two-way communication device having voice and data communication capabilities. Thus the dual mode mobile communication device 710 may eg communicate over a voice network, eg either an analog or digital cellular network, and may also communicate over a data network. The voice and data network is shown in FIG. 9 as a communication tower 719 . These voice and data networks can be separate communication networks, using separate infrastructures such as base stations, network controllers, etc., or can be integrated into a single wireless network.

该通信子系统711被用于与该语音和数据网络719通信,并且包括接收器712、发射器714、一个或多个本机振荡器713,并也可包括DSP 720。该DSP 720被用于对发射器714和接收器712的信号进行接收和发送,并且也用来从发射器714接收控制信息以及把控制信息提供到接收器712。如果该语音和数据通信以单一频率出现,或是紧密间隔的频率,则可以与发射器714和接收器712结合使用单一本机振荡器713。另外,如果实现语音通信与对应的数据通信利用的是不同频率,则可用多个本机振荡器713产生对应于该语音和数据网络719的多个频率。虽然图9中描述的是两个天线716、718,但是双模式移动通信装置710能被以单个天线结构使用。经由在DSP720和微处理器738之间的链路与通信模块711通信包括语音和数据信息的信息。通信子系统711的详细设计,例如频带、组件选择、功率电平等,取决于其中要操作双模式移动通信装置710的通信网络719。例如,想要操作在北美市场中的一个双模式移动通信装置710可以包括被设计来利用MobitexTM或DataIACTM移动数据通信网络的一个通信子系统711,并且也可以设计来利用例如AMPS、TDMA、CDMA、PCS等多种语音通信网络的任何之一操作;而想要使用在欧洲的装置710可以配置来利用通用无线分组服务(GPRS)数据通信网络和GSM语音通信网络来操作。其它类型的分离和集成的数据和语音网络也同样可以利用该双模式移动通信装置710。The communications subsystem 711 is used to communicate with the voice and data network 719 and includes a receiver 712 , a transmitter 714 , one or more local oscillators 713 , and may also include a DSP 720 . The DSP 720 is used to receive and transmit signals from the transmitter 714 and receiver 712 , and is also used to receive control information from the transmitter 714 and provide control information to the receiver 712 . A single local oscillator 713 may be used in conjunction with transmitter 714 and receiver 712 if the voice and data communications occur on a single frequency, or closely spaced frequencies. Additionally, multiple local oscillators 713 may be used to generate multiple frequencies corresponding to the voice and data network 719 if different frequencies are used to effectuate voice communications than corresponding data communications. Although two antennas 716, 718 are depicted in FIG. 9, the dual mode mobile communication device 710 can be used in a single antenna configuration. Information, including voice and data information, is communicated with the communication module 711 via a link between the DSP 720 and the microprocessor 738 . The detailed design of the communication subsystem 711, such as frequency bands, component selection, power levels, etc., depends on the communication network 719 in which the dual-mode mobile communication device 710 is to be operated. For example, a dual-mode mobile communication device 710 intended to operate in the North American market may include a communication subsystem 711 designed to utilize the Mobitex or DataIAC mobile data communication networks, and may also be designed to utilize, for example, AMPS, TDMA, Operates on any of a variety of voice communication networks such as CDMA, PCS, etc.; whereas device 710 intended for use in Europe may be configured to operate using both a General Packet Radio Service (GPRS) data communication network and a GSM voice communication network. Other types of separate and integrated data and voice networks may also utilize the dual-mode mobile communication device 710 .

根据单一或几个网络719的类型,对于该双模式移动通信装置710的接入要求也可能变化。例如,在Mobitex和DataTAC数据网络中,使用与每一个装置相关的唯一标识号码把移动装置注册在网络上。但是在GPRS数据网络中,网络接入与用户或移动装置的使用者相关。GPRS装置通常要求一个用户的标识模块(″SIM″),要求该模块来在一个GPRS网络上操作双模式移动通信装置。可以操作本地即非网络通信功能(如果有的话),无需该SIM,但除了任意法定要求的操作之外,例如911紧急呼叫,一个双模式移动通信装置将不能执行任何涉及经过数据网络719的通信功能。Depending on the type of single or several networks 719, the access requirements for the dual mode mobile communication device 710 may also vary. For example, in the Mobitex and DataTAC data networks, mobile devices are registered on the network using a unique identification number associated with each device. But in a GPRS data network, network access is associated with the user or user of the mobile device. GPRS devices typically require a Subscriber Identity Module ("SIM"), which is required to operate a dual-mode mobile communication device on a GPRS network. Can operate local i.e. non-network communication functions (if any) without the SIM, but apart from any legally required operations, such as 911 emergency calls, a dual mode mobile communication device will not be able to perform any communication function.

在完成任何要求的网络注册或激活处理过程之后,该双模式移动通信装置710可以随即经过网络719(或几个网络)发送和接收通信信号,包括语音和数据信号二者。由天线716从通信网络719接收的信号被路由到该接收器712,该接收器712提供信号放大、降频变换、滤波、信道选择等,并且还可以提供模拟数字转换。接收信号的模拟数字转换实现更复杂的通信功能,例如使用DSP 720执行的数字解调和解码。以一个类似的方式处理将被发送到网络719的信号,该处理包括由DSP 720调制和编码,并且被随即提供到发射器714用于数模转换、上变频、滤波、放大,并且通过天线718发送到通信网络719(或几个网络)。虽然图9示出了单个收发机711既用于语音通信又用于数据通信,但是该双模式移动通信装置710有可能包括两个不同的收发机,第一收发机用于发送和接收语音信号,第二收发机用于发送和接收数据信号。Upon completion of any required network registration or activation processes, the dual-mode mobile communication device 710 may then send and receive communication signals, including both voice and data signals, over the network 719 (or networks). Signals received by antenna 716 from communication network 719 are routed to the receiver 712, which provides signal amplification, frequency down conversion, filtering, channel selection, etc., and may also provide analog to digital conversion. Analog-to-digital conversion of the received signal enables more complex communication functions such as digital demodulation and decoding performed using the DSP 720. Signals to be transmitted to network 719 are processed in a similar manner, including modulation and encoding by DSP 720, and then provided to transmitter 714 for digital-to-analog conversion, up-conversion, filtering, amplification, and transmission via antenna 718 Sent to communication network 719 (or several networks). Although FIG. 9 shows a single transceiver 711 for both voice and data communications, it is possible that the dual-mode mobile communication device 710 includes two different transceivers, the first for sending and receiving voice signals , the second transceiver is used to send and receive data signals.

除了处理该通信信号之外,该DSP 720还提供接收器和发射器的控制。例如,加到该接收器712和发射器714的通信信号的增益等级可以通过该DSP 720中执行的自动增益控制算法自适应地控制。其它收发机控制算法还可以在DSP 720中执行,以便提供收发机711的更复杂的控制。In addition to processing the communication signals, the DSP 720 also provides control of the receiver and transmitter. For example, the gain levels of the communication signals applied to the receiver 712 and transmitter 714 may be adaptively controlled by an automatic gain control algorithm implemented in the DSP 720. Other transceiver control algorithms may also be implemented in DSP 720 to provide more complex control of transceiver 711.

微处理器738最好管理和控制该双模式移动通信装置710的总体操作。许多类型的微处理器或微控制器能被使用于其中,或另外单一DSP 720可用于执行微处理器738的功能。在收发机711中通过DSP 720执行包括至少数据和语音通信的低级通信。另外,例如语音通信应用程序724A的高级通信应用以及数据通信应用程序724B可被存储在闪速存储器724中供微处理器738执行。例如,该语音通信模块724A可以提供一个高级用户接口,可操作来经由该网络719在双模式移动通信装置710和多个其它语音装置之间发送与接收语音呼叫。类似地,该数据通信模块724B可能提供可操作用于发送和接收数据的一个高级用户接口,例如经由网络719在该双模式移动通信装置710和多个其它数据装置之间发送和接收例如电子邮件消息、文件、管理器数据、短文本消息等数据。在该双模式移动通信装置710中,一个如上所述的组件框架结构206还可以被执行作为一个软件模块或应用程序,或结合到软件模块724A-724N之一中。Microprocessor 738 preferably manages and controls the overall operation of the dual mode mobile communication device 710 . Many types of microprocessors or microcontrollers can be used therein, or alternatively a single DSP 720 can be used to perform the functions of the microprocessor 738. Low-level communications including at least data and voice communications are performed in the transceiver 711 through the DSP 720. Additionally, advanced communication applications such as voice communication application 724A and data communication application 724B may be stored in flash memory 724 for execution by microprocessor 738 . For example, the voice communication module 724A may provide an advanced user interface operable to send and receive voice calls between the dual-mode mobile communication device 710 and a plurality of other voice devices via the network 719 . Similarly, the data communication module 724B may provide a high-level user interface operable to send and receive data, such as e-mail, for example, between the dual-mode mobile communication device 710 and a plurality of other data devices via the network 719 Data such as messages, files, organizer data, short text messages, etc. In the dual-mode mobile communication device 710, a component framework 206 as described above may also be implemented as a software module or application, or incorporated into one of the software modules 724A-724N.

微处理器738还与其它双模式移动通信装置子系统交互,例如显示器722、闪速存储器724、随机存取存储器(RAM)726、辅助输入/输出(I/O)子系统728、串行端口730、键盘732、扬声器734、话筒736、短程通信子系统740以及任何其它通常被指定为742的双模式移动通信装置子系统。Microprocessor 738 also interacts with other dual-mode mobile communication device subsystems, such as display 722, flash memory 724, random access memory (RAM) 726, auxiliary input/output (I/O) subsystem 728, serial port 730 , keypad 732 , speaker 734 , microphone 736 , short-range communication subsystem 740 , and any other dual-mode mobile communication device subsystem generally designated 742 .

图9所示的某些子系统执行通信相关的功能,而其它子系统可以提供执行驻留或在装置有关的功能。值得注意的是,例如键盘732和显示器722的某些子系统既可用于通信相关的功能,例如经过数据通信网输入用于发送的文本消息,又可用于装置驻留功能,例如计算机或任务列表或其他PDA类型的功能。Some of the subsystems shown in FIG. 9 perform communication-related functions, while other subsystems may be provided to perform resident or device-related functions. It is worth noting that certain subsystems, such as keyboard 732 and display 722, can be used for both communication-related functions, such as entering text messages for sending over a data communications network, and device-resident functions, such as computers or task lists or other PDA-type functions.

由微处理器738使用的操作系统软件最好被存储在诸如闪速存储器724的一个持久存储器中。除了控制双模式移动通信装置710的全部低级功能的该操作系统之外,闪速存储器724可能包括多个高级软件应用程序或模块,例如语音通信模块724A、数据通信模块724B、管理器模块(没示出)或任何其它类型的软件模块724N。闪速存储器724还可包括为存储数据的文件系统。这些模块由微处理器738执行,并且提供在双模式移动通信装置的用户和移动装置之间的一种高级接口。这种接口通常包括通过显示器722提供的图形组件,以及通过辅助I/O728、键盘732、扬声器734和话筒736提供的输入/输出组件。该操作系统,具体地说是双模式移动通信装置软件应用程序或模块、或其部分,可以临时装入到例如RAM 726的一个易失性存储器中,用于更快地操作。而且,在将接收的通信信号永久地写入到设置在持久存储器724之前,接收的通信信号也可以被暂存到RAM726。Operating system software used by microprocessor 738 is preferably stored in a persistent memory such as flash memory 724 . In addition to this operating system, which controls all low-level functions of the dual-mode mobile communication device 710, the flash memory 724 may include a number of high-level software applications or modules, such as a voice communication module 724A, a data communication module 724B, a manager module (not shown) or any other type of software module 724N. Flash memory 724 may also include a file system for storing data. These modules are executed by the microprocessor 738 and provide a high level interface between the user of the dual mode mobile communication device and the mobile device. Such interfaces typically include graphics components provided through display 722 , and input/output components provided through auxiliary I/O 728 , keyboard 732 , speaker 734 and microphone 736 . The operating system, specifically the dual-mode mobile communication device software applications or modules, or portions thereof, may be temporarily loaded into a volatile memory such as RAM 726 for faster operation. Also, received communication signals may also be temporarily stored in RAM 726 before being permanently written to persistent memory 724 .

可被加载到双模式移动通信装置710上的一个示例性应用模块724N是一种个人信息管理器(PIM)应用程序,提供例如日历事件、约定以及任务项的PDA功能。此模块724N也可以与管理电话呼叫、语音邮件等的语音通信模块724A交互,并且还可以与用于管理电子邮件通信以及其它数据传输的数据通信模块交互。另外,语音通信模块724A的和数据通信模块724B的全部功能都可被集成到该PIM模块中。One exemplary application module 724N that can be loaded onto the dual-mode mobile communication device 710 is a personal information manager (PIM) application that provides PDA functionality such as calendar events, appointments, and to-do items. This module 724N may also interact with a voice communication module 724A, which manages phone calls, voice mail, etc., and may also interact with a data communication module, which manages email communications and other data transmissions. In addition, all functions of the voice communication module 724A and the data communication module 724B can be integrated into the PIM module.

该闪速存储器724最好提供一种文件系统提供,以便促进在双模式移动通信装置710上的PIM数据项的存储。该PIM应用程序最好包括通过该无线网络719发送和接收数据项的能力,或是本身或结合该语音和数据通信模块724A、724B进行数据项的发送和接收。PIM数据项最好是通过无线网络719与存储的或主机系统相关的一个对应组的数据项无缝地集成、同步及更新,藉此创建与具体用户相关的用于数据项的镜像系统。The flash memory 724 preferably provides a file system provision to facilitate storage of PIM data items on the dual-mode mobile communication device 710 . The PIM application preferably includes the ability to send and receive data items over the wireless network 719, either by itself or in conjunction with the voice and data communication modules 724A, 724B. PIM data items are preferably seamlessly integrated, synchronized and updated over the wireless network 719 with a corresponding set of data items stored or associated with a host system, thereby creating a mirror system for data items associated with a particular user.

该双模式移动通信装置710还可以通过在一个接口框中放置该双模式移动通信装置710而手动地与一个主系统同步,该接口框把该双模式移动通信装置710的串行端口730耦合到该主系统的串行端口。该串行端口730还可以被用于使得一个用户能够通过一个外部装置或软件应用程序设置优选项,或下载用于安装的其它应用模块724N。此有线下载路径可被用于把一个加密密钥加载到双模式移动通信装置710上,这是比通过无线网络719交换加密信息更安全的方法。The dual-mode mobile communication device 710 can also be manually synchronized with a host system by placing the dual-mode mobile communication device 710 in an interface box that couples the serial port 730 of the dual-mode mobile communication device 710 to The serial port of the host system. The serial port 730 may also be used to enable a user to set preferences through an external device or software application, or download other application modules 724N for installation. This wired download path can be used to load an encryption key onto the dual mode mobile communication device 710, which is a more secure method than exchanging encrypted information over the wireless network 719.

另外,可通过网络719、辅助I/O子系统728、串行端口730、短程通信子系统740或任何其它适当的子系统742把应用模块724N加载到该双模式移动通信装置710上,并且由使用者安装在闪速存储器724或RAM 726中。在应用程序安装中的这种灵活性增加了双模式移动通信装置710的功能性,并且可以提供增强的在装置功能、通信相关功能或二者。例如,安全通信应用程序可以使得能够使用双模式移动通信装置710来执行电子商务功能和其它这种金融事务处理。Additionally, the application module 724N may be loaded onto the dual-mode mobile communication device 710 via the network 719, the auxiliary I/O subsystem 728, the serial port 730, the short-range communication subsystem 740, or any other suitable subsystem 742, and accessed by The user is installed in flash memory 724 or RAM 726. This flexibility in application installation increases the functionality of the dual-mode mobile communication device 710 and may provide enhanced on-device functionality, communication-related functionality, or both. For example, a secure communication application may enable the use of dual-mode mobile communication device 710 to perform e-commerce functions and other such financial transactions.

当按照数据通信模式操作该双模式装置时,例如文本消息或下载的网页的一个接收信号将由收发机711处理并且提供到微处理器738,最好进一步处理该接收信号以便输出到显示器722,或也可以输出到一个辅助I/O装置728。虽然例如已知的DVORAK形式的完整字母数字键盘的其它形式也可被使用,但是双模式移动通信装置710的用户还可以利用最好是以QWERTY形式排列的一个完成的字母数字键盘的键盘732组成例如电子邮件消息的数据项。利用多个辅助I/O装置728进一步增强对于双模式移动通信装置710的用户输入,该辅助I/O装置728可以包括指轮输入装置、触摸板、各种开关、摇动输入开关等。由该用户输入的组成数据项可被随后经过通信网络719由收发机711发送。When operating the dual mode device in data communication mode, a received signal such as a text message or downloaded web page will be processed by transceiver 711 and provided to microprocessor 738, preferably further processed for output to display 722, or Output to an auxiliary I/O device 728 is also possible. The user of the dual-mode mobile communication device 710 can also utilize the keyboard 732 composition of a complete alphanumeric keyboard, preferably arranged in a QWERTY format, although other forms of full alphanumeric keypads such as the known DVORAK form can also be used. An example of a data item for an email message. User input to the dual mode mobile communication device 710 is further enhanced with a number of auxiliary I/O devices 728, which may include a thumbwheel input device, touch pad, various switches, shake input switches, and the like. The constituent data items entered by the user may then be transmitted by the transceiver 711 via the communication network 719 .

当该双模式移动通信装置710以语音通信模式操作时,该双模式移动通信装置710的整个操作基本上类似于该数据模式,只是该接收信号最好被输出到扬声器734,并且用于发送的语音信号是由话筒736产生。另外,例如语音消息记录子系统的语音或音频I/O子系统也可被在该双模式移动通信装置710上执行。虽然最好是主要通过扬声器734实现语音或音频信号的输出,但是也可用显示器722提供主叫方的标识、语音呼叫的持续时间或其它语音呼叫相关信息的指示。例如,该微处理器738与语音通信模块和操作系统软件结合,可以检测一个输入语音呼叫的呼叫者识别信息,并且将该语音呼叫显示在显示器722上。When the dual-mode mobile communication device 710 operates in a voice communication mode, the overall operation of the dual-mode mobile communication device 710 is substantially similar to the data mode, except that the receive signal is preferably output to the speaker 734 and used for sending Voice signals are generated by microphone 736 . Additionally, voice or audio I/O subsystems such as voice message recording subsystems may also be implemented on the dual mode mobile communication device 710 . While output of speech or audio signals is preferably accomplished primarily through speaker 734, display 722 may also be used to provide an indication of the identification of the calling party, the duration of the voice call, or other voice call-related information. For example, the microprocessor 738, in conjunction with the voice communication module and operating system software, can detect the caller identification information of an incoming voice call and display the voice call on the display 722.

双模式移动通信装置710还包括一个短程通信子系统740。例如,该短程通信子系统740可以包括一个红外装置和相关的电路与元件,或例如蓝牙模块或802.11模块的短程无线通信模块,以便提供与类似发起的系统和装置的通信。本领域的技术人员将理解到,″蓝牙″和802.11是指可从分别涉及无线个人域网和无线LAN的电气和电子工程师学会(IEEE)标准得到的多组规范。The dual-mode mobile communication device 710 also includes a short-range communication subsystem 740 . For example, the short-range communication subsystem 740 may include an infrared device and associated circuits and components, or a short-range wireless communication module such as a Bluetooth module or an 802.11 module, to provide communication with similarly initiated systems and devices. Those skilled in the art will appreciate that "Bluetooth" and 802.11 refer to sets of specifications available from the Institute of Electrical and Electronics Engineers (IEEE) standards relating to wireless personal area networks and wireless LANs, respectively.

虽然本说明书的公开在此描绘了一个或者多个示例系统和方法,但在本领域中的人员将显见可知许多变化,并且这种变化是在本申请的范围之内。例如,虽然XML和ECMAScript的子集被使用于该提供的示例中,但是可用其它语言和语言的变型来定义组件应用程序302。Although the disclosure of the specification herein depicts one or more example systems and methods, many variations will be apparent to those skilled in the art, and such variations are within the scope of this application. For example, although a subset of XML and ECMAScript are used in this provided example, other languages and language variants may be used to define component application 302 .

Claims (40)

1. mutual method is carried out in the service by end device (100,101,116) process network (102,104,114) and planning qualification, and the method comprising the steps of:
Transmission is used for setting up a request internet message of communication between service and end device (100,101,116);
Respond this request internet message and receive a component applications (302) that comprises a plurality of assemblies (400-406), first group of assembly has the meta-data descriptor of representing with structured definition language, the configuration information that is used for definitions component application program (302), 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 definitions component application program (302), these assemblies (400-406) are arranged to by end device (100,101,116) runtime environment provides, can carry out version so that produce configuration as of this component applications of the end device of the client computer of service, described runtime environment is used based on the execution model of template or based on the execution model of metadata;
Wherein this execution that can carry out version is convenient to through subsequently the exchanges data of network (102,104,114) between service and end device (100,101,116).
2. according to the process of claim 1 wherein that this runtime environment provides this can carry out an interface (220) of version to the processor (208) of the foundation structure (204) of this end device and the function of relevant operation system.
3. according to the method for claim 2, wherein this runtime environment is arranged to and implements to comprise following any ability: be provided for an internet message is sent to the communication of this service; Provide data, so that be provided for and the data content of serving a relevant internet message by user's input of this end device (100,101,116); The internet message that response is relevant with service provides data presentation; Provide data storage service to be used for remaining on this messenger client data of a storer (210) of this end device; And/or be provided for an execution environment of programming language, be used for coordinating can carry out the operation of the assembly (400-406) 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 or 3, further comprise step: from according with at dynamically producing the component description that is used for client application message and related data the metadata of this service definition.
6. according to the method for claim 5, wherein this service is the service that comprises that the common planning of following service limits: network service, database service and based on the CORBA service of IDL.
7. according to the method for claim 2 or 3, further comprise step: a data assembly (400) is included in first group of component definition, and this assembly (400) is used for describing the form of the data entity that is used by program (302).
8. according to the method for claim 7, further comprise step: at least one message components (404) is included in first group of component definition, each this message components (404) is used to describe a form by the message of this program (302) use, so that through network (102,104,114) and communication for service.
9. method according to Claim 8, wherein this data package definition and message component definition are platform neutrality, so that adapt to various runtime environment.
10. method according to Claim 8, further comprise step: a display module (402) is included in first group of assembly, display module (402) is used for definition and appears at end device (100 when component applications (302), the outward appearance and the behavior of this component applications (302) a when user interface (202) 101,116) is gone up.
11. method according to claim 10, further comprise step: be defined in this end device (100 in this request internet message, 101,116) client type is used to provide for a kind of predefined runtime environment the display module (402) that is platform-specific.
12. method according to claim 10, further comprise step: a workflow component (406) is included in second group of assembly, and this workflow component (406) is 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.
13. method according to claim 2 or 3, further comprise step: by carry out the version carried out of this machine code based on the execution model of template, this model adopts and is arranged to the some predefined template of filling with the meta-data descriptor of this assembly (400-406), and wherein this predefined template is provided for any one a plurality of assemblies that comprise following assembly: data package (400), message components (404) and/or display module (402).
14., further comprise step: utilize the parameter of the meta data definition relevant to fill this predefined template, and use the template of this filling to make up the version carried out of this this machine code with this meta-data descriptor according to the method for claim 13.
15. method according to claim 2 or 3, further comprise step: carry out this by one based on the metadata execution model and can carry out version, this model is arranged to this meta data definition is remained in this structured definition language so that resolve in the process of implementation.
16. according to the method for claim 2 or 3, further comprise step: carry out this by one based on the metadata execution model and can carry out version, this model is arranged to this machine demonstration of utilization structure definitional language node in the process of implementation.
17. method according to claim 12, further comprise step: send by this end device (100,101, an internet message of the user 116) and the mutual initiation of user interface section, this internet message comprise the data entity of creating by corresponding to the workflow component (406) of this user interface section.
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 (406).
19. method according to claim 18, further comprise step: receive a response to network message that comprises the message data that relates to the notebook data entity, this response to network message is arranged at this end device (100,101,116) show this message data subsequently on the user interface, wherein this message data is based on this structured definition language and is formative.
20. according to the method for claim 19, wherein this end device (100,101,116) comprises any with lower device: personal computer (116), wireless device (100), PDA (101), bootstrap message platform and/or desktop terminal (116).
A 21. end device (100,101,116), be arranged to through network (102,104,114), use comprises the version carried out of a component applications (302) of a plurality of assemblies (400-406), with based on planning service carry out alternately, this end device comprises:
Be used to operate the device basic structure (204) of this end device, this device basic structure comprises and is used to carry out this processor (208) that can carry out version and relational storage (210);
Be coupled to the user interface (202) of this device basic structure (204), this user interface (202) has to be arranged to this can carry out input media and the output unit that version is communicated by letter;
Network connection interface is coupled to this device basic structure (204) and is arranged to and this network service; With
Component framework structure (206), runtime environment is provided, to be used to use based on the execution model of template or based on the execution model of metadata, processing components application program (302) can be carried out version to produce this, so that this end device (100,101,116) be configured to the client computer of this service, this runtime environment is arranged to second group of assembly of a series of directive scripts of handling first group of assembly with meta-data descriptor of representing with structured definition language and being expressed as being associated with meta-data descriptor, described first group of assembly is used for the configuration information of definitions component application program (302), and second group of assembly is used for the workflow of definitions component application program (302);
Wherein this execution that can carry out version is convenient to be used for through subsequently the exchanges data of network between service and end device (100,101,116).
22. end device (100 according to claim 21,101,116), wherein this runtime environment this end device (100, a processor (208) of device basic structure (204) 101,116) and the function of relevant operation system offer the interface (220) that this can carry out version.
23. according to the end device (100,101,116) 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 service; Provide data, so that be provided for and the data content of serving a relevant internet message by user's input of this end device; The internet message that response is relevant with service provides data presentation; Provide data storage service to be used for remaining on this messenger client data of a storer (210) of this end device; And/or be provided for an execution environment of programming language, be used for coordinating can carry out the operation of the assembly (400-406) of version at this.
24. according to the end device (100,101,116) of claim 22 or 23, wherein this runtime environment is configured the part as this operating system.
25. according to the end device (100,101,116) of claim 22 or 23, wherein from according with at dynamically producing the component description that is used for client application message and related data the metadata of this service definition.
26. according to the end device (100,101,116) of claim 25, wherein this service is the service that common planning limits, and comprising: network service, database service and based on the CORBA service of IDL.
27. end device (100 according to claim 22 or 23,101,116), further comprise: the data assembly (400) in first group of component definition, this data package (400) are used for describing a form of the data entity that is used by this program (302).
28. end device (100 according to claim 27,101,116), further comprise: at least one message components (404) in first group of component definition, each message components (404) of at least one message components is used for describing the form of the message of being used by this program (302), so that through network (102,104,114) and this communication for service.
29. according to the end device (100,101,116) of claim 28, wherein this data package definition and message component definition are platform neutrality, so that adapt to various runtime environment.
30. end device (100 according to claim 28,101,116), further comprise: the display module (402) in first group of assembly, this display module (402) is used to be defined in component applications (302) and appears at end device (100, the outward appearance of this component applications (302) a when user interface (202) 101,116) is gone up.
31. according to the end device (100,101,116) of claim 30, the client type of this end device of in this request internet message, the stipulating display module (402) that to provide for a predefined runtime environment be platform-specific wherein.
32. end device (100 according to claim 30,101,116), further comprise: the workflow component (406) in this second group of assembly, this workflow component (406) 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.
33. end device (100 according to claim 22 or 23,101,116), wherein be used to carry out the version carried out of this machine code based on the execution model of template, this model adopts and is arranged to the some predefined template of filling with the meta-data descriptor of this assembly, wherein this predefined template is provided for a plurality of assemblies, and described a plurality of assemblies comprise: data package (400), message components (404) and/or display module.
34. according to the end device (100,101,116) of claim 33, wherein utilize the parameter of the meta data definition relevant to fill this predefined template, use the template of this filling to make up in this this machine code and can carry out version with this meta-data descriptor.
35. end device (100 according to claim 22 or 23,101,116), wherein be used to carry out this based on the execution model of metadata and can carry out version, this model is arranged to this meta data definition is remained in this structured definition language so that resolve in the process of implementation.
36. according to the end device (100,101,116) of claim 22 or 23, wherein be used to carry out this based on the execution model of metadata and can carry out version, this model is arranged in the process of implementation that this machine of utilization structure definitional language node shows.
37. end device (100 according to claim 32,101,116), wherein this can be carried out version and be arranged to transmission by end device (100,101, an internet message of the user 116) and the mutual initiation of user interface section, this internet message comprise the data entity of creating by corresponding to the workflow component (406) of this user interface section.
38. the end device (100,101,116) according to claim 37 wherein disposes this internet message according to this message components (406), so that comprise the data entity based on this structured definition language.
39. end device (100 according to claim 38,101,116), 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, this response to network message is arranged on a user interface (202) of this end device and shows this message data subsequently, and wherein this message data is according to this structured definition language and formative.
40. according to the end device (100,101,116) of claim 39, wherein said end device comprise following any: personal computer (116), wireless device (100), PDA (101), bootstrap message platform and/or desktop terminal (116).
CN200380109992.1A 2002-12-26 2003-12-24 Systems and methods for building and executing platform-neutral common service client applications Expired - Lifetime CN1757015B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US43601102P 2002-12-26 2002-12-26
US60/436,011 2002-12-26
US50366503P 2003-09-17 2003-09-17
US60/503,665 2003-09-17
PCT/CA2003/001976 WO2004059938A2 (en) 2002-12-26 2003-12-24 System and method for building and execution of platform-neutral generic services' client applications

Publications (2)

Publication Number Publication Date
CN1757015A CN1757015A (en) 2006-04-05
CN1757015B true CN1757015B (en) 2010-11-10

Family

ID=36689399

Family Applications (3)

Application Number Title Priority Date Filing Date
CNB2003801099917A Expired - Lifetime CN100456247C (en) 2002-12-26 2003-12-24 Method for establishing wireless component application, mobile communication device and server
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 Systems and methods for building and executing platform-neutral common service client applications

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CNB2003801099917A Expired - Lifetime CN100456247C (en) 2002-12-26 2003-12-24 Method for establishing wireless component application, mobile communication device and server
CN2009100013373A Expired - Lifetime CN101453491B (en) 2002-12-26 2003-12-24 System and method for building application program of assembly

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
WO2016044718A1 (en) * 2014-09-19 2016-03-24 Convida Wireless, Llc 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000036803A1 (en) * 1998-12-16 2000-06-22 Siemens Aktiengesellschaft Service system in a network

Family Cites Families (7)

* 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
AU3222600A (en) * 1999-02-03 2000-08-25 Onesoft Corporation Financial modeling in a modular system and method for processing transactions
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
JP2002099340A (en) * 2000-09-21 2002-04-05 Ec-One Inc Component service network system
US7171661B1 (en) * 2000-10-19 2007-01-30 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
CN1271893C (en) * 2001-11-27 2006-08-23 台达电子工业股份有限公司 Electronic ballast circuit with power and load current crest factor correction function

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000036803A1 (en) * 1998-12-16 2000-06-22 Siemens Aktiengesellschaft Service system in a network

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CANNATARO M ET AL.A component-based architecture for the development anddeployment of WAP-compliant transactional services.IEEE MICRO.2001,2753-2762. *
CRAMER T ET AL.COMPILING JAVA JUST IN TIME.IEEE MICRO,IEEE INC. NEW YORK,US17 3.1997,36-43.
CRAMER T ET AL.COMPILING JAVA JUST IN TIME.IEEE MICRO,IEEE INC. NEW YORK,US17 3.1997,36-43. *
同上.

Also Published As

Publication number Publication date
CN1757015A (en) 2006-04-05
CN101453491A (en) 2009-06-10
CN100456247C (en) 2009-01-28
CN101453491B (en) 2012-07-18
CN1757014A (en) 2006-04-05

Similar Documents

Publication Publication Date Title
KR101011744B1 (en) Client Application Construction System and Method for Platform-Neutral General Services
CN1757216B (en) Systems and methods for creating and communicating with wireless application-based components
CA2556862C (en) System and method for communicating asynchronously with web services using message set definitions
KR100826147B1 (en) System and method of building wireless component applications
CN1757015B (en) Systems and methods for building and executing platform-neutral common service client applications
HK1082307B (en) System and method for building and execution of platform-neutral generic services client applications
HK1082306B (en) System and method of building wireless component applications
HK1097375B (en) System and method for communicating asynchronously with web services using message set definitions

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: 20101110