1 / 35

Exp osin g Business Value with VisualWorks Web Services

Learn how to programmatically expose business services on the internet using VisualWorks Web Services. Explore the architecture, implementation, and lessons learned from a project at Qwest Communications International.

clarissad
Download Presentation

Exp osin g Business Value with VisualWorks Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Exposing Business Value withVisualWorks Web Services • Kirk D. Blackburn • Qwest Communications, International • KDBlack@qwest.com • Stan Benda • Qwest Communications, International • SBenda@qwest.com • Robert Michaud • Qwest Communications International • RMichau@qwest.com

  2. Introduction • Nice to be back at ESUG! • ESUG 98 – Smalltalk and Java Interoperability • This year: Web Services • My Team • Project Background

  3. Structure of Presentation • Web Services Overview • Problem (Trouble Ticket Service) • Objectives (Qwest IT) • Project Approach • Architecture, Implementation and Mappings • Lessons Learned • Summary and Conclusions

  4. Why “Exposing Business Value …?”

  5. Web Services Definition • “XML-based information exchange systems that use the internet for direct application to application interaction. These systems can include programs, objects, messages, or documents. Web services provide a data-independent mechanism to programmatically expose business services on the Internet using standard XML protocols and formats. Web services can be accessed using browsers, but do not require the use of either browsers or HTML. “

  6. XML Web Services • Reusable & programmable web components • Built on Open Standards • Vendor, platform, & language independent • Platform interoperability by providing application to application connectivity • Solutions will be comprised of web services • Different than CORBA?

  7. Web Service Technologies • Set of XML-based Technologies • SOAP (simple object access protocol) • UDDI (Universal Description, Discovery and Integration) • WSDL (Web Service Description Language) • XSchema • Hype (promise to make EAI easy) • Reality (security, Xactions, workflow)

  8. UDDI and SOAP UDDI RegistryNode • USER UDDISOAP Request HTTPServer SOAPProcessor XML UDDISOAP Response UDDIRegistry Service Create, View, Update, and Deleteregistrations Implementation-neutral

  9. Inquiry API Find things find_business find_service find_binding find_tModel Get Details about things get_businessDetail get_serviceDetail get_bindingDetail get_tModelDetail Registry APIs (SOAP Messages) • Publishers API • Save things • save_business • save_service • save_binding • save_tModel • Delete things • delete_business • delete_service • delete_binding • delete_tModel • security… • get_authToken • discard_authToken

  10. VisualWorks UDDI Search ToolUDDISearchTool open

  11. HTTP Settings Tool

  12. WSDL • What is a Web Service Description Language? • It is a “simple” XML document that contains set of definitions to define a web service * • Major elements of a WSDL document are: * We will discuss “Simple” later in the presentation

  13. WSDL Example * We will compare WSDL with IDL later in the presentation

  14. IDL, WSDL and ST signatures IDL Void createTicket(inout TroubleTicket troubleTicket, out ErrorStruct); WSDL <operation name=“createTicket” parameterOrder=“target troubleTicket error”> <input message=“tns:createTicket”/> <output message=“tns:createTicketResponse”/> </operation> Smalltalk createTicket:aTicket ^(Array with:aTicket with:errorParameter)

  15. Problem Description

  16. Qwest IT Objectives • Everything will be a Web Service • “all businesses will provide Web Service access to existing Qwest applications without re-writing the existing applications. “ • “We will use tools to create web services from existing applications and services without changing the underlying implementations….” • Short-term, web services will tend to be developed with BEA’s EJB technology or similar technology. We will use the C# and Microsoft.NET in addition to the EJB technologies.

  17. Problem (early 2002) • Need to expose Ticket Service as Web Service • Trouble Ticket Service currently CORBA-based • FindTicketByID (in Int out Ticket) • CreateTicket(inout TroubleTicket troubleTicket, out ErrorStruct error);

  18. Existing Application • Trouble Ticket Application (service) • Promia 3.1 ORB • VW3.1 Implementation • Interface defines protocol for creating and finding trouble tickets • Server does Queuing and Scheduling

  19. Trouble Ticket Service Architecture TMMT Current Client Java IIOP TT Server (3.1 Promia ORB) TT worker TT worker TT worker ORB 1 ORB 2 ORB n

  20. Options for Solving Problem • Build on limited XML support in VisualWorks (Camp ST ‘20). Need to write a SOAP server. • Drawbacks include: • Time to write • Use .NET and VisualWorks Com Connect • COMConnect expertise • Hardware (never deployed on Wintel architecture) • Complicated (many pieces) • Use existing SOAP to CORBA Bridge • Shareware product • Drawback = C++ • Use VW7 Beta Bits

  21. Chose to Use VW7 Beta • All Smalltalk Solution (applause!) • We wanted VW7 experience • Partner with Cincom in VW7 Beta Test

  22. VW7 Support for Web Services • SOAP Server • WSDL Client • UDDI • XSD • XMLToObject Framework • WSDL tool (as of 8/20/02 … this week)

  23. VW7 option UDDI Repository with WSDL CurrentTMMT Client SOAP/XML Client Xml spy, .NET, etc. XML ORBs IIOP XML over HTTP Small Problem here VW7 HTTP SOAP Server With DST ORB IIOP Existing Promia ORB IIOP Interesting Work Here TT worker TT worker TT worker ORB n ORB 1 ORB 2

  24. Where does WSDL come from? • Had IDL • Did not have WSDL • Tools to create WSDL .. • Java • .NET • Was not in VW7 then, however … • So…

  25. Found Cape Connect • Cape Connect from Cape Clear Software * • Generates WSDL from IDL ! • Mainly for Java and .NET • Generates WSDL from Classes • Did an ok job of generating WSDL from our IDL • Still had to modify the WSDL (namespaces, etc) * www.capeclear.com

  26. Steps to Create a Web Service in VW7 • Create WSDL • Create Class for the Web Service • Create Classes for the XSD types • Write XML to Smalltalk Bindings • WSDLClient creates default bindings • Then modify binding documents to bind XSD types to Objects instead of defualt structs

  27. VW7 option UDDI Repository with WSDL CurrentTMMT Client SOAP/XML Client Xml spy, .NET, etc. XML ORBs IIOP XML over HTTP Small Problem here VW7 HTTP SOAP Server With DST ORB IIOP Existing Promia ORB IIOP Interesting Work Here TT worker TT worker TT worker ORB n ORB 1 ORB 2

  28. Performance • Compare • CORBA calls to • SOAP calls

  29. New WSDL Tool • Insert Screen shot here • Describe Typing and metadata

  30. Lessons Learned • WSDL is not easy to write • WSDL takes time to learn • SOAP works. Can interop with ORBs • ObjRefs don’t exist in Web Services • Interop issues with .NET • Effort was well-supported by Cincom

  31. Summary and Conclusions • VW7 provides solid support for Web Services • Support requires more coding than say, .NET • Interop issues with .NET • VW7 WS potential to leverage entire Domain • Selling Web Services still an obstacle (internally) • Web Services in ST may help overcome arguments that limited viability of ST in Web-based software architectures

  32. End of Presentation

  33. Exposing Trouble Ticket Through COM

More Related