SOAP Toolkit A SOAP Implementation Robert Coleridge Chris
SOAP Toolkit - A SOAP Implementation Robert Coleridge / Chris Dengler Dev Leads MSDN Architecture Team Microsoft Corporation 9 -331
Agenda l l Application development What is …? Solutions SOAP toolkit for Visual Studio 6. 0 Ø Ø Ø Demos How it works The source code
App Development Today App Code Local Services and Data Historically, most development efforts have been directed toward building apps using rich local services. Browsers Internet Browsers Web app developers took advantage of these local services and used HTML to “project” the UI to lots of clients.
Today’s Problem l With current technology, in order to implement web services, both server and client need to understand: Ø Ø l Implementation details Service deployment Security types and trusts Etc. Both must “speak” the same platform, e. g. COM to COM, EJB to EJB, ORB to ORB, HTML 3. 2, etc.
App Development Tomorrow App Code OS and Local Services Vertical and Portal Services Internet Web Services are building blocks that enable developers to build and aggregate applications and services from local and remote resources for a range of clients. Web Service Communications 1. Message-based (robust and scalable) 2. Asynchronous communications model 3. XML (easy to specify, modify, & extend) 4. Web protocols (universal access) Application Specific Web Services Building Block Web Services Browsers Devices
Tomorrow’s Solution: Web Services l l l A common standard that can be used to describe data that is platform and language neutral – XML. A common contract language for describing web services – SDL. A common wire format protocol that is platform and language neutral – SOAP.
Definitions l l l An object is a self-contained entity that can consist of data and / or procedures to manipulate that data. A message is a complete unit of information that is transmitted from a source to a destination. A service contract is the means of describing the interactions available between a client and a server.
What Is XML? l The Extensible Markup Language (XML) is the universal format for structured documents and data on the Web. (from W 3 C) Ø Ø XML is a method for putting structured data in a text file. XML looks a bit like HTML but isn't HTML. … XML is license-free, platformindependent and well-supported.
What Is SDL? l The Service Description Language (SDL) provides an XML-based grammar for describing the capabilities of Web Services. SDL is designed to be extensible, and consequently places few requirements on what must be in a service description document.
What is SOAP? l SOAP is a lightweight protocol for the exchange of information or messages in a decentralized, distributed environment. It is an XML based protocol.
What is a SOAP Message? SOAP Message The complete SOAP Message HTTP Headers Standard HTTP and SOAP HTTP Headers SOAP Envelope <Envelope> encloses payload SOAP Headers SOAP Body Message Name & Data <Header> encloses headers Individual headers <Body> contains SOAP Message Name & Data XML Encoded SOAP Message Name & Data
Tomorrow’s Solution Today l l MSDN’s reference implementation of SOAP: the SOAP Toolkit for Visual Studio 6. 0. The toolkit brings together all three in order to make it work. Ø Ø Ø Standard for data – XML Contract language – SDL Wire format protocol – SOAP
Bridging the Gap Today data IDL Tomorrow COM DCOM CORBA XML Schemas SOAP Service Description Language
SOAP Toolkit Benefits l l l l No need to master XML, SOAP. No need to learn wire protocol. Reduces firewall issues. Ease of implementation. Ease of deployment. Use existing skills. Use existing tools.
SOAP Toolkit Contents l l l Server side reference listeners Remote object proxy engine (ROPE) SDL and source code generator (wizard) Documentation Samples Open architecture Ø Read that as…Full source code
What Is ROPE? l Remote Object Proxy Engine Ø Ø l l Proxy Packager Wire. Transfer Misc. objects ATL COM Two models Ø Ø Simple – “VB”-like simplicity Advanced – “VC”-like control
ROPE – Simple Model l Proxy Ø Ø Object. Method(Param 1, … Param. N) Use existing skills Minor changes to source base High level of abstraction
ROPE – Advanced Model l SOAPPackager Ø Ø l Greater degree of control More flexible Wire. Transfer Ø Control over headers
Demos l New service* Ø WIN 32 COM object § § § l Construct Install Consume Existing service** Ø VB application § Consume * Using local machine name ** Using live internet site
IONA: CORBA Interop l l l l l IONA’s Orbix = 60 -70% market share Building i. Portal Suite for B 2 B portals Demo: Orbix 2000 for Java server Same VB client, same SOAP message New SOAP bridge to CORBA Server objects run in Orbix 2000 for Java Further information/demo download: www. iona. com/soap Email soap_info@iona. com
What Just Happened? Application Or browser (3) (5) SOAP ROPE (7) (1) (4) ROPE SOAP Web Service HTML Web Service SDL (5) Web Page (6) (2) SDL Web Service (5) DATA 1 – Request SDL 2 – Receive and parse SDL 3 – Client invokes method. 4 – SOAP request sent. 5 – WS invokes business logic. 6 – SOAP response received. 7 – Client receives data.
Code Walkthrough l l VB Demo ROPE Ø Ø Ø l Overall structure COM impersonation SDL Parser ASP Listener
Caveats l Security. Ø l Changing specs. Ø l Only expose what you want the world to see. The toolkit will be rev’ed to keep up with the moving targets! Open architecture vs. open source.
Infrastructure Support l l l Develop. Mentor inc. Digital creations. IONA technologies PLC. Jetform. Object. Space inc. Rockwell software inc. l l l l Rogue wave software inc. Scriptics corp. Secret labs AB. User. Land software inc. Zveno Pty. Ltd. Clarity consulting. …
Call to Action l l l Web services are the next generation of Web application The SOAP Toolkit makes it easy to expose and consume them Provide a service Review SOAP specification Join the newsgroup at microsoft. public. msdn. soaptoolkit Implement with SOAP Toolkit
Questions?
Resources l The SOAP Toolkit for Visual Studio 6. 0 can be downloaded from the XML Dev Center: Ø l Newsgroup Ø l http: //msdn. microsoft. com/xml/ microsoft. public. msdn. soaptoolkit World Wide Web Consortium Ø Ø http: //www. w 3. org/xml/ http: //www. w 3. org/tr/soap
- Slides: 29