Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOAP Toolkit - A SOAP Implementation Robert Coleridge / Chris Dengler Dev Leads MSDN Architecture Team Microsoft Corporation 9-331.

Similar presentations


Presentation on theme: "SOAP Toolkit - A SOAP Implementation Robert Coleridge / Chris Dengler Dev Leads MSDN Architecture Team Microsoft Corporation 9-331."— Presentation transcript:

1 SOAP Toolkit - A SOAP Implementation Robert Coleridge / Chris Dengler Dev Leads MSDN Architecture Team Microsoft Corporation 9-331

2

3 Agenda Application development Application development What is …? What is …? Solutions Solutions SOAP toolkit for Visual Studio 6.0 SOAP toolkit for Visual Studio 6.0  Demos  How it works  The source code

4 App Development Today Local Services and Data App Code Web app developers took advantage of these local services and used HTML to “project” the UI to lots of clients. Browsers Internet Historically, most development efforts have been directed toward building apps using rich local services.

5 Today’s Problem With current technology, in order to implement web services, both server and client need to understand: With current technology, in order to implement web services, both server and client need to understand:  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. Both must “speak” the same platform, e.g. COM to COM, EJB to EJB, ORB to ORB, HTML 3.2, etc.

6 App Development Tomorrow OS and Local Services App Code Application Specific Web Services Building Block Web Services Vertical and Portal Services DevicesBrowsers Internet 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) 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) 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.

7 Tomorrow’s Solution: Web Services A common standard that can be used to describe data that is platform and language neutral – XML. 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 contract language for describing web services – SDL. A common wire format protocol that is platform and language neutral – SOAP. A common wire format protocol that is platform and language neutral – SOAP.

8 Definitions An object is a self-contained entity that can consist of data and / or procedures to manipulate that data. 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 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. A service contract is the means of describing the interactions available between a client and a server.

9 What Is XML? The Extensible Markup Language (XML) is the universal format for structured documents and data on the Web. (from W3C) The Extensible Markup Language (XML) is the universal format for structured documents and data on the Web. (from W3C)  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, platform- independent and well-supported.

10 What Is SDL? 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. 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.

11 What is SOAP? SOAP is a lightweight protocol for the exchange of information or messages in a decentralized, distributed environment. It is an XML based protocol. SOAP is a lightweight protocol for the exchange of information or messages in a decentralized, distributed environment. It is an XML based protocol.

12 What is a SOAP Message? SOAP Message SOAP Envelope SOAP Header SOAP Body Message Name & Data Headers HTTP Headers XML Encoded SOAP Message Name & Data contains SOAP contains SOAP Message Name & Data Individual headers encloses headers encloses headers encloses payload encloses payload Standard HTTP and SOAP HTTP Headers The complete SOAP Message

13 Tomorrow’s Solution Today MSDN’s reference implementation of SOAP: the SOAP Toolkit for Visual Studio 6.0. 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. The toolkit brings together all three in order to make it work.  Standard for data – XML  Contract language – SDL  Wire format protocol – SOAP

14 Bridging the Gap IDL Service Description Language XML Schemas dataSOAP COM DCOM CORBA TodayTomorrow

15 SOAP Toolkit Benefits No need to master XML, SOAP. No need to master XML, SOAP. No need to learn wire protocol. No need to learn wire protocol. Reduces firewall issues. Reduces firewall issues. Ease of implementation. Ease of implementation. Ease of deployment. Ease of deployment. Use existing skills. Use existing skills. Use existing tools. Use existing tools.

16 SOAP Toolkit Contents Server side reference listeners Server side reference listeners Remote object proxy engine (ROPE) Remote object proxy engine (ROPE) SDL and source code generator (wizard) SDL and source code generator (wizard) Documentation Documentation Samples Samples Open architecture Open architecture  Read that as… Full source code

17 What Is ROPE? Remote Object Proxy Engine Remote Object Proxy Engine  Proxy  Packager  WireTransfer  Misc. objects ATL COM ATL COM Two models Two models  Simple – “VB”-like simplicity  Advanced – “VC”-like control

18 ROPE – Simple Model Proxy Proxy  Object.Method(Param1, … ParamN)  Use existing skills  Minor changes to source base  High level of abstraction

19 ROPE – Advanced Model SOAPPackager SOAPPackager  Greater degree of control  More flexible WireTransfer WireTransfer  Control over headers

20 Demos New service* New service*  WIN32 COM object  Construct  Install  Consume Existing service** Existing service**  VB application  Consume * Using local machine name ** Using live internet site

21 IONA: CORBA Interop IONA’s Orbix = 60-70% market share IONA’s Orbix = 60-70% market share Building iPortal Suite for B2B portals Building iPortal Suite for B2B portals Demo: Orbix 2000 for Java server Demo: Orbix 2000 for Java server Same VB client, same SOAP message Same VB client, same SOAP message New SOAP bridge to CORBA New SOAP bridge to CORBA Server objects run in Orbix 2000 for Java Server objects run in Orbix 2000 for Java Further information/demo download: Further information/demo download:

22 What Just Happened? ROPE (1) Web Service SDL (2) (3) Web Service SOAP (4) DATA (5) (6) (7) Web Page HTML (5) 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. 1 – Request SDL ROPE SOAP Web Service SDL (5) Application Or browser

23 Code Walkthrough VB Demo VB Demo ROPE ROPE  Overall structure  COM impersonation  SDL Parser ASP Listener ASP Listener

24 Caveats Security. Security.  Only expose what you want the world to see. Changing specs. Changing specs.  The toolkit will be rev’ed to keep up with the moving targets! Open architecture vs. open source. Open architecture vs. open source.

25 Infrastructure Support DevelopMentor inc. DevelopMentor inc. Digital creations. Digital creations. IONA technologies PLC. IONA technologies PLC. Jetform. Jetform. ObjectSpace inc. ObjectSpace inc. Rockwell software inc. Rockwell software inc. Rogue wave software inc. Rogue wave software inc. Scriptics corp. Scriptics corp. Secret labs AB. Secret labs AB. UserLand software inc. UserLand software inc. Zveno Pty. Ltd. Zveno Pty. Ltd. Clarity consulting. Clarity consulting. …

26 Call to Action Web services are the next generation of Web application Web services are the next generation of Web application The SOAP Toolkit makes it easy to expose and consume them The SOAP Toolkit makes it easy to expose and consume them Provide a service Provide a service Review SOAP specification Review SOAP specification Join the newsgroup at microsoft.public.msdn.soaptoolkit Join the newsgroup at microsoft.public.msdn.soaptoolkit Implement with SOAP Toolkit Implement with SOAP Toolkit

27 Questions?

28 Resources The SOAP Toolkit for Visual Studio 6.0 can be downloaded from the XML Dev Center: The SOAP Toolkit for Visual Studio 6.0 can be downloaded from the XML Dev Center:  Newsgroup Newsgroup  microsoft.public.msdn.soaptoolkit World Wide Web Consortium World Wide Web Consortium  

29


Download ppt "SOAP Toolkit - A SOAP Implementation Robert Coleridge / Chris Dengler Dev Leads MSDN Architecture Team Microsoft Corporation 9-331."

Similar presentations


Ads by Google