WO2001057613A2 - Hub & spoke architecture and methods for electronic commerce - Google Patents
Hub & spoke architecture and methods for electronic commerce Download PDFInfo
- Publication number
- WO2001057613A2 WO2001057613A2 PCT/US2001/003087 US0103087W WO0157613A2 WO 2001057613 A2 WO2001057613 A2 WO 2001057613A2 US 0103087 W US0103087 W US 0103087W WO 0157613 A2 WO0157613 A2 WO 0157613A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- client
- electronic commerce
- data
- communication
- transaction
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
Definitions
- the present invention relates generally to electronic commerce, and relates more particularly to tools and techniques for using a central service provider to perform business transactions between other entities by transmitting transaction data between the entities in a shared self-documenting format.
- Electronic commerce could be defined very generally, so that it includes any exchange of business and/or financial information involving any analog and/or digital electronic device.
- the electronic commerce of interest here involves digital computers which are connected by one or more computer networks.
- EDI electronic data interchange
- Pasetes United States Patent No. 5,202,977 issued to Pasetes, Jr. et al.
- Patent No. 5,557,780 issued to Edwards et al
- United States Patent No. 5,812,669 issued to Jenkins et al.
- Jenkins United States Patent No. 5,878,419 issued to Carter
- EDI is generally used in the context of a direct physical data transmission connection between two trading partners, as discussed in Pasetes, but Jenkins states that EDI can also be used securely over an open network such as the Internet.
- EDI can provide speed and reliability advantages over corresponding exchanges of paper
- EDI also has significant disadvantages as presently used. For instance, EDI documents are written in a complex language agreed upon by their sender and recipient. As a result, numerous cross-references and the need to perform lookup operations complicate the use of EDI, and so does the need for all parties to agree on and implement the specific EDI format to be used in a particular transaction. Dozens or even hundreds of individual EDI formats may be defined for use by a given pair of trading partners.
- XML extensible markup language
- HTML HyperText Transfer Protocol
- SGML Standard Generalized Markup Language
- the present invention provides tools and techniques for electronic commerce.
- some embodiments of the invention include a hub & spoke architecture for integrating disparate systems into transaction communities with migrating encapsulated process information.
- the architecture is a hub & spoke architecture (alternately denoted a "hub-and-spoke” or “hub and spoke” architecture) in that one or more servers at one or more logically central locations service client programs at various client business entities; the server is at the hub, and the client entities define outlying spokes extending from the hub.
- the logically central location is central in the network topology sense; it is not necessarily physically or geographically central.
- This hub & spoke topology is in contrast with a peer-to- peer topology, for instance, in which clients would communicate directly with each other instead of going through a central location.
- the hub is also central in a business role sense, because transactions between clients are assisted by the hub. For instance, the hub monitors activity to identify purchase orders that have been sent but not filled, and takes follow-up action accordingly.
- the hub includes procurement software which chooses the supplier(s) best suited for filling a given purchase order. That is, the buyer need not specify particular suppliers, although that can be done; it is enough to specify the desired items and their respective quantities.
- the hub is more than a mere conduit for data.
- the hub does provide data transmission or networking services, but the hub is also an active provider of electronic commerce services such as transaction monitoring and procurement management services.
- the various client entities may use different electronic commerce programs internally. For example, one client entity might use a particular set of EDI formats, while another client entity uses a different set of EDI formats, a third entity uses custom procurement software and a relational database, and a fourth entity uses a combination of spreadsheets and paper forms.
- the inventive clients can translate these and other disparate commercial documents into a shared self-documenting format which is used in the transmissions between the hub server and the clients involved in a given transaction.
- the invention integrates disparate client entities into a community for the duration of the transaction in question.
- the present invention maintains migrating encapsulated process information. That is, the hub server and clients maintain within the transmissions for a given transaction a substantially complete history of that transaction. This allows the hub and the clients to detect, diagnose, and at least attempt to overcome problems that may arise, without requiring synchronization or replication of logs. Separate logs may also be used, but they are not required, because the log is maintained in the transmissions for the transaction.
- a complete history of the steps taken to complete the transaction qualifies as a substantially complete history, but an entirely complete history is not always required. Data and/or events may be omitted from the history if they are not needed to address unacceptable delays, lost transmissions, scrambled transmissions, payment refusal, or other electronic commerce problems. Thus, the invention only requires a history which is "substantially" complete, not one that contains every detail of every event involving the transaction at hand.
- the invention provides electronic commerce signals, methods, and configured storage media.
- the invention provides new tools and techniques for facilitating electronic commerce without necessarily abandoning use of EDI, enterprise resource planning software, other procurement software, spreadsheets, relational databases, and so on within the client entities.
- XML, commercial XML, or another self-documenting language is used for communications between clients and the hub. Familiar tools for encryption, remote software updates, and data transmission in a network are readily adapted for use according to the present invention.
- Other features and advantages of the present invention will become more fully apparent through the following description.
- Figure 1 is a diagram illustrating a hub & spoke architecture for electronic commerce according to the present invention.
- FIG 2 is a diagram further illustrating a client according to the present invention, with reference to the clients shown in Figure 1.
- FIG 3 is a diagram further illustrating an electronic commerce communication according to the present invention, with reference to the communications shown in Figure 1.
- Figure 4 is a diagram further illustrating an electronic commerce signal of the present invention, from a communication of the kind shown in Figures 1 and 3.
- Figure 5 is a diagram further illustrating data flow during an example use of the hub & spoke architecture shown in Figure 1.
- Figure 6 is a flow chart further illustrating methods of the present invention.
- Figure 7 is a diagram illustrating a hub & spoke architecture for electronic commerce in use by a hospital according to the present invention.
- Figure 8 is a diagram further illustrating data processing in a client according to the present invention.
- Figure 9 is a diagram further illustrating steps and structures in a client according to the present invention.
- Figure 10 is a flow chart further illustrating processing at the hub according to the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
- the present invention provides business tools and techniques for facilitating electronic commerce.
- the invention may be embodied in various ways, and it may also be described in various ways. Accordingly, the examples discussed throughout this document are not necessarily consistent with one another in every particular; rather than omitting details to achieve complete consistency, details are included if they may assist in a better understanding of an embodiment of the invention.
- the invention provides a network-based design for electronic commerce, namely, a design having novel features at a transactional level.
- the invention provides a commerce network built on top of one or more otherwise conventional computer networks.
- a "transaction" in the commerce network is viewed as a business transaction, as opposed to a mere exchange of data packets or some other network operation at the network physical level.
- Client entities who participate in electronic commerce using the commerce network do not require specific computer networking knowledge of each other. For instance, they do not need to know the other participant's computer system information, IP or other network delivery addresses, physical location, or any other data needed to transmit communications electronically; these details are handled by the hub server and the commerce client software.
- the invention utilizes conventional computer networking technology with novel additional tools and techniques in order to let client entities execute business transactions in an electronic form.
- the invention permits use of virtually any available network communication protocol(s), such as Ethernet, SLIP, Token-Ring, TCP, and so on.
- the invention permits use of virtually any available network transport mechanism(s), such as HTTP, SMTP, FTP, and so on.
- One system according to the invention is capable of translating commercial data between the data formats that are used by client entities and a common transactional language format that is shared by all clients in the commerce network.
- the invention transports business data from one client entity to another client entity through a central hub that is operated by an electronic commerce service provider.
- Each client entity has a separately installed client software program (called the "client") for communications with the central hub.
- client client software program
- the commerce network is created without such specific physical interconnections because it uses Internet or world wide web networks.
- Some current EDI systems also use the Internet for data exchange. Even in such cases, however, it is necessary for one peer to directly identify the other peer with whom data will be exchanged.
- embodiments of the present invention use the central hub to connect the entities.
- a buyer entity may place an order without directly identifying the seller.
- the hub will select one or more seller(s) to fill the order after reviewing the purchase order to identify desired items, accessing catalogs, price lists, and other familiar components, and checking lists or other structures that identify sellers in the hub & spoke architecture.
- the buyer does not need to specify in each instance the address of the target vendor entity.
- the communications across a variety of client entity platforms is standardized within the hub & spoke architecture by use of a self-describing data structure, such as one implemented with XML.
- a given inventive communication transmitted between client and hub typically contains business information, electronic commerce routing instructions (as opposed to computer network router or bridge instructions), and electronic commerce processing instructions (such as who should be notified at the client entity when the communication arrives).
- Suitable business information includes data for an electronic commerce transaction, such as purchase order data, invoice data, catalog data, and so on.
- XML By using XML, this data can be easily described in the communication, unlike similar data in EDI exchanges, for instance.
- the descriptions of transaction data are preferably set forth in a consistent fashion by using a single internal (hub-client) format. This is different from electronic commerce systems in which XML is used to implement a variety of definitions for compatibility with still other systems, thereby increasing the system complexity and making it more difficult to maintain and support.
- Another notable feature of the present communications is that they typically each contain a substantially complete transaction history.
- the history is located in the same self- describing structure, and plays a significant role in supporting the electronic commerce infrastructure. For instance, the history supports transaction management in the loosely coupled commerce network. Proactive management of transactions is important to the ongoing success and performance of an inventive system, as are somewhat similar steps in other connected disparate entities. For instance, in a computer network routers and switches will support recasting or rebroadcasting of packets that are unconfirmed. This is an immediate response to failure. In the inventive commerce network, retransmissions may also be called for, but there is normally a longer delay between action and reaction than there is at the network packet level.
- Transaction lifecycle and the steps involved in executing a transaction are tied directly to the document data by means of the embedded transaction history, which is carried with the document at each of the various points of system interaction.
- embedded transaction history which is carried with the document at each of the various points of system interaction.
- the problem is a failed purchase order acknowledgment. That is, the hub expected to receive from a vendor client an acknowledgment of a purchase order communication forwarded to the vendor client by the hub from a buyer client.
- the transaction failure is discovered and identified by reviewing the history in the transaction and measuring the amount of time since the last history event. Measurement may use rules embedded in the communication to determine if the elapsed time is too long. Other embedded rules cause the hub to send a request for response and/or to notify a particular person of the problem by email or pager.
- the novel system has been designed to allow abstraction from the delivery type (e.g., file transfer, message transfer, database transfer, electronic mail transfer), the transaction data (e.g., purchase order, catalog), and the delivery mechanism (e.g., FTP for files, JMS for messages) used in a particular instance.
- the invention can be used in virtually any computing environment currently in production, as long as that environment includes at least a Java Virtual Machine or its approximate equivalent, and a network connection of some form.
- Encryption in the inventive system may be based on a variety of solutions. Encryption is often related to the transport type, since differing transportation types use differing mechanisms for security.
- Transaction data may also be encrypted by the client independently of and in addition to any encryption performed by the delivery mechanism.
- the user interface for the system is based upon a centralized website that provides support for various system functions, such as: configuration capabilities, including setting the network addresses for delivery, notification, monitoring and reporting; output mapping and translation instructions; delivery notification; receipt confirmation; software upgrades to clients; and data requests requiring selection and incremental delivery of catalog data, for example.
- the centralized web site also referred to as the "hub” or “hub server" thus supports the remote client installations.
- the hub can reproduce the client installation exactly after a total client loss at the remote system.
- the centralized site also provides customization capabilities for the output formats provided by the client in the form of mappings that allow an XML programmer, for instance, to implement translations between specific client entity formats and the shared self- documenting format of the hub-client communications.
- the mappings are embedded in the communications, so they are generally available with each delivery of a transaction to a remote client. The resulting flexibility allows for a dynamic change to an output format from a centralized location that is then executed with the next transactional delivery. The change in mappings between two transactions does not cause either transaction to fail.
- the central site also allows for synchronized software module addition, whereby each client is kept in sync with the server and each other client that is also using a given module. For instance, a remote client or the hub may add a new format adapter.
- An adapter addition at the client generates a communication that includes the added module, the configuration file, and contact information that is delivered to the server and posted as a client change.
- the server may post a client change to the configuration at the server, which would then be reflected to the client to be decrypted if necessary, decompressed if necessary, otherwise extracted from the communication, and installed at the client entity.
- embodiments of the invention may include a transaction processing monitor ("TPM") at the hub which supports a loosely coupled network of remote nodes (clients) for the purpose of commercial data exchange.
- Clients do not necessarily perform transaction processing monitoring, although the system does support internal transactional integrity.
- the inventive system enforces transactional integrity through the confirmation of delivery of a given step in a transaction, it is an EDI/asynchronous-style enforcement process, not a TPM-style transaction.
- Some embodiments provide rollback capabilities at the client as well as the hub. In a sense, the invention thus combines the high- response transactional model of a TPM with the loosely-coupled transactional model of EDI.
- the inventive system is a workflow driven, event driven system in which the server and client each push data without a request to each other.
- a request model need not be involved. The only time a response is generated is to confirm the receipt of the push.
- FIG. 1 illustrates a hub & spoke architecture according to the present invention, indicated generally at 100.
- the architecture 100 facilitates electronic commerce between client entities 102 by providing services managed by a service provider 104. Electronic commerce may also be performed between a client entity 102 and the service provider 104 using the architecture 100.
- Each client entity 102 will have some type of transaction system 106.
- the systems 106 may be installed in connection with the corresponding client entity's subscription to the service provider 104 services, but most systems 106 will already be present when the client 108 is installed.
- a given system 106 will generally be used only internally within a particular client entity 102, but in some cases the system 106 may be outsourced and/or located at a data center leased by the client entity 102.
- the systems 106 are termed "single-entity" systems; they are sometimes referred to elsewhere as “legacy systems”.
- the systems 106 do not normally link trading partners to allow communications 112 as taught herein.
- a system 106 may support EDI or another conventional electronic commerce capability does not prevent it from being a "single-entity" system with respect to the present invention.
- Clients 108 are novel elements of the present invention, provided specifically to support communications within the hub & spoke architecture 100.
- Clients 108 may be implemented in some embodiments as software installed on general-purpose computer hardware, and in other embodiments may include special-purpose hardware according to the present invention.
- the line between hardware and software becomes increasingly indistinct as tools like application-specific integrated circuits ("ASICs"), field programmable gate arrays (“FPGAs”), and so on become more widely available.
- ASICs application-specific integrated circuits
- FPGAs field programmable gate arrays
- clients 108 perform as discussed in the Overview and Development History sections, and elsewhere herein.
- a client 108 at a buyer entity receives purchase order data from the single-entity transaction system 106, translates it from the system 106 format (e.g., EDI) into a self-documenting format such as an XML format, creates a communication 112 containing the data and related information such as the history of the transaction thus far, and sends the communication to the hub server 11 .
- system 106 format e.g., EDI
- XML format self-documenting format
- a client 108 at a vendor entity receives the XML data, extracts the purchase order data, optionally sends the hub server an acknowledgement confirming receipt of the purchase order communication 112, converts from XML to the client entity system 106 format, and submits the purchase order data in that format to the vendor's system 106.
- Clients operate similarly with regard to invoices, catalog request and fulfillment, and other commercial transactions. Communications 112 are discussed further in connection with Figures 3 and 4, and elsewhere herein.
- a client 108 may exchange data with the local single-entity transaction system 106 by way of a buffer 114 using a post-and-subscribe approach, semaphores, signals, or other familiar inter-process communication tools and techniques.
- the buffer 114 includes volatile memory such as RAM and/or non- volatile memory such as a magnetic hard disk.
- Clients 108 and their interfaces with the systems 106 and the hub server 110 are discussed further elsewhere herein, such as in connection with Figure 2.
- the hub server 110 generally supports asynchronous message storage and retrieval, through message queues or similar mechanism. Suitable implementations may use, for instance, IBM MQSeries software, TIB/Rendezvous software, Weblogic App Server software, or other message-based middleware and/or Java application server software in a messaging and information infrastructure.
- the server 110 includes code that understands the format of communications 112 to embed or extract transaction data, provides network routing, and provides confirmation upon receipt of a message 112. Extendable delivery mechanisms provide for actual transmission of the message 112 through the network "wire". These work with a routing system that contains client 102 addresses, and a centralized store containing all the configuration details, such as which transport adapters are installed at which clients.
- the hub 110 preferably also includes exception handling capability as part of the transaction management logic. When expected messages 112 do not arrive, the server 110 takes appropriate steps. For instance, a notification system ties exception handling and transaction management together and provides email or other notification to designated persons at the involved entities 102, 104.
- the service provider 104 also provides procurement accounting hardware and/or software 116, such as enterprise resource planning ("ERP") software, inventory databases and database managers, and other conventional procurement management tools.
- ERP enterprise resource planning
- the procurement module 116 exchanges data with the hub server 110.
- the procurement software 116 provides the hub server with access to business logic, possibly including access to internal systems of the service provider 104 which are not directly available to other systems in the environment 100. For instance, the procurement software 116 may identify the best supplier for a given set of items in a purchase order.
- the procurement software 116 may include and/or access accounting data, transactional data, reporting information, product information, access control information, credit status, and other business data as deemed necessary to support the hub 110 and the commercial transactions requested by clients 108.
- Figure 1 is illustrative only. In various embodiments of the invention, components shown in Figure 1 may be omitted, repeated, renamed, or grouped differently.
- the leftmost client entity 102 in Figure 1 includes a firewall 118 between the client 108 and the external network, including the hub server 110.
- Other client entities 102 do not necessarily have a firewall, as illustrated by the rightmost upper client entity 102 in Figure 1. In some embodiments all client entities 102 have firewalls, in some none have firewalls, and in some embodiments a client 108 resides outside the firewall rather than inside it.
- Figure 1 shows three client entities 102, but other embodiments may have more or fewer client entities 102. As noted earlier, some embodiments also omit the procurement accounting module 116.
- Clients Figure 2 illustrates components of a client 108.
- the client 108 may be implemented as software which configures a general-purpose computer according to the invention, or it may be implemented with special-purpose hardware such as ASICs or FPGAs.
- the client 108 may be a virtual user of the systems 106, in that the client 108 (which is a mechanism rather than a person) exchanges data with the systems 106.
- the illustrated client 108 includes an incoming data processor 200, an outgoing data processor 202, one or more format adapters 204, and one or more transport adapters 206.
- other implementations of the client lack pluggable adapters 204, 206, using "hard-coded” format conversion routines and/or hard-coded transport protocols instead.
- the client 108 uses one or more "mappings" to perform format conversion(s).
- the mappings can be written by any programmer familiar with XML and/or XML Style Language ("XSL").
- XSL XML Style Language
- the incoming data processor 200 checks for incoming communications 112 from the hub server 110 using at least standard computer networking tools and techniques.
- the transport adapter 206 or other transport mechanism may be viewed as part of the incoming data processor 200; as with Figure 1, components of Figure 2 may be grouped differently in different embodiments of the invention.
- the incoming data processor 200 extracts electronic commerce transaction data from the communication 112, and posts the data to the single-entity-transaction-system 106.
- the data extraction may be defined to include format conversion from XML to the local system 106 format; once again, we see that embodiments may group illustrated components differently without thereby removing them from the scope of the invention.
- Posting the data may be performed by copying it to the buffer 114, and setting a flag or otherwise ensuring that the system 106 will recognize that new data has been posted for the system 106 to process.
- Suitable format adapters 204 include adapters between the client-hub communication 112 self-documenting format and the format used by a single-entity-transaction-system 106. Familiar component plug-in techniques, including techniques from Java, object-oriented programs, COM, or other sources, may be used to include or exclude particular adapters. Conversion between XML and legacy system 106 formats may be performed using familiar parsing techniques.
- Suitable transport adapters 206 include adapters that provide connectivity using familiar protocols, such as HTTP, FTP, ARCNET, Ethernet, Token ring, and so on. Some type of support for Transport Control Protocol ("TCP") connectivity is preferred.
- TCP Transport Control Protocol
- the hub server 110 includes corresponding transport support for each client 108 in the architecture 100.
- the outgoing data processor 202 operates in a manner that is generally similar to that of the incoming data processor 200.
- the outgoing data processor 202 checks for outgoing electronic commerce transaction data from the single-entity-transaction-system 106 by receiving an interrupt, polling the buffer 114, or another familiar method.
- the outgoing data processor 202 embeds at least part of the electronic commerce transaction data (some data may be strictly for internal client entity 102 use) in a communication 112 in a self- documenting format, and sends the communication 112 to the hub server 110.
- the format adapter(s) 204 are thus either part of, or used by, the outgoing data processor 202, depending on whether a given embodiment regroups the illustrated components, or does not regroup, respectively.
- the transport adapter(s) 206 may be viewed as being either part of, or simply used by, the outgoing data processor 202.
- FIG. 3 illustrates a communication 112 in greater detail.
- a business transaction performed with the invention includes one or more communications 112 between hub server 110 and client(s) 108.
- a communication in turn includes at least a novel electronic commerce signal 300, and conventional computer networking data 302 such as IP addresses and/or Uniform Resource Locators ("URLs").
- the electronic commerce signal 300 includes transaction data such as a purchase order, as well as a history of the transaction thus far, and possible other components.
- a communication 112 is independent of the transport protocol used, and need not specify how it should be transported. However, a communication 112 on the "wire" may include checksums, error detection codes, error correction codes, and/or other familial- means for transmission error handling 304.
- Such components 304 may be present in the electronic commerce signal 300 and pertain only to the contents of that signal 300, or they may be calculated using different or additional components of the communication 112. As with the other Figures, illustrated components of Figure 3 may be omitted, renamed, repeated, or grouped differently in different embodiments of the invention.
- a communication 112 may include digital signatures, tokens, certificates, private or public keys, or other familiar means for authentication 306. Again, a given instance of the communication 112 may include authentication component(s) 306 inside the electronic commerce signal 300, outside that signal 300 but within the communication 112, or both.
- Communications 112 and electronic commerce signals 300 may be embodied according to the invention in twisted pair, coaxial, or optical fiber cables, telephone lines, satellites, microwave relays, modulated AC power lines, and/or other data transmission "wires" of the underlying computer network. Communications 112 and electronic commerce signals 300 may also be embodied in computer memory in the architecture 100, including volatile memory such as RAM and non- volatile memory such as a hard disk.
- Communications 112 and/or electronic commerce signals 300 may be encrypted (and, of course, decrypted) and/or compressed (and decompressed) using familiar tools and techniques.
- communication 112 encryption may be performed by a client 108 regardless of whether the underlying transport mechanism for transmitting packets to the hub 110 also performs encryption.
- ⁇ LISTENER classname "com. dotconnect . listener. SMTPInboundListener” sourceurl "/usr/home/rbloyer/tenetdest”>
- FIG. 4 illustrates an electronic commerce signal 300 in greater detail. As with the other Figures, components shown may be omitted, repeated, renamed, and/or grouped differently in different embodiments of the invention, unless called for by the relevant claims.
- the illustrated electronic commerce signal 300 includes electronic commerce transaction data 400. Suitable transaction data 400 includes, without limitation, data which partially or completely defines a purchase order, order status inquiry, invoice, payment, catalog request, and/or catalog fulfillment for electronic commerce between separate entities.
- the data 400 is in a self-documenting format, using a language such as XML.
- the illustrated electronic commerce signal 300 also includes a transaction type identifier 402 which identifies the type of commercial transaction to which the signal 300 pertains.
- This type identifier 402 may be separate from the transaction data 400 as illustrated, or it may be part of the transaction data 400 in other embodiments. Suitable identifications include those corresponding with the transaction data 400 possibilities noted elsewhere herein, such as "purchase order" and "invoice".
- the transaction type identifier 402 may be implemented using bitflags, ordinal numbers, predefined text strings, or other familiar operation or record type identifier means.
- the illustrated electronic commerce signal 300 also optionally includes electronic commerce routing instructions 404. These instructions identify the target trading partner by name or in another manner convenient to non-technical users of the novel system.
- the hub server 110 translates the non-technical destination identifier 404 into IP addresses, URLs, Ethernet addresses, and/or other computer network addresses using a simple lookup table or other familiar technique adapted for use according to the present invention.
- the illustrated electronic commerce signal 300 also optionally includes electronic commerce processing instructions 406.
- the instructions 406 may specify email addresses or pager numbers for people to be notified when a purchase order arrives at a vendor client entity 102.
- the instructions 406 may identify an application 106 at the client entity 102 to process data after the client 108 creates a file in the buffer 114, and call that application 106.
- the instructions 406 may identify a database instance 114 at the client entity 102 to receive data 400, and insert the data 400 directly into the database.
- the illustrated electronic commerce signal 300 also includes a substantially complete history of the commercial transaction thus far 408.
- the history 408 specifies the current settings of the remote software 108, the currently installed software adapter(s) 204 and/or 206, and the currently activated transaction type(s) 402.
- An example is provided in the XML HISTORY_DOCUMENT above.
- Figure 5 presents a data flow diagram showing communications 112 between clients 108 and the server 110, and also showing other aspects of the operation of an inventive hub & spoke architecture.
- a client A obtains 500 purchase order data from A's single- entity transaction system 106. This may include, for instance, reading purchase order data such as vendor name, part identifier, and desired quantity from a disk or other buffer 114.
- Client A then embeds 502 the purchase order data in self-documenting form in a communication 112, translating from the system 106 format to the hub-client format using an adapter 204.
- the embedded purchase order data is an example of electronic commerce transaction data 400.
- the history 408 is updated.
- Authentication data 306 and/or error management data 304 are generated if called for by the embodiment.
- client A sends 504 the resulting communication 112 to the hub 110, using the transport adapter 206 and the underlying computer network.
- the hub server 110 processes 506 the incoming purchase order 112. In a given situation and a given embodiment, this may include translating a high-level destination ID to a network address; sending a confirmation receipt to a client A; noting a purchase order's arrival time in case the purchase order is not acknowledged by client B quickly enough; and sending data to the ERP module 116.
- hub processing 506 is illustrated in Figure 10 and discussed below.
- the server 110 accepts the incoming data through a variety of transport mechanisms, but the eventual target of each of these is a persistent storage area that is easily manageable, such as storage on a hard disk or in a RAID unit with message queues or database tables.
- the act of acceptance and conversion of the transmission 112 into a transaction is inherent in the process of placement 1000 into the queue mechanism. Therefore one has a transaction in the queue.
- successful addition of the purchase order transaction (for instance) to the queue generates another transaction that is delivered to the client 108 as a transmission 112 to confirm receipt.
- the hub de-envelopes or breaks out the history 408 and routing information 404 embedded 502 in the transaction.
- the history data 408 is then secured 1004 into a transaction management system to allow for proactive administration of the transaction via the history data.
- a history event is added 1004 to the history 408 indicating that the hub server 110 is now managing the transaction life cycle.
- the hub identifies and uses the transaction type and customer 102.
- One embodiment of the hub 110 uses information retrieved from the transaction data 400 to look up 1006 the proper processing instructions in a central database at the hub 110; in other embodiments the information is stored elsewhere in the signal 300 or the hub 110.
- the hub compares 1008 the current step in transaction processing (e.g., "receive purchase order") with the instruction step(s) obtained during step 1006, to identify dependencies, namely, to determine whether some instructions depend on the result of other instructions for their input. If so, the instructions that provide required input are completed before the instructions that depend on the input.
- the current step in transaction processing e.g., "receive purchase order”
- the hub server.110 executes 1010 the defined steps for internal processing of the document.
- the look up 1006 would indicate that the next step in the process after creation is data validation (checking for out-of-range values, verifying checksums and/or digital signatures, etc.) .
- Data validation is performed during an instance of illustrated step 1010 by executing code which is associated by the hub 110 with the processing step dynamically in response to at least the transaction type.
- next step is looked up 1006 and executed 1010 in a similar fashion.
- the next step could be to submit data 400 to the ERP system 116 through a conventional API defined within the ERP system. This would be executed in a synchronous fashion, with the hub 110 awaiting a response from the ERP system 116. The response could be a simple success or failure statement from the ERP system 116 to the hub server 110.
- Each step in the process looked up during illustrated step 1006 has a similar executable code association for use with illustrated step 1010.
- exception handling code is preferably provided to deal with failed process steps, and this is preferably done regardless of whether the failure is data related or process execution related.
- the exception code moves 1012 the transaction to a persistent storage designated to hold exception-related transaction and processing information.
- the server 110 moves 1014 the transaction to a holding area (queue) that maintains the transaction.
- the hub 110 then awaits a purchase order acknowledgement, or does whatever is defined as the next step for the document in the transaction processing definition. For example, the hub could await the purchase order acknowledgement from the supplier/vendor 102. Once the acknowledgment 112 is received and processed, the server 110 would move to the next step, and so on.
- an architecture 100 could be implemented with a hub 110 for which a processing path is defined using a modeling tool like Unified Modeling Language ("UML").
- UML Unified Modeling Language
- This approach generates new code for each step and stores that code for future use.
- this may be relatively inefficient due to the large code base and duplication of code it suggests.
- the system 100 store a step or event in the business process lifecycle (e.g., purchase order lifecycle) as a database entry in a communication 112 that refers to an existing generic piece of code.
- the hub 110 executes that code with partner, processing instruction step, and process as parameters, as illustrated in Figure 10, for example.
- This method allows a web based process modeling tool to be built, similar to a mapping website, to define how the system 100 should track the process of executing the purchase order lifecycle.
- the UML approach might be marketed with a claim that "no coding is necessary" at a client 102, the latter approach could claim "no systems or servers are necessary” there because the business process is modeled at the central hub 110 and executed at the central hub 110.
- This process modeling functionality could be distributed to the clients 108 as a "processing model" transaction.
- This use of references is a preferred implementation of the processing instructions 406 embedded in the document 300. That is, the embedded instructions 406 refer to the executable instructions performed 506/610/612 by the hub 110, allowing one to modify the process model at the client 108 and then activate it by a simple instruction in the transaction signal 300.
- the hub server 110 sends 508 the purchase order data in a communication 112 to the vendor client entity B.
- Client B extracts the purchase order data, and submits it to B's system 106.
- the system 106 generates an invoice.
- Client B obtains 510 the invoice data from B's system 106, embeds 512 it in a communication 112 (converting the invoice data foraiat to an XML format used by the hub 110), and sends 514 it to the hub 110.
- the hub processes 516 the invoice communication as discussed above (another step in the hub processing) and sends 518 the invoice data to client A.
- Figure 6 illustrates methods of the present invention. Steps shown may be omitted, repeated, performed concurrently, reordered, combined, and/or renamed in a particular embodiment, to the extent that the invention continues to operate and also to the extent permitted by the claims. It will also be appreciated that discussion herein of one category of embodiment (e.g., method, architecture, configured storage medium, or signal) of the invention will often be helpful in understanding other categories of embodiment. Unless indicated otherwise to one of skill, therefore, discussions of the methods also pertain to the architecture and signals, discussions of signals also pertain to the methods and architecture, and so on.
- one category of embodiment e.g., method, architecture, configured storage medium, or signal
- the hub 110 is initialized according to a definition of the business process model the hub is to implement, including the order in which transactions are to be executed, and the expected steps in each document lifecycle. Also mapping of the documents and their translation could be executed at the hub and stored there for delivery. For instance, mapping defines field relationships so the client 108 can convert data between XML and an internal client 102 format.
- client 108 software is installed on computer hardware, the client 108 is connected to the underlying computer network to permit communication with the hub server 110, and the client 108 is given access permissions, connections, and/or other capabilities so it can exchange transaction data with the entity's transaction system 106.
- Embodiments having pluggable adapters 204, 206 may use a single client 108 installation regardless of formats and/or transports used; the client 108 is configured with downloadable adapters after installation of the data processors 200, 202.
- the client 108 software is updated to include, for instance, more or different adapters 204, 206.
- the updating step is combined in the illustration with the installing step, but may be viewed as a separate step in other embodiments.
- Automated client 108 updates are driven by configuration changes, not by an update engine. That is, the client 108 can make changes to itself, or the server 110 can make changes to the client 108. In either case the changes are reflected to the other system 100 component.
- This allows the server 110 to be synchronized with client 108 changes, and makes it possible to do mass updates in the system 100 by changing the server 110 configuration and having that change reflected to all clients 108. From the client entity 102 perspective, the installation process that integrates them in the novel architecture 100 may proceed generally as follows.
- a new or existing customer 102 chooses to "integrate” by expressing this desire to their sales representative or by choosing the appropriate service on the service provider 104 web site.
- the entity 102 must exist in the system as a customer before integration can begin. That is, an identifying account that controls access to the web site configuration tools must exist before integration can occur.
- the integration web site is not a stand-alone site but requires another site to be the homepage and authentication master.
- a transaction monitoring module in the hub 110 receives an entry from an installation web site or installation software package indicating that this customer 102 has begun integration. As integration commences, the customer 102 is presented with a series of choices and questions. After answering the questionnaire, customer 102 is presented with an installable software package 108. This is another form of a monitored transaction where response time and transactional completeness are "guaranteed" by the monitoring system.
- the installation of the client 108 occurs by direct install online, or by a download followed by a local install, using familiar software transfer and installation tools and techniques.
- configuration e.g., host machine, network address to send transactions to and from, name of company, technical contact info, directory or database to look in for transactions.
- the installation completes and the configuration is sent as a transaction back to the server 110.
- the client 108 is now installed and the server 110 receives the configuration transaction.
- An initial test document is sent to the new client 108 automatically; one suitable test document is a catalog with only one item.
- the client 108 confirms receipt of this test catalog.
- a transaction monitor in the hub 110 is thus notified that integration installation has completed successfully.
- mapping has started.
- An email or other message from a service provider 104 integration specialist points the user 102 at an integration web site. Using forms at the web site, the user 102 chooses an output format and document type, and defines output format specifics such as field locations, data elements, and so on. This may be repeated for multiple documents.
- the user submits a completed translation map to the hub 110 for testing.
- the hub 110 generates a sample document using the mapping.
- the sample document is sent to the client 108 for testing.
- the transaction monitor is notified that the format translation mapping is being tested.
- the user 102 returns to the web site, makes changes and repeats the test as need, and ultimately agrees with the document format conversion map(s).
- the transaction monitor is accordingly notified that mapping has completed for the document type in question. Finally, the document type and customer 102 status are changed to "production, ready for mapped document".
- the client 108 obtains initial transaction data 400 from the system 106.
- the client 108 may obtain 500 purchase order data.
- the purchase order data is generated in response to choices made by a buyer using a service provider web site 120 and/or a purchasing interface of the client 108.
- This allows buyers 102 to do some or all of the following: evaluate products from one or more vendors in side-by-side comparisons; search product catalogs by manufacturer, product number, product description, or some combination thereof; create a "favorites" list of products that are ordered often; duplicate previous orders entirely or with specified changes; make personal notes on specific products, to help remember which personnel prefer which product, for example; and access the entity's buying history to identify trends in product usage, for instance.
- the website client 120 may be furnished by the same service provider 104 that furnishes the hub 110. However, from the perspective of the hub 110, the website 120 is just another client 102 that submits orders. Indeed, the website client internal architecture includes a client 108, a buffer 14, and some type of order placement software, such as a purchasing interface that includes Internet browser forms and accompanying Java or CGI order placement code. When someone places an order on the web for product that is not included in the system 106 catalog the hub 110 sends a micro-catalog to them before the XML order, to make sure they have the products in their item master in their ERP system.
- order placement software such as a purchasing interface that includes Internet browser forms and accompanying Java or CGI order placement code.
- the client 108 performs any necessary format conversion to a self-documenting format and embeds the reformatted transaction data 400 in a communication 112.
- the client 108 sends the communication 112 over the computer network "wire" to the hub server 110.
- Figure 10 illustrates detailed steps for hub processing 610, 612 in one embodiment; the steps shown in Figure 10 are discussed at least in connection with Figure 5 above.
- Steps 614 to 632 proceed in a similar manner.
- Step 614 sends a communication 112 from the hub 110 to the client 108.
- a single client B is denoted in Figure 6, but a single purchase order may result in order communications 112 to one or more vendors 102.
- the target client 108 extracts 616 the transaction data from the message 112 and presents 618 the data to the client 102 system 106. If there are additional processing instructions, such as notification of personnel at client B, these are carried out 620. If this is the end of the business lifecycle for the transaction in question, processing ends as indicated by the arrow after step 620. For instance, the communication just processed 620 may have been a confirmation that requires no further communication back to client A.
- client B may obtain 622 responsive data (such as an order confirmation number) from its local system 106.
- Client B embeds 624 that data in an XML or similar format in a responsive communication 112, and sends 626 it to the hub 110.
- the hub 110 likewise processes 628 the responsive communication as discussed in connection with illustrated step 506 and elsewhere herein.
- the hub then sends 630 a corresponding communication 112 back to client A, which extracts 632 it, and then proceeds accordingly in view of the communication 112 content and the business process model that defines the lifecycle for the transaction in question.
- Proactive transaction monitoring and exception handling steps 634 are performed as needed through the illustrated steps 600-632. These steps are discussed elsewhere herein in connection with notifications, with timeouts, and with Figure 10, for instance.
- a monitoring and exception handling step 634 may be performed, or partially performed, at one or more various points in the sequence just described.
- a location such as a hard disk. This location indicates the transaction 400 arrival time. If the defined response time for a given transactional step expires without a detected response, then the monitoring system in the hub 110 or client 108 reacts by sending out notifications of an expired transaction. This can include automated notification to the integrated system 100, email notification to an account manager either in the partner 102 or the service provider 104. Further steps will be taken if an exception response time expires. For instance, the system 100 may reroute the transaction to an alternate partner 102 or cancel the transaction and provide notification of these events in the same fashion as above.
- a first implementation of the invention included four classes, and was designed using a traditional procedural design methodology. Functionality characteristics included single threaded message (prototype communication 112) processing, a single output format per message, and adapter 204 support for converting XML to EDI, and converting XML to delimited file output formats.
- This implementation included a total of four objects that when instantiated, made a connection to a specified mailbox, and processed mail messages based on configuration settings taken from a properties file.
- Mail messages were retrieved by the client 108 based on subject heading criteria and were processed in a single threaded mode. Processing involved polling a mail server and retrieving the message 112 body, looking up the processing direction from a properties file, parsing the body and writing the result to a disk file 114.
- This implementation supported only one processing direction, namely, from XML to EDI or from XML to plain text or a comma delimited format.
- a second implementation included eleven classes, and was designed using an object oriented design methodology.
- This second implementation included a total of eleven objects that worked together in a more complete object oriented fashion.
- One managing object in the client 108 controlled other objects that made a connection to a mail server, processed any retrieved messages, and output into resultant formats. Connections to the mail server occurred in child threads forked by the managing object. Within an individual child thread, the message body was retrieved and passed to an object that processed the message into one or many formats indicated by settings in a properties file.
- These resultant formats included conversions from EDI to XML, and conversions from XML into a Java order object. The Java object could then be converted into a file with any selected delimiter, or any other customized format.
- a response email with the results of the processing or any exception/error messages could optionally be sent to one or many email addresses.
- This iteration also monitored and sent its properties file to the Promedix.com hub server 110 for record keeping purposes.
- a third implementation included thirty classes, and was designed using methodology directed toward a "black box” application framework design with a publicly available Application Programmers' Interface (“API"). Its functionality characteristics included a "pluggable” (i.e., modular, separable) transport protocol layer for protocol independence through transport adapters 206, a pluggable adapter 204 layer, registration and dynamic update of adapter classes, internal XML configuration and operation semantics, a publicly available API, encryption support, and event logging.
- API Application Programmers' Interface
- This third implementation represents a fundamental re-design over previous iterations.
- This implementation's design is a "black box” application framework.
- Transport layers and adapters can be plugged in (and out) through a publicly available API set, extending the functionality of the software to meet customized needs.
- the supported transport layer includes client transactions through traditional Simple Mail Transfer Protocol ("SMTP") services; suitable alternatives include adapters 206 for Remote Method Invocation (“RMI") socket use; HyperText Transfer Protocol (“HTTP”), File Transfer Protocol (“FTP”), or other socket-to-socket connections; and other protocols as necessary.
- Functionality is also extensible through pluggable format adapters 204. These adapters 204 are plugged in and executed in child threads enabling processing to any output format necessary.
- Output formats of the adapters 204 support Java Database Connectivity (“JDBC”) connections, output into XML or delimited files, and "screen scraping" support to extract data from screen drivers.
- JDBC Java Database Connectivity
- this implementation executes an internal registry service that monitors and updates classes by sending or "pushing" its current state to the hub server 110. If the hub server identifies a requirement for update, it sends the required class to the client 108 as a response. The required classes are received, registered, and loaded for execution.
- the registry uses client-specific, dynamically built XML documents from the hub server in its communication with the server to request and load transport and adapter classes that may be new, updated, or installation-specific.
- This implementation can also use any encryption standard from a provider that has Java-enabled their encryption algorithm classes. Encryption is used for all incoming and outgoing messages, regardless of transport protocol. Currently synchronous keys are being used, however, asynchronous public-private keys can be generated and used if needed. Event logging of current execution and exception/error state is also performed in this implementation.
- Figure 7 illustrates an architecture according to the present invention during use by a transaction community for a market in medical products.
- a client 108 at a hospital exchanges data through a disk buffer 114 with a transaction system 106.
- the invention is compatible with conventional approaches, in the sense that it can be used in combination with them.
- the hospital 102 also uses the buffer 114 with a conventional EDI gateway communication system 700 to exchange EDI data directly over conventional value added network 702 with EDI trading partners 704.
- the hospital 102 sends and receives communications 112 by email through an otherwise conventional email server 706 that is in turn serviced by a conventional router 708 and protected by a conventional firewall 118.
- the firewall 118 is prudent because the hospital 102 communicates with other transactional community members 102 in part through the Internet 710, which is generally open to the public but also less expensive and easier to use than many value added networks.
- the communications 112 travel over the Internet 710 to the hub 110, and communications 112 likewise travel over the Internet 710 between the hub 110 and other client entities, such as vendors 102 which are not direct EDI vendors but instead use the invention for electronic commerce with the hospital 102.
- the illustrated embodiment includes a procurement module 116 at the hub 110.
- the illustrated procurement module 116 includes a conventional enterprise resource planning system 712 and a conventional warehouse management system 714. Other embodiments may use other software and/or omit one or more of the illustrated systems.
- FIG. 8 further illustrates data flow within a client 108 embodiment.
- An incoming data processing flow 800 may be performed with the incoming data processor 200, and an outgoing data processing flow 802 may be performed with the outgoing data processor 202.
- the email server 706 receives email messages and places them in one or more mailboxes 804 using conventional techniques.
- the incoming data processor 200 checks 806 the client 108 mailbox 804 for messages. This may be done by background polling, as indicated, by interrupts, or by other familiar techniques. If any email messages are found in the mailbox 804, they are checked 808 to determine if they are electronic commerce communications 112 or other messages pertaining to the invention.
- transaction data 400 is extracted (as during steps 616, 632, for instance) and formatted for the client entity's internal transaction system 106 (using a format adapter 204, for instance).
- the transaction data 400 is presented to the system 106 in this case by writing 812 the data 400 to a disk 114.
- An acknowledgement or other status update is also sent 814 by email to the hub 110, informing the hub 110 of the status of the transaction at the client 108.
- the outgoing data processor 202 operates in a similar manner.
- the disk 114 is checked 816 for files that may contain transaction data 400. If it is determined 818 that data 400 has been presented to the client 108 by the client entity's internal transaction system 106, then the client 108 imports 820 the data 400, does format conversion 822 as needed to place the data 400 in an XML or other self-documenting format, embeds the data 400 in a communication 112 and sends 824 the communication 112 to the hub 110 as an email message.
- Figure 9 further illustrates steps and structure in a client 108 embodiment.
- the client 108 reads a registry and loads all installed adapters 204, 206 into memory.
- the client 108 then reads properties from disk. Properties may specify, for instance, notification addresses, directories 114 to read from, directories 114 to write to, and/or configuration information for transport types and listeners.
- the client 108 also checks to see if adequate disk space is available, and attempts to open an email connection with the email server 706.
- the client 108 if the email connection attempt fails (possibly after retries) then the client 108 notifies 904 a designated administrator or technical contact using a previously specified email address, and preferably also notifies the hub server 110 by alternate email or other means. If the email connection is established but the client 108 lacks necessary disk space or detects an error in the properties, then the client 108 notifies 906 the hub 110 of the error by email.
- the client 108 enters and repeats a main loop 908.
- the loop checks 910 for email messages, as discussed for instance in connection with Figure 8. If a communication 112 is received, the illustrated client 108 spawns 912 a separate thread 916 to process the incoming data 400.
- the main client loop also notifies 914 the hub 110 of status at suitable times. For instance, the hub 110 may be notified 914 that the communication 112 has been received, may be notified 914 that the transaction data 400 within the communication has been processed (by the thread 916), or both.
- the thread 916 receives 918 the email message as an email object.
- the thread 916 parses 920 a document object out of the email message.
- the document object contains the transaction data 400, history, routing, processing instructions, and so on.
- the thread 916 then parses the document object into a Java object. This facilitates use of a format translation engine based in Java. More generally, the thread or other process places the translation data 400 in memory for format translation by a translation engine into a format usable by the legacy system 106.
- the thread 916 writes the formatted data 400 to the buffer 114 to present it to the client entity's local transaction system 106, and sends 926 status back to the main loop 908 so the hub 110 can be notified.
- the inbound purchase order from a customer 102 to the hub 110 is a common document that will be implemented in many embodiments. Even the most rudimentary systems 106 support some form of purchase order output.
- the basic process may be modified, but the following describes a simple flow.
- the processing of transactions in a preferred embodiment is the same for all business documents and all directions (buyer toward seller or yice versa), in the sense that the processing instructions are abstracted into the hub 110 database and the hub just walks through a process definition table and executes steps accordingly, as discussed, for instance, in connection with Figure 10.
- the steps outlined below are examples; they could be different for various customers and suppliers:
- the inbound purchase order received from a customer into the service provider's system will be entered as a sales order.
- This sales order will then be converted into a purchase order to be sent out to the supplier 102.
- the outbound purchase order is a common document that will be implemented in many embodiments; even the most rudimentary system 106 supports some form of order entry.
- the basic process may be modified, but the following describes a simple flow. 1. Purchase order created in ERP system 116 (automatic or manual) 2. Supplier information verified against supplier master
- Execute adapter output (e.g., write file to disk 114)
- the inbound acknowledgement of purchase order is a common document that will be implemented in many embodiments.
- the basic process may be modified, but the following describes a simple flow.
- Extract order for external delivery (file, fax, voice, printer, EDI, etc.) 4. Notification or discovery of extracted order
- the outbound acknowledgement of purchase order from service provider 104 to a customer 102 is a common document that will be implemented in many embodiments. This acknowledgement will be sent out as soon as the supplier 102 has sent service provider 104 an acknowledgement of the receipt of the purchase order.
- the basic process may be modified, but the following describes a simple flow.
- mapping info Convert document based upon mapping info
- Execute adapter output (e.g., write file to disk 114)
- the inbound Invoice is a common document that will be implemented in many embodiments.
- the basic process may be modified, but the following describes a simple flow.
- the outbound invoice is a common document that will be implemented in many embodiments.
- the basic process may be modified, but the following describes a simple flow.
- Invoice created in ERP system 116 (automatic or manual)
- Execute adapter output (e.g., write file to disk)
- Server 110 receives PO through JMS posted message from web site
- Server 110 acquires message from queue
- Submit order bean(s) sends message into ERP through entity bean layer 6. Entity beans perform system inserts and updates with rollback
- ERP receives order and validates account and customers
- Server 110 picks up outbound PO's and discover routing information 11.
- Transaction is enveloped to include routing and mapping info
- Supplier's installed ' client 102 receives transaction and confirm receipt by response
- Client 102 writes data to disk or database 114 16.
- Supplier ERP 106 processes order and generates internal response
- Client 108 picks up order and converts to internal format
- Client 108 encrypts the response and delivers to host 110
- Host 110 decrypts the transaction and puts in inbound queue 21.
- Server picks up queue entry and process line status into ERP system
- Payment is generated by customer ERP 106
- the present invention provides methods, systems, and configured storage media for electronic commerce.
- a hub & spoke architecture such as the illustrated architecture 100
- communications 112 are exchanged using XML or another self- documenting format.
- the communications 112 include electronic commerce transaction data 400 such as purchase order data, processing instructions (which may refer to additional instructions stored at the hub), and a substantially complete history 408 of the transaction's life thus far within the architecture.
- electronic commerce transaction data 400 such as purchase order data, processing instructions (which may refer to additional instructions stored at the hub), and a substantially complete history 408 of the transaction's life thus far within the architecture.
- Embodiments of the invention also provide other advantages. For instance, by allowing processing instructions to be maintained at the hub 110 and be merely referenced in the communications 112, the invention allows the processing of documents 112 to be tailored to the individual circumstances of each document without using unnecessary bandwidth or risking inconsistency between copies of the processing code.
- pluggable adapters 204 for format conversion between XML and EDI or other proprietary client formats, and pluggable adapters 206 for transport mechanisms the invention makes the process of adding a client spoke to the hub & spoke architecture more flexible and faster than otherwise.
- the present invention does not require that each client 108 know detailed information about each other client 108 for commercial communications 112 to be routed; the hub 110 maintains such information. Indeed, in a given embodiment, the hub 110 may select vendors 102 in cases where the client 102 placing a purchase order has specified items and item counts but has not expressly specified or limited the choice of vendor.
- Articles of manufacture within the scope of the present invention include a computer- readable storage medium in combination with the specific physical configuration of a substrate of the computer-readable storage medium.
- the substrate configuration represents data and instructions which cause the computers to operate in a specific and predefined manner as described herein.
- Suitable storage devices include hard disks, CD-ROMs, and other media readable by computers.
- Each such medium tangibly embodies a program, functions, and/or instructions that are executable by the computer system to perform steps substantially as described herein to facilitate electronic commerce.
- steps discussed may be performed in various orders, except in those cases in which the results of one step are required as input to another step. Likewise, steps may be omitted unless called for in issued claims, regardless of whether they are expressly described as optional in this Detailed Description. Steps may also be repeated, or combined, or named differently.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU2001233161A AU2001233161A1 (en) | 2000-02-01 | 2001-01-31 | Hub and spoke architecture and methods for electronic commerce |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US49636100A | 2000-02-01 | 2000-02-01 | |
| US09/496,361 | 2000-02-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2001057613A2 true WO2001057613A2 (en) | 2001-08-09 |
| WO2001057613A3 WO2001057613A3 (en) | 2002-04-11 |
Family
ID=23972284
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2001/003087 Ceased WO2001057613A2 (en) | 2000-02-01 | 2001-01-31 | Hub & spoke architecture and methods for electronic commerce |
Country Status (2)
| Country | Link |
|---|---|
| AU (1) | AU2001233161A1 (en) |
| WO (1) | WO2001057613A2 (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1990761A1 (en) * | 2001-12-20 | 2008-11-12 | Accenture Global Services GmbH | Business transaction management |
| US7539701B2 (en) | 2006-11-20 | 2009-05-26 | Microsoft Corporation | Generic infrastructure for migrating data between applications |
| US7974993B2 (en) | 2006-12-04 | 2011-07-05 | Microsoft Corporation | Application loader for support of version management |
| US8255790B2 (en) | 2006-09-08 | 2012-08-28 | Microsoft Corporation | XML based form modification with import/export capability |
| WO2014147408A1 (en) * | 2013-03-20 | 2014-09-25 | Deloitte Llp | A centrally managed and accessed system and method for performing data processing on multiple independent servers and datasets |
| US9230284B2 (en) | 2013-03-20 | 2016-01-05 | Deloitte Llp | Centrally managed and accessed system and method for performing data processing on multiple independent servers and datasets |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6125391A (en) * | 1998-10-16 | 2000-09-26 | Commerce One, Inc. | Market makers using documents for commerce in trading partner networks |
| US6141653A (en) * | 1998-11-16 | 2000-10-31 | Tradeaccess Inc | System for interative, multivariate negotiations over a network |
-
2001
- 2001-01-31 WO PCT/US2001/003087 patent/WO2001057613A2/en not_active Ceased
- 2001-01-31 AU AU2001233161A patent/AU2001233161A1/en not_active Abandoned
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1990761A1 (en) * | 2001-12-20 | 2008-11-12 | Accenture Global Services GmbH | Business transaction management |
| US8046238B2 (en) | 2001-12-20 | 2011-10-25 | Accenture Global Services Limited | Business transaction management |
| US8255790B2 (en) | 2006-09-08 | 2012-08-28 | Microsoft Corporation | XML based form modification with import/export capability |
| US7539701B2 (en) | 2006-11-20 | 2009-05-26 | Microsoft Corporation | Generic infrastructure for migrating data between applications |
| US7974993B2 (en) | 2006-12-04 | 2011-07-05 | Microsoft Corporation | Application loader for support of version management |
| WO2014147408A1 (en) * | 2013-03-20 | 2014-09-25 | Deloitte Llp | A centrally managed and accessed system and method for performing data processing on multiple independent servers and datasets |
| EP2782051A3 (en) * | 2013-03-20 | 2015-02-25 | Deloitte LLP | A centrally managed and accessed system and method for performing data processing on multiple independent servers and datasets |
| US9230284B2 (en) | 2013-03-20 | 2016-01-05 | Deloitte Llp | Centrally managed and accessed system and method for performing data processing on multiple independent servers and datasets |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2001057613A3 (en) | 2002-04-11 |
| AU2001233161A1 (en) | 2001-08-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7143190B2 (en) | Method and system for remotely facilitating the integration of a plurality of dissimilar systems | |
| CA2571547C (en) | Direct connectivity system for healthcare administrative transactions | |
| US6934532B2 (en) | Communication systems, components, and methods operative with programmable wireless devices | |
| US7634726B2 (en) | Technique for automated e-business services | |
| US9124466B2 (en) | System and method for exposing distributed transaction services as web services | |
| US8429063B2 (en) | Management of business processes | |
| US20020116454A1 (en) | System and method for providing communication among legacy systems using web objects for legacy functions | |
| US20020116205A1 (en) | Distributed transaction processing system | |
| US20020107699A1 (en) | Data management system and method for integrating non-homogenous systems | |
| US9912722B2 (en) | Method and system for facilitating the integration of a plurality of dissimilar systems | |
| WO2001057613A2 (en) | Hub & spoke architecture and methods for electronic commerce | |
| US20040006571A1 (en) | Architecture and method for product catalog web service | |
| KR20250122799A (en) | Appartus for providing application services, method thereof, and computationally-implementable storage medium for storing a program for providing application services | |
| Schnieders | Application of web service technologies on a b2b communication platform by means of a pattern and UML based software development process | |
| Sachs et al. | Electronic Trading-Partner Agreement for E-Commerce | |
| Babu | ebXML: Global Standard for Electronic Business |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| 122 | Ep: pct application non-entry in european phase | ||
| NENP | Non-entry into the national phase |
Ref country code: JP |