[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: [uddi-spec] WSDL best practice
Hi Anne, This is one of the items which was receiving substantial revision somewhat along the lines of what you describe just before the end of uddi.org. The author plans to resubmit it shortly for consideration by the group. At the first TC meeting last week, we started reviewing a process document for handling Best Practice submissions which we need to hammer out quickly and get agreed upon so we can make progress with new and existing Best Practices. Thanks, Tom Bellwood Anne Thomas Manes <anne@manes.net> on 09/19/2002 10:38:31 AM To: Uddi-Spec <uddi-spec@lists.oasis-open.org> cc: Subject: [uddi-spec] WSDL best practice I'm not sure if we're ready to get into issues yet, but I'd like to put this one on the table. I have some misgivings about the current WSDL best practices document. I've outlined the issue in the email below. Some recommendations: - We create a set of canonical tModels to represent various types of bindings - We update the best practices document to state that the <binding> information should be separated from the abstract interface description. We also define best practices for using the binding type tModels. Anne -----Original Message----- From: Anne Thomas Manes [mailto:anne@manes.net] Sent: Thursday, September 19, 2002 11:19 AM To: uddi-technical@yahoogroups.com Subject: RE: [uddi-technical] T-model and wsdl Francesco, Here is the official UDDI best practices document that explains how to use WSDL with UDDI: http://www.uddi.org/pubs/wsdlbestpractices-V1.07-Open-20020521.pdf This best practice describes how to divide your WSDL document into two sections: one that describes the abstract interface of your service (aka, the service type -- the tModel represents the service type) and one that describes the service implementation (the businessService and the bindingTemplate represent your service implementation). According to this best practice document, the abstract interface WSDL description contains the <types>, <message>, <portType>, and <binding> elements, and the service implementation WSDL description includes or imports the abstract WSDL description and adds the <service> element. I have some misgivings about this approach, though, because the <binding> information shouldn't really be part of the abstract service type. It works fine as long as you are the only one offering an implementation of the service. It doesn't work nearly as well if the service is offered by many different companies. The <binding> element contains information (such as SOAPAction) that is specific to a particular implementation. Also, if you offer multiple protocol bindings for your service (e.g., HTTP and SMTP), you would need to define multiple tModels to distinguish these bindings. There really should be one tModel that describes the abstract service, and the binding information should be associated with the service implementation's bindingTemplate. (And doesn't it make more sense to publish binding information in the bindingTemplate?) Systinet has developed an alternate best practice, which recommends dividing the WSDL document a little differently. The Systinet approach views a WSDL document as consisting of three parts: the WHAT part, the HOW part, and the WHERE part. The WHAT part describes the abstract interface. It contains the <types>, <message>, and <portType> elements. The HOW part descibes a binding. It includes or imports the WHAT part and adds the <binding> element. The WHERE part describes a specific service implementation. It includes or imports the HOW part and adds the <service> element. According to the Systinet approach, the tModel should point to the WHAT part, and the bindingTemplate should point to the HOW part (or perhaps to the WHERE part, which includes the HOW part -- but the "where" information (the Access Point) is already specified in the bindingTemplate accessPoint element, so the "where" information doesn't need to also be included in the WSDL unless you want to put it there). In any case, the WHERE part should always be co-located with your service URL -- for example, http://my.example.com/serviceurl?wsdl. Systinet also recommends that you create a set of tModels that represent the various types of bindings, such as SOAP or XML-RPC, etc. If a service supports a SOAP binding, then it should include a reference to the SOAP tModel in its bindingTemplate. (This convention makes it very easy to identify services that support SOAP.) You might want to extend this approach and create more fine-tuned binding type tModels, such as SOAP over HTTP and SOAP over JMS or SOAP RPC/Encoded-style and SOAP Document/Literal-style. Since you're building a private registry, you can define your own model and conventions to suit your requirements. Systinet provides a set of utilities that automate the UDDI registration process. (They support both the UDDI.org best practice method and the Systinet best practice method.) These utilities are included with the WASP Server for Java product (see http://www.systinet.com/index.php?nav=/products/wasp_jserver/overview -- it's free for development purposes). I believe that you can use these utilities to register services developed using other tools, too. (They generate the UDDI registration from the WSDL document.) You might find the Systinet WASP documentation helpful. http://www.systinet.com/doc/wasp_jserver/utilityWebServices/wsDiscovery.html#utilityWebServices.wsDiscovery.details.methods It goes into great detail about the mappings between WSDL and UDDI using both the UDDI best practice approach and the Systinet approach. Best regards, Anne -----Original Message----- From: bernardini@dis.uniroma1.it [mailto:bernardini@dis.uniroma1.it] Sent: Thursday, September 19, 2002 6:42 AM To: uddi-technical Subject: [uddi-technical] T-model and wsdl Hi all (again), I am working with IBM uddi private registry, and I want to publish my wservices including wsdl documents I need to explain them to clients (my ws are invoked by SOAP server using wsdl documents); do you know how uddi allows me to register them? I have to consider a wsdl document as a T-model? or as a bindingTemplate? Thanks francesco To unsubscribe from this group, send an email to: uddi-technical-unsubscribe@egroups.com Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. Yahoo! Groups Sponsor ADVERTISEMENT [IMAGE] [IMAGE] To unsubscribe from this group, send an email to: uddi-technical-unsubscribe@egroups.com Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC