This invention relates generally to procurement of services, and more particularly to improving and standardizing the integration of suppliers to the booking process.
Many business-to-business (B2B) vendors claim to be “Web Services Enabled” because they accept extended markup language (XML) messages packaged inside Simple Object Access Protocol (SOAP) messages sent over HTTP. They might even expose a Web Services Description Language (WSDL) interface to their partners. Companies that accomplish these practices have taken a step toward becoming web services shops, but have not fulfilled the potential of web services interoperability.
What is clearly needed is a language that is powerful enough to communicate business documents and versatile enough for trading partners to rapidly integrate with their own systems, so that trading partners can agree on the meaning of the messages they exchange to conduct business, not only just their method of exchange.
The present invention describes a method comprising of a services business language (SBL) providing a common interface for communication with one or more multiple providers in one or more vertical segments. In one embodiment, the vertical segments comprise one or more of package shipping, courier services, flights, hotels, rental cars, and dry cleaners. In another embodiment, the SBL documents of the SBL are defined by Universal Business Language (UBL). In one embodiment, the SBL document includes multiple namespaces that are used in documents as element types and attribute types.
SBL documents are built using business information components and data types defined by the Universal Business Language (UBL). UBL provides standard definitions for business information components, such as Party and Address, which are relevant to all types of business transactions. UBL also defines standard representations for critical data types, such as Quantity, Amount, and Measure. Namespaces 209 and 211 are the UBL Core Component Types and Common Aggregate Types. Schema 212 defines data primitives such as ValueType, MeasureType, TextType, etc. Schema 210 defines aggregate components such as PartyType and AddressType. These two schemas contain types that are the basis for all the SBL components in both the core and vertical schemas. In many cases the UBL components are aggregated together to form larger SBL components, and in other cases the UBL components are extended with additional data elements.
Namespace 206 is the SBL core namespace. Schema 208 defines core SBL components, and schema 207 defines the SBL core documents. The documents and components defined in the SBL core namespace are de-contextualized, meaning that they are still horizontal representations of the document or entity they represent, and do not contain any vertical specific information.
The SBL core components schema 208 defines large aggregate components such as Service and Quote, some intermediate-sized ones such as Recurrence, Scheduling, and BillingInformation, and small components such as Price or Reminder. These components are aggregated together to form the core documents, or are extended by the vertical schemas with elements that make them contextualized for the vertical.
The core documents define the types of service procurement documents that SBL may contain. The core documents are abstract—they are essentially “base documents” that may be extended as needed in vertical schema libraries to create documents that can be used for service procurement transactions.
The scope of the core documents covers a comprehensive set of activities performed during the services procurement process. Much as a set of common activities surround goods procurement—Order, Change Order, Get Quote, Invoice—a similar set of activities surrounds services procurement. Each core document type embodies one of the core activities, which may include the activities listed in the following table:
Each activity corresponds to a Request/Response pair of documents. These document types are declared as abstract, so they cannot be used to create an instance of a valid XML document. Like the core Service component, SBL core documents are designed for extension in vertical schemas, and the extended types used to describe instance documents.
The relationship between the SBL core components and documents is different than in other XML vocabularies such as xCBL or UBL. They both aim to be horizontal by covering how most vertical industries will represent common entities such as Item or InvoiceLine. The UBL Order defines a very heavyweight document. It's quite possible that many businesses will be able to use the UBL order as-is, without any extensions. This is one of the goals of UBL. They want their XML Order document to become the electronic equivalent to a standard paper order document small businesses might purchase from an office supply store and use without any modifications. This is a worthwhile goal.
SBL takes a more lightweight approach towards being horizontal. The core documents represent activities, include basic header information like identifiers and date stamps, and in most cases define the actors to the transaction. But the core documents omit definitions for payload elements, since the definition of the payload will depend on the vertical. The core components include general definitions for Service and Quote, but these lack the details to identify them with an actual service, such as a courier pickup or flight. It is up to the vertical schemas to bring everything together and turn an abstract Service into a Pickup, and a ReserveService document into a SchedulePickup. This approach means that the core schemas are less expressive and the vertical schemas more complex, but we contend that the XML instance documents which result from this approach are more expressive and easier to process than instances that are created using a heavyweight core.
Vertical schemas apply context to SBL core components and documents using XSD extension. Context is driven primarily by industry, so there could be contextualized schema libraries for the Package Shipment, Web Conferencing, and Travel, etc., industries. In some cases other contexts, such as geographical area or participatory nature of the service, might be applied as well.
Similarly,
The vertical schemas are designed using document engineering analysis techniques as are well-known to those skilled in the art. Activities supported by a number of provider APIs, paper documents, and electronic forms are associated with activities and core SBL document types. Then an inventory of the data elements in each document is assembled. The following table shows a sample of a spreadsheet modeling one supplier's data requirements for international shipping:
Then a harmonized model of the data is constructed by matching together elements that have different names yet are semantically the same, and separating elements with identical names but different meanings. Finally, a matrix that lists all the unique data elements of the harmonized model and indicates which supplier's APIs and documents use that element is constructed, as shown in the sample table below.
The comparative inventory shows which elements to include in the SBL.
Attachments A1 through A7 are examples of XSD files generated for the SBL core library XSD 703.
It is clear that many modifications and variations of this embodiment may be made by one skilled in the art without departing from the spirit of the novel art of this disclosure.
Whereas many alterations and modifications of the present invention will no doubt become apparent to a person of ordinary skill in the art after having read the foregoing description, it is to be understood that any particular embodiment shown and described by way of illustration is in no way intended to be considered limiting. Therefore, references to details of various embodiments are not intended to limit the scope of the claims which in them selves recite only those features regarded as essential to the invention.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5966068 | Wicks et al. | Oct 1999 | A |
| 6304850 | Keller et al. | Oct 2001 | B1 |
| 6338081 | Furusawa et al. | Jan 2002 | B1 |
| 6885998 | Arduino | Apr 2005 | B1 |
| 7127677 | Chou | Oct 2006 | B2 |
| 7401025 | Lokitz | Jul 2008 | B1 |
| 7734486 | Mortimore, Jr. et al. | Jun 2010 | B2 |
| 7739134 | Mortimore, Jr. et al. | Jun 2010 | B2 |
| 7742954 | Handel | Jun 2010 | B1 |
| 7962381 | Handel et al. | Jun 2011 | B2 |
| 20020010664 | Rabideau et al. | Jan 2002 | A1 |
| 20020016729 | Breitenbach et al. | Feb 2002 | A1 |
| 20020019786 | Gonzalez et al. | Feb 2002 | A1 |
| 20020032591 | Mahaffy et al. | Mar 2002 | A1 |
| 20020040352 | McCormick | Apr 2002 | A1 |
| 20020072937 | Domenick et al. | Jun 2002 | A1 |
| 20020087366 | Collier et al. | Jul 2002 | A1 |
| 20020152100 | Chen et al. | Oct 2002 | A1 |
| 20030023463 | Dombroski et al. | Jan 2003 | A1 |
| 20030036930 | Matos et al. | Feb 2003 | A1 |
| 20030053611 | Lee | Mar 2003 | A1 |
| 20030187710 | Baumer et al. | Oct 2003 | A1 |
| 20040106399 | Ki | Jun 2004 | A1 |
| 20040161097 | Henry | Aug 2004 | A1 |
| 20040193457 | Shogren | Sep 2004 | A1 |
| 20040249250 | McGee et al. | Dec 2004 | A1 |
| 20050033613 | Patullo et al. | Feb 2005 | A1 |
| 20050138187 | Breiter et al. | Jun 2005 | A1 |
| 20050143064 | Pines et al. | Jun 2005 | A1 |
| 20050254440 | Sorrell | Nov 2005 | A1 |
| 20060004623 | Jasti | Jan 2006 | A1 |
| 20060149655 | Leahy et al. | Jul 2006 | A1 |
| 20060235754 | Walker et al. | Oct 2006 | A1 |