EP1222539A1 - Structure composant logiciel-conteneur pour le deploiement dynamique de composants de logique commerciale dans un environnement objet reparti - Google Patents
Structure composant logiciel-conteneur pour le deploiement dynamique de composants de logique commerciale dans un environnement objet repartiInfo
- Publication number
- EP1222539A1 EP1222539A1 EP00967087A EP00967087A EP1222539A1 EP 1222539 A1 EP1222539 A1 EP 1222539A1 EP 00967087 A EP00967087 A EP 00967087A EP 00967087 A EP00967087 A EP 00967087A EP 1222539 A1 EP1222539 A1 EP 1222539A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- document
- configuration file
- component
- container
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Definitions
- This application pertains to multi-tiered, distributed computing systems and, more specifically, is directed to a component container middleware framework for dynamic deployment of business logic software components on a CORBA distributed object infrastructure.
- On-line travel is one of the largest single e-commerce categories today.
- First- generation travel sites those erected roughly in 1994 to 1996, were full of images and copy describing travel destinations and packages. These were essentially on-line brochures or "brochureware" and lacked interactivity. Sites were hard to maintain and were populated with static content.
- On-line booking was introduced in approximately 1996 in second-generation travel sites. Many airline sites and virtual travel agents introduced booking services for air, hotels and rental cars. For the first time, individuals had access to information previously available only through travel agents. A revenue stream developed, but profitability remained elusive due to the cost of accessing reservation systems such as Apollo and SABRE, high-maintenance costs, commission caps, etc. There remained a high ratio of "lookers" to "bookers. "
- the third-generation travel sites those emerging today, provide a high degree of personalization as distinguished from their predecessors. Modern travel sites present dynamic content based upon information volunteered by millions of users.
- Pages are presented dynamically upon information stored in the member's profile.
- Such profiles can include home airport, seating preferences, usual destinations, membership award status, etc.
- the present invention is directed to a "middleware" framework, i. e. , the software that lies between a Web site and a computer reservation system such as SABRE.
- a “middleware” framework i. e. , the software that lies between a Web site and a computer reservation system such as SABRE.
- SABRE computer reservation system
- such a system should provide to its users, i.e. , travel-site system integrators, the ability to rapidly modify their own business logic software and deploy new business logic objects quickly and easily. If one can isolate modules of functionality and develop a simple and flexible means for introducing those modules of functionality into a booking system, system integrators will be able to provide more compelling and effective interface to customers while lowering their development and maintenance costs.
- CORBA the common object request broker architecture—defined by the object management group (OMG), is a protocol definition for communicating among heterogeneous systems.
- OMG object management group
- CORBA allows systems using different hardware, operating systems and programming languages to communicate.
- CORBA allows the interactions between those systems to be defined in a platform- independent way, giving the system a set of well-defined interfaces.
- CORBA provides an infrastructure for distributed computing.
- the present invention is implemented on a CORBA platform.
- a CORBA server i.e., a single, executable program, contains all the various components that may be required by its users or clients.
- This executable usually is hard-coded and compiled.
- a number of different compiled executables are provided to implement the system. Accordingly, to update that software or introduce a new component, code has to be modified, affected servers recompiled, and then the new executables distributed across the appropriate machines. This is a time-consuming and expensive process. It is also an inflexible solution that is difficult to extend.
- One general aspect of the present invention pertains to multi-tiered, distributed computing systems and, more specifically, is directed to a component container middleware framework for dynamic deployment of business logic software components on a CORBA distributed object infrastructure.
- the invention is described by way of example and not limitation by presenting salient features of such a system that implements a travel planning and booking system.
- Such a system can be used to allow consumers, using a web browser and connected via the internet, to investigate travel options, including airline flights (as well as hotel rooms, rental cars, etc.) and actually book their own reservations, i.e. purchase tickets "on line.”
- the booking engine is built on top of a unique CORBA framework. This
- “middleware” framework is the basis for the travel system's flexibility, scalability, and monitoring capability. These same services are available to programmers implementing new business objects for the travel system or even separate applications that will co-exist with the existing system. Thus, in practical application, the present invention allows system integrators to easily deploy new business rules or logic into a robust, scalable, distributed system not only without rebuilding that system, but indeed without even having access to the existing system source code.
- the present framework is based on a component-container model.
- the framework includes a standard "container” that can contain “components.”
- the container preferably is a generic CORBA server that can load one or more components, based on a "configuration file.” The container automatically reads the configuration file when it starts up and it loads the components listed in the configuration file.
- Components are implemented by deriving from a framework base class.
- the programmer implements the desired functionality in the component objects and loads the resulting objects into the container by adding them to the container's configuration file as further explained later.
- the components are implemented as shared libraries, so the container can load them at run time without recompiling or linking the generic server container.
- Figure 2 illustrates how the container and components fit together; this will be explained in greater detail below.
- the generic server container provides a rich set of services to components it contains. These services relieve much of the burden of creating components by handling the details required for load balancing, monitoring, configuration, logging, and threading.
- Illustrative services that the generic server and component base classes can provide include the following: • Reading XML configuration files
- the new framework can implement higher level services that are built on top of the generic server and component model. These higher level services can include, for example, a trader service that is specifically tuned for load balancing, and a document server for storing, querying, and persisting XML documents for state management. In this way the new framework allows a programmer to focus on creating the business logic of components without worrying about the myriad of details required to build a robust and scalable system.
- the generic server container implements many of these services for any components it contains-nothing special is required in the components as long as they inherit from the framework base classes.
- the present invention thus can be described as a configurable middleware framework comprising a client layer interface; a container process for supporting one or more business objects or components; and a resource interface such as an interface to an existing computer reservation system.
- the container process has access to a configuration file, and can read XML, for configuring the container process at run time to include components specified in the configuration file. These can include internal components for loading into the logical container, and well as references to external components.
- the configuration file is implemented in XML, while the components themselves are not restricted in terms of implementation other than a CORBA compliant interface.
- the generic server also allows components to extract information from the configuration files through interfaces in the component base class. This allows a programmer to easily store parameters or other information in the XML configuration file and modify those parameters without changing any code. The process of reading and parsing the XML is handled entirely by the generic server container and component base class, so the programmer doesn't have to worry about file formats or parsing issues.
- the present invention thus enables an integrator to add new business logic — and deploy it over a distributed system ⁇ without taking everything down; without modifying and recompiling source code; and without having to copy recompiled source code to each and every server. In fact, an integrator or other authorized user can add or modify functionality without exposing source code.
- Fig. 1 is a high-level block diagram of a multi-tiered, distributed computing system to implement a robust, flexible, scalable, high-performance system for connecting end-users, via the internet, to a back-end resource such as a computerized reservation system.
- Fig. 2 is a conceptual diagram of a generic container for loading software components based on a configuration file according to the present invention.
- Fig. 3 is a conceptual diagram illustrating a configuration file specifying connections between components.
- Figs. 4 A and 4B together form an example of a configuration file implemented in XML for a city code lookup process.
- Figs. 5A-5C illustrate software processes, each of which implements a generic container having a corresponding configuration file.
- Fig.6 is a simplified diagram illustrating operation of a multi-tiered, distributed computing system to support a travel planning and reservation web site.
- Fig. 7 A illustrates a portion of an XML configuration file corresponding to the container process of Figure 5B.
- Figs. 7B-7C comprise a pseudo-code listing of an implementation of a Kosher meals component of the type deployed in the container of figure 6.
- Figs. 8A-8B illustrate by example a flight schedule request expressed in XML.
- Figs. 9A-9B illustrate by example a flight schedule response expressed in XML.
- Figs. 10A-10B illustrate a city code lookup process (container) configuration file.
- Fig.11 is an illustrative portion of a travel plan controller process (container) configuration file.
- Figs. 12A-12C illustrate XML data, a DOM hierarchical model of the XML data and a corresponding node list, respectively.
- Figs. 13A-13B sets forth an interface definition for document server object.
- Figure 1 illustrates a three-tiered e-commerce architecture with CORBA providing the distribution mechanism.
- an HTTP server 102 is coupled to the Internet 104 to provide access to multiple end-users 106 running standard Web browsers, such as IE or Navigator.
- Behind the Web server 102 is an application server, such as BroadVision application server 108.
- the application server interacts with the business logic and framework "middleware" through a client wrapper layer 110 provided by the middleware vendor.
- the client wrapper layer can be implemented, for example, using javascript and provides methods appropriate to the application, in this case air travel, hotel reservations and car rental.
- the client wrapper does not implement business logic.
- Business logic is implemented at the framework (middleware) level and at the user interface level via Java scripts.
- the second, intermediate tier implements the business logic and middleware framework of the present invention.
- This tier includes an XML document store 112, framework objects 114, business objects 116 and various interfaces for interfacing with computer reservation systems and/or inventory sources.
- figure 1 shows a database access layer 120 for connection to a customer profile database 122 and it further shows a CRS (Computer Reservation System) interface 126 for interfacing to a computer reservation system 130.
- CRS Computer Reservation System
- This drawing is highly simplified; for example, various of the framework objects 114 and business objects 116 may include factories for creating multiple instances of corresponding objects, and these various objects will be distributed in most applications across multiple servers.
- a central theme of the present invention is to implement a middleware framework that greatly simplifies a deployment of business objects 116 without exposing the system source code.
- the business logic that drives the site include such things as ticketing rules or restrictions on a particular itinerary.
- Business logic components can implement policies for pricing, discounts, seat assignments, etc.
- a kosher meals object confirms the availability of kosher meals when requested.
- the CRS interface 126 in a practical implementation is likely to manage on the order of 1,000 simultaneous connections with CRS mainframes such as the SABRE System.
- Figure 2 illustrates a generic server container according to the present invention as mentioned in the summary above.
- Components are implemented by deriving from a framework base class.
- the programmer or travel site integrater
- the components are implemented as shared libraries, so the container 204 can load them at run time without recompiling or linking the generic server container.
- the configuration files expressed in XML syntax, are the basis for specifying which components the generic server should load, and how they should be connected together.
- the generic server When the generic server starts up, one of the first things it does is look for a configuration file based on a name passed on the command line for the server. There is a separate configuration file for each server process in the preferred embodiment, as well as a shared configuration file that the separation configuration files can include. This makes it easy to put common elements, such as certain shared object references in the shared file where every server can use the information.
- the configuration file can specify connections between components that implements specific framework-defined interfaces.
- the connections can include components that are located within the same server process (internal components), components located in other generic server processes, and even objects located in other processes not implemented within the framework (external components).
- Any CORBA object whose object reference can be entered in the configuration file in string form can be connected— even if the object is written in another language supported by CORBA.
- Figure 3 illustrates a connection between two components as specified in a configuration file. In this case, component 1 requires a validator service, and a connection is provided in the configuration file to component 2, which implements the validator interface, and happens to be located in another server, identified by the component 2 object reference listed in the configuration file.
- the generic server also supports three different threading models for handling requests for the objects it contains.
- Thread per Request The generic server container also supports a model where each incoming request is handled by a separate thread. Each new request causes a thread to be created to handle that request, and the thread executes until the request is completed. Then the thread terminates.
- a parameter specified in the XML configuration file can set the maximum number of threads to be created. If this maximum is reached, new requests are blocked until at least one previous request finishes and its thread terminates.
- FIGS. 4 A and 4B illustrate a configuration file, in this case, for a server identified as the city code lookup server.
- This provides a city code lookup capability which is made available to the application server through the client wrapper layer of Figure 1. So, for example, if an end-user of the travel Web site enters a city name which is not unique (Portland, Oregon/Portland, Maine) or uses an airport abbreviation (PDX) or misspells the city name, the application server can call on the city code lookup to obtain one or more valid alternatives. Referring to Figure 4A, the first portion of this file lists attributes of the container, such as time out, thread policy and maximum number of concurrent threads ("MaxThreads"). ⁇ InternalComponents >
- ком ⁇ онент Internal software components are listed in this section, in this case, beginning with the component name "CityCodeLookup" .
- the configuration file indicates a creator name and location, relationships (in this example there are none) and attributes.
- attributes In this example, there are none
- a component can have three types of attributes: simple, structure and sequence. In this example, all of the listed attributes are of the simple type.
- the CityCodeLookup configuration file continues on Figure 4B.
- the next component is listed beginning with the component name "CityCodeStrictLookup. "
- a creator name was provided and a location of the creator, i.e. , a library.
- various attributes are listed. Accordingly, when the CityCodeLookup server or container process initializes, it will read this configuration file, establishing the general attributes as noted, and then it will load (create) instances of the CityCodeLookup and CityCodeStrictLookup components.
- the simple-type attributes, and their corresponding values provide the means for passing perimeters to these components. This enables the integrated to change the perimeters for a given business logic component simply by editing the XML configuration file.
- the configuration file defines the order of calling components simply by the order in which they appear in the configuration file. This allows new business logic (a new component) to be inserted at the correct point in an existing process simply by inserting it at the corresponding point in the component list in the configuration file.
- the configuration file can define relationships or "connections" between components; for example, defining which components use what other component's services. By "sequencing" a new component into the configuration file list at the correct location, in defining relations to other components, a new logic component can be fit into the overall system without changing any existing source code. Put another way, the present component container architecture presents a higher level of abstraction beyond, but still compatible with the CORBA infrastructure.
- Figure 5A presents a simple example of a container process Cl and corresponding configuration file "Config (Cl)".
- Container 500 includes a travel plan controller component 502, a kosher meal component 504 and any other business logic component "XX" 506.
- Figure 5B illustrates a second container process 510 that includes the components 502 and 504 previously mentioned, and introduces a new component, Amadeus Interface Factory 512.
- the interface factory creates interface objects as necessary, illustrated by interface objects 514.
- the Interface Factory component is added to the container by listing it in the corresponding configuration file "Config. (C2)".
- These configuration files are simplified for purposes of illustration and in practical application would contain more details such as those of Figure 4A-4B.
- Figure 5C illustrates another container process C3, in this example a document server container.
- This container includes two components, namely a document server component 520 and a Filter United component 516, as listed in the corresponding configuration file "Config. (C3)".
- the document server creates individual document objects as necessary, for example, objects (or "documents") 522 and 524.
- a document will be created for each end-user "session" handled by the Web site application server.
- the application server maintains session state information, and calls on the document server (the document factory) to generate a new document, and conversely, it can notify the document container to discard a given document when the corresponding session is concluded.
- the individual document objects store user/session information, such as a flight itinerary, in an XML format as further described later.
- Figure 6 illustrates operation of the software system described above.
- the application server (see figure 1), using the client wrapper interface 600, makes a call 602 to a travel plan controller factory component 604 shown in container C2.
- This is essentially a request for the factory to create a travel plan controller instance 606.
- This object 606 will implement the travel planning process for this particular session.
- the client wrapper 600 also is used to make a call 610 to a document factory 612, in this case, located in a document server container C3.
- the document factory 612 creates document objects, in this example, document object 614, for storing information associated with this current session.
- the corresponding travel plan controller 606 communicates with the document 614 via path 616.
- the travel plan controller (TPC) 606 makes a call 622 to the Amadeus IF Factory 624 to request an interface to the CRS.
- the factory 624 creates (or assigns from a pool) an interface object 626 as requested; makes it available to the TPC.
- the IF 626 reads the flight request information 627 from the document 614 using a query language explained later, and creates a flight schedule request in suitable form to present the flight schedule request to the computer reservation system 640.
- the IF receives a flight schedule response and writes that information into the document 614, again formatted into an XML Syntax.
- the client wrapper 600 can read the updated document via another call, and provide this information to the application server which, in turn, provides the flight information to the Web server (See Fig. 1). Note that the client wrapper layer provides an interface to the document for the application server to access XML data.
- the end-user selects her itinerary from among the flights offered.
- the selected flight information is written to the session document 614 through the client wrapper as described.
- various business logic components may be called to modify and/or validate travel plan information as appropriate. These other components can be called by the travel plan controller for this session (606), and they will interact with the data stored in the corresponding document 614.
- Numerous components can be implemented to provide a variety of business logic, as mentioned above, such as pricing, seating assignments, special fares on discounts, mileage club, accommodations and even food requests.
- a kosher meal business logic component 650 The kosher meal component is shown deployed in container C2 and therefore appears in the corresponding configuration file 652.
- the kosher meal component is to determine whether or not kosher meals are available on a flight requested by the end-user. For example, if a kosher meal is requested, the travel plan controller makes a call 654 to the kosher meal component 650. Component 650's job is to determine whether kosher meals are available on the flight segments requested. Two requirements must be satisfied: first, the departure city must be equipped to provide kosher meals; and second, a minimum number of days of advance notice is necessary to provide kosher meals. The number of days of advance notice required will be passed to the kosher meal component, via the configuration file C2, at run time as further explained later. In response to the call 654, the kosher meal component 650 makes a query 660 to the document 614.
- the kosher meal component 650 makes a call 662 to a CityCodeLookup component 664 to determine whether the departure city indicated is capable of providing kosher meals. We assume this information is available to the CityCodeLookup, as it would have information about virtually all the commercial airports in the world. If kosher meals are available at the indicated departure city, and if the prior notice requirement is met, in terms of the number of days from ticketing (or the current date) to the departure date, the kosher meal component 650 will modify the document 614 to indicate that kosher meal is available on the corresponding flight segment. This process can be repeated for each flight segment on the itinerary.
- the kosher meal availability could be implemented with a Lookup table 666, but utilizing the city code lookup component would be preferred so that airport information is collected in one place. Travel plan controller 606 can provide this updated information to the client wrapper 670.
- An illustrative implementation of a kosher meal component is provided in Figures 7B-7C. This component uses the query language described below to access data stored in the session document object.
- the application server via the client wrapper, will request travel plan controllers as necessary and corresponding documents from the document factory.
- the application server via the client wrapper, will request travel plan controllers as necessary and corresponding documents from the document factory.
- Filter United has the task of removing from the document United Airlines flights that appear in the flight schedule response data.
- Filter United has the task of removing from the document United Airlines flights that appear in the flight schedule response data.
- the programmer can simply write one, derived from the base filter class, and add it into the list of filters in the configuration file.
- Figure 7 A illustrates the C2 configuration file in greater detail.
- the configuration file shown in XML syntax, begins with the server name and attributes of the server.
- the configuration name includes a creator name and a library location of that creator. It also includes attributes and relationships to other components, as appropriate.
- a creator name and library location of the creator are listed. Just one attribute is shown, of a simple type, called "PriorNotice” with a parameter value of 5, indicating five days advance notice required for kosher meals.
- a container process reads the configuration file and provides this attribute information to the KosherMeals component as a parameter at run time. In this way, the advance notice requirement can easily be changed by simply editing the XML configuration file.
- the file also shows that component KosherMeals has a relationship in that it uses the city code lookup component.
- Figure 8 is an example of a flight-schedule request.
- the various elements of the flight schedule request are summarized in the following table.
- Attributes ID - unique identifier
- SubElements RequestedFlightSegment - Below, 1 or more, required
- ValidCarriers Below, 0 or 1, optional
- FlightNumber Description This element contains the flight number the user wants to get schedule or availability information on.
- Attributes Value - The number of the flight.
- Figure 8 shows virtually all of the elements that might be included in a flight availability search, although not all of them are required, as indicated in the table. All the information in the flight schedule request and in the flight schedule response are stored in the corresponding session document, as mentioned above.
- Figures 9A-9B illustrate a flight schedule response. The response begins with the corresponding flight schedule request for identification. The response has an identification number, and includes two choices (flights), choice identification numbers 1 and 2.
- Figures 10A-10B form a listing of the city code lookup server configuration file.
- the file includes general attributes (applicable to the entire container) and internal components.
- Each of the internal components "CityCodeLookup” and “CityCodeStrictLookup” has multiple attributes. Again, these attributes are passed to the component as parameters at run time.
- Figures 11 A-l IB illustrate a portion of a travel plan controller container configuration file.
- the configuration file includes a travel plan controller factory of the type discussed above.
- the Document component is a component that internally contains an XML document and whose external interface provides clients with the ability to set and retrieve certain portions of the document at a given time.
- the XML document preferably is stored internally using a C+ + DOM implementation.
- Most document users, however, will not need to deal with either XML or DOM directly, because most reading and writing of Document information can be done using the Node and NodeAttribute structures, using either a node id or an XQL query to identify a node or a group of nodes.
- session data is stored in the document objects in XML format.
- Figure 12A illustrates the hierarchical association of tags in XML format.
- Figure 12B illustrates the DOM model in which the tags have a tree structure, and each node has a corresponding node id number.
- the present invention implements, in its query language, a node list concept. This is a list of tags and corresponding node id's.
- a node id is an internal unique identifier that the Document process uses to identify individual nodes. Users of Document should not try to determine a node id on their own, but should only use values that have been obtained from the Document instance they are working on through an operation like get_nodes_by_query.
- the nodes returned can be relied upon to have correct node ids, their values or attributes can be modified, they can be passed back to the document via the update_nodes_by_node_id, and the changes will be made in the proper spots in the document.
- the update_nodes_by_node_id the node id would no longer be valid.
- a query is a string that conforms to a defined query language.
- a query language suitable for accessing the content of a document is a subset of XQL (XML Query Language), which is an extension of XSL (Extensible Stylesheet Language). More information on these languages is publicly available. Following is a table containing examples of the query commands our Document component supports and what they do:
- the present invention departs from standard XQL in that the symbols Document supports includes addition of the ! operator as a modifier to the // behavior.
- XQL defines the // operator to be a recursive descent beginning at a specific node. Therefore, .11 would indicate a recursive descent starting at, but not including, the current context node. This is significant in our use of XQL because a common XML query will be to find certain nodes and select them and all their descendants. For example, you might want to select all City nodes and their descendants anywhere in the document. Following XQL by the letter, you could write the query //City, which would select all City nodes anywhere in the document, but would not select their descendants.
- /City//! Finds all City nodes that are children of the root node, and performs a recursive descent starting at (and including) each one.
- City//Code//! Finds all City nodes that are children of the current context node, finds all of their Code descendants, and performs a recursive descent starting at (and including) each one.
- a query begins with a 7' , it begins at the root, which is the base of the document tree.
- the current context is analogous to a pointer or cursor in other technologies, in that it refers to a specific place in the document.
- the current context is set to the root. From here the current context can be moved to any node in the document. Once the current context is set, it remains until changed explicitly or until the document is destroyed. This allows queries to be applied only to a specific portion of the document, if desired.
- Some operations that operate by query can only perform their function if the query specifies a single node in the document.
- queries can specify and select multiple nodes.
- a simple example of use of these types of queries is illustrated in the Kosher Meals example of Figures 7B-7C.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15649999P | 1999-09-28 | 1999-09-28 | |
US156499P | 1999-09-28 | ||
US18494500P | 2000-02-25 | 2000-02-25 | |
US184945P | 2000-02-25 | ||
PCT/US2000/026789 WO2001024003A1 (fr) | 1999-09-28 | 2000-09-28 | Structure composant logiciel-conteneur pour le deploiement dynamique de composants de logique commerciale dans un environnement objet reparti |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1222539A1 true EP1222539A1 (fr) | 2002-07-17 |
Family
ID=26853240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP00967087A Withdrawn EP1222539A1 (fr) | 1999-09-28 | 2000-09-28 | Structure composant logiciel-conteneur pour le deploiement dynamique de composants de logique commerciale dans un environnement objet reparti |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1222539A1 (fr) |
AU (1) | AU7734100A (fr) |
TW (1) | TW490639B (fr) |
WO (1) | WO2001024003A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107957893A (zh) * | 2017-12-20 | 2018-04-24 | 四川九洲电器集团有限责任公司 | 一种软件流程与功能动态实现方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2823932B1 (fr) * | 2001-04-23 | 2003-06-27 | Intaan Technology | Systeme et procede pour la distribution dynamique de donnees et/ou de services |
AUPS173802A0 (en) * | 2002-04-16 | 2002-05-23 | Camms Pty Ltd | Data collection system using remotely configurable scripting |
AU2002303070A1 (en) * | 2002-05-16 | 2003-12-02 | Agency For Science, Technology And Research | A computing system deployment method |
US7765521B2 (en) | 2002-08-29 | 2010-07-27 | Jeffrey F Bryant | Configuration engine |
US8006224B2 (en) | 2005-04-15 | 2011-08-23 | Research In Motion Limited | System and method for unified visualization of two-tiered applications |
EP1712987A1 (fr) * | 2005-04-15 | 2006-10-18 | Research In Motion Limited | Système et procédé de visualisation d'applications multi-niveaux |
DE102005041628B4 (de) * | 2005-09-01 | 2012-12-27 | Siemens Ag | Vorrichtung und Verfahren zur Verarbeitung von Daten unterschiedlicher Modalitäten |
US7739690B2 (en) | 2007-04-26 | 2010-06-15 | Microsoft Corporation | Meta-container for model-based distributed applications |
US8225308B2 (en) * | 2007-10-26 | 2012-07-17 | Microsoft Corporation | Managing software lifecycle |
US8015213B2 (en) | 2008-06-26 | 2011-09-06 | Microsoft Corporation | Content having native and export portions |
CN112631797B (zh) * | 2020-12-18 | 2024-09-20 | 京东科技控股股份有限公司 | 配置业务系统的方法和装置 |
CN112558949B (zh) * | 2020-12-21 | 2024-05-28 | 长沙树根互联技术有限公司 | 程序构造方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5515508A (en) * | 1993-12-17 | 1996-05-07 | Taligent, Inc. | Client server system and method of operation including a dynamically configurable protocol stack |
KR960008583A (ko) * | 1994-08-26 | 1996-03-22 | 윌리암 티. 엘리스 | 데이타 프로세싱 시스템 및 데이타 프로세싱 시스템 관리 방법 |
US5822580A (en) * | 1996-01-19 | 1998-10-13 | Object Technology Licensing Corp. | Object oriented programming based global registry system, method, and article of manufacture |
JP3622313B2 (ja) * | 1996-01-29 | 2005-02-23 | 株式会社日立製作所 | ドキュメント管理システム |
-
2000
- 2000-09-28 EP EP00967087A patent/EP1222539A1/fr not_active Withdrawn
- 2000-09-28 AU AU77341/00A patent/AU7734100A/en not_active Abandoned
- 2000-09-28 WO PCT/US2000/026789 patent/WO2001024003A1/fr not_active Application Discontinuation
- 2000-09-28 TW TW89120058A patent/TW490639B/zh not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
See references of WO0124003A1 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107957893A (zh) * | 2017-12-20 | 2018-04-24 | 四川九洲电器集团有限责任公司 | 一种软件流程与功能动态实现方法 |
Also Published As
Publication number | Publication date |
---|---|
AU7734100A (en) | 2001-04-30 |
TW490639B (en) | 2002-06-11 |
WO2001024003A1 (fr) | 2001-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020129345A1 (en) | Scripting business logic in a distributed object oriented environment | |
US7370335B1 (en) | System and method for providing a public application program interface | |
US6738077B1 (en) | Dynamic generation and automated distribution of user interface from database model | |
US6356920B1 (en) | Dynamic, hierarchical data exchange system | |
Ceri et al. | Data-driven, one-to-one web site generation for data-intensive applications | |
CA2304020C (fr) | Procede et systeme de creation de logiciel d'application pour base de donnees requerant une programmation minimale | |
US5432925A (en) | System for providing a uniform external interface for an object oriented computing system | |
US7912826B2 (en) | Apparatus, computer program product, and method for supporting construction of ontologies | |
US7519976B2 (en) | Collaborative business plug-in framework | |
US20040078105A1 (en) | System and method for workflow process management | |
US20030233631A1 (en) | Web services development method | |
US20020133579A1 (en) | Methods, systems and computer program products for rule based delegation of administration powers | |
US20030018963A1 (en) | Installation of a data processing solution | |
US7055134B2 (en) | Service provider integration framework in object oriented programming environment | |
EP1222539A1 (fr) | Structure composant logiciel-conteneur pour le deploiement dynamique de composants de logique commerciale dans un environnement objet reparti | |
US9513874B2 (en) | Enterprise computing platform with support for editing documents via logical views | |
WO1994025924A1 (fr) | Procede et appareil destines a la gestion du systeme informatique dans l'entreprise | |
US20060293936A1 (en) | Method and system for automatically transforming a provider offering into a customer specific service environment definition executable by resource management systems | |
US20070094289A1 (en) | Dynamic, hierarchical data exchange system | |
WO2005033933A1 (fr) | Systeme et procede pour la gestion de processus de flux de travail | |
Sung et al. | A component-based product data management system | |
US8484567B2 (en) | Systems and methods for personalizing software programs | |
CN115222345A (zh) | 一种审核作业方法及装置 | |
de Souza Bomfim et al. | Design and implementation of linked data applications using shdm and synth | |
US20070038926A1 (en) | Method for automatically embedding TabIndex attributes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20020321 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
17Q | First examination report despatched |
Effective date: 20021104 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: CONDUCIVE TECHNOLOGY CORP. Owner name: HOPKINS, SCOTT D. Owner name: TILDEN, MARK D. Owner name: STONIER, BRETT J. |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20030315 |