Title: Me:
1Welcome
- Me
- Glen Daniels, Sonics standards guy
- W3C work SOAP, WSDL
- Soapbuilders, WS-, etc.
- JSRs
- Coauthor of Building Web Services with Java
from Sams - You
- Interested developers, managers
- Some familiarity with Web services
2Our Path for the Next 45 min
- Interop defined
- Web Services Overview
- History
- State of the World
- Futures
- Q A
3This Is Interoperability (in the US)
4So Is This
Adapter
5This Isnt Interoperability
Je ne comprenez-vous pas, aimez-vous un sandwich?
Ich möchte ein Buch kaufen, bitte!
?
(please excuse any translation errors I just
used BabelFish!)
6...But This Is
Do you speak English?
Yes! Can I help you?
I would like to buy a book please!
Im sorry, this is a sandwich shop!
Oh! How about a pastrami on rye, then?
7Interoperability Stack
- Transport (addressing, data flow)
- Syntax (data format)
- Data (types)
- Protocol (communication behavior)
- Semantics (meaning)
8Overview of Web Services
- We all want our software to talk
- CORBA, RMI, DCE, COM, DCOM, EDI...
- Why cant we all just get along?
- XML was gaining good uptake as common data format
- HTTP obviously works pretty well ?
- Enter SOAP!
- XML framework for an interoperable and extensible
messaging protocol over HTTP
9The Web Services Stack
- Messaging (transport)
- SOAP, Extensions for QoS, Security, etc.
- Description (metadata and tooling)
- WSDL, Policy, RDF
- Directories (discovery)
- UDDI
10Toolkits
- You often dont deal with SOAP directly
OpenEdge
Platform2
.NET
Platform1
SOAPMessage
Toolkit2
Toolkit1
11SOAPs Extensibility Model
Envelope
Header
Extension
Body
My Data
12SOAPs Extensibility Model
Envelope
Header
Decryption Info
Weather
Mandatory!
Body
Encrypted Data
13WSDL Design-Time Metadata
- I use these data types
- You send me this, and Ill send you that
- Im reachable via SOAP at http//...
- I need you to use these extensions
- My phone is....
14So Did It Work?
- Kind of
- Big players all on board!
- Lots of XML interop, HTTP connectivity
- But...
- Not all specs developed together
- Early specs unclear, proprietary
- Early implementations didnt always work together
15Paths To Interop
- Standards
- Grassroots (SOAPBuilders)
- Interop summits workshops
- WS-I
16What are Standards Anyway?
- The wonderful thing about standards...
- is that there are so many to choose from!
- --unattributed
17Web Services Standards Bodies
- IETF (protocols, HTTP, TCP, DNS)
- W3C (XML, HTML, SOAP, WSDL)
- OASIS (ebXML, WS-Security, extensions)
- WS-I (Profiles)
- others...
18Do Standards Help?
- YES, but...
- We dont always get it right the first time
- Some standards are unclear
- Some standards die on the vine (WS-Routing)
- Be careful about choosing
- Whos behind it (wide acceptance)
- IP concerns
- Technology quality
- Make sure its fully baked
19SOAPBuilders
- Yahoo group to promote testing and interop for
SOAP developers - Grassroots organization
- Several rounds of testing, both online and
face-to-face interops - Lots of work done fast. First RPC services, then
WSDL, then doc/lit... - More than 30 stacks participate (has yours?)
20Developer Get-togethers Are Great
- SOAPBuilders
- Microsoft / IBM
- WS- (Security, ReliableMessaging, etc)
- W3C
- SOAP 1.2 (2002)
- WSDL 2.0 (2004)
- Help find problems in specs as well as problems
in implementations - Find problems before the users do!
21WS-I (Web Services Interop Org)
- Private consortium ( to join)
- Profiles, not standards
- Basic Profile 1.0 out now
- Test suite w/ sample application
- Process is a bit heavy/slow
- Lots of apparent commitment
22Where Are We Now?
- Basic stuff works great - lots of interoperable
SOAP-over-HTTP engines - SOAP 1.1, WSDL 1.1, XML Schema
- Basic types mostly just work
- Strings, integers, dates, floats, etc.
- Arrays / collections
- Security via HTTPS mostly just works
- WS-I BP? Jury is still out....
23What Isnt There Yet?
- Fancy XML, data types arent solid yet
- .NET DataSet
- No interoperable Hashtable / Recordset
- ...or you can use raw XML
- Extensions arent solid yet
- Transactions, Reliability
- Anything but request-response (i.e. async) isnt
solid yet
24WS Interoperability Stack Today
- Transport (HTTP, SMTP, JMS, etc)
- Syntax (XML)
- Data (Schema, WSDL)
- Protocol (SOAP, WS- extensions)
- Semantics (WSDL extensions, Policy, RDF)
25The Stack is Coming Together
- Functional choices for high-level stuff within a
year or two - But....
- Be careful of spec silos...
26Interoperability vs. Extensibility
- If everyone did the same exact things...
- Wouldnt it all just work?
- Sure, until you need something else...
- Then you have to go rebuild everything again!
- Extensibility allows agility and new developments
in your current framework... - but at a cost. If youre using a brand new
extension you might not be interoperable with
too many other folks unless they catch up - This is a key tradeoff
27The Answer...?
- Balance interop with extensibility
- Future-proof toolkits with pluggable
architecture - This doesnt mean you have to do it all yourself,
just that your vendor can give you plugins
without a whole new infrastructure
28Lessons Learned, and Dreams Grounded
- Were not there yet
- The technology has some great potential
- A lot works now, but more later
- Balance interop and extensibility
- In the meanwhile...
29How Progress/Sonic Gets You There
- We track this stuff
- We participate in the design of this stuff
- We are committed to building this stuff
- and making it easy for you to use
- Integration is our world
- Still going to need integration to deal with
impedance mismatches
30In Summary
- Web Services are about interoperability
- Basic stuff works today
- OpenEdge 10
- ESB
- More coming down the line
31Related Courses
- The following Progress courses cover related
subject matter. Please visit www.progress.com/edu
cation for course descriptions and relevant
curriculum maps. - XML Essentials
- 4GL Development with XML
- Consuming Web Services from OpenEdge
32Questions?