csg mark franklin september 2003 web services introduction or what do envelopes have to do with soap...

24
CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Upload: conrad-dickerson

Post on 14-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

CSG

Mark Franklin

September 2003

Web Services Introduction

or What Do Envelopes Have to Do with SOAP

Anyway?

Page 2: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Outline

• Definition of Web Services

• Why Web Services Are a Big Deal

• Current State of the Art

• Major Players

Page 3: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

WARNING:Entering Excessive Acronym Zone!

SOAP

WSDL

XML

UDDI

BPEL4WS

XKMS

SAMLWS-IWS-SecurityWS-TransactionWS-Coordination

XSLT

Page 4: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Web Services Definition:

A Web service is a unit of application logic providing data and services to other applications. Applications access Web services via ubiquitous Web protocols and data formats such as HTTP, XML, and SOAP, with no need to worry about how each Web service is implemented.

-Microsoft

Page 5: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

A Different Perspective:

Web services is good object-oriented programming practice applied at the data center level and supported by established and emerging standards (mostly XML-based). It brings standards and interoperability to enterprise and Internet client-server applications.

-Mark Franklin

Page 6: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Yet Another Angle:

A Web service is a platform and implementation independent software component that can be:

• Described using a service description language

• Published to a registry of services

• Discovered through a standard mechanism

• Invoked through a declared API

• Composed with other services

- Building Web Services with Java

Page 7: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Yet Another Point of view:

Web Services is the universal protocol framework on top of which all future application protocols will run and which eventually will eliminate all existing protocols

... and which is under the control of vendors, not standards groups.

- RL “Bob” Morgan

Page 8: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

One Last Angle:

• A great way to unfetter applications from burdensome security restrictions (developers).

or

• A conspiracy to circumvent firewalls by opening port 80 to virtually any operation (security officers).

Page 9: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Confusing Name?

Page 10: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Web Services Characteristics:

• Evolutionary, not revolutionary• Builds on existing web technologies and infrastructure• Still evolving very rapidly – numerous standards

initiatives with more appearing almost monthly (W3C, OASIS, IBM, Microsoft, Sun, others…)

• Tools maturing (Apache, IBM, BEA, Sun, Microsoft, many others)

• Some highly visible Internet applications (Amazon, Google)

• Enterprise implementations at universities, corporations• Lots of testing the water• Tons of hype, including significant over-hype

Page 11: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Web Services Characteristics (cont.):

• Massive use of XML– Provides interoperability, platform independence,

upgradeability– Extremely processor intensive– Hard for most humans to read

• Eventually, XML should be invisible to most programmers – Automatic code generation using XML-based standards

(e.g. WSDL from Java code and vice-versa)

Page 12: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Web Services Characteristics (cont.):

• Facilitates automation of business processes– Standards for diverse systems to interoperate (RPC or

messages)– WSDL specifies mechanics of how to invoke a Web

service– The trickier part is automating semantics and sequence

(BPEL4WS, WS-Coordination, WS-Transaction, WS Choreography)

Page 13: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Web Services Characteristics(cont.):

• RPC (straightforward, easy to program) or message (more powerful) oriented

• Stateless (preferred) or stateful• J2EE, .net are enabling platforms• Foundation standards are in place:

– HTTP (can use other transports)– XML– SOAP 2.0– WSDL– UDDI (less mature), WS-Interoperability

Page 14: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

SOAP

• Simple Object Access Protocol

• XML definition for for Web services messages “envelopes”

• Transport is usually HTTP, but can be any transport (carrier pigeons not recommended)

Page 15: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Anatomy of a SOAP

Message

POST /Reservations HTTP/1.1Host: travelcompany.example.orgContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnnn

<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope" >

<env:Header>

<t:transaction xmlns:t="http://thirdparty.example.org/transaction" env:encodingStyle="http://example.com/encoding" env:mustUnderstand="true" > 5 </t:transaction>

</env:Header>

</env:Envelope>

<env:Body> <m:chargeReservation env:encodingStyle="http://www.w3.org/2002/06/soap-encoding" xmlns:m="http://travelcompany.example.org/"> <m:reservation xmlns:m="http://travelcompany.example.org/reservation" env:role="http://www.w3.org/2002/06/soap-envelope/role/next" env:mustUnderstand="true"> <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference> </m:reservation> <o:creditCard xmlns:o="http://mycompany.example.com/financial"> <n:name xmlns:n="http://mycompany.example.com/employees"> John Q. Public </n:name> <o:number>123456789099999</o:number> <o:expiration>2005-02</o:expiration> </o:creditCard> </m:chargeReservation></env:Body>

HTTP Transaction

SOAP Envelope

SOAP Header

SOAP Body

Header Element(could be zero or

more than one)

Page 16: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

WSDL

• Web Services Definition Language

• XML language defines Web services contact endpoints, access protocol, service interface and implementation details

• Web services equivalent of an IDL

• Enables automatic generation of language specific API for accessing a particular Web service.

Page 17: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

UDDI• Universal Description, Discovery, and Integration

• Service discovery protocol for Web services through which companies or internal Web services can find one another to conduct business.

• Publish, find, and bind information about how to use Web services.

• Public registries started, can also be used internally.

• Slow to catch on.

Page 18: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Web Services Impact:• “Lingua Franca” for application integration much as

the World Wide Web facilitates integration of information presentation

• Replaces or encapsulates proprietary solutions with interoperable interfaces

• Facilitates application integration between different organizations

• Eventually enables massive savings through automation of business processes currently handled by humans ($0.25 to process a PO versus $10)

• Flexibility and speed in business process aspect of B2B and internal applications

Page 19: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Bottom Line:• Web services will succeed or not based on their ability to

contain the human development costs needed to realize the staggering promise of widespread business process automation.

• Web services show every sign of having enough momentum and Right Stuff to enjoy huge deployment (eventually).

• Using XML everywhere incurs significant communications and processing overhead plus increased deployment of business automation inspired by web services benefits will generate huge demand for hardware, including special-purpose appliances.

Page 20: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

The State of Web Services

• Massive support from major industry players• Few real deployments

– Technology changing rapidly– Concerns about security– Missing technical pieces– Will take some time for major applications to emerge– Will take a long time to live up to the hype

• Climbing “hype hill” – likely heading for the “valley of disillusionment”?

• The obstacles require as much human engineering as technical development

Page 21: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Major Standards Players:

• W3C – most of the standards

• OASIS – UDDI, WSRP

• Industry players introducing new standards on a regular basis – led by IBM, Microsoft

Page 22: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Some Major Tools Suppliers:

• IBM (WebSphere)• BEA (WebLogic)• Microsoft (.net)• Sun (Sun One)• Apache (AXIS)• Iona• The Mind Electric• Amberpoint (management)

Page 23: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Some Early Adopters:• Amazon, Google (publicly available APIs)http://www.google.com/apis/

http://www.amazon.com/gp/browse.html/103-3565869-4508611?node=3435361

• US Military – logistics applications between branches of the service (e.g. provisioning cargo planes)

• According to Forrester, 52% of US companies > $1B have rolled out or are rolling out a Web services project

• Yankee Group says that only 12% of all businesses are currently doing Web services

Page 24: CSG Mark Franklin September 2003 Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?

Some Early Adopters (cont.):

• Texas A&M (administrative apps – COBOL encapsulated in varying degrees of web services)

http://www.xmlstarterkit.com/pdfs/CR_Uni_Texas_E.pdf• Used EntireX from Software AG• Big win is bringing COBOL applications on 3090

mainframe into the web world• Lots of effort separating presentation logic from the vast

amounts of COBOL code