Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf ·...
Transcript of Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf ·...
![Page 1: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/1.jpg)
1
Web Services Overview
![Page 2: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/2.jpg)
2
Agenda ● Evolution of network computing● What is Web Services? ● Why Web Services?● Where is Web Services?● Web Services Architecture● Web Services Standards● Java™ APIs for Web Services● J2EE as platform of choice for Web Services● Web Services Tools● Roadmap and Summary
![Page 3: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/3.jpg)
3
Evolution of Network Computing
![Page 4: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/4.jpg)
Things - 1014
Computers 108
Embedded Computers
1011
Desktops
TransfersTransfers TransactionsTransactions ContentContent Telemetry Telemetry ControlControlClients
Functions
Organization
Protocols
Waves of Network Computing
IP v6IP v4 IP Layer
SwitchesSwitchesPackagesPackages
ThermostatsThermostats
ClothesClothesPhonesPhones
TVsTVsCarsCars
GamesGames
![Page 5: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/5.jpg)
Things - 1014
Computers 108
Embedded Computers
1011
Desktops
Client/Server
Web ApplicationsWeb Applications
Web Web ServicesServices
FractalFractal
PolyarchicalPolyarchical
N-tier
FTPTelnet
HTTPXRPC/XDR
SMTP
Clients
Functions
Organization
Protocols
SOAPSOAPRMI/IIOPRMI/IIOP
JiniJiniIdentityIdentity
UDDIUDDI
LDAPLDAP
JXTAJXTA
Waves of Network Computing
IP v6IP v4 IP Layer
PhonePhoness
TVsTVsCarsCars
GamesGames
SwitchesSwitchesPackagesPackages
ThermostatsThermostats
ClothesClothes
TransfersTransfers TransactionsTransactions ContentContent TelemetryTelemetry Control Control
![Page 6: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/6.jpg)
The New Software
Software-as-a-ServiceShrink Wrap
LocaterLocater
PaymentPayment
AuthenticationAuthentication
NewNewServiceService User’sUser’s
DeviceDevice
X10X1066
CalendarCalendar
DeveloperDeveloper
X10X1066
X1X1
![Page 7: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/7.jpg)
7
History of History of Distributed ComputingDistributed Computing
![Page 8: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/8.jpg)
Platform EvolutionCatchCatch
PhrasePhrase
The NetworkThe NetworkIs the Is the
ComputerComputer ObjectsObjectsLegacy to Legacy to the Webthe Web
The Computer The Computer Is theIs the
NetworkNetwork
Network of Network of Embedded Embedded
ThingsThingsNetworkNetworkof Thingsof Things
ScaleScale
When/PeakWhen/Peak
LeafLeafProtocol(s)Protocol(s)
Directory(s)Directory(s)
SessionSession
100s100s 1,000s1,000s 1,000,000s1,000,000s 10,000,000s10,000,000s 100,000,000s100,000,000s 100,000,000100,000,000ss
1984/19871984/1987 1990/19931990/1993 1996/19991996/1999 2001/20032001/2003 1998/20041998/2004 2004/20072004/2007
XX XX +HTTP+HTTP(+JVM)(+JVM)
+XML+XMLPortalPortal +RM+RM UnknownUnknown
NS, NS+NS, NS+ +CDS+CDS +LDAP(*)+LDAP(*) +UDDI+UDDI +Jini+Jini +?+?
RPC, XDRRPC, XDR +CORBA+CORBA +CORBA,+CORBA,RMRM
+SOAP,+SOAP,XMLXML +RM/Jini+RM/Jini +?+?
SchematicSchematic
![Page 9: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/9.jpg)
Communication Patterns
Client-Server 3-Tier
Web Application
Web Services
HybridP2P Fractal
![Page 10: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/10.jpg)
Communication Patterns: JavaTM 2
Business SystemsBusiness Systems
DB ServerDB ServerApp ServerApp Server
Web ServerWeb Server
BrowserBrowserClientClient
Web Application
J2EEJ2EE
J2SE/J2SE/J2MEJ2ME
![Page 11: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/11.jpg)
Communication Patterns: Sun ONE
Bus.Bus.Sys.Sys.DBDB
AppApp
WebWeb
BrowserBrowser
Context and IdentityContext and Identity(LDAP, Policy, Liberty)(LDAP, Policy, Liberty)
J2EEJ2EE
J2SE/J2SE/J2MEJ2ME
XMLXML(UDDI, (UDDI, SOAP)SOAP)
Web Service
![Page 12: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/12.jpg)
12
What is aWhat is aWeb Service?Web Service?
![Page 13: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/13.jpg)
13
Web Services Definition by W3C● A Web service is a software application ● identified by a URI, ● whose interfaces and binding are
capable of being defined, described and discovered by XML artifacts and
● supports direct interactions with other software applications
● using XML based messages ● via internet-based protocols
![Page 14: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/14.jpg)
14
Distributed Computing Evolution
Client-Server(C/S) silos
Web-based computing
Web Services/Peer-to-Peer
Servers
Clients
Clients
Servers
Internet PDA CellPhone
Server
LaptopKiosk
Workstation
![Page 15: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/15.jpg)
15
Traditional C/S vs. Web Services
● Within enterprise ● Tied to a set of
programming languages● Procedural● Usually bound to a
particular transport● Tightly-coupled● Efficient processing
(space/time)
● Between enterprises● Program language
independent● Message-driven● Easily bound to different
transports● Loosely-coupled● Relatively not efficient
processing
Traditional C/S Web Service
![Page 16: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/16.jpg)
16
Web Application vs. Web Services
● User-to-program interaction
● Static integration of components
● Monolithic service
● Program-to-program interaction
● Possibility of dynamic integration of components (in the future)
● Possibility of service aggregation (in the future)
Web Application Web Service
![Page 17: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/17.jpg)
17
Characteristics of Web Services● XML based everywhere● Message-based● Programming language independent● Could be dynamically located● Could be dynamically assembled or
aggregated● Accessed over the internet● Loosely coupled● Based on industry standards
![Page 18: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/18.jpg)
18
Web ServicesThe Service Grid
Servicediscovery Service
delivery
ServiceRegistry
Service invocation
Service registration
![Page 19: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/19.jpg)
19
Service Assembly
MacroService Micro
Service
MicroService
MicroService
BusinessProcess
Management
![Page 20: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/20.jpg)
20
Service Aggregation
Stock ServicePortal
Input: SymbolOutput: Price, News, Trade
News feed 1Input: SymbolOutput: News links
Brokerage 1Input: Symbol, Price, Qty
User
NasdaqInput: SymbolOutput: Price
News feed nInput: SymbolOutput: News links
Brokerage nInput: Symbol, Price, Qty
![Page 21: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/21.jpg)
21
Why Web Services?Why Web Services?
![Page 22: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/22.jpg)
22
Why Web Services?Web Services:● Are platform neutral ● Are accessible in a
standard way ● Are accessible in an
interoperable way● Use simple and
ubiquitous plumbing● Are relatively cheap● Simplify enterprise
integration
![Page 23: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/23.jpg)
23
Why Web Services?● Interoperable – Connect across heterogeneous
networks using ubiquitous web-based standards● Economical – Recycle components, no
installation and tight integration of software● Automatic – No human intervention required
even for highly complex transactions● Accessible – Legacy assets & internal apps are
exposed and accessible on the web● Available – Services on any device, anywhere,
anytime● Scalable – No limits on scope of applications and
amount of heterogeneous applications
![Page 24: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/24.jpg)
24
Supplier
Logistics
Distributor
ManufacturingFacilityInternet
XML
XML
XML
XML
“Growing need for a standard lightweight infrastructure for data exchange in e-business applications.”
Web Services Usage Example
![Page 25: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/25.jpg)
25
Web Services
SystemService
AppService
SystemService
AppService
SystemService
AppService
A Computer
System Software
Application
MonolithicSoftware
The Network
Impact of Web Services on Software:“Application Dis-Integration”
![Page 26: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/26.jpg)
26
Net worth
News
Stock ticker
“Portfolio” can be an application, a portal channel, or a web service itself
A web service is accessed programmatically by applications or otherweb services
Web Services
Portfolio
Bank Balance
Stock Position
Insurance Cash Value
Biz News
World News
Macro web services – Virtual Systems
![Page 27: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/27.jpg)
27
Grammar
Bank balance
Publishing
Media“Word processing” can be an application, a capability, or a web service itself
A web service is accessed programmatically by applications or otherweb services
Web Services
Word Processing
Spell Check
Dictionary
Thesaurus
c:\...
Micro web services – Virtual Apps
http://...
![Page 28: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/28.jpg)
28
Three Laws of Computing
● Moore's Law– Computing power doubles every 18 months
● Gilder's Law– Network bandwidth capacity doubles every 12
months● Metcalfe's Law (Net Effect)– Value of network increases exponentially as
number of participants increases
![Page 29: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/29.jpg)
29
Impact on Integration:Trigger the Network Effect
Web ServicesCustom
Integration
Metcalfe’s Law: The value of the network is proportional to the square of the number of
![Page 30: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/30.jpg)
30
Myth: Web Services is a New Concept● Web services is distributed computing all
over again – only now it is based on the web
Concept Basic Web ServicesInterface Description CORBA IDL, Java interface WSDLRPC support ORBs, Idl2java compilers, rmic SOAP, compilers for WSDLService Registry CORBA naming service, JNDI UDDIMessaging support CORBA Event/Notification service, JMS ?Transaction support CORBA Transaction service, JTS ?Secuity support CORBA Security service, Java security ?
Distributed Computing ala CORBA / Java
![Page 31: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/31.jpg)
31
Other Popular Myths Surrounding Web Services ● Web services require only SOAP, WSDL,
UDDI: We need more high-level semantics● Web services are based on the RPC
paradigm: Document-driven model would be more popular communication model
● Web services must be based on HTTP: Other transports such as SMTP can be also used
![Page 32: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/32.jpg)
32
Where is &Where is &Where is Web Services Where is Web Services
going?going?
![Page 33: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/33.jpg)
33
Myths about Web Services
● Web Services cure cancer: Not for a very very long time!
● Web Services are something completely new: Not True!
● You have to write Web Services from scratch: Not True!
● J2EE Platform does not support web services: Not True!
![Page 34: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/34.jpg)
34
State of Web Services● Technology/Standards are still evolving– SOAP, WSDL, UDDI are not enough
● Business web services is the next big thing, but more works are needed in– Quality of Service, management– Security, transaction, state and user context– Work flow, Identity management,– Provisioning, Accounting
● Will be adopted in phases
![Page 35: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/35.jpg)
35
Web Services Adoption Phases● 1st phase (current state)
– Concerted deployment internally within an organization mainly for interoperability
– SOAP over HTTP/S● 2nd phase (1 to 2 years)
– Selective and non-aggregate deployment with trusted outside business partners
– Private registry deployment● 3rd phase (at least 3 to 4 years away)
– Wider, more dynamic and aggregate deployment with outside business partners
– Public registry deployment
![Page 36: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/36.jpg)
36
Web Services Adoption Phases
● 1st Phase – Simple Web Services (Now)● Consumer-focused, stateless, SOAP over
HTTP/S● 2nd Phase – EAI Web Services (Begun)
● Deployed within organization boundaries to enable internal integration
● 3rd Phase – Business Web Services (2007?)● Deployed on extranets to enable business
transactions with trading partners, suppliers, and customers, ebXML & UBL
![Page 37: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/37.jpg)
37
Business Web Services● J2EETM
● Service implementation platform standard● ebXML and UBL
● Business web services standards● More than 16 vendors and several open
source projects support ebXML● ex) Australian gas industry uses ebXML
NOW!● Liberty Project
● Identity system standard
![Page 38: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/38.jpg)
38
Business Web Services (B2B) Architectural Components (ebXML)
● B2B collaboration● Secure and reliable message
delivery● Non-repudiation● Partner profile● Repository for business data objects
![Page 39: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/39.jpg)
39
B2B Collaboration
Simple Web Services (WUS) vs. B2B Collaboration (ebXML)
Simple interaction Consumer oriented Short-living process No business
collaboration No partner profile Not secure, not
reliable Does not support
non-repudiation No repository
support No legal binding
Complex interaction Business oriented Long-running process Supports business
collaboration Supports partner
profile Secure and reliable
and non-repudiation
Supports non-repudiation
Registry and repository
Supports legal binding
Simple Web Services
![Page 40: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/40.jpg)
40
B2B Collaboration
EAI vs. B2B Collaboration (ebXML)
Within a business organization
Centralized control
Implicit contract Small number of
business processes and participants
Between business organizations
Distributed control
Explicit contract Potentially large
number of business processes and participants
EAI
![Page 41: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/41.jpg)
41
Trends Towards Service Orientation● Evolution of EAI to web service standards● XML RPC => Asynchronous XML Messaging● Towards de-centralization● Componentized services– Composable and composite services– Data encapsulated within component– Data ownership follows component ownership
● Brokered web services● Flexible relationships => Adaptive businesses
![Page 42: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/42.jpg)
42
Simple Web Services Architectural Components (WUS)
● Service Description● Service Registration (Publication)
and Discovery● Service Invocation
![Page 43: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/43.jpg)
43
Core Web Services Core Web Services StandardsStandards
![Page 44: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/44.jpg)
44
(Simplified) Web Service Architecture
Registry
1. Service RegistersPUBLISH
3. Client calls Service
BIND
2. Client Request Service Location
FIND
WebService
ServiceClient
![Page 45: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/45.jpg)
45
SOAP SOAP (Simple Object(Simple Object
Access Protocol)Access Protocol)
![Page 46: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/46.jpg)
46
SOAP
● Simple Object Access Protocol● Wire protocol similar to – IIOP for CORBA– JRMP for RMI
● XML is used for data encoding– “text” based protocol vs. “binary” protocol
● Supports XML-based RPC
![Page 47: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/47.jpg)
47
What SOAP is Not
● Not a component model – So it will not replace objects and
components, i.e. EJB, JavaBeans● Not a programming language– So it will not replace Java
● Not a solution for all– So it will not replace other distributed
computing technologies such as RMI
![Page 48: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/48.jpg)
48
What does SOAP Define?
● Message Envelope● Encoding Rules● RPC Convention● Binding with underlying protocols
![Page 49: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/49.jpg)
49
SOAP Message FormatSOAP Envelope
SOAP Header
SOAP Message
Primary MIME part(text/xml)
Attachment
Attachment
SOAP Body
Header Entry
Header Entry
Body Entry
Body Entry
Attachment
![Page 50: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/50.jpg)
50
SOAP Message Envelope● Encoding information● Header– Optional– Could contain context knowledge
● Security● Transaction
● Body– RPC methods and parameters– Contains application data
![Page 51: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/51.jpg)
51
SOAP Encoding• Rules of expressing application-defined
data types in XML• Based on W3C XML Schema• Simple values
– Built-in types from XML Schema, Part 2 (simple types, enumerations, arrays of bytes)
• Compound values– Structs, arrays, complex types
![Page 52: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/52.jpg)
52
WSDLWSDL
![Page 53: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/53.jpg)
53
What is WSDL?• XML language for describing web services• Web service is described as
– A set of communication endpoints (ports) • Endpoint is made of two parts
– Abstract definitions of operations and messages – Concrete binding to networking protocol (and
corresponding endpoint address) and message format
• Why this separation?– Enhance reusability (as we will see in UDDI
reference to WSDL document)
![Page 54: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/54.jpg)
54
Why WSDL?
• Enables automation of communication details between communicating partners– Machines can read WSDL– Machines can invoke a service defined in
WSDL• Discoverable through registry • Arbitration
– 3rd party can verify if communication conforms to WSDL
![Page 55: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/55.jpg)
55
WSDL Document Example● Simple service providing stock quotes● A single operation called
GetLastTradePrice● Deployed using SOAP 1.1 over HTTP● Request takes a ticker symbol of type
string● Response returns price as a float
![Page 56: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/56.jpg)
56
UDDIUDDI
![Page 57: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/57.jpg)
57
Service Architecture
UDDI defines a way to publish and find information about Web services.
UDDI Registry
1. Service RegistersPUBLISH
3. Client calls ServiceBIND
2. Client Request Service Location
FIND
WebService
ServiceClient
![Page 58: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/58.jpg)
58
UDDI (Universal Description, Discovery and Integration)● “White pages”
– address, contact, and known identifiers● “Yellow pages”
– industrial categorizations● Industry: NAICS (Industry codes - US Govt.)● Product/Services: UN/SPSC (ECMA)● Location: Geographical taxonomy
● “Green pages”– technical information about services
![Page 59: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/59.jpg)
59
Web Services Framework for J2EE
![Page 60: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/60.jpg)
60
J2EE Platform& Web Services
B2BApplications
B2CApplications
WebS ervices
WirelessApplications
Application ServerEnterpriseInformation
S ystems
Exis tingApplications
![Page 61: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/61.jpg)
61
Why J2EE for Web Services?
● Web services is just one of many service delivery channels of J2EE– No architectural change is needed– Existing J2EE components can be easily
exposed as Web services● Many benefits of J2EE are
preserved for Web services– Portability, Scalability, Reliability– No single-vendor lock-in
![Page 62: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/62.jpg)
62
Where Are We Now?● Java APIs for Web Services are
being developed very rapidly● Tools are available now for
exposing existing J2EE components as Web services
● J2EE community has defined overall framework for Web Services (J2EE 1.4, JSR 109)
![Page 63: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/63.jpg)
63
Design Goals J2EE Web Services Framework ● Portability of Web services component – Over different vendor platform– Over different operational environment
● Leveraging existing J2EE programming models for service implementation
● Easy to program and deploy– High-level Java APIs– Use existing deployment model
![Page 64: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/64.jpg)
64
J2EE Web Services Framework
● J2EE 1.4 and Java EE 5– Umbrella framework for Web services– JSR 109, JAX-RPC, JAXR, EJB 2.1, Servlet
2.4, ● JAX-RPC (JAX-WS)– Defines client programming model – Defines Servlet-based Web services endpoint
model
![Page 65: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/65.jpg)
65
J2EE Web Services Framework
● EJB 2.1– Defines Stateless Session Bean-based Web
services endpoint model● Servlet 2.4– Will be aligned with JAX-RPC
● JSR 109– Defines standard Web services packaging and
deployment model
![Page 66: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/66.jpg)
66
Web Services ArchitectureWeb Services Architectureover J2EEover J2EE
![Page 67: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/67.jpg)
67
What Is a Web Service?● A set of endpoints (ports) operating on
messages● Ports are operating within a container
– Container provides runtime environment– Contract for runtime environment are specified in
JAX-RPC, EJB 2.1, JSR 109● Service is described in WSDL document
and published to a registry– WSDL specifies a contract between service
provider and client
![Page 68: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/68.jpg)
68
Web Service Component and Container● Container vs. Component model
– Web services components get executed within a container
– Components are portable (under J2EE 1.4)● Web service components
– Web-tier (Servlet-based endpoint)– EJB-tier (Stateless session bean-based endpoint)
![Page 69: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/69.jpg)
69
Web Service Components
Source: Web Services for J2EE (JSR 109), V1.0
Web services components
![Page 70: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/70.jpg)
70
Summary
![Page 71: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/71.jpg)
71
Summary● Web services provides a new paradigm for
program to program communication● Comprehensive set of Java APIs for Web
Services are now available!● J2EE is the platform of choice for Web
services
![Page 72: Web Services Overview - wme.lzu.edu.cnwme.lzu.edu.cn/course/soa/slides/WebServicesOverview.pdf · Things - 1014 Computers 108 Embedded Computers 1011 Desktops Client/Server Web Applications](https://reader036.fdocuments.us/reader036/viewer/2022071211/60224dce7f090f2e1c440baf/html5/thumbnails/72.jpg)
72
Passion!