Web Services & SOA Get On The Right Course Steve Vinoski Chief Engineer, Product Innovation IONA Technologies, Waltham, MA USA
Web Services & SOA Get On The Right Course
Steve Vinoski
Chief Engineer, Product Innovation
IONA Technologies, Waltham, MA USA
Presented By
Steve Vinoski Sean Flavin
Real-world Enterprise Computing
Source: Gartner
Service-Oriented Architecture
• SOA is a blueprint that governs creating, deploying, executing, and managing reusable business services– Services are the fundamental unit of the architecture– Services have well-defined interfaces, have encapsulated
implementations, and can be accessed by users, applications, and services in a consistent manner no matter where they reside or how they were developed
– A SOA defines guiding principles, artifacts, people/roles, processes, tools, etc.
– A SOA enables the modeling of business problems in terms of services with reusable interfaces
SOA Infrastructure
• A SOA also defines the software infrastructure that allows different applications to interact– Allows IT systems to implement business processes,
exchange data and execute transactions regardless of the technical platforms used by the underlying applications and IT systems
• Good SOA infrastructure does not require replacement of existing technologies– Should be able to unite disparate systems and hide
their differences
The Goal: Business Services
Service Consumer Service Provider
Serv
ice S
kele
ton
Service PlatformS
erv
ice P
roxy
Service Contract
Service Contracts
Service Registry/Lookup
Service Proxies/Stubs
Service-LevelData Model
Service-LevelSecurity
Service-Level Management
Service-LevelQoS
Service-LevelComm Model
Multi-language bindings
Realizing SOA with Web Services
• Web Services are an economical way to build SOA– Cost-centric – largest IT cost is labor
• Simple technology, short learning curve• Standards minimize the risk of vendor lock-in• Web services are inexpensive, no huge initial investment
– Integration-centric• Instead of just doing yet another point-to-point integration between
two applications, you can build a set of services that can be used by other applications in your enterprise
– Business-driven• Web services can enable business-to-business (B2B) and business-
to-consumer (B2C) trading and cooperation
– Reuse-centric• Web services can easily wrap and thus enable reuse of existing
computing services and applications
Web Services compared to the Web
• Web Services are not the same as Web pages or Web applications– No browsers, web servers, HTML, CGI, ASP pages,
GUIs, etc.
• Rather – exchange of XML documents between “co-operating” programs– Web Services technologies intended for program-to-
program communications and interaction– Not human-to-web page communications
Web Services Technologies Overview
• XML Technologies– “Extensible Markup Language”– Base XML for documents– XML Schema for describing XML documents
• SOAP– Formerly known as the “Simple Object Access Protocol”– How to format XML documents for transmission between applications
• WSDL– “Web Services Description Language”– Defines all details about a service
• UDDI– “Universal Definition, Discovery and Integration”– One way to advertise and discover services
XML documentswithin
SOAP messages
defined by
WSDL
discovered via
UDDI
Participants in a Web Services Environment
How will all of this work? A Web Services Infrastructure
WS ClientWS Server
XML document
XML document
Web Service
How will all of this work? A Web Services Infrastructure
WS ClientWS Server
XML document
XML document
Web Service
SOAP Support
SOAP Support
SOAP message
SOAP message
How will all of this work? A Web Services Infrastructure
WS ClientWS Server
XML document
XML document
Web Service
SOAP Support
SOAP Support
SOAP message
SOAP message
HTTP Support over network
Web Service Technologies Relationships Run time vs. Design Time
E.g.,HTTP
Client WebService
SOAPRequest
SOAPResponse
XML
Run
time
exec
utio
n
WSDL Specifies …
Operations, Structure and
Typing of Messages
EncodingAnd Transport of
Messages
PhysicalEndpoint
ServiceCommunicationsRequirements:
Des
ign
and
Dep
loy
time
XML Schema
What is the Web Service Server Doing?
• The typical server pattern …
– Wait on arriving XML documents contained within a SOAP envelope
– Extract and analyze the document– Interact with other software components to complete
the processing of the document– Optionally return another XML document in response
WebService
SOAPRequest
SOAPResponse
server
Database
MQ
CORBA
From just using a Web Service to having a SOA
Application
Monolithic applications
Application
From just using a Web Service to having a SOA
Intermediate stage: Individual services broken out
Application
Application
service
service
Application
Monolithic applications
Application
From just using a Web Service to having a SOA
Intermediate stage: Individual services broken out
Application
Application
service
service
Application
Application
service
Service-oriented architecture
service
service
service
service
Application
Monolithic applications
Application
Benefits of service-oriented design (1)
• More flexibility (“business agility”)– Assumption: business process logic and business rules are no
longer buried inside applications– Result:
• Since they are now explicit, processes can be changed easier• Existing services can be used in different contexts• Shorter time-to market for changed processes
• Reduced cost of operation through consolidation– Assumption: Redundant functionality is eliminated– Result:
• Fewer servers • Fewer licenses • Fewer assets to manage • Lower maintenance cost
Benefits of service-oriented design (2)• Higher quality
– Eliminating redundancy will reduce inconsistent data and inconsistent behavior
– More transparency– Improved system architecture – easier to understand
• Reduced risk, cost and complexity for development– Clean architecture reduced cost and risk– Increased developer productivity through reuse
• Projects can leverage existing services
– “Black box” reuse instead of copy&paste reuse
• Lessen the dependencies on vendors– Service implementations can be replaced as long as interfaces
stay the same– Services can be relocated from one platform to another– Services can even be outsourced to an external provider
Benefits of service-oriented design (3)
• Good service design (partitioning) will outlive your middleware or implementation technology– All you have to do is to put a wrapper around it, if required– Many mainframe systems today provide many useful services that
should be made available to applications elsewhere in the enterprise
• Commoditizing more and more parts of the IT infrastructure– Off-the-shelf infrastructure components are moving up the layers
and coming closer to the application– Due to existing industry standards and available products,
developers stop building this stuff themselves: • 1990: DBMS, TP Monitors• 1992: Networking stacks• 1995: CORBA, RPC Middleware, Reliable Messaging• 1998: Naming Service, Publish and Subscribe, Event Notification• 2000: Various J2EE Services
Web Services and SOACurriculum At A Glance
Course Title Days
Web Services and SOA Foundation Course for IT Managers, Architects and Developers
1
Web Services and SOA for IT Managers .5
Web Services and SOA for Architects 1
Web Services and SOA for Developers 2.5
Web Services and SOA Bootcamp 4
Web Services and SOAFoundation Course
Topic Area Intro Standard Advanced
Why Web Services?
Web Services Technologies
Web Services Tools and Demos
SOA and Web Services
Web Services Design Aspects
Advanced WS Topics/Futures
Summary/References/Useful Links
Demos
Hands-On Exercise System
Web Services and SOAfor Managers
Topic Area Intro Standard Advanced
Why Web Services?
Web Services Technologies
Web Services Tools and Demos
SOA and Web Services
Web Services Design Aspects
Advanced WS Topics/Futures
Summary/References/Useful Links
Demos
Hands-On Exercise System
Web Services and SOAFor Architects
Topic Area Intro Standard Advanced
Why Web Services?
Web Services Technologies
Web Services Tools and Demos
SOA and Web Services
Web Services Design Aspects
Advanced WS Topics/Futures
Summary/References/Useful Links
Demos
Hands-On Exercise System
Web Services and SOAFor Developers
Topic Area Intro Standard Advanced
Why Web Services? Web Services Technologies Web Services Tools and Demos SOA and Web Services Web Services Design Aspects Advanced WS Topics/Futures Summary/References/Useful Links Demos Hands-On Exercise System .NET or
J2EE
Web Services and SOABootcamp
Topic Area Intro Standard Advanced
Why Web Services? Web Services Technologies Web Services Tools and Demos SOA and Web Services Web Services Design Aspects Advanced WS Topics/Futures Summary/References/Useful Links Demos Hands-On Exercise System .NET &
J2EE
Common Training ScenariosScenario Recommendation
“I need to introduce an audience of varying technical abilities to Web services.”
•Web Services and SOA Foundation Course
•Or, run a series of audience specific classes
“I need to train Managers in Web services.”
•Web Services and SOA for Managers
•Or, Foundation Course if time allows
“I need to train Architects and/or Business Analysts in Web services.”
•Web Services and SOA for Architects
•If they want to work with the technology, could take one of the Developer courses
“I need to train Developers in Web services.”
•Web Services and SOA for Developers
•Web Services and SOA Bootcamp
Summary
• The Web Services and SOA Bootcamp is being held from our Waltham, MA office from September 14-17, 2004.
• Courses can also be delivered on-site at your location.
• Complete course outlines are available at http://www.iona.com/training
• If you need assistance, please call Amy Neveu at 781-902-8221 or send e-mail to [email protected].
• Thanks for joining us today!
Q&A