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

CSG

Embed Size (px)

DESCRIPTION

CSG. Web Services Introduction or What Do Envelopes Have to Do with SOAP Anyway?. Mark Franklin September 2003. Outline. Definition of Web Services Why Web Services Are a Big Deal Current State of the Art Major Players. WARNING: Entering Excessive Acronym Zone!. XML. SOAP. XKMS. - PowerPoint PPT Presentation

Citation preview

Page 1: CSG

CSG

Mark Franklin

September 2003

Web Services Introduction

or What Do Envelopes Have to Do with SOAP

Anyway?

Page 2: CSG

Outline

• Definition of Web Services

• Why Web Services Are a Big Deal

• Current State of the Art

• Major Players

Page 3: CSG

WARNING:Entering Excessive Acronym Zone!

SOAP

WSDL

XML

UDDI

BPEL4WS

XKMS

SAMLWS-IWS-SecurityWS-TransactionWS-Coordination

XSLT

Page 4: CSG

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

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

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

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

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

Confusing Name?

Page 10: CSG

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

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

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

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

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

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

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

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

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

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

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

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

Some Major Tools Suppliers:

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

Page 23: CSG

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

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