Transcript Document
Web Services
Kas ir Web servisi?
• Eksistē daudz dažādas definīcijas…
“A software system designed to support
interoperable Machine to Machine
interaction over a network“
“Web based application that uses open,
XML-based standards and transport
protocols to exchange data with clients”
W3C definīcija
• 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
Citiem vārdiem...
• Web serviss ir programmatūra, kas ir
identificējama tīmeklī pēc URI, kurai
klienti piekļūst izmantojot uz XML balstītu
protokolu (SOAP), kurš tiek izmantots virs
Internet protokola (HTTP)
• Klienti piekļūst web servisa programmai
caur tas interfeisiem un saistībām
(bindings), kuri ir definēti izmantojot XML
artifaktus (WSDL)
No biznesa skatiena...
•
•
Web Services: A distributed or virtual applications or
processes that use the Internet to link activities or
software components.
A travel Web site that:
•
•
•
•
takes a reservation from a customer,
sends a message to a hotel application, accessed via
the Web, to determine if a room is available,
books it,
tells the customer he or she has a reservation
is an example of a Web Services application.
“Business Process Trends” http://www.bptrends.com/resources_glossary.cfm?letterFilter=W&displayMode=all
Web servisu raksturojums
•
•
•
•
•
•
•
•
XML based everywhere
Message-based
Platform and programming language independent
Could be dynamically located
Could be dynamically assembled or aggregated
Accessed over the Internet
Loose coupling between invoker and service
Based on industry standards
Distributed Computing Evolution
Traditional C/S vs. Web Services
Web Application vs. Web Services
Web servisu attīstība
• Web servisu attīstības fāzes:
•
Phase 1 (1999-2001)
• Simple
• Business-to-Consumer (B2C)
•
Phase 2 (2002-2004)
• Enterprise Application Integration (EAI)
• Private UDDI Registries
•
Phase 3 (2005-...)
• Business-to-Business (B2B)
• Public UDDI Registries
•
[W3C] Web Services Activity: History
http://www.w3.org/2002/ws/history.html
Web servisu arhitektūra
Web servisu standarti
• Common markup language for communication
•
XML (eXtensible Markup Language)
• Common message format for exchanging
information
•
SOAP (Simple Object Access Protocol)
• Common service specification formats
•
WSDL (Web Services Description Language)
• Common means for service lookup
•
UDDI (Universal Description, Discovery, and
Integration)
Web Services Big Picture
•
Service Discovery
• UDDI
Service Discovery
•
Service Description
• WSDL
Service Transport
•
XML Messaging
• SOAP and XML-RPC
XML Messaging
•
Service Transport
• HTTP, SMTP, FTP etc.
Service Transport
The Protocol Stack
Web servisu mijiedarbība
• Web servisi un web servisu klienti sadarbojas
izmantojot SOAP, WSDL, UDDI tehnoloģijas
Papildus specifikācijas
• Pamata specifikācijas ir apvienotas WS-I profilā
• Dažas specifikācijas bija izstrādātas lai paplašināt
web servisu spējas un ir apvienotas WS-* profilā
•
•
•
•
•
•
•
WS-Security
WS-Reliability
WS-ReliableMessaging
WS-Addressing
WS-Transaction
WS-BPEL
vēl daudz citas...
Java EE & Web Services
Java EE & Web Services
• J2EE community has defined overall framework
for Web Services in J2EE 1.4 (JSR 109)
• Java EE 5 accelerates and radically simplifies
Enterprise Java development, especially for Web
Services
• The Java EE platform provides a complete
framework for developing and deploying web
services on the Java platform
Java EE tehnoloģijas
• Primāras Java EE 5 platformas tehnoloģijas:
•
Java API for Web Services (JAX-WS) 2.0
•
Java API for XML-Based RPC (JAX-RPC) 1.1
•
Java Architecture for XML Binding (JAXB) 2.0
•
SOAP with Attachments API for Java (SAAJ)
•
Streaming API for XML (StAX)
•
Web Service Metadata for the Java Platform
Web servisu veidi
Web servisu izmantošanas stili:
• RPC = Remote procedure calls
•
A distributed function (or method) call interface
• SOA = Service-oriented architecture
•
Basic unit of communication is a message, rather than
an operation
• RESTful = Representational state transfer
•
An attempt to emulate HTTP and similar protocols by
constraining the interface to a set of well-known,
standard operations (e.g., GET, PUT, DELETE)
Web servisu mijiedarbības veidi
• Sinhroni web servisi
•
•
•
Klienti sūta pieprasījumu servisam un pārtrauc savu
darbību kamēr gaida atbildi
RPC-oriented approach
JAX-RPC servlet endpoint
• Asinhroni web servisi
•
•
•
Klienti inicializē servisa pieprasījumu un turpina savu
darbību negaidot atbildi
Document-oriented approach
JAX-RPC servlet endpoint + JMS + EJB
Summary
• Web services provides a new paradigm for
program to program communication
• Web services standards are XML, SOAP, WSDL
and UDDI
• Comprehensive set of Java APIs for Web services
are available!
• J2EE is the platform of choice for Web services
References
• Java Web Services At a Glance
http://java.sun.com/webservices/index.jsp
• Book “J2EE Web Services”
by Richard Monson-Haefel
http://www.amazon.ca/J2EE-Web-ServicesRichard-Monson-Haefel/dp/0321146182
• Web Service Interaction Architectures
http://java.sun.com/blueprints/webservices/usi
ng/webservbp3.html
References
•
JBoss Web Services
http://labs.jboss.com/jbossws/
•
Spring Web Services
http://static.springframework.org/springws/site/index.html
•
Java Web Services Overview Presentation
http://www.javapassion.com/webservices/WebServicesOv
erview.pdf
•
Another Java Web Services Overview Presentation
http://www.dma.unina.it/~murli/GridSummerSchool2004/
presentations/Fox/background/WebServicesOverview.pdf