Post on 30-Dec-2015
1 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Welcome
Me:– Glen Daniels, Sonic’s “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
2 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Our Path for the Next 45 min
Interop defined
Web Services Overview
History
State of the World
Futures
Q & A
3 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
This Is Interoperability (in the US):
4 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
So Is This:
Adapter
5 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
This Isn’t Interoperability
Ich möchte ein Buch kaufen,
bitte!
Je ne comprenez-vous pas, aimez-
vous un sandwich?
(please excuse any translation errors – I just used BabelFish!)
6 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
...But This Is
Do you speak English?
Yes! Can I help you?
I would like to buy a book please!
I’m sorry, this is a sandwich
shop!
Oh! How about a pastrami on rye, then?
7 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Interoperability Stack
Transport (addressing, data flow) Syntax (data format) Data (types) Protocol (communication behavior) Semantics (meaning)
8 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Overview of Web Services
We all want our software to talk CORBA, RMI, DCE, COM, DCOM, EDI...
– “Why can’t 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
9 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
The Web Services Stack
Messaging (transport)– SOAP, Extensions for QoS, Security, etc.
Description (metadata and tooling)– WSDL, Policy, RDF
Directories (discovery)– UDDI
10 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Toolkits
You often don’t deal with SOAP directly
SOAPMessage
Platform1 Platform
2
Toolkit1 Toolkit2
.NET OpenEdge™
11 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
SOAP’s Extensibility Model
Envelope
Header
Body
My Data
Extension
12 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
SOAP’s Extensibility Model
Envelope
Header
Body
Encrypted Data
Decryption Info
WeatherMandatory!
13 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
WSDL = Design-Time Metadata
“I use these data types” “You send me this, and I’ll send you that” “I’m reachable via SOAP at http://...” “I need you to use these extensions” “My phone # is....”
14 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
So 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 didn’t always work together
15 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Paths To Interop
Standards Grassroots (SOAPBuilders) Interop summits + workshops WS-I
16 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
What are “Standards” Anyway?
“The wonderful thing about standards...is that there are so many to choose from!”
--unattributed
17 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Web Services Standards Bodies
IETF (protocols, HTTP, TCP, DNS) W3C (XML, HTML, SOAP, WSDL) OASIS (ebXML, WS-Security, extensions) WS-I (Profiles) others...
18 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Do Standards Help?
YES, but...– We don’t always get it right the first time
– Some standards are unclear
– Some standards “die on the vine” (WS-Routing) Be careful about choosing
– Who’s behind it (wide acceptance)
– IP concerns
– Technology quality
– Make sure it’s “fully baked”
19 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
SOAPBuilders
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?)
20 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Developer 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!
21 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
WS-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
22 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Where 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....
23 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
What Isn’t There Yet?
Fancy XML, data types aren’t solid yet– .NET DataSet
– No interoperable Hashtable / Recordset
– ...or you can use raw XML Extensions aren’t solid yet
– Transactions, Reliability Anything but request-response (i.e. async)
isn’t solid yet
24 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
WS Interoperability Stack Today
Transport (HTTP, SMTP, JMS, etc) Syntax (XML) Data (Schema, WSDL) Protocol (SOAP, WS-* extensions) Semantics (WSDL extensions, Policy,
RDF)
25 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
The Stack is Coming Together
Functional choices for high-level stuff within a year or two
But....– Be careful of “spec silos”...
26 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Interoperability vs. Extensibility
If everyone did the same exact things...– Wouldn’t 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 you’re using a brand new
extension – you might not be interoperable with too many other folks unless they catch up
This is a key tradeoff
27 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
The Answer...?
Balance interop with extensibility Future-proof toolkits with “pluggable”
architecture– This doesn’t mean you have to do it all
yourself, just that your vendor can give you plugins without a whole new infrastructure
28 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Lessons Learned, and Dreams Grounded
We’re not there yet The technology has some great potential A lot works now, but more later Balance interop and extensibility In the meanwhile...
29 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
How 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”
30 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
In Summary
Web Services are about interoperability
Basic stuff works today– OpenEdge 10
– ESB More coming down
the line
31 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Related Courses
The following Progress courses cover related subject matter. Please visit www.progress.com/education for course descriptions and relevant curriculum maps.
– XML Essentials– 4GL Development with XML– Consuming Web Services from OpenEdge
32 G2300-LV Web Services Interoperability© 2004 Progress Software Corporation
Questions?