SOAP Toolkit - A SOAP Implementation - Ada Information ...

clappingknaveDéveloppement de logiciels

14 déc. 2013 (il y a 7 années et 9 mois)

498 vue(s)

SOAP Toolkit
-

A SOAP
Implementation



Robert Coleridge / Chris Dengler

Dev Leads

MSDN Architecture Team

Microsoft Corporation


9
-
331

Agenda


Application development


What is …?


Solutions


SOAP toolkit for Visual Studio 6.0


Demos


How it works


The source code


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

Browsers

Internet

Historically, most
development efforts have
been directed toward
building apps using rich local
services.

Today’s Problem


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.

App Development Tomorrow

OS and

Local

Services

App Code

Application Specific

Web Services

Building Block

Web Services

Vertical and Portal

Services

Devices

Browsers

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 Services are building blocks
that enable developers to build and
aggregate applications and services
from local and remote resources for
a range of clients.

Tomorrow’s Solution: Web
Services


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


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?


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.

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.

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.

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

<Body> contains SOAP

Message Name & Data

Individual headers

<Header> encloses headers

<Envelope> encloses payload

Standard HTTP and SOAP HTTP Headers

The complete SOAP Message

Tomorrow’s Solution Today


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

IDL

Service

Description

Language

XML

Schemas

data

SOAP

COM

DCOM

CORBA

Today

Tomorrow

SOAP Toolkit Benefits


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


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?


Remote Object Proxy Engine


Proxy


Packager


WireTransfer


Misc. objects


ATL COM


Two models


Simple


“VB”
-
like simplicity


Advanced


“VC”
-
like control


ROPE


Simple Model


Proxy


Object.Method(Param1, … ParamN)


Use existing skills


Minor changes to source base


High level of abstraction

ROPE


Advanced Model


SOAPPackager


Greater degree of control


More flexible


WireTransfer


Control over headers

Demos


New service*


WIN32 COM object


Construct


Install


Consume



Existing service**


VB application


Consume


* Using local machine name

** Using live internet site

IONA: CORBA Interop


IONA’s Orbix = 60
-
70% market share


Building iPortal Suite for B2B 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?

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

Code Walkthrough


VB Demo


ROPE


Overall structure


COM impersonation


SDL Parser


ASP Listener

Caveats


Security.


Only expose what you want the world
to see.


Changing specs.


The toolkit will be rev’ed to keep up
with the moving targets!


Open architecture vs. open source.

Infrastructure Support


DevelopMentor
inc.


Digital creations.


IONA
technologies
PLC.


Jetform.


ObjectSpace inc.


Rockwell
software inc.


Rogue wave
software inc.


Scriptics corp.


Secret labs AB.


UserLand
software inc.


Zveno Pty. Ltd.


Clarity
consulting.





Call to Action


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


The SOAP Toolkit for Visual Studio
6.0 can be downloaded from the
XML Dev Center:


http://msdn.microsoft.com/xml/


Newsgroup


microsoft.public.msdn.soaptoolkit


World Wide Web Consortium


http://www.w3.org/xml/


http://www.w3.org/tr/soap