- From: Assaf Arkin <arkin@intalio.com>
- Date: Thu, 13 Feb 2003 18:32:41 -0800
- To: "Burdett, David" <david.burdett@commerceone.com>, "'Duane Nickull'" <duane@xmlglobal.com>
- Cc: <www-ws-arch@w3.org>
- Message-ID: <IGEJLEPAJBPHKACOOKHNGECCDDAA.arkin@intalio.com>
Including SemanticsWhat you want to have are different semantic languages and a framework that associates all that information together. For example, XSDL would define some of the semantics of a message. It can tell me that a purchase order contains one or more line items, a billing address and a shipping address. In a different language, e.g. WSDL, I could say that a purchase order is required as the input for an operation and that the operation does not result in an immediate response. You can introduce other languages that say interesting things about that operation. For example, a cost language would introduce a cost property and a way to express the cost calculated from purchase order message. So you can say there's a property called 'cost' and determine that value of that property given a purchase order message. Another language could define an object called delivery with multiple properties, reference the purchase order message as indicating the product property, an accept response as indicating the agent promising to deliver, and a delivery notice as indicating truth of delivery property. That 'delivery' object does not exist, but if you participate in the business choreography you can draw a lot of conclusions about the delivery status by observing how its virtual properties are modified during different states of the process. On a conceptual level this is very interesting since it allows the development of even smarter applications based on what is already there. That logical delivery object can be defined in terms of existing purchase order scenarios, even if you're running a COBOL application written thirty years ago. On a practical level, I will take a few years before we have the understanding of how to define such semantics on a larger scale and actual products that operate on that semantic. So right now it doesn't solve any problem. But if you look at a combination like WSCI + WSDL + XSDL you can see that the semantic of WSCI express the context in which a WSDL operation is used and the semantic of the WSDL operation expresses what the WSDL type is used for. So we're already doing some limited semantic work on a step by step basis. And just like the logical delivery object above, the process that occurs between the services doesn't really exist, it's only inferred from how they operate together, and the operation doesn't really exist, it's only an understanding of the meaning of sending some input and receiving some output. arkin -----Original Message----- From: Burdett, David [mailto:david.burdett@commerceone.com] Sent: Thursday, February 13, 2003 12:15 PM To: 'Assaf Arkin'; Burdett, David; 'Duane Nickull' Cc: www-ws-arch@w3.org Subject: RE: Including Semantics Assaf I agree with all of your email, especially the need for descriptions at the particle level, apart from the assertion "For computer processing RDF gives you a good framework". Perhaps it does, but for the problem in hand, I don't see how it is directly usable now. How would you, for example, actually use an RDF description of a business document when desiging, building or operating a computer system that wants to generate or process XML based business documents. David -----Original Message----- From: Assaf Arkin [mailto:arkin@intalio.com] Sent: Thursday, February 13, 2003 11:00 AM To: Burdett, David; 'Duane Nickull' Cc: www-ws-arch@w3.org Subject: RE: Including Semantics I think it really boils down to how the information is going to be >used<. Most information in business documents ends up either being printed or displayed for human consumption, or mapped to some internal format to populate information in an ERP system say. In both these cases you need a very clear definition of the meaning of the data that either a human can understand as help when viewing a document or can be used by another human to do a good map between external and internal formats. I don't see how RDF would help with this and I can't imagine a software tool that could make good use of it in this context. For computer processing RDF gives you a good framework and it can also contain information for human consumption (e.g. HTML formatted text). But practically speaking, we're still at the point where people do all that work, so what we need is way to annotate the information and present some textual information to the user. XSDL, WSDL and most other recent specifications have ways of annotating definitions. Ideally you should be able to annotate any definition, not just a top-level one, e.g. a particle in the XSDL content, an operation from a port type, etc. The namespace by itself is insufficient because you can have multiple definitions in the same namespace. But often some of the semantics is captured by the namespace on its own. For example, http://example.com/trading/futures may indicate that all related definitions deal with trading in futures. It won't tell you what a specific data type means, or what a particular operation does. But when you browse a repository of type/service/process definitions, it lets you easily determine what context you are looking at. arkin I accept I may be completely missing something - can anyone clarify? David -----Original Message----- From: Assaf Arkin [mailto:arkin@intalio.com] Sent: Wednesday, February 12, 2003 9:49 PM To: Burdett, David; 'Duane Nickull' Cc: www-ws-arch@w3.org Subject: RE: Including Semantics -----Original Message----- From: www-ws-arch-request@w3.org [mailto:www-ws-arch-request@w3.org]On Behalf Of Burdett, David Sent: Wednesday, February 12, 2003 4:30 PM To: 'Duane Nickull' Cc: www-ws-arch@w3.org Subject: Including Semantics Duane asked ... >>>One missing component I would like to see is semantics. David - do you think there is a way to leverage the semantics of UBL, CCTS for the WSAG?<<< Semantics is a whole big topic on its own, but here's my take of the semantic information that you might need to define. Note I'm looking at this from a "business use" perspective: 1. Document Semantics. At the highest level a namespace identifies a document as consisting of a set of fields. Within this there are two additional levels to consider: a) Individual fields. Each field needs to be defined, e.g. what does "CustomerId" mean, e.g. is it the ID by which the Customer identifies themselves or the id which the supplier uses to identify the customer? b) Fields within a document, e.g. The Customer ID could appear can appear in multiple places in the document - how does its meaning vary depending on where it exists. 2. Context Dependent Semantics. The content of a message can also depend on the context in which it is being used, for example an Invoice in Europe is different from an Invoice in the US as it contains different fields. Similarly an Invoice used in the travel industry contains additional line item information (e.g flight segments) that other industries (e.g. the chemical industry) don't need. 3. Message Semantics. Messages >can< consist of multiple parts where you could describe each "part" as a document. You then need to, in the context of the message, define what each document mean, for example you might want to attach a supplier generated delivery note when requesting a "return materials advice" for some faulty goods. In this case the delivery note is evidence that delivery occured. This is different from its first use when the delivery note informs the buyer of what the supplier has shipped, but not yet delivered. 4. Transaction Semantics. The same message with the same structure and same semantics can be treated differently depending on where it is being sent and the context in which it is being used. For example sending an Order Message to an off-site archival service for archiving would have different meaning than sending the "identical" message to a supplier. So yes I think you could leverage the semantics of UBL etc, but that is just the start and my best >guess< is that you could use header information in a SOAP message to codify the semantics of the message ... although this sound very non-RESTafarian ;) Also ... this is a trout hole ... how does the W3C work on the Semantic Web fit in with all of this ;) Just looking at the perspective of Semantic Web, could we not use RDF to create maps of semantic information? For example, I can describe the semantics of a type using RDF (customerID) by referencing the type definition, but also the semantics of the content of a type (order/billing/address vs. order/shipping/address) if I can reference an XSD particle. And I can have both semantics, one that applies to address in isolation, and one that extends that semantics when address is used in some context. I would guess that the same is possible for transactions. For example, e.g. the address of the invoice that is sent by activity X of transaction Y. All I need is a way to reference a resource that can be part of a larger resource in the RDF description and then provide that semantic in the RDF. arkin David -----Original Message----- From: Duane Nickull [mailto:duane@xmlglobal.com] Sent: Wednesday, February 12, 2003 4:00 PM To: Burdett, David Cc: www-ws-arch@w3.org Subject: Re: Layers in the WSA (was RE: [Fwd: UN/CEFACT TMG Releases e-Bus ines s Architecture Technical Specification for Public Review]) <SNIP/>
Received on Thursday, 13 February 2003 21:34:36 UTC