WO2010127552A1 - 面向服务的应用系统及其通信方法、创建器和创建方法 - Google Patents

面向服务的应用系统及其通信方法、创建器和创建方法 Download PDF

Info

Publication number
WO2010127552A1
WO2010127552A1 PCT/CN2010/000599 CN2010000599W WO2010127552A1 WO 2010127552 A1 WO2010127552 A1 WO 2010127552A1 CN 2010000599 W CN2010000599 W CN 2010000599W WO 2010127552 A1 WO2010127552 A1 WO 2010127552A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
data
information
application system
configuration information
Prior art date
Application number
PCT/CN2010/000599
Other languages
English (en)
French (fr)
Inventor
谭家辉
Original Assignee
Tam Ka Fai Keith
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 Tam Ka Fai Keith filed Critical Tam Ka Fai Keith
Priority to US13/318,480 priority Critical patent/US20120124554A1/en
Publication of WO2010127552A1 publication Critical patent/WO2010127552A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to the technical field of network applications, and in particular, to a service-oriented application system, a communication method of the service-oriented application system, a method for creating the service-oriented application system, and a method for creating the month-oriented The creator of the application of the service. Background technique
  • Packaged software developed for various businesses is usually designed and developed according to different concepts and for different functions, and they usually cannot communicate with each other. Users who need applications related to multiple services (such as companies or businesses) usually need to purchase a variety of packaged software, and because these packaged software cannot communicate with each other, for users with multiple such packaged software, A number of information islands are formed between these softwares.
  • a company has such packaged software, it usually takes a lot of manpower and material resources to maintain the software-related information, and the integrity and consistency between the information is difficult to guarantee, and there is still a lot of redundancy.
  • the user's changing needs cannot be met in a cost-effective manner during the use of the software.
  • the present invention is directed to at least partially solving the problems of the above-mentioned prior art development applications and applications in use.
  • the present invention provides a service oriented application system, a communication method of a service oriented application system, a method and a creator for creating a service oriented application system.
  • a service-oriented application system including one or more application objects, each application object comprising: a flat structure data unit dedicated to storing a specific type of data; a relationship storage unit of a relationship between data in the data unit and data of data units in other application objects; and an application code module for operating data in the data unit and information in the relationship storage unit, wherein The application code module is operative to operate on the planar structure data unit and/or the relational storage unit in response to the network service request.
  • the application object includes a platform
  • the platform is an application object, including a planar structure data unit dedicated to storing the configuration information, and wherein the application code module in the platform is used to respond And searching for corresponding configuration information for the network service request for the configuration information, so as to return the configuration information.
  • the relationship storage unit of the platform is configured to store information in a relationship storage unit of other application objects.
  • the application object comprises a data application object comprising a flat structure data unit dedicated to storing service data.
  • the data application object further includes a planar structure data unit dedicated to storing a common portion of the configuration information associated therewith.
  • the application further includes a middleware
  • the configuration information is converted into information in a general format that can be interpreted by various client application systems associated with the service oriented application system.
  • the application further includes an adapter for converting a network service request or a returned network service response from a third-party system into a format suitable for the service-oriented application system or suitable Information for a client application system associated with the service oriented application system; and/or converting the network service response or the issued network service request returned by the service oriented application system or the client application system into a format Information suitable for third-party systems.
  • the application code module is configured to perform one or more of the following operations: adding data to a planar structure data unit; deleting data in a planar structure data unit; updating planar structure data Data in the unit; retrieving data in the unit structure data unit; adding information to the relationship storage unit; deleting information in the relationship storage unit; updating information in the relationship storage unit; and retrieving information in the relationship storage unit.
  • a communication method of a service oriented application system includes one or more application objects, each application object including a specific type for storing data of a specific type.
  • a planar structure data unit for storing a relationship between data in the data unit and data of data units in other application objects, and for operating data in the data unit and information in the relationship storage unit
  • An application code module the method comprising: operating a planar structure data unit and/or a relationship storage unit by an application code module in response to a network service request.
  • a method for creating a service-oriented application system includes: selecting one or more application templates, where the application template includes a user interface, an application object, and a corresponding action,
  • the application object includes: a planar structure data unit dedicated to storing a specific type of data, a relationship storage unit for storing a relationship between data in the data unit and data of data units in other application objects, and a unit for operating the data unit Data and an application code module of the information in the relationship storage unit; configuring the application template for user requirements to generate configuration information for the user; and packaging the application template and the configuration information, To generate an application package that suits the needs of the user.
  • the method further comprises: targeting the application The package performs deployment to provide the user with the service oriented application.
  • the method further comprises: saving the application package to facilitate subsequent creation of other applications; and/or exporting the application package for use by external application creation personnel.
  • the selecting one or more application templates includes one or more of the following operations: selecting one or more of a user interface, an application object, and a corresponding action from a repository; Selecting a predefined application package from the repository; and importing a predefined application package from the outside, wherein the predefined application package includes multiple application templates for implementing specific functions, or includes multiple implementations for specific functions Apply templates and related configuration information.
  • configuring the application template includes one or more of the following operations: deleting at least one of the user interface, the application object, and the action; At least one of a user interface, the application object, and the action; adding at least one of the user interface, the application object, and the action; and setting a protocol followed by the network service request.
  • the generated application package includes: a data application object including a planar structure data unit dedicated to storing service data; and/or a platform, the platform being an application object, including dedicated And a planar structure data unit storing the configuration information.
  • the configuration information includes user interface information and/or network service request information.
  • a creator for creating a service-oriented application system including: a selecting device, configured to select one or more application templates, where the application template includes a user interface, An application object and a corresponding action, the application object comprising: a planar structure data unit dedicated to storing a specific type of data, a relational storage unit for storing a relationship between data in the data unit and data of data units in other application objects, and An application code module for operating data of the data unit and information in the relationship storage unit; configuring means for configuring the application template for a user's needs to generate configuration information for the user; and packaging device , the application template and the configuration The information is packaged to generate an application package that suits the user's needs.
  • the service oriented application system consists essentially of a plurality of application objects, and preferably comprises an application object called a "platform" for storing configuration information. Therefore, based on this structure, the service-oriented application system can be created in a quick and simple manner (by simple mouse operation such as clicking, dragging and dropping) through a predefined application template.
  • the selected predefined package file can be modified to meet the needs of a particular user, or a similar application can be created for another user by slightly modifying the application package originally created for other users.
  • existing service-oriented applications can be easily modified to accommodate new customer needs.
  • the same type of service data (such as contact information) is stored in the same plane structure data unit that is logically a single table or a single file, but the plane structure data unit, the application object, or even the entire network application system can Multiple locations located in the network, in other words, may be located in multiple physical locations or in multiple domains.
  • individual planar structure data units, individual application objects, or entire network applications can be arranged in a single location or in multiple locations, or in a single domain or in multiple domains, depending on business needs. For example, for small companies, they can be stored in a single location, and for large international companies, they can be served in multiple locations.
  • the service data stored in the single logical table can be shared by multiple applications for different services, which is different from the traditional way of separately developing packaged software for different services by using different concepts
  • packaging software It is designed for different services based on different concepts based on a predetermined, rigid data model.
  • These packaged software are usually not communicable and cannot share business data. Therefore, compared with the conventional method, in the network application system of the present invention, the information data does not appear as an island of information. Therefore, there is no problem of information integration, data integrity, etc., which frees users from the complicated work of maintaining data integrity, reducing costs and providing efficiency.
  • different client application systems can correspond to a subset of different application objects in a monthly application system, which can be loaded, for example, by loading different configurations.
  • Information to achieve it is possible to achieve appropriate sharing of the user's business data with its provider, customer, partner, and the like. Therefore, the present invention not only brings many benefits to the user's company, but also brings convenience to the user's entire company chain.
  • the client application system and/or the service oriented application system in the network application system of the present invention can also communicate with the third party system through the adapter.
  • the user's existing business system can be used in combination with the network application system of the present invention, thereby saving costs.
  • the network application system of the present invention can be adapted to any change, so that the network application system of the present invention can exchange data with a third-party system in an appropriate manner such as a REST method or a SOAP protocol, thereby further avoiding information.
  • FIG. 1 schematically shows a network application system according to an embodiment of the invention
  • Figs. 2a to 2d schematically show an example of an application object according to the invention
  • Fig. 3 is schematically shown for illustration Illustration of a relational storage unit in accordance with the present invention
  • FIG. 4 is a schematic diagram showing a communication flow diagram of a network application system according to an embodiment of the present invention
  • Fig. 5 schematically shows a network application system according to another embodiment of the present invention
  • Fig. 6 is a view schematically showing a network application system according to still another embodiment of the present invention
  • Figure 8 shows an exemplary format of a protocol used by a third party system and a network service request and response of the client application system of the present invention
  • Figure 9 is a schematic illustration of a network application system in accordance with yet another embodiment of the present invention.
  • Figure 10 schematically illustrates a network application system in accordance with yet another embodiment of the present invention;
  • Figure 11 schematically illustrates Used to create a facet according to an embodiment of the present invention Flowchart of a method of serving an application system;
  • Figure 12 is a block diagram schematically showing a creator for creating a service oriented application system according to an embodiment of the present invention
  • Figure 13 is a block diagram schematically showing a creator for creating a service oriented application system in accordance with another embodiment of the present invention.
  • FIG. 14 is a block diagram schematically showing a creator for creating a service oriented application system according to still another embodiment of the present invention.
  • Figure 15 is a block diagram schematically showing a creator for creating a service oriented application system according to still another embodiment of the present invention.
  • Figure 16 is a schematic block diagram showing the structure of a computing device in which an embodiment in accordance with the present invention may be implemented. detailed description
  • Figure 1 schematically illustrates a network application system in accordance with one embodiment of the present invention.
  • the network application system 100 includes a client application system 110, and a monthly service-oriented application system 120, wherein the monthly service-oriented application system 120 includes application objects 130a, 130b...l30n.
  • Client application system 110 communicates with service oriented application 120 over network 140.
  • Network 140 can be any type of network or a combination of networks that can be communicated with each other.
  • network 140 may be a Transmission Control Protocol/Internet Protocol (TCP/IP) network, such as the global Internet collectively referred to as the "Internet.”
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • Client application system 110 may be any network client application capable of manipulating content and layout running directly or indirectly on any operating system.
  • the web client application 110 can Rich Internet Applications (RIAs) that run with or without a web browser, such as Flash applications, Java applications, JavaFX applications, Adobe Flex/AIR applications, Microsoft Silverlight applications, etc., where rich Internet applications can run dedicated web browsers On the plug-in, or running independently via a sandbox that guarantees the safe operation of the program; or it may be a script application running on a web browser such as a Javascript application, a VBScript application, or the like, or may be, for example, .NET, Java C, C++, Ruby, Python and other programming technologies developed by other applications running directly on the operating system.
  • RIAs Rich Internet Applications
  • the network client application can be any web-based application based on the Windows operating system, based on the Linux system, or based on any other suitable operating system.
  • the client application system 110 can even link to small applications in any suitable site (eg, a company website, a blog, or a large commercial website such as Facebook or eBay) for ease of use. For example, users can "hang" their product catalogs and online queries and payments to their partner sites for ease of use.
  • the client application system 110 is implemented to issue a network service request to the application system 120 oriented to the moon, such as requesting a corresponding application object in the application system 120 for the month to add data, delete data, retrieve data, update data. Etc., and receiving web service responses from application objects, such as returned retrieved data.
  • Client application system 110 can be configured to begin operation by loading configuration information. This configuration information determines how the client application system 110 interacts with the user and how to initiate a network service request. The configuration information will be described in detail below.
  • the client application system 110 can run on any device or system as long as the device or system is capable of supporting communication between the client application system and the service oriented application system.
  • the device or system can be a personal computer, such as a desktop computer; a handheld computing device, such as a mobile phone such as an iPhone, a BlackBerry, a mobile phone with a Window Mobile system, a smart phone, etc.; a portable computing device, such as a laptop, a netbook computer; And workstations, computing device networks, and more.
  • the application system 120 for the month of the month includes one or more application objects 130a, 130b...l30n.
  • application objects may also be referred to as “building block” server applications, and solutions for different functional requirements may be built by different combinations of these "building block” server applications.
  • building block server applications
  • solutions for different functional requirements may be built by different combinations of these "building block” server applications.
  • FIGS. 2a to 2d the structure for the composition will be described in detail with reference to FIGS. 2a to 2d.
  • the application object of the application system 120 of the service is described in detail with reference to FIGS. 2a to 2d.
  • the application object 200 may include a planar structure data single light 201, a relationship storage unit 202, and an application code module 203.
  • the planar structure data unit 201 may be dedicated to storing one of specific types of data, such as contact information, order information, project information, application-related configuration information, and the like; the relationship storage unit 202 may be configured to store the planar structure data unit.
  • the relationship between the data in 201 and the data in the planar structure data unit in other application objects; and the application code module 203 can be used to manipulate the data in the planar structure data unit 201 and the information in the relationship storage unit 202, such as Data or the like is added to the plane structure data unit 201 and/or the relationship storage unit 202.
  • application object 200 can run on support system 210, which refers to a combination of features: any platform on which application object 200 is allowed to run, eg, an operating system; allow relationship storage unit 202 And any database management system on which the flat structure data unit 201 resides, such as RDBMS, Oracle, DB2, MySQL, MS SQL, etc.; allows for exploits such as JavaScript, VBScript. .NET, Java, PHP, C, C++, Ruby, An application framework on which application code modules developed by various programming techniques, such as Python, run; and devices or systems that allow any platform, database management system, and application framework to run.
  • the flat structure data unit 201 included in the application object 200 may be, for example, a simple XML file, or may be a single logical table structure in a relational database such as MySQL, MS SQL, Oracle, DB2, etc. (although physically the planar structure data unit This can be done with tables stored in different locations).
  • the planar structure data unit 201 in each application object is dedicated to storing a specific type of data, that is, different types of data are stored in planar structural data units of different application objects, and the planar structure of different application objects The data types stored in the data unit are different from each other.
  • each application object 200 may have the same structure, that is, each application object may include a plane structure data unit 201, a relationship storage unit 202, and an application code module 203.
  • each of the planar structure data units 201 may have a different internal structure.
  • planar structure data unit 201 in the form of a single logical table may have different types and different numbers of fields in order to store different types of data, such as contact information, order information. , project information, configuration information of the client application system corresponding to the service-oriented application system, and the like.
  • the flat structure data unit 201a in the application object 200a is dedicated to storing configuration information of the client application system, wherein the configuration information can be obtained by the client application system to start the client application system. Therefore, in this sense, the application object 200a can also be referred to as a "platform.”
  • the plane structure data unit 201b in the application object 200b when the plane structure data unit 201b in the application object 200b is dedicated to storing general service data, it functions as a service data service for the client application system, and therefore may also be referred to as a "data application object.” ,,.
  • the relationship storage unit 202 included in the application object 200 serves to represent the relationship between the data of the plane structure data units in the respective application objects in the present invention.
  • FIG. 3 there is shown an illustration for illustrating a relational storage unit in accordance with the present invention, wherein the relational storage unit is a linked list.
  • a link structure table 312 and a link table 312 included in the data application object 310 a plane structure data unit 321 and a link table 322 included in the data application object 320, and a link table 332 in the platform 330 are shown.
  • the application code modules in the data application objects 310 and 320 and the planar structure data units and application code modules in the platform are not shown.
  • the linked tables 312 and 322 as shown are used to store the link relationship between the planar structure data units 311 and 321 and the planar structure data units in other application objects, respectively. According to an embodiment of the present invention, if the data of one planar structure data unit has a link relationship with the data in the planar structure data unit of other application objects, it will be used in the link table corresponding to the two planar structure data units. A link record indicating the link relationship. In addition, preferably, a link record corresponding thereto is also stored in the center link table 332 of the platform 330, and with the link record, the record recovery can be performed when the link record in the data application object is lost.
  • the data record A in the plane structure data unit 311 is linked with the data record B in the plane structure data unit 321, there is such a link record in the link table 312 corresponding to the plane structure data unit 311, which is included as The identifier of the linked record A of the primary key, the identifier of the data application object 320 in which the record B is linked, and the identifier of the linked record B; in the link table 322 corresponding to the plane structure data unit 321, the corresponding link record also exists.
  • a link record including an identification of the data application object 310 in which the record A is linked, an identification of the linked record A, an identification of the data application object 320 in which the record B is linked, and an identification of the linked record B.
  • such two records can be stored in two linked tables corresponding to the two planar structure data units, respectively, and preferably also in the central link table of the platform.
  • the link is described to establish a connection relationship between two records, thereby linking the two records.
  • the linked list is only one example of a relational storage unit for storing the relationship between data of respective planar structure data units.
  • the present invention is not limited thereto, and any other appropriate technique may be employed to store these linked records, such as a file format such as an XML file, as long as the link information can be saved.
  • Other technically relevant details regarding the implementation of link record storage are known to those skilled in the art and will not be described again herein.
  • the application code module 203 is configured to respond to, for example, from a client application.
  • a network service request of a system or other application object e.g., a REST mode or a request for a SOAP protocol
  • the application code module 203 can be developed using appropriate techniques such as .NET, JAVA, PHP, C, C++, Ruby, Python, etc., depending on the technology implementing the support system 210.
  • the application code module 203 may include basic methods of performing basic operations on data, such as creating, retrieving, updating, and deleting data in a flat structure data unit and link information in a linked list, etc., but is not limited thereto. Moreover, these basic methods can be designed to support network service requests in any format, such as the SOAP protocol and/or the REST mode, in order to operate on data in a flat structure data unit or information in a relational storage unit in response to a network service request. . Where the service oriented application system includes a platform, the application code module in the platform can be configured to look up the corresponding configuration information in response to the network service request for the configuration information to return the configuration information.
  • the implementation of the basic method is different for planar structure data units using different technologies, such as a flat structure data unit in the form of an XML file, the basic method includes an XML query language such as Xquery, and for a relational database.
  • the planar structure data unit in the form of a table, the basic method may include a Structured Query Language (SQL), which is well known to those skilled in the art and will not be described herein.
  • SQL Structured Query Language
  • all application code modules can be identical for all application objects, which helps speed up the deployment process.
  • the present invention is not limited to this, but different application code modules can be configured for ⁇ application objects.
  • each of the application objects may be located on one or more devices, and one or more application objects may also be located on a single device. .
  • a request for configuration information is issued at step 401 to launch the client application system.
  • the client application system is configured to launch by loading configuration information.
  • the configuration information includes user interface information and/or network service request information. use
  • the user interface information determines how the client application system interacts with the user, ie what interface should be presented to the user.
  • the network service request information determines how to initiate a network service request, that is, what protocol should be used to initiate the request, and what request should be initiated.
  • the configuration information may be different for different users, and may have different configuration information for different types of user equipment, but the present invention is not limited thereto.
  • the request should have a format that the entity storing the configuration information can interpret, such as a web service request in any format that supports the SOAP protocol and/or the REST format, or a request in other formats.
  • step 402 in response to the request for configuration information, a response containing the configuration information is returned.
  • the configuration information is stored in a flat structure data unit of the platform 130a in the service oriented application system.
  • the application code module in platform 130a responds to the request, looks up the requested configuration information, and returns the found configuration information.
  • step 403 the client application system is launched based on the configuration information. Based on the user interface information in the received configuration information, the client application system is launched and the corresponding user interface is displayed for the user to interact.
  • the client application system issues a network service request.
  • the network service request may be issued by triggering components on the user interface.
  • the network service request may be issued based on the network service request information in the configuration information, which is a network service request corresponding to the component and having a format defined in the network service request information.
  • step 405 in response to the network service request, a corresponding operation is performed by the application code module to return a corresponding network service response.
  • the application code module is configured to be able to understand the network service request and then perform basic operations, such as creation, deletion, query and update, on the flat structure data unit and/or the relational storage unit such as the linked list according to the required network service.
  • the network service response corresponding to the network service request can then be returned.
  • the present invention is not limited thereto, and the configuration information may be stored in other locations in the network as long as the information can be Client application system to get, the configuration information even It can also be stored in the user device where the client application system is located.
  • FIG. 5 there is shown a network application system 500 in accordance with another embodiment of the present invention.
  • different client application systems 510a 510m running on a variety of different hardware devices, such as desktop computers, laptop computing, and handheld devices, are included.
  • the platform 530a in the service oriented application system 520 configuration information corresponding to each client application system 510a 510m is stored.
  • the client application system sends a network service request for the configuration information to the platform 530a, and the platform 530a returns the corresponding configuration information to the client in response to the network service request.
  • a simplified version of the client system is usually installed in a user device such as a handheld device, and at this time, there may be a problem that the configuration information from the platform 530a cannot be interpreted.
  • a middleware 550 is further included for allowing the client application systems 510a, ... 510m running on different hardware devices to access the service oriented application system 520 of the present invention.
  • the middleware 550 is similar to the application object and can run on the aforementioned support system 210, and similar to the application object, the middleware 550 can also utilize technologies such as .NET, JAVA, PHP, C, according to the technology for implementing the support system 210. Developed with appropriate techniques such as C++, Ruby, and Python.
  • the assistance of the middleware 550 may be requested, and the middleware may convert the configuration information into a format that the client application system can understand, such as running in a browser application system using a browser. When you can convert to a generic HTML tag.
  • the network service request for performing format conversion may be sent to the platform 530a, or the network application for the configuration information is sent by the client application system. Request execution Conversion. Platform 530a will send configuration information to middleware 550 for format conversion. The middleware 550 can then send the formatted configuration information to the corresponding client application system, or the platform notifies the corresponding client application system to obtain the configuration information from the middleware 550.
  • the client application system may directly request configuration information from the middleware 550; the middleware 550 communicates with the platform 530a based on the configuration request, and acquires corresponding configuration information therefrom; then, the middleware 550 Performing data format conversion on the acquired configuration information, and transmitting the formatted configuration information to the client application system.
  • the intermediate member 550 is a separate component, however, it should be noted that the intermediate member 550 may also be integrated with the platform 530a.
  • the client application system directly requests configuration from the platform 530a, and if the conversion is needed, the format conversion can be performed by the middleware included in the platform 530a, and if not, the middleware can be directly sent to the configuration information via the network 540 to the middleware.
  • Client application system directly requests configuration from the platform 530a, and if the conversion is needed, the format conversion can be performed by the middleware included in the platform 530a, and if not, the middleware can be directly sent to the configuration information via the network 540 to the middleware.
  • FIG. 6 also shows a network application system 600 in accordance with yet another embodiment of the present invention.
  • the third party system is, for example, a system of other parties belonging to the community of the client application system (such as customers, suppliers, partners, etc. of the company), or systems of other departments in the company, and the like.
  • Third party systems are typically different applications than the systems of the present invention, and thus the network service requests they employ are likely to be different from the flat structure data unit based service oriented application systems of the present invention.
  • XMLm 701 may be, for example, a response returned by a third party, and the data information in the file has a hierarchical relationship, and each of XML1 702a, XML2 702b, and central link 702c corresponding thereto is associated with each other.
  • Figure 8 is exemplary The way is shown, for example, the network service service request used by the client application system is a REST mode request as shown in 801, and the network service request used by the third party system is SOAP as shown in 802. Request for the agreement. Therefore, in this case, this may also cause communication obstacles between the third party system and the network application system of the present invention.
  • the present invention provides a network service adapter that converts a network service request or a returned network service response from a third party system into a format suitable for the service oriented An application system or information suitable for a client application system corresponding to the service-oriented application system; and/or a network service response or network sent by the service-oriented application system or the client application system
  • the service request is converted into information suitable for the third party system.
  • a RESTful request can be converted into a request for a SOAP protocol that can be understood, and the hierarchical XML file returned by the system of the present invention can be integrated into a hierarchical XML file that the third system can understand, and vice versa.
  • the existing service systems can be integrated with the network application system of the present invention through the network service adapter, thereby saving the resources of the user company and avoiding waste caused by repeated investment.
  • the adapter may exist as a separate component as shown in adapter 670a; it may also be packaged into any service oriented application as shown in adapter 670b. Similar to the application objects and middleware, the adapters 670a and 670b can run on the aforementioned support system 210, which can also utilize technologies such as .NET, JAVA. PHP, C, C++, etc., depending on the technology implementing the support system 210. Developed with appropriate techniques such as Ruby, Python, etc. For specific information about the network service adapter, refer to the patent submitted by the applicant on the same day as this application, Li Xinyu, application number "", invention name "method for adapting network service communication, adapter and adapter system" Application.
  • FIG. 9 also shows a network application system according to still another embodiment of the present invention.
  • the configuration information specific to the client application system can be saved only in the platform 930a, but for all the clients.
  • Common configuration information that the end application system has, A planar structure data unit dedicated to storing common configuration information may be created in the corresponding data application objects 930b...930n to store configuration information associated therewith, as shown in FIG.
  • FIG. 10 also shows a network application system in accordance with yet another embodiment of the present invention.
  • a first client application system 1010a1 a first platform 1030a for storing configuration information related to the first client application system 1010al, and a first client application system. 1010al corresponding first service oriented application system 1050al; and second client application system 1010a2, second platform 1030a2 storing configuration information related to the second client application system 1010a2, and related to the second client application system 1010a2
  • the second is for the monthly application system 1050al.
  • the first client application system and the second client application system may be parties belonging to the community, such as a company and a customer, supplier or partner of the company.
  • the first client application system 1010al may issue a network service request to the application object in the service oriented application system 1050a2 through the network 1040, and the application object in the service oriented application system 1050a2 may respond
  • the network service request provides a corresponding network service response for the first client application system 1010al.
  • the second client application system 1010a2 can access the application object in the first month-oriented application system 1050al through the network 1040. Therefore, data sharing and data exchange can be realized in such a network application system.
  • the network application system may also include a plurality of different service-oriented application systems respectively corresponding to the plurality of client application systems, and there may be multiple platforms respectively corresponding to the plurality of clients.
  • client application system and the service-oriented application system can also run on one or more devices in the network; in the case where the networks 140, 540, 640, 940, and 1040 are the Internet, the client application System and service-oriented applications can also run In one or more domains.
  • client application systems residing in the user equipment may be general-purpose applications developed according to the technology of the support system, and these client application systems can satisfy the loading by loading different configuration information. Different needs of users.
  • the present invention is not limited thereto, and all client application systems may share the same configuration information.
  • the service-oriented application system and the client application system of the present invention and their communication methods are described by describing the network application system of the present invention and its communication method.
  • the various service-oriented application systems and various client application systems of the present invention may be provided by one software provider, or may be provided by a plurality of separate software providers, as long as the service-oriented application system and The same communication protocol is followed between client applications. Accordingly, the present invention separately protects the service oriented application system and the client application system according to the present invention.
  • Figure 1 1 shows a flow chart of a method for creating an application system for a service in accordance with one embodiment of the present invention.
  • step 1 101 one or more application templates are selected.
  • one or more application templates are provided to speed up the application development process.
  • the application template includes a designed user interface, application objects, and corresponding actions.
  • the user interface is an interface that will be presented to the user in a page form, for example, by a browser to interact with the user, with various components that can be provided to the user.
  • An action is an action associated with various components (buttons, selection boxes, text boxes, etc.) provided on the user interface, and is an action performed in response to activation of a component on the user interface, such as displaying a corresponding page, issuing an operation on the data Internet service requests, etc.
  • the application object includes: a planar structure data unit dedicated to storing a specific type of data; a relationship storage unit for storing a relationship between data in the planar structure data unit and data of a planar structure data unit in other application objects; And an application code module for operating data of the planar structure data unit and information in the relational storage unit.
  • the application object is usually the object that the web service request is for. Wherein, the application object is used to store the application When the information is set, it can also be called a platform; when it is used to store ordinary data information, it can be called a data application object.
  • a repository for storing an application template. Therefore, one or more of the user interface, the application object, and the corresponding action can be selected from the repository.
  • the application template is in the form of an application package that includes a plurality of application templates for implementing a particular function.
  • the application package further includes related configuration information. In this case, if you want to create a monthly-oriented application that is similar to the one implemented by the application package, you can select the application package from the repository to further accelerate the creation of the service-oriented application.
  • the application package can be externally imported through an import component to speed up the service-oriented application development process.
  • step 1102 the application template is configured for the user's needs to generate configuration information for the user.
  • the service-oriented applications required may be different for different users, so it may be necessary to configure the selected application templates to adapt them to suit the user's needs.
  • the user interface, application objects, actions, etc. included in the selected application template can be modified. For example, components and corresponding actions can be added to the user interface; add application objects; modify the link relationship between application objects; modify the internal structure of the planar structure data unit, such as adding and deleting fields. In addition, you can modify the rendered icons, pictures, etc. on the user interface to create a personalized app.
  • the user interface, the application object, and related actions that are not needed in the application package may be deleted; in addition, the user interface, the application object, and related actions not included in the application package are also added, thereby Meet the specific needs of users.
  • the relevant protocols used by the network service request such as the REST mode or the SOAP protocol, can also be specified, and the requests and responses based on the two protocols are exemplarily shown in FIG. '
  • the application template After the application template is configured, you can obtain related configuration information. It includes information related to the interface to be presented to the user, namely user interface information, and network service request information.
  • the user interface information determines how the client application system interacts with the user, ie what interface should be presented to the user.
  • the network service request information determines how to initiate a network service request, that is, what protocol should be used to initiate the request, and what request should be initiated. Based on the configuration information, it is possible to provide a specific service to the user.
  • the generated configuration information may be stored in an application object, and the application object may be referred to as a "platform,” and correspondingly, other corresponding objects for storing service data may be referred to as "Data Application Object.”
  • the configuration information may be stored in any suitable location that may be acquired by the client application system, and the configuration information may also be stored in any suitable manner.
  • a new link button may be added to the original user interface, and two application objects corresponding to the two pieces of information to be linked are associated by a simple click, drag and drop operation, thereby establishing a link associated with the button. Actions. Then, you can update the configuration information. Thereafter, when the user launches the client application system by loading new configuration information, the "link" operation button can be displayed on the user interface, so that the user can link the required information without changing the two application objects themselves. .
  • other changes to the network application can be easily made according to user requirements, such as delinking the application object.
  • step 1103 the application template and the configuration information are packaged to generate an application package suitable for the user's needs.
  • the application package is further deployed to provide the application package to the user.
  • the generated application package in order to speed up the subsequent service-oriented application creation process, may be further saved to a repository for later use by the development program.
  • the generated application package may be further saved to a repository for use by an external application creator.
  • the steps to perform the deployment are not required.
  • the person who created the application can create some custom application packages stored in the repository based on the original application templates in the repository for later use. In this case, no deployment steps are required.
  • Figure 12 illustrates a creator for creating a service oriented application system in accordance with one embodiment of the present invention.
  • the creator 1200 of the present invention includes: a selection device 1201, a configuration device 1202, and a packaging device 1203.
  • Selection device 1201 is used to select one or more application templates.
  • the application template includes a user interface, an application object, and a corresponding action.
  • the application object includes: a planar structure data unit dedicated to storing a specific type of data; a relation storage unit for storing a relationship between data in the data unit and data of data units in other application objects; and a unit for operating the data unit An application code module for information in data and relational storage units.
  • the configuration device 1202 is configured to configure the application template for the user's needs to generate configuration information for the user.
  • the packaging device 1203 is configured to package the application template and the configuration information to generate an application package suitable for the user's needs.
  • the selecting means 1201 is further used for one or more of the following operations: selecting one or more of a user interface, an application object, and a corresponding action from the repository; Selecting a predefined application package in the repository; and importing a predefined application package from the outside, wherein the predefined application package includes multiple application templates for implementing specific functions, or includes multiple application templates for implementing specific functions. Multiple application templates and related configuration information.
  • the configuration means 1202 is further used for one or more of the following operations: deleting the user interface, the application object, said at least one action; modified At least one of the user interface, the application object, and the action; adding at least one of the user interface, the application object, and the action; and setting a protocol followed by the network service request in the action.
  • the generated application package includes: a data application An object, comprising a flat structure data unit dedicated to storing business data; and/or a platform, the platform being an application object comprising a flat structure data unit dedicated to storing the configuration information.
  • the configuration information includes user interface information and/or network service request information.
  • Figures 13, 14, and 15 also illustrate further embodiments in accordance with the present invention.
  • the creators 1300, 1400, and 1500 of Figures 13, 14, and 15 respectively include selection means 1301, 1401, and 1501 corresponding to the selection means 1201 of Figure 12 for selecting one or more Application templates 1302, 1402, and 1502, which correspond to the configuration device 1202 in FIG. 12, configured to configure the application template for user requirements to generate configuration information for the user; and packaging device 1303, 1403 and 1503, which correspond to the packaging device 1203 in FIG. 12, for packaging the application template and the configuration information to generate an application package suitable for the user's needs.
  • the creator 1300 shown in FIG. 13 further includes a deployment device 1304 for performing deployment on the application package to provide the service-oriented application system to a user;
  • the creator 1400 shown in FIG. 14 further includes a saving device 1405 for saving the application package to facilitate subsequent creation of other applications;
  • the creator 1500 shown in FIG. 15 further includes an exporting device 1506 for exporting the application package, For use by external application creators.
  • the various features shown above may be combined as long as they do not deviate from the principles of the invention.
  • the deployment device 1304, the import device 1405, and the export device 1506 in Figures 13, 14 and 15 above may be included.
  • a service-oriented application system is mainly composed of a plurality of application objects, and preferably includes an application object called a "platform" for storing configuration information. Therefore, based on this structure, a service-oriented application system can be created in a quick and simple manner (by simple mouse operations such as clicking, dragging and dropping) through a predefined application template.
  • the selected predefined package file can be modified to meet the needs of a specific user, or it can be created for another user by slightly modifying the application package originally created for other users. Create a similar application.
  • existing service-oriented application systems can be easily modified to accommodate new customer needs.
  • the same type of service data (such as contact information) is stored in the same plane structure data unit that is logically a single table or a single file, but the plane structure data unit and the application object or even the entire network application system can There are multiple locations in the network, in other words, there may be multiple physical locations or multiple domains.
  • each of the planar structure data units, the respective application objects, or the entire network application system can be arranged in a single location or in multiple locations, or in a single domain or in multiple domains, depending on the business requirements. For example, for small companies, they can be stored in a single location, and for large international companies, they can be served in multiple locations.
  • the service data stored in the single logical table can be shared by multiple applications for different services, and the packaged software is based on a predetermined, rigid data model based on different concepts and for different services. Designed, these packaged software are usually not able to communicate with each other, and can not share business data. Therefore, compared with the conventional method, in the network application system of the present invention, business data does not have information islands. Therefore, there is no problem with information integration, data integrity, etc., which frees users from the tedious task of maintaining data integrity, reducing costs and providing efficiency.
  • different client application systems for example, a client application system of a user, a client application system of a provider of the user, a client application system of the user of the user, and a client of the partner of the user
  • the end application system can correspond to a subset of different application objects in a monthly service-oriented application system, which can be implemented, for example, by loading different configuration information.
  • the user's business data can be appropriately shared with its provider, customer, partner, and the like. Therefore, the present invention not only brings many benefits to the user's company, but also brings convenience to the user's entire company chain.
  • the client application system and/or the server-oriented application system in the network application system of the present invention can also communicate with the third-party system through the adapter.
  • the existing business system of the user can be used in combination with the network application system of the present invention, thereby saving cost.
  • the hair can be made by using an adapter
  • the network application system can be adapted to any change, so that the network application system of the present invention can exchange data with a third-party system by using an appropriate manner such as a REST method or a SOAP protocol, thereby further avoiding the problem of information islands.
  • FIG. Figure 16 is a schematic block diagram showing the construction of a computing device in accordance with an embodiment of the present invention.
  • the computer system shown in FIG. 16 includes a CPU (Central Processing Unit) 1601, a RAM (Random Access Memory) 1602, a ROM (Read Only Memory) 1603, a system bus 1604, a hard disk controller 1605, a keyboard controller 1606, and a serial An interface controller 1607, a parallel interface controller 1608, a display controller 1609, a hard disk 1610, a keyboard 1611, a serial external device 1612, a parallel external device 1613, a display 1614, and a network adapter 1615.
  • a CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the hard disk 1610 is connected to the hard disk controller 1605
  • the keyboard 1611 is connected to the keyboard controller 1606
  • the serial external device 1612 is connected to the serial interface controller 1607
  • the parallel external device 1613 is connected to the parallel interface controller 1608, and the display 1614 and the display controller are connected.
  • 1609 is connected
  • network interface controller 1615 allows the computer system to access a computer network such as the Internet.
  • FIG. 16 The block diagram of the structure shown in Fig. 16 is shown for the purpose of illustration only and is not a limitation of the invention. In some cases, some of the devices may be added or subtracted as desired, for example, a computer device for implementing the present invention may not have an input/output device such as a display, keyboard, or the like.
  • embodiments of the invention may be implemented in software, hardware or a combination of software and hardware.
  • the hardware portion can be implemented using dedicated logic; the software portion can be stored in memory and executed by a suitable instruction execution system, such as a microprocessor or dedicated design hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

面向服务的应用系统及其通信方法、 创建器和创建方法 技术领域
本发明涉及网络应用的技术领域, 更具体地, 涉及一种面向服务的 应用系统、 该面向服务的应用系统的通信方法、 用于创建该面向服务的 应用系统的方法以及用于创建该面向月良务的应用的创建器。 背景技术
在传统的应用开发过程中, 通常首先调查用户需求, 然后基于用户 需求来设计数据库, 进行应用编程和用户界面设计。 通常, 出于成本效 益的考虑, 在开发这些应用时, 总是试图处理诸如企业资源规划、 客户 关系管理、 人力资源管理等不同业务功能中的类似需求。 然而, 实际上, 通过这种方式开发的打包软件应用在实际应用时, 难以实现其预期的效 果, 其主要原因如下。
首先, 各种业务信息的处理方式不同, 难以实现统一化的处理。 对 于各种业务而言,不管信息是来自不同工艺领域还是来自相同工业领域, 对这些信息进行处理的方式通常是不同的, 这是因为业务环境和业务实 践方面存在巨大差异。
其次, 软件应用过于繁杂。 以上述方式形成的打包软件试图概括出 各种不同的业务功能的共同需求。 然而, 随着软件的使用, 软件应用逐 步升级, 最终导致大多数业务实际上并不需要的功能组件越来越多。
再者, 存在数据整合问题。 针对各种业务开发的打包软件通常是按 照不同的概念并针对不同功能设计和开发的, 它们彼此之间通常不能通 信。 需要与多种业务相关的应用的用户 (诸如公司或企业等)通常需要 购买多种打包软件, 而由于这些打包软件之间不能通信, 因此对于拥有 多个这种打包软件的用户而言, 在这些软件之间会形成多个信息孤岛。 当公司拥有这样的打包软件时, 通常需要花费大量的人力、 物力来维护 各个软件相关的信息, 并且这些信息之间的完整性、 一致性也难以得到 保证, 而且还存在大量冗余。 另外, 在软件使用过程中不能以具有成本效益的方式枣满足用户变 化的需求。 业务信息通常是易变的, 且具有内部关联性, 但是基于预定 的、 刚性数据模型设计的打包软件, 不能在使用过程中以期望的、 适合 的方式来关联这些变化的信息。 因此, 根据现有技术, 难以以较小的成 本来满足用户的需求。 发明内容
有鉴于此, 本发明旨在至少部分上解决上述提及的现有技术中开发 应用以及使用中的应用所存在的问题。 - 为此, 本发明提供了一种面向服务的应用系统、 面向服务的应用系 统的通信方法、 创建面向服务的应用系统的方法和创建器。
根据本发明的一个方面, 提供了一种面向服务的应用系统, 所述应 用系统包括一个或多个应用对象, 每个应用对象包括:专用于存储特定类 型数据的平面结构数据单元; 用于存储该数据单元中的数据与其他应用 对象中数据单元的数据之间关系的关系存储单元; 以及用于操作该数据 单元中的数据和该关系存储单元中的信息的应用代码模块, 其中, 所述 应用代码模块用于响应于网络服务请求, 对平面结构数据单元和 /或关系 存储单元进行操作。
根据本发明的一个实施方式, 所述应用对象包括平台, 该平台是一 种应用对象, 包括专用于存储所述配置信息的平面结构数据单元, 以及 其中, 该平台中的应用代码模块用于响应于针对所述配置信息的网络服 务请求, 查找相应的配置信息, 以便返回该配置信息。
根据本发明的另一实施方式, 所述平台的关系存储单元用于存储其 他应用对象的关系存储单元中的信息。
根据本发明的又一实施方式, 所述应用对象包括数据应用对象, 其 包括专用于存储业务数据的平面结构数据单元。
根据本发明的再一实施方式, 所述数据应用对象进一步包括专用于 存储所述配置信息中与之相关的公共部分的平面结构数据单元。
根据本发明的另一实施方式, 其中所述应用进一步包括中间件, 用 于把所述配置信息转换为能够由与所述面向服务的应用系统相关的各种 客户端应用系统解释的通用格式的信息。
根据本发明的又一实施方式, 其中所述应用进一步包^适配器, 用 于将来自第三方系统的网络服务请求或所返回的网络服务响应转换成格 式适合于所述面向服务的应用系统或者适合于与所述面向服务的应用系 统相关的客户端应用系统的信息; 和 /或将所述面向服务的应用系统或者 所述客户端应用系统返回的网络服务响应或者发出的网络服务请求转换 成格式适合于第三方系统的信息。
根据本发明的再一实施方式, 其中, 所述应用代码模块用于进行以 下操作中的一种或者多种: 向平面结构数据单元添加数据; 删除平面结 构数据单元中的数据; 更新平面结构数据单元中的数据; 检索平面结构 数据单元中的数据; 向关系存储单元添加信息; 删除关系存储单元中的 信息; 更新关系存储单元中的信息; 以及检索关系存储单元中的信息。
根据本发明的另一方面, 提供了一种面向服务的应用系统的通信方 法, 其中, 所述面向服务的应用系统包括一个或多个应用对象, 每个应 用对象包括专用于存储特定类型数据的平面结构数据单元、 用于存储该 数据单元中的数据与其他应用对象中数据单元的数据之间关系的关系存 储单元、 以及用于操作该数据单元中的数据和该关系存储单元中的信息 的应用代码模块, 所述方法包括: 响应于网络服务请求, 通过应用代码 模块对平面结构数据单元和 /或关系存储单元进行操作。
根据本发明的又一方面, 提供了一种用于创建面向服务的应用系统 的方法, 包括: 选择一个或多个应用模板, 其中, 所述应用模板包括用 户界面、 应用对象和相应动作, 该应用对象包括: 专用于存储特定类型 数据的平面结构数据单元、 用于存储该数据单元中的数据与其他应用对 象中数据单元的数据之间关系的关系存储单元、 以及用于操作该数据单 元中的数据和该关系存储单元中的信息的应用代码模块; 针对用户的需 求对所述应用模板进行配置, 以生成针对所述用户的配置信息; 以及将 所述应用模板和所述配置信息打包, 以生成适合用户的需求的应用包。
根据本发明的一个实施方式, 所述方法进一步包括: 针对所述应用 包执行部署, 以便为用户提供所述面向服务的应用系统。
根据本发明的另一实施方式, 所述方法进一步包括: 保存所述应用 包, 以便于随后创建其他应用; 和 /或导出所述应用包, 以供外部应用创 建人员使用。
根据本发明的又一实施方式, 其中, 选择一个或多个应用模板包括 以下操作中的一种或者多种: 从存储库中选择用户界面、 应用对象以及 相应动作中的一种或者多种; 从存储库中选择预定义的应用包; 以及从 外部导入预定义的应用包, 其中, 所述预定义的应用包包括用于实现特 定功能的多个应用模板, 或者包括实现特定功能的多个应用模板以及相 关的配置信息。
根据本发明的再一实施方式, 其中, 对所述应用模板进行配置包括 以下操作中的一种或者多种: 删除所述用户界面、 所述应用对象、 所述 动作中至少一个; 改所述用户界面、 所述应用对象、 所述动作中至少 一个; 增加所述用户界面、 所述应用对象、 所述动作中至少一个; 以及 设置网络服务请求所遵循的协议。
根据本发明的另一实施方式, 其中, 所生成的应用包包括: 数据应 用对象, 其包括专用于存储业务数据的平面结构数据单元; 和 /或平台, 该平台是一种应用对象, 包括专用于存储所述配置信息的平面结构数据 单元。
根据本发明的又一实施方式, 其中, 所述配置信息包括用户界面信 息和 /或网络服务请求信息。
根据本发明的又一方面, 还提供了一种用于创建面向服务的应用系 统的创建器, 包括: 选择装置, 用于选择一个或多个应用模板, 其中, 所述应用模板包括用户界面、 应用对象和相应动作, 该应用对象包括: 专用于存储特定类型数据的平面结构数据单元、 用于存储该数据单元中 的数据与其他应用对象中数据单元的数据之间关系的关系存储单元、 以 及用于操作该数据单元的数据和关系存储单元中的信息的应用代码模 块; 配置装置, 用于针对用户的需求对所述应用模板进行配置, 以生成 针对所述用户的配置信息; 以及打包装置, 将所述应用模板和所述配置 信息打包, 以生成适合用户的需求的应用包。
根据本发明, 该面向服务的应用系统主要由多个应用对象构成, 并 且优选地包括用于存储配置信息的称作"平台"的应用对象。 因此, 基于 这种结构, 可以通过预先定义的应用模板来以快速、 简单的方式(通过 点击、 拖放等简单的鼠标操作)来创建该面向服务的应用系统。
另外, 可以对选择的预定义打包文件进行修改以满足特定用户的需 求, 也可以通过略微修改原先为其他用户创建的应用包来为另一用户创 建类似的应用。 此外, 还可以容易地修改已有的面向服务的应用系统来 适应客户新的需求。
根据本发明, 相同类型的业务数据(诸如联系人信息)存储在逻辑 上为单个表或者单个文件的同一平面结构数据单元中, 但该平面结构数 据单元、 该应用对象甚至整个网络应用系统均可以位于网络中的多个位 置, 换句话讲, 可以位于多个物理位置或者多个域中。 根据本发明, 可 以根据业务需求将各个平面结构数据单元、 各个应用对象或整个网络应 用布置在单个位置或者多个位置, 或布置在单个域中或者多个域中。 例 如, 对于小型公司, 可以将它们存储在单个位置, 对于大型的国际性公 司, 则可以将其提供在多个位置。 另外, 根据本发明, 存储在该单一逻 辑表中的业务数据可以由针对不同业务的多个应用共享, 这与利用不同 概念针对不同业务分别开发打包软件传统方式不同, 根据该传统方式, 打包软件是根据预定的、 刚性数据模型基于不同理念针对不同业务而设 计的, 这些打包软件之间通常是不能通信的, 更不能共享业务数据。 所 以, 与传统方式相比, 在本发明的网络应用系统中, 业务数据不会出现 信息孤岛。 因此, 不会存在信息整合、 数据完整性等方面的问题, 使得 用户从维护数据完整性等繁杂的工作中解脱出来, 减少了成本, 提供了 效率。
另外, 根据本发明, 不同的客户端应用系统(例如, 用户的客户端 应用系统、 该用户的提供商的客户端应用系统、 该用户的客户的客户端 应用系统和该用户的合作方的客户端应用系统)可以对应于一个面向月良 务的应用系统中的不同应用对象子集, 这例如可以通过装载不同的配置 信息来实现。 因而, 可以实现用户的业务数据与其提供商、 客户、 合作 方等的适当共享。 因此, 本发明不但为用户的公司带来了诸多益处, 而 且为用户的整个公司链带来了方便。
根据本发明的优选实施方式, 还可以通过适配器使得本发明的网络 应用系统中的客户端应用系统和 /或面向服务的应用系统与第三方系统 的相互通信。 从而, 可以将用户已有的业务系统与本发明的网络应用系 统结合起来使用, 从而节约成本。 另外, 通过使用适配器可以使得本发 明的网络应用系统可以适应于任何变化, 使得本发明的网络应用系统可 以利用诸如 REST方式或者 SOAP协议等适当方式与第三方系统进行数 据交换, 因此可以进一步避免信息孤岛的问题。 ( 附图说明
通过对结合附图所示出的实施方式进行详细说明, 本发明的上述以 及其他特征将更加明显, 在本发明附图中, 相同的标号表示相同或相似 的部件。 在附图中,
图 1示意性地示出了根据本发明的一个实施方式的网络应用系统; 图 2a至图 2d示意性地示出了根据本发明的应用对象的示例; 图 3示意性地示出用于说明根据本发明的关系存储单元的图示; 图 4示意性地示出了 >据本发明的一个实施方式的网络应用系统的 通信流程图;
图 5示意性地示出了 >据本发明的另一实施方式的网络应用系统; 图 6示意性地示出了才艮据本发明的又一实施方式的网络应用系统; 图 7分别示出了第三方系统返回的 XML文件和本发明的网络应用 系统所能力理解的文件格式;
图 8分别示出了第三方系统和本发明的客户端应用系统的网络服务 请求和响应所使用的协议的示例性格式;
图 9示意性地示出了根据本发明的再一实施方式的网络应用系统; 图 10示意性地示出了根据本发明的又一实施方式的网络应用系统; 图 11 示意性地示出了根据本发明的一个实施方式的用于创建面向 服务的应用系统的方法的流程图;
图 12 示意性地示出了才艮据本发明的一个实施方式的用于创建面向 服务的应用系统的创建器的方框图;
图 13 示意性地示出了 居本发明的另一实施方式的用于创建面向 服务的应用系统的创建器的方框图;
图 14 示意性地示出了根据本发明的又一实施方式的用于创建面向 服务的应用系统的创建器的方框图;
图 15 示意性地示出了根据本发明的再一实施方式的用于创建面向 服务的应用系统的创建器的方框图; 以及
图 16 示意性示出了可以实现根据本发明的实施方式的计算设备的 结构方框图。 具体实施方式
接着, 将参考附图通过实施方式来描述本发明提供的面向服务的应 用系统、 该面向服务的应用系统的通信方法、 用于创建面向 ^^务的应用 系统的方法及用于创建面向服务的应用系统的创建器。
首先, 为了更加清楚和方便地描述根据本发明的面向服务的应用系 统及通信方法,将通过参考图 1至图 10描述根据本发明的实施例的网络 应用系统及其通信方法, 来描述面向服务的应用系统及其通信方法。
参考图 1, 图 1 示意性地示出了才艮据本发明的一个实施方式的网络 应用系统。 如图 1所示, 网络应用系统 100包括客户端应用系统 110、 面向月艮务的应用系统 120, 其中, 该面向月良务的应用系统 120 包括应用 对象 130a、 130b... l30n。 客户端应用系统 110与面向服务的应用 120之 间通过网络 140通信。
网络 140可以是任何类型的网络, 或者是由能够彼此通信的设备组 成的网络的组合。例如,网络 140可以是传输控制协议 /网际协议( TCP/IP ) 网络, 诸如统称被称作是"因特网"的全球互联网。
客户端应用系统 110可以是能够操控直接或间接运行在任何操作系 统上的内容和布局的任何网络客户端应用。 该网络客户端应用 110可以 是利用或者不利用网络浏览器来运行的富互联网应用( RIA ),例如 Flash 应用、 Java应用、 JavaFX应用、 Adobe Flex/AIR应用、 Microsoft Silverlight 应用等, 其中富互联网应用可以运行专用的网络浏览器插件上, 或者经 由保证程序安全运行的砂盒(sandbox ) 来独立运行; 或者, 可以是例如 Javascript应用、 VBScript应用等在网络浏览器上运行的脚本应用;或者, 可以是以例如 .NET、 Java. C, C++、 Ruby, Python等各种编程技术开发 的直接在操作系统上运行的其他应用。 并且该网络客户端应用可以任何 基于网络的应用, 其基于 Windows操作系统, 基于 Linux系统, 或者基 于其他任何适当的操作系统。 该客户端应用系统 110甚至可以链接到任 何适当站点 (例如公司网站、 博客或者是阿里巴巴或易趣等大商业网站 等) 中的小应用, 以方便使用。 例如, 用户可以将其产品目录以及在线 查询和支付"挂"到它们的合作方网站上以方便使用。
该客户端应用系统 110被实现为向面向月良务的应用系统 120发出网 络服务请求, 诸如请求面向月良务的应用系统 120中相应的应用对象以添 加数据、 删除数据、 检索数据、 更新数据等, 以及接收来自应用对象的 网络服务响应, 诸如返回的检索数据等。
客户端应用系统 110可以被配置为通过装载配置信息而开始操作。 该配置信息决定了客户端应用系统 110如何与用户交互以及如何发起网 络服务请求。 关于配置信息将在下文中详细描述。
客户端应用系统 110可以运行在任何设备或者系统上, 只要该设备 或系统能够支持该客户端应用系统与面向服务的应用系统之间的通信。 该设备或者系统可以是个人计算机, 例如台式计算机; 手持计算设备, 诸如像是 iPhone、 黑莓、 安装了 Window Mobile系统的手机、 智能手机 等的移动电话; 便携式计算设备, 诸如笔记本电脑、 上网本电脑; 以及 工作站、 计算设备网络等。
面向月良务的应用 系统 120 包括一个或多个应用对象 130a、 130b... l30n。 在本发明中, "应用对象"也可以称作是 "构件块"服务器应 用, 可以通过这些"构建块"服务器应用的不同组合来构建针对不同功能 需求的解决方案。 下面, 将参考图 2a至图 2d来详细描述用于构成面向 服务的应用系统 120的应用对象。
参考图 2, 图 2a至图 2d示意性地示出了根据本发明的应用对象的 示例。 如图 2a所示, 应用对象 200可以包括平面结构数据单光 201、 关 系存储单元 202以及应用代码模块 203。 其中平面结构数据单元 201 可 以专用于存储特定类型数据, 诸如联系人信息、 订单信息、 项目信息、 与应用相关的配置信息等中的一种; 关系存储单元 202可以用于存储该 平面结构数据单元 201中的数据与其他应用对象中平面结构数据单元中 的数据之间的关系; 而应用代码模块 203可以用于操作该平面结构数据 单元 201中的数据以及关系存储单元 202中的信息, 诸如向平面结构数 据单元 201和 /或关系存储单元 202中添加数据等。
如图 2b所示,应用对象 200可以运行在支持系统 210上, 该支持系 统 210是指以下特征的组合:允许应用对象 200在其上运行的任何平台, 例如, 操作系统; 允许关系存储单元 202和平面结构数据单元 201驻留 在其上的任何数据库管理系统, 例如 RDBMS, Oracle, DB2, MySQL, MS SQL等; 允许利用诸如 JavaScript、 VBScript. .NET, Java, PHP, C、 C++、 Ruby, Python等各种编程技术开发的应用代码模块在其上运行的 应用框架; 以及允许任何平台、 数据库管理系统以及应用框架运行的设 备或者系统。
应用对象 200 所包括的平面结构数据单元 201 可以是诸如简单的 XML文件, 或者可以是诸如 MySQL、 MS SQL, Oracle, DB2等关系数 据库中的单个逻辑表结构 (尽管在物理上该平面结构数据单元可以通过 在不同的位置储存的表来实现) 。 根据本发明, 每个应用对象中的平面 结构数据单元 201专用于存储一种特定类型的数据, 即, 不同类型的数 据存储在不同应用对象的平面结构数据单元中, 且不同应用对象的平面 结构数据单元中存储的数据类型互不相同。 此外, 与传统的关系数据库 还不同的是, 平面结构数据单元 201中存储的数据与其他应用对象的平 面结构数据单元中存储的数据之间的关系并不是通过诸如在表中加入诸 如外键来表示, 而是通过应用对象 200中包括的关系存储单元 202来表 示, 该关系存储单元将在后文中详细描述。 需要说明的是, 每个应用对象 200可以具有相同结构, 即, 每个应 用对象均可包括平面结构数据单元 201、 关系存储单元 202和应用代码 模块 203。 但是, 各个平面结构数据单元 201 可以具有不同内部结构, 例如, 单个逻辑表形式的平面结构数据单元 201可以具有不同类型和不 同数量的字段, 以便存储不同类型的数据, 诸如联系人信息、 订单信息、 项目信息、与面向服务的应用系统对应的客户端应用系统的配置信息等。
如图 2c所示,应用对象 200a中的平面结构数据单元 201a专用于存 储客户端应用系统的配置信息, 其中, 该配置信息可以供客户端应用系 统获取以便启动客户端应用系统。 因此, 在这种意义上讲, 也可以将该 应用对象 200a称作为 "平台"。 而如图 2d所示, 应用对象 200b中的平面 结构数据单元 201b专用于存储普通的业务数据时,充当为客户端应用系 统提供业务数据服务的功能, 因此也可以将其称为"数据应用对象,,。
应用对象 200中包括的关系存储单元 202在本发明中起到了表示各 个应用对象中平面结构数据单元的数据之间的关系的作用。 下面, 将参 考图 3对本发明的关系存储单元进行更加详细的描述。
参考图 3 , 图 3示出了用于说明根据本发明的关系存储单元的图示, 其中关系存储单元是链接表。 在图 3中, 示出了数据应用对象 310中包 括的平面结构数据单元 311和的链接表 312、 数据应用对象 320中包括 的平面结构数据单元 321和链接表 322以及平台 330中的链接表 332。 需要说明的是, 为了清楚起见, 没有示出数据应用对象 310和 320中的 应用代码模块以及平台中的平面结构数据单元和应用代码模块。
如图所示的链接表 312和 322分别用于存储平面结构数据单元 311 和 321与其他应用对象中的平面结构数据单元之间的链接关系。 根据本 发明的实施方式, 如果一个平面结构数据单元的数据与其他应用对象中 平面结构数据单元中的数据具有链接关系, 则在与这两个平面结构数据 单元对应的链接表中将会具有用于表示该链接关系的链接记录。 另外, 优选地, 在平台 330的中心链接表 332中也保存与之相应的链接记录, 利用该链接记录, 可以在数据应用对象中的链接记录丢失时进行记录恢 复。 例如, 如果平面结构数据单元 311中的数据记录 A与平面结构数据 单元 321中的数据记录 B链接, 则在与平面结构数据单元 311对应的链 接表 312中则存在这样的链接记录, 其包括作为主键的被链接记录 A的 标识、 其中记录 B被链接的数据应用对象 320的标识以及被链接记录 B 的标识; 与平面结构数据单元 321对应的链接表 322中, 也会存在相应 的链接记录, 其包括作为主键的被链接记录 B的标识、 其中记录 A被链 接的数据应用对象 310的标识以及被链接记录 A的标识; 以及优选地, 在平台 330中的中心链接表 332中也可以存储对应的链接记录, 该链接 记录包括其中记录 A被链接的数据应用对象 310的标识、 被链接记录 A 的标识、 其中记录 B被链接的数据应用对象 320的标识以及被链接记录 B的标识。
在需要将两个记录链接起来时, 可以通过分别在与这两个平面结构 数据单元对应的两个链接表中存储这样的两条记录、 以及优选地还在平 台的中心链接表中加入如上所述的链接记路, 来建立两个记录的连接关 系, 从而将两条记录链接起来。
这样, 如果用户想通过客户端应用系统查看与某条记录相关的链接 项目, 则可在与存储该条记录的平面结构数据单元对应的链接表中, 查 找主键为该条记录的标识的所有链接记录。 然后, 可以根据查找到的链 接记录中包括的、 其中记录被链接的应用对象的标识, 向该应用对象发 出网络服务请求, 以便获取被链接的记录, 该被链接记录具有的标识是 查找到链接记录中所包括的被链接记录的标识。
需要说明的是, 链接表只是用于存储各个平面结构数据单元的数据 之间关系的关系存储单元的一个实例。 本发明并不局限于此, 也可以采 用其他任何适当的技术来存储这些链接记录, 诸如可以采用像是 XML 文件等文件形式, 只要能够保存下这些链接信息即可。 关于实现链接记 录存储的其他技术相关的细节, 对于本领域技术人员是已知的, 此处不 再赘述。
接下来, 将继续参考图 2来描述根据本发明的应用对象。
返回图 2, 应用代码模块 203配置用于响应于诸如来自客户端应用 系统或者其他应用对象的网络服务请求(例如, REST 方式或者 SOAP 协议的请求), 来操作平面结构数据单元 201中的数据和 /或诸如链接表 的关系存储单元 202中所存储的信息的模块。 可以根据实现所述支持系 统 210的技术,利用诸如. NET、 JAVA、 PHP、 C、 C++、 Ruby, Python 等的适当技术来开发应用代码模块 203。 该应用代码模块 203可以包括 对数据进行基本操作的基本方法, 诸如创建、 检索、 更新和删除平面结 构数据单元中的数据和链接表中的链接信息等,但并不局限于此。并且, 这些基本方法可以被设计为支持诸如 SOAP协议和 /或 REST方式等任何 格式的网络服务请求,. 以便响应于网络服务请求对平面结构数据单元中 的数据或关系存储单元中的信息进行操作。 在该面向服务的应用系统包 括平台的情况下, 可以将平台中的应用代码模块配置为响应于针对所述 配置信息的网络服务请求, 查找相应的配置信息, 以便返回该配置信息。
需要说明, 对于采用不同技术的平面结构数据单元, 所述基本方法 的实现也不同, 诸如对于 XML文件形式的平面结构数据单元, 基本方 法中包括诸如 Xquery等 XML查询语言, 而对于关系数据库中的表形式 的平面结构数据单元, 基本方法可以包括结构化查询语言 (SQL ) , 这 是本领域技术人员公知的, 此处将不再赘述。
另外, 需要说明的是, 对于所有应用对象而言, 所有的应用代码模 块可以都是完全相同的, 这样有助于加速部署过程。 然而, 本发明并不 局限于此, 而是可以针对^^个应用对象配置不同的应用代码模块。
此外, 还需要说明的是, 根据本发明的应用对象(即平台或者数据 应用对象) 中的每一个均可以位于一台或者多台设备上, 并且一个或者 多个应用对象也可以位于单个设备上。
在上文中, 对 居本发明的一个实施方式的网络应用系统进行了描 述, 下面将参考图 4来描述 居本发明的网络应用系统的通信方法。
参考图 4, 首先, 在步骤 401发出针对配置信息的请求, 以便启动 该客户端应用系统。
根据本发明的实施方式, 客户端应用系统被配置成通过载入配置信 息来启动。 该配置信息以包括用户界面信息和 /或网络服务请求信息。 用 户界面信息决定了客户端应用系统如何与用户交互, 即应该向用户呈现 什么样的界面。 网络服务请求信息决定了如何发起网络服务请求, 即应 该以什么上的协议发起请求, 应该发起什么请求。 对于不同的用户, 配 置信息可以是不同的, 对于不同类型的用户设备也可以具有不同的配置 信息, 但是本发明并不局限于此。
该请求应该具有用于存储配置信息的实体可以解释的格式, 诸如可 以是支持 SOAP协议和 /或 REST格式等任何格式的网络服务请求, 或者 其他格式的请求。
接着, 在步骤 402, 响应于针对配置信息的请求, 返回包含该配置 信息的响应。
在本发明的一个实施方式中, 配置信息存储在面向服务的应用系统 中的平台 130a的平面结构数据单元中。 平台 130a中的应用代码模块响 应于该请求, 查找所请求的配置信息, 并将返回所找到的配置信息。
然后, 在步骤 403, 基于所述配置信息启动客户端应用系统。 根据 所接收到的配置信息中的用户界面信息, 客户端应用系统被启动, 并为 用户显示相应的用户界面, 以便进行交互。
接下来, 在步骤 404, 客户端应用系统发出网络服务请求。
在用户通过客户端应用系统所呈现的用户界面进行交互的过程中, 可以通过触发用户界面上的组件, 来发出网络服务请求。 该网络服务请 求可以基于配置信息中的网络服务请求信息而发出, 其是与该组件对应 的、 具有网络服务请求信息中所定义的格式的网络服务请求。
然后, 在步骤 405 , 响应于该网络服务请求, 通过应用代码模块来 执行相应操作, 以便返回相应的网络服务响应。 应用代码模块被配置为 能够理解该网络服务请求, 然后根据所要求的网络服务, 对平面结构数 据单元和 /或诸如链接表的关系存储单元执行基本操作,诸如创建、删除、 查询和更新等。 然后,可以返回与该网絡服务请求对应的网络服务响应。
需要说明的是, 尽管对于本发明而言, 优选地是在平台中存储配置 信息, 然而本发明并不局限于此, 而是可以在网络中的其他位置存储该 配置信息, 只要该信息能够由客户端应用系统来获取, 该配置信息甚至 还可以存储在客户端应用系统所在的用户设备中。
另外, 根据本发明, 可以在一个网络请求中对一个数据应用对象执 行操作, 例如, 向其添加数据。 然而, 也可以对若干数据应用对象执行 多个操作, 例如可以在添加数据的同时建立连接关系。
接下来, 将参考图 5来描述根据本发明的另一实施方式的网络应用 系统。
参考图 5, 图 5示出了才艮据本发明的另一实施方式的网络应用系统 500。 在图 5所示的网络应用系统中, 包括在诸如台式计算机、膝上型计 算和手持设备等各种不同硬件设备上运行的不同客户端应用系统 510a 510m。 在面向服务的应用系统 520中的平台 530a中, 存储 了与各个客户端应用系统 510a 510m对应的配置信息。 在客户端 应用系统 510启动之前,客户端应用系统会向平台 530a发送针对配置信 息的网络服务请求, 平台 530a会响应于该网络服务请求, 向该客户端返 回与之相应的配置信息。
然而, 由于硬件设备的限制, 通常在诸如手持设备上的用户设备中 需安装简化版的客户端系统, 而此时可能会出现不能解释来自平台 530a 的配置信息等的问题。 为此, 在面向服务的应用系统 520中, 还包括有 中间件 550, 用于允许在不同硬件设备上运行的客户端应用系统 510a, ...510m可以访问本发明的面向服务的应用系统 520。 中间件 550 与应用对象类似, 可以运行在前述的支持系统 210上, 并且与应用对象 类似, 中间件也 550 可以根据实现所述支持系统 210 的技术, 利用诸 如. NET、 JAVA, PHP, C, C++、 Ruby, Python等的适当技术来开 发。
在客户端应用系统不能解释配置信息时, 可以请求中间件 550的辅 助, 中间件可以将所述配置信息转换为客户端应用系统能够理解格式的 信息, 诸如在客户端应用系统利用浏览器来运行时, 可以转换为通用 HTML标签。 在 居本发明的另一实施方式中, 在客户端应用系统不能 解释配置信息时,可以向平台 530a发出需要执行格式转换的网络服务请 求, 或者在客户端应用系统发出针对配置信息的网络请求中要求执行格 式转换。平台 530a会将配置信息发送给中间件 550,以便进行格式转换。 然后, 中间件 550可以将经过格式转换的配置信息发送到相应的客户端 应用系统, 或者平台通知相应的客户端应用系统从中间件 550处获取配 置信息。 在本发明的又一实施方式中, 客户端应用系统可以直接向中间 件 550请求配置信息; 中间件 550基于该配置请求与平台 530a通信, 并 从其获取相应的配置信息; 然后, 中间件 550对所获取的配置信息执行 数据格式转换, 并将经过格式转换的配置信息发送给客户端应用系统。
在上述实施例中, 中间件 550是一个单独部件, 然而需要说明的是, 中间件 550也可以与平台 530a集成在一起。 这样, 客户端应用系统直接 向平台 530a请求配置, 如果需要转换则可以由包括在平台 530a中的中 间件进行格式转换, 如果不需要则可以绕过该中间件经由网络 540将配 置信息直接发送给客户端应用系统。
此外, 图 6 还示出了根据本发明的又一实施方式的网络应用系统 600。 在图 6示出的网络应用系统 600中, 除了客户端应用系统和相应的 面向月艮务的应用系统外, 还存在第三方系统 680。 该第三方系统例如是 与客户端应用系统的用户属于共同体的其他方 (诸如该公司的客户、 供 应商、 合作方等) 的系统, 或者该公司中的其他部门的系统等。 第三方 系统通常是与本发明的系统不同的应用, 因此它们所采用的网络服务请 求很可能与本发明的基于平面结构数据单元的面向服务的应用系统不 同。 第三方系统的网络服务请求以及他们所能够解释的响应通常是具有 结构层次的, 而由于本发明是基于平面结构数据单元, 所以本发明的网 络服务请求和返回的网络服务响应均是无层次。如图 7所示, XMLm 701 例如可以是第三方所返回的响应, 该文件中的数据信息是具有层次结构 关系的, 而与之对应的 XML1 702a、 XML2 702b和中心链接 702c中的 每个均是无结构层次的文件, 即平面 XML文件, XML1 702a和 XML2 702b之间的关系 (层次结构) 通过中心链接 702c来表示。 因此, 这两 种格式的信息通常是不能为彼此所理解的。 另外, 在第三方系统与客户 端应用系统通信时, 即使他们的网络服务请求和响应同样是基于本发明 的平面结构数据单元, 但他们所使用的协议也可能不同。 图 8以示例性 的方式示出了这种情况, 例如客户端应用系统所使用的网路服务服务请 求是如 801所示的 REST方式的请求, 而第三方系统所使用的网络服务 请求是如 802所示的 SOAP协议的请求。 因此, 在这种情况下, 这也可 能造成第三方系统与本发明的网络应用系统彼此之间的通信障碍。
因此, 为了使得第三方能够访问该面向服务的应用系统, 本发明提 供了一种网络服务适配器, 将来自第三方系统的网络服务请求或所返回 的网络服务响应转换成格式适合于所述面向服务的应用系统或者适合于 与所述面向服务的应用系统对应的客户端应用系统的信息; 和 /或将所述 面向服务的应用系统或者所述客户端应用系统返回的网络服务响应或者 发出的网络服务请求转换成格式适合于第三方系统的信息。 例如, 可以 将 REST方式的请求转换为能够被理解的 SOAP协议的请求, 将本发明 的系统返回的无层次的 XML 文件整合为第三系统能够理解的具有层级 结构的 XML文件, 反之亦然。
这样, 就使得第三方能够与客户端应用系统和 /或数据应用对象通 信。 在用户已经拥有了一些业务系统的情况下, 通过网络服务适配器可 以将已有的这些业务系统与本发明的网络应用系统整合起来, 从而节约 了用户公司的资源, 避免了重复投资造成的浪费。
需要说明的是, 该适配器可以如图适配器 670a所示, 作为一个单独 的部件而存在;也可以如图适配器 670b所示打包到任何面向服务的应用 系统中。 与应用对象和中间件类似, 该适配器 670a和 670b可以运行在 前述的支持系统 210上, 该适配器也可以根据实现所述支持系统 210的 技术, 利用诸如. NET、 JAVA. PHP, C、 C++、 Ruby, Python等的 适当技术来开发。 关于网路服务适配器的具体信息, 可参照与本申请同 日提交的申请人为李新宇、 申请号为""、 发明名称为"用于对网络服务通 信进行适配的方法、 适配器和适配器系统"的专利申请。
此外, 图 9还示出了根据本发明的再一实施方式的网络应用系统。 根据如图 9所示的实施方式, 并非将所有的配置信息都集中保存在平台 930a的数据单元中, 而是可以仅在平台 930a 中保存对于客户端应用系 统特定的配置信息,而对于所有客户端应用系统都具有的公共配置信息, 可以在相应的数据应用对象 930b...930n中建立一个专用于存储公共配置 信息的平面结构数据单元, 以便存储与之相关的配置信息, 如图 9所示。
此外, 图 10还示出了根据本发明的又一实施方式的网络应用系统。 在图 10所示的网路应用系统中, 存在第一客户端应用系统 1010al、 用 于存储与该第一客户端应用系统 1010al 相关的配置信息的第一平台 1030al 以及与第一客户端应用系统 1010al 对应的第一面向服务的应用 系统 1050al ; 以及第二客户端应用系统 1010a2、 存储与该第二客户端应 用系统 1010a2相关的配置信息的第二平台 1030a2以及与第二客户端应 用系统 1010a2相关的第二面向月 务的应用系统 1050al。 第一客户端应 用系统和第二客户端应用系统可以是属于共同体的各方, 例如某公司与 该公司的客户、 供应商或合作方等。 在根据本发明的网络应用系统中, 第一客户端应用系统 1010al可以通过网络 1040来向面向服务的应用系 统 1050a2中的应用对象发出网絡服务请求,面向服务的应用系统 1050a2 中的应用对象可以响应于该网络 ^务请求为第一客户端应用系统 1010al 提供相应的网络服务响应,同样第二客户端应用系统 1010a2可以通过网 络 1040访问第一面向月良务的应用系统 1050al 中的应用对象。 因此, 可 以在这样的网络应用系统中实现数据共享和数据交换。
上面参考图 1至图 10以示例性的方式对本发明的网络应用系统及其 通信方法的若干实施方式进行了详细描述。 然而, 需要说明的是, 当客 户端应用系统和面向服务的应用系统运行在同一台设备上时, 实际上可 以不存在网络 140、 540、 640、 940和 1040。
另外, 需要说明的是, 虽然在某些实施方式中示出了一个客户端应 用系统, 实际上可以存在与相同的面向服务的应用系统的若干个客户端 应用系统。 该网络应用系统也可以包括分别与多个客户端应用系统对应 的多个不同的面向服务的应用系统, 并且可以存在分别与多个客户端对 应的多个平台。
还需要说明的是, 客户端应用系统和面向服务的应用系统也可以运 行该网络中的一个或多个设备上; 在网络 140、 540、 640、 940和 1040 是因特网的情况下, 客户端应用系统和面向服务的应用系统还可以运行 在一个或多个域中。
另外, 需要说明的是, 驻留在用户设备(或系统) 中的所有客户端 应用系统可以是依据支持系统的技术而开发的通用应用, 通过装载不同 的配置信息, 这些客户端应用系统可以满足用户的不同需求。 但是本发 明并不局限于此, 所有客户端应用系统也可以共用相同的配置信息。
上文中, 通过描述本发明的网络应用系统及其通信方法, 来描述了 本发明的面向服务的应用系统和客户端应用系统及他们的通信方法。 然 而, 需要说明的是, 本发明的各个面向服务的应用系统和各个客户端应 用系统可以由一个软件提供商提供, 也可能由分开的多个软件提供商来 提供, 只要面向服务的应用系统和客户端应用系统之间遵循相同的通讯 协议。 因此, 本发明分开保护了根据本发明的面向服务的应用系统和客 户端应用系统。
在下文中,将参考图 1 1来描述发明提供的用于创建面向服务的应用 系统的方法和创建器。
参考图 1 1, 图 1 1 示出了根据本发明的一个实施方式的用于创建面 向服务的应用系统的方法流程图。
如图 1 1所示, 在步骤 1 101, 选择一个或多个应用模板。
根据本发明的实施方式, 提供了一个或多个应用模板以加速应用开 发过程。 该应用模板包括设计好的用户界面、 应用对象和相应动作。 用 户界面是将通过例如浏览器以页面形式呈现给用户以便与用户进行交互 的界面, 其上有可以提供给用户的各种组件。 动作是与用户界面上提供 的各种组件 (按鈕、 选择框、 文本框等)相关联的操作, 是响应于用户 界面上组件的激活而执行的动作, 诸如显示对应页面, 发出对数据进行 操作的网路服务请求等。
应用对象如上文所述包括: 专用于存储特定类型数据的平面结构数 据单元; 用于存储该平面结构数据单元中的数据与其他应用对象中平面 结构数据单元的数据之间关系的关系存储单元; 和用于操作该平面结构 数据单元的数据以及关系存储单元中的信息的应用代码模块。 应用对象 通常是网络服务请求所针对的对象。 其中, 在应用对象用于存储应用配 置信息时, 也可以称作为平台; 用于存储普通的数据信息时, 可以称其 为数据应用对象。
在根据本发明的一个实施方式中, 提供有存储库, 该存储库中用于 存储应用模板。 因此, 可以从存储库中选择用户界面、 应用对象以及相 应动作中的一种或者多种。
在根据本发明的另一实施方式中, 应用模板是应用包的形式, 该应 用包包括用于实现特定功能的多个应用模板。 优选地, 应用包中还进一 步包括相关的配置信息。 在这种情况下, 如果要创建与该应用包所实现 的功能类似的面向月 务的应用系统, 则可以从存储库中选择该应用包, 以便进一步加速面向服务的应用系统的创建过程。
在根据本发明的又一实施方式中, 可以通过导入部件从外部导入该 应用包, 以便加速面向 务的应用系统开发过程。
接下来, 在步骤 1102, 针对用户的需求对所述应用模板进行配置, 以生成针对所述用户的配置信息。
对于不同的用户而言, 所需的面向服务的应用系统可能不同, 因此 可能需要对所选的应用模板进行配置, 即对这些应用模板进行调整以便 适合用户需要。
可以对所选择应用模板中包括的用户界面、 应用对象和动作等进行 修改。 例如, 可以在用户界面上添加组件以及与之对应的动作等; 添加 应用对象; 修改应用对象之间的链接关系; 修改平面结构数据单元的内 部结构, 诸如增删字段等。 此外, 还可以修改用户界面上的呈现的图标、 图片等, 以便创建个性化的应用。
例如 , 如果选择的是应用包, 则可以删除该应用包中不需要的用户 界面、 应用对象和相关动作; 另外, 也增加没有包括在该应用包中的用 户界面、 应用对象和相关动作, 从而满足用户的各种特定需求。
此外, 还可以指定网络服务请求所使用的相关协议, 诸如 REST方 式或者 SOAP协议, 图 8中示例性地示出了基于这两种协议的请求和响 应。 '
对应用模板进行了配置后, 可以得到相关的配置信息, 该配置信息 包括与要呈现给用户的界面相关的信息, 即用户界面信息, 和网络服务 请求信息。 用户界面信息决定了客户端应用系统如何与用户交互, 即应 该像用户呈现什么样的界面。 网络服务请求信息决定了如何发起网络服 务请求, 即应该以什么上的协议发起请求, 应该发起什么请求。 基于所 述配置信息, 就可以为用户提供特定的服务。
根据本发明的一个实施方式, 生成的配置信息可以存储在一个应用 对象中, 此时该应用对象可以称作是 "平台,,, 相应地, 其他用于存储业 务数据的对应对象可以称作是"数据应用对象"。 然而, 本发明并不局限 于此, 配置信息可以存储在可由客户端应用系统获取的任何适当位置, 并且配置信息也可以以任何适当的方式存储。
特别需要说明的是, 根据现有技术的应用开发方法, 由预定的、 刚 性数据模型设计的打包软件不能以简单、 经济的方式在应用投入使用后 将需要关联的信息关联起来。 而根据本发明可以容易地实现这一点。 例 如, 可以原有用户界面上添加一个新的链接按钮, 并通过简单的点击、 拖放等操作将与需要链接的两个信息对应的两个应用对象关联起来, 从 而建立了与该按鈕相关联的动作。 然后, 可以更新配置信息。 此后, 在 用户通过装载新的配置信息来启动客户端应用系统时, 就可以在用户界 面上显示"链接"操作按钮, 以便用户将所需的信息链接起来, 而并无需 改变两个应用对象本身。 类似地, 还可以根据用户需求方便地对网络应 用进行其他更改, 诸如解除应用对象的链接关系等。
接下来, 在步骤 1103, 将所述应用模板和所述配置信息打包, 以生 成适合用户的需求的应用包。
在本发明的一个实施方式中, 进一步地对该应用包执行部署, 以便 将该应用包提供给用户。
在本发明的另一实施方式中, 为了加速随后面向服务的应用系统创 建过程, 可以进一步将生成的应用包保存到存储库中以备以后开发程序 使用。
在本发明的又一实施方式中, 为了方便应用包的共享, 可以进一步 将生成的应用包保存到存储库中, 以供外部应用创建人员使用。 然而, 需要说明的是, 执行部署的步骤并非是必需的。 例如, 创建 应用的人员可以根据存储库中原有的应用模板来创建一些自定义的应用 包存储在存储库中, 以方便随后使用。 在这种情况下, 并不需要部署步 骤。
下面, 将参考图 12至图 15来描述本发明提供了用于创建面向服务 的应用系统的创建器。
图 12 示出根据本发明的一个实施方式的用于创建面向服务的应用 系统的创建器。 如图所示, 本发明的创建器 1200 包括: 选择装置 1201 , 配置装置 1202, 和打包装置 1203。
选择装置 1201 用于选择一个或多个应用模板。 所述应用模板包括 用户界面、 应用对象和相应动作。 应用对象包括: 专用于存储特定类型 数据的平面结构数据单元; 用于存储该数据单元中的数据与其他应用对 象中数据单元的数据之间关系的关系存储单元; 以及用于操作该数据单 元的数据和关系存储单元中的信息的应用代码模块。配置装置 1202用于 针对用户的需求对所述应用模板进行配置, 以生成针对所述用户的配置 信息。打包装置 1203用于将所述应用模板和所述配置信息打包, 以生成 适合用户的需求的应用包。
在根据本发明的一个实施方式中,所述选择装置 1201进一步用于以 下操作中的一种或者多种: 从存储库中选择用户界面、 应用对象以及相 应动作中的一种或者多种; 从存储库中选择预定义的应用包; 以及从外 部导入预定义的应用包, 其中, 所述预定义应用包包括用于实现特定功 能的多个应用模板, 或者包括实现特定功能的多个应用模板的多个应用 模板以及相关的配置信息。 1 在根据本发明的另一实施方式中,所述配置装置 1202进一步被用于 以下操作中的一种或者多种: 删除所述用户界面、 所述应用对象、 所述 动作中至少一个; 修改所述用户界面、 所述应用对象、 所述动作中至少 一个; 增加所述用户界面、 所述应用对象、 所述动作中至少一个; 以及 设置所述动作中的网络服务请求所遵循的协议。
在根据本发明的又一实施方式中, 所生成的应用包包括: 数据应用 对象, 其包括专用于存储业务数据的平面结构数据单元; 和 /或平台, 该 平台是一种应用对象, 包括专用于存储所述配置信息的平面结构数据单 元。
在根据本发明的再一实施方式中, 所述配置信息包括用户界面信息 和 /或网络服务请求信息。
此外, 图 13、 图 14和图 15还示出根据本发明的另一些实施方式。 如图所示, 图 13、 图 14、 图 15中的创建器 1300、 1400和 1500分 别包括:选择装置 1301、 1401和 1501 ,其对应于图 12中的选择装置 1201 , 用于选择一个或多个应用模板; 配置装置 1302、 1402和 1502, 其对应 于图 12中的配置装置 1202, 用于针对用户的需求对所述应用模板进行 配置,以生成针对所述用户的配置信息;和打包装置 1303、 1403和 1503, 其对应于图 12 中的打包装置 1203, 用于将所述应用模板和所述配置信 息打包, 以生成适合用户的需求的应用包。
与图 12所示的创建器 1200不同的是, 图 13所示的创建器 1300进 一步包括部署装置 1304, 用于针对所述应用包执行部署, 以便为用户提 供所述面向服务的应用系统; 图 14所示的创建器 1400进一步包括保存 装置 1405, 用于保存所述应用包, 以便于随后创建其他应用; 图 15所 示的创建器 1500进一步包括导出装置 1506, 用于导出所述应用包, 以 供外部应用创建人员使用。
需要说明的是, 在上文中示出的各种特征, 可以进行组合, 只要这 些组合并不违背本发明的原理。例如,在根据本发明的又一实施方式中, 可以包括上述图 13、 14和图 15中的部署装置 1304、 导入装置 1405和 导出装置 1506。
才艮据本发明, 面向服务的应用系统主要由多个应用对象构成, 并且 优选地包括用于存储配置信息的称作"平台"的应用对象。 因此, 基于这 种结构, 可以通过预先定义的应用模板来以快速、 简单的方式(通过点 击、 拖放等简单的鼠标操作)来创建面向服务的应用系统。
另外, 可以对选择的预定义打包文件进行修改以满足特定用户的需 求, 也可以通过略微修改原先为其他用户创建的应用包来为另一用户创 建类似的应用。 此外, 还可以容易地修改已有的面向服务的应用系统来 适应客户新的需求。
根据本发明, 相同类型的业务数据(诸如联系人信息)存储在逻辑 上为单个表或者单个文件的同一平面结构数据单元中, 但该平面结构数 据单元和该应用对象甚至整个网络应用系统均可以存在于网络中的多个 位置, 换句话讲, 可以存在与多个物理位置或者多个域中。根据本发明, 可以根据业务需求将各个平面结构数据单元、 各个应用对象或整个网络 应用系统布置在单个位置或者多个位置, 或布置在单个域中或者多个域 中。 例如, 对于小型公司, 可以将它们存储在单个位置, 对于大型的国 际性公司, 则可以将其提供在多个位置。 另外, 根据本发明, 存储在该 单一逻辑表中的业务数据可以由针对不同业务的多个应用共享, 这与利 方式, 打包软件是根据预定的、 刚性数据模型基于不同理念、 针对不同 业务而设计的, 这些打包软件之间通常是不能通信的, 更不能共享业务 数据。 所以, 与传统方式相比, 在本发明的网络应用系统中, 业务数据 不会出现信息孤岛。 因此, 不会存在信息整合、 数据完整性等方面的问 题,使得用户从维护数据完整性等繁杂的工作中解脱出来,减少了成本, 提供了效率。
另外, 根据本发明, 不同的客户端应用系统(例如, 用户的客户端 应用系统、 该用户的提供商的客户端应用系统、 该用户的客户的客户端 应用系统和该用户的合作方的客户端应用系统) 可以对应于一个面向月良 务的应用系统中的不同应用对象子集, 这例如可以通过装载不同的配置 信息来实现。 因而, 可以实现用户的业务数据与其提供商、 客户、 合作 方等的适当共享。 因此, 本发明不但为用户的公司带来了诸多益处, 而 且为用户的整个公司链带来了方便。
根据本发明的优选实施方式, 还可以通过适配器使得本发明的网络 应用系统中的客户端应用系统和 /或面向月良务的应用系统与第三方系统 的相互通信。 从而, 可以将用户已有的业务系统与本发明的网络应用系 统结合起来使用, 从而节约成本。 另外, 通过使用适配器可以使得本发 明的网络应用系统可以适应于任何变化, 使得本发明的网络应用系统可 以利用诸如 REST方式或者 SOAP协议等适当方式与第三方系统进行数 据交换, 因此可以进一步避免信息孤岛的问题。
下面, 将参考图 16来描述可以实现本发明的计算机设备。 图 16示 意性示出了可以实现根据本发明的实施方式的计算设备的结构方框图。
图 16中所示的计算机系统包括 CPU (中央处理单元) 1601、 RAM (随机存取存储器) 1602、 ROM (只读存储器) 1603、 系统总线 1604、 硬盘控制器 1605、 键盘控制器 1606、 串行接口控制器 1607、 并行接口 控制器 1608、 显示器控制器 1609、 硬盘 1610、 键盘 1611、 串行外部设 备 1612、 并行外部设备 1613、 显示器 1614以及网络适配器 1615。 在这 些部件中,与系统总线 1604相连的有 CPU 160 RAM 1602, ROM 1603、 硬盘控制器 1605、 键盘控制器 1606、 串行接口控制器 1607、 并行接口 控制器 1608、显示器控制器 1609以及网络适配器 1615。硬盘 1610与硬 盘控制器 1605相连,键盘 1611与键盘控制器 1606相连, 串行外部设备 1612与串行接口控制器 1607相连, 并行外部设备 1613与并行接口控制 器 1608相连,显示器 1614与显示器控制器 1609相连, 而网络接口控制 器 1615允许该计算机系统访问诸如互联网的计算机网络。
图 16所述的结构方框图仅仅为了示例的目的而示出的,并非是对本 发明的限制。 在一些情况下, 可以根据需要添加或者减少其中的一些设 备, 例如用于实现本发明的计算机设备可以并不具有显示器、 键盘等输 入 /输出设备。
此外, 本发明的实施方式可以以软件、 硬件或者软件和硬件的结合 来实现。 硬件部分可以利用专用逻辑来实现; 软件部分可以存储在存储 器中, 由适当的指令执行系统, 例如微处理器或者专用设计硬件来执行。
虽然已经参考目前考虑到的实施方式描述了本发明, 但是应该理解 本发明不限于所公开的实施方式。 相反, 本发明旨在涵盖所附权利要求 的精神和范围之内所包括的各种修改和等同布置。 以下权利要求的范围 符合最广泛解释, 以便包含所有这样的修改及等同结构和功能。

Claims

权 利 要 求 书
1. 一种面向 务的应用系统, 所述应用系统包括一个或多个应用对 象, 每个应用对象包括:
专用于存储特定类型数据的平面结构数据单元;
用于存储该数据单元中的数据与其他应用对象中数据单元的数据之 间关系的关系存储单元; 以及
用于操作该数据单元中的数据和该关系存储单元中的信息的应用代 码模块,
其中, 所述应用代码模块用于响应于网络服务请求, 对平面结构数 据单元和 /或关系存储单元进行操作。
2. 根据权利要求 1所述的应用系统,其中,所述应用对象包括平台, 该平台是一种应用对象, 包括专用于存储所述配置信息的平面结构数据 单元, 以及其中, 该平台中的应用代码模块用于响应于针对所述配置信 息的网络服务请求, 查找相应的配置信息, 以便返回该配置信息。
3. 根据权利要求 2所述的应用系统, 其中, 所述平台的关系存储单 元用于存储其他应用对象的关系存储单元中的信息。
4. 根据权利要求 1所述的应用系统, 其中, 所述应用对象包括数据 应用对象, 其包括专用于存储业务数据的平面结构数据单元。
5. 根据权利要求 4所述的应用系统, 其中, 所述数据应用对象进一 步包括专用于存储所述配置信息中与之相关的公共部分的平面结构数据 单元。
6. 根据权利要求 1所述的应用系统, 进一步包括中间件, 用于把所 述配置信息转换为能够由与所述面向服务的应用系统相关的各种客户端 应用系统解释的通用格式的信息。
7. 根据权利要求 1所述的应用系统, 进一步包括适配器, 用于将来 自第三方系统的网络服务请求或所返回的网络服务响应转换成格式适合 于所述面向服务的应用系统或者适合于与所述面向服务的应用系统相关 的客户端应用系统的信息; 和 /或 将所述面向服务的应用系统或者所述客户端应用系统返回的网络服 务响应或者发出的网络服务请求转换成格式适合于第三方系统的信息。
8. 根据权利要求 1所述的应用系统, 其中, 所述应用代码模块用于 进行以下操作中的一种或者多种:
向平面结构数据单元添加数据;
删除平面结构数据单元中的数据;
更新平面结构数据单元中的数据;
检索平面结构数据单元中的数据;
向关系存储单元添加信息;
删除关系存储单元中的信息;
更新关系存储单元中的信息; 以及
检索关系存储单元中的信息。
9. 一种面向服务的应用系统的通信方法, 其中, 所述面向服务的应 用系统包括一个或多个应用对象, 每个应用对象包括:
专用于存储特定类型数据的平面结构数据单元;
用于存储该数据单元中的数据与其他应用对象中数据单元的数据之 间关系的关系存储单元; 以及
用于操作该数据单元中的数据和该关系存储单元中的信息的应用代 码模块,
所述方法包括: 响应于网络服务请求, 通过应用代码模块对平面结 构数据单元和 /或关系存储单元进行操作。
10. 根据权利要求 9所述的方法, 其中, 所述应用对象包括平台, 该平台是一种应用对象, 包括专用于存储所述配置信息的平面结构数据 单元, 以及其中, 对平面结构数据单元和 /或关系存储单元进行操作还包 括: 响应于针对所述配置信息的网络服务请求, 通过该平台中的应用代 码模块来查找相应的配置信息, 以便返回该配置信息。
11. 根据权利要求 10所述的方法, 其中, 所述平台的关系存储单元 用于存储其他应用对象的关系存储单元中的信息。
12. 根据权利要求 9所述的方法, 其中, 所述应用对象包括数据应 用对象, 其包括专用于存储业务数据的平面结构数据单元。
13. 根据权利要求 12所述的方法, 其中, 所述数据应用对象进一步 包括专用于存储所述配置信息中与之相关的公共部分的平面结构数据单 元。
14. 根据权利要求 9所述的方法, 进一步包括: 把所述配置信息转 换为能够由与所述面向服务的应用系统相关的各种客户端应用系统解释 的通用格式的信息。
15. 根据权利要求 9所述的方法, 进一步包括: 将来自第三方系统 的网络服务请求或所返回的网络服务响应转换成格式适合于所述面向服 务的应用系统或者适合于与所述面向服务的应用系统相关的客户端应用 系统的信息; 和 /或
将所述面向服务的应用系统或者所述客户端应用系统返回的网络服 务响应或者发出的网络服务请求转换成格式适合于第三方系统的信息。
16. 根据权利要求 9所述的方法, 其中, 对平面结构数据单元和 /或 关系存储单元进行操作包括以下一种或者多种:
向平面结构数据单元添加数据;
删除平面结构数据单元中的数据;
更新平面结构数据单元中的数据;
检索平面结构数据单元中的数据;
向关系存储单元添加信息;
删除关系存储单元中的信息;
更新关系存储单元中的信息; 以及
检索关系存储单元中的信息。
17. 一种用于创建面向服务的应用系统的方法, 包括:
选择一个或多个应用模板, 其中, 所述应用模板包括用户界面、 应 用对象和相应动作, 该应用对象包括:
专用于存储特定类型数据的平面结构数据单元;
用于存储该数据单元中的数据与其他应用对象中数据单元的数 据之间关系的关系存储单元; 以及 用于操作该数据单元中的数据和该关系存储单元中的信息的应 用代码模块;
针对用户的需求对所述应用模板进行配置, 以生成针对所述用户的 配置信息; 以及
将所述应用模板和所述配置信息打包, 以生成适合用户的需求的应 用包。
18. 根据权利要求 17所述的方法, 进一步包括: 针对所述应用包执 行部署, 以便为用户提供所述面向服务的应用系统。
19. 根据权利要求 17所述的方法, 进一步包括:
保存所述应用包, 以便于随后创建其他应用; 和 /或
导出所述应用包, 以供外部应用创建人员使用。
20. 根据权利要求 17所述的方法, 其中, 选择一个或多个应用模板 包括以下操作中的一种或者多种:
从存储库中选择用户界面、 应用对象以及相应动作中的一种或者多 种;
从存储库中选择预定义的应用包; 以及
从外部导入预定义的应用包,
其中,所述预定义的应用包包括用于实现特定功能的多个应用模板, 或者包括实现特定功能的多个应用模板以及相关的配置信息。
21. 根据权利要求 17所述的方法, 其中, 对所述应用模板进行配置 包括以下操作中的一种或者多种:
删除所述用户界面、 所述应用对象、 所述动作中至少一个; 修改所述用户界面、 所述应用对象、 所述动作中至少一个; 增加所述用户界面、 所述应用对象、 所述动作中至少一个; 以及 设置网络服务请求所遵循的协议。
22. 根据权利要求 17所述的方法, 其中, 所生成的应用包包括: 数据应用对象, 其包括专用于存储业务数据的平面结构数据单元; 和 /或
平台, 该平台是一种应用对象, 包括专用于存储所述配置信息的平 面结构数据单元。
23. 根据权利要求 17所述的方法, 其中所述配置信息包括用户界面 信息和 /或网络服务请求信息。
24. 一种用于创建面向服务的应用系统的创建器, 包括:
选择装置, 用于选择一个或多个应用模板, 其中, 所述应用模板包 括用户界面、 应用对象和相应动作, 该应用对象包括:
专用于存储特定类型数据的平面结构数据单元;
用于存储该数据单元中的数据与其他应用对象中数据单元的数 据之间关系的关系存储单元; 以及
用于操作该数据单元的数据和关系存储单元中的信息的应用代 码模块;
配置装置, 用于针对用户的需求对所述应用模板进行配置, 以生成 针对所述用户的配置信息; 以及
打包装置, 将所述应用模板和所述配置信息打包, 以生成适合用户 的需求的应用包。
25. 根据权利要求 24所述的创建器, 进一步包括:
保存装置, 用于保存所述应用包, 以便于随后创建其他应用; 和 /或 导出装置, 用于导出所述应用包, 以供外部应用创建人员使用。
26 根据权利要求 24所述的创建器, 进一步包括: 部署装置, 用于 针对所述应用包执行部署, 以便为用户提供所述面向服务的应用系统。
27. 根据权利要求 24所述的创建器, 其中, 所述选择装置进一步用 于以下操作中的一种或者多种:
从存储库中选择用户界面、 应用对象以及相应动作中的一种或者多 种;
从存储库中选择预定义的应用包; 以及
从外部导入预定义的应用包,
其中,所述预定义的应用包包括用于实现特定功能的多个应用模板, 或者包括实现特定功能的多个应用模板以及相关的配置信息。
28. 根据权利要求 24所述的创建器, 其中, 所述配置装置进一步被 用于以下操作中的一种或者多种:
删除所述用户界面、 所述应用对象、 所述动作中至少一个; 修改所述用户界面、 所述应用对象、 所述动作中至少一个; 增加所述用户界面、 所述应用对象、 所述动作中至少一个; 以及 设置网 ^服务请求所遵循的协议。
29. 根据权利要求 24所述的创建器, 其中, 所生成的应用包包括: 数据应用对象, 其包括专用于存储业务数据的平面结构数据单元; 和 /或
平台, 该平台是一种应用对象, 包括专用于存储所述配置信息的平 面结构数据单元。
30.根据权利要求 24所述的创建器, 其中, 所述配置信息包括用户 界面信息和 /或网络服务请求信息。
PCT/CN2010/000599 2009-05-04 2010-04-30 面向服务的应用系统及其通信方法、创建器和创建方法 WO2010127552A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/318,480 US20120124554A1 (en) 2009-05-04 2010-04-30 Service-oriented application system and communicating method, creator and creating method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200910137109.9 2009-05-04
CN2009101371099A CN101882073A (zh) 2009-05-04 2009-05-04 面向服务的应用系统及其通信方法、创建器和创建方法

Publications (1)

Publication Number Publication Date
WO2010127552A1 true WO2010127552A1 (zh) 2010-11-11

Family

ID=43049949

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/000599 WO2010127552A1 (zh) 2009-05-04 2010-04-30 面向服务的应用系统及其通信方法、创建器和创建方法

Country Status (3)

Country Link
US (1) US20120124554A1 (zh)
CN (1) CN101882073A (zh)
WO (1) WO2010127552A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236709A (zh) * 2011-07-01 2011-11-09 深圳中兴力维技术有限公司 一种基于Flex的监控页面显示方法及系统

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225282B1 (en) 2003-11-25 2012-07-17 Nextaxiom Technology, Inc. Semantic-based, service-oriented system and method of developing, programming and managing software modules and software solutions
US9277031B2 (en) * 2009-05-12 2016-03-01 Siemens Aktiengesellschaft Method for communicating between a number of first services and a number of second services
DE102009021007A1 (de) 2009-05-12 2010-11-25 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Plazieren von Einheiten zum Ausführen einer Anwendung in einem verteilten System
FR2984063A1 (fr) * 2011-12-12 2013-06-14 France Telecom Enrichissement, gestion de contenus multimedia et etablissement d'une communication en fonction de contenus multimedia enrichis
US20150365500A1 (en) * 2013-01-31 2015-12-17 Hewlett-Packard Development Company, L.P. Remote client application
US9858093B2 (en) 2013-03-08 2018-01-02 Oracle International Corporation Model for configuration independent process templates and business catalog
US10606450B2 (en) * 2016-06-24 2020-03-31 Accenture Global Solutions Limited Method and system for visual requirements and component reuse driven rapid application composition
DE102018112364A1 (de) * 2018-05-23 2019-11-28 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum Bereitstellen anwendungsorientierter Software sowie Computersystem
CN111367515B (zh) * 2018-12-25 2023-04-28 阿里巴巴集团控股有限公司 页面卡片的开发方法、装置、计算设备和存储介质
CN113918198B (zh) * 2021-12-14 2022-06-14 阿里云计算有限公司 一种模型-代码同步方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1916856A (zh) * 2005-08-15 2007-02-21 中兴通讯股份有限公司 一种分布式服务系统的服务提供方法
EP1892634A1 (en) * 2006-08-24 2008-02-27 Siemens Aktiengesellschaft Method and system for retrieving data from a web service provider
CN101388910A (zh) * 2008-10-29 2009-03-18 北京中企开源信息技术有限公司 一种实现组合服务的系统及方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6550057B1 (en) * 1999-08-31 2003-04-15 Accenture Llp Piecemeal retrieval in an information services patterns environment
US7263597B2 (en) * 2001-04-19 2007-08-28 Ciena Corporation Network device including dedicated resources control plane
US7730446B2 (en) * 2003-03-12 2010-06-01 Microsoft Corporation Software business process model
US20050235274A1 (en) * 2003-08-27 2005-10-20 Ascential Software Corporation Real time data integration for inventory management
US7577258B2 (en) * 2005-06-30 2009-08-18 Intel Corporation Apparatus and method for group session key and establishment using a certified migration key
US8924269B2 (en) * 2006-05-13 2014-12-30 Sap Ag Consistent set of interfaces derived from a business object model
CN101034349A (zh) * 2007-04-06 2007-09-12 西安万年科技实业有限公司 基于功能设计的数据库应用系统开发平台
CN101075249A (zh) * 2007-06-22 2007-11-21 上海众恒信息产业有限公司 一种地理信息系统的数据仓库系统及其构建方法
US7996394B2 (en) * 2008-07-17 2011-08-09 International Business Machines Corporation System and method for performing advanced search in service registry system
US8255490B1 (en) * 2008-10-22 2012-08-28 Amazon Technologies, Inc. Dynamic service-oriented architecture using customization code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1916856A (zh) * 2005-08-15 2007-02-21 中兴通讯股份有限公司 一种分布式服务系统的服务提供方法
EP1892634A1 (en) * 2006-08-24 2008-02-27 Siemens Aktiengesellschaft Method and system for retrieving data from a web service provider
CN101388910A (zh) * 2008-10-29 2009-03-18 北京中企开源信息技术有限公司 一种实现组合服务的系统及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236709A (zh) * 2011-07-01 2011-11-09 深圳中兴力维技术有限公司 一种基于Flex的监控页面显示方法及系统

Also Published As

Publication number Publication date
CN101882073A (zh) 2010-11-10
US20120124554A1 (en) 2012-05-17

Similar Documents

Publication Publication Date Title
WO2010127552A1 (zh) 面向服务的应用系统及其通信方法、创建器和创建方法
US7937500B2 (en) Dynamic, real-time integration of software resources through services of a content framework
US7266600B2 (en) Programmatic management of software resources in a content framework environment
US7080092B2 (en) Application view component for system integration
JP5305581B2 (ja) ポートレット構成データを交換するための方法、ポータル、およびコンピュータ・プログラム
US9015651B2 (en) Gateway data distribution engine
US20080028084A1 (en) Unified meta-model for a service oriented architecture
JP2014194813A (ja) ワークフロー生成、配置、及び/又は実行のためのシステム、方法、及びグラフィカルユーザインターフェイス
MX2007015887A (es) Flujos de trabajos centricos de datos.
US11468229B2 (en) Describing changes in a workflow based on changes in structured documents containing workflow metadata
JP2004500619A (ja) サービスを作成するための方法および装置
JP2005505055A (ja) モバイルウェブクライアントに対する方法、装置及びシステム
US8756254B2 (en) Integration of CRM applications to ECS application user interface
WO2010127551A1 (zh) 用于对网络服务通信进行适配的方法、适配器和适配器系统
US9430536B2 (en) System, method and computer program product for creating a visual component for tenants of an on-demand database service
US20220292584A1 (en) Combining data and notifications for multiple accounts of a common user
US20150286720A1 (en) Methods and systems for collecting, managing, and sharing data
JP2005506618A (ja) システム統合のためのアプリケーションビューコンポーネント
US10198537B2 (en) Method and system for implementing intelligent system diagrams
US10313421B2 (en) Providing Odata service based on service operation execution flow
US8468159B2 (en) Data element categorization in a service-oriented architecture
CN103164217B (zh) 用于后端系统的独立数据实体
US20240045742A1 (en) Subgraph generation via tagging for a federated application programming interface service
TWI609272B (zh) 終端裝置及其終端作業系統與雲端裝置及其雲端作業系統
CN117827352A (zh) 自定义组件前后端交互的方法、装置、电子设备及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10771956

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13318480

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 10771956

Country of ref document: EP

Kind code of ref document: A1