260 likes | 380 Views
Web Services. “ A software system designed to support interoperable Machine to Machine interaction over a network“. “ Web based application that use s open, XML-based standards and transport protocols to exchange data with clients â€. Kas ir Web servisi?. EksistÄ“ daudz dažÄdas definÄ«cijas ….
E N D
“A software system designed to support interoperable Machine to Machineinteraction over a network“ “Web based application that uses open, XML-based standards and transport protocols to exchange data with clients” Kas ir Web servisi? • Eksistē daudz dažādas definīcijas…
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
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: Historyhttp://www.w3.org/2002/ws/history.html
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)
Service Discovery Service Transport XML Messaging Service Transport Web Services Big Picture • Service Discovery • UDDI • Service Description • WSDL • XML Messaging • SOAP and XML-RPC • Service Transport • HTTP, SMTP, FTP etc. 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 & WebServices • 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 Glancehttp://java.sun.com/webservices/index.jsp • Book “J2EE Web Services” by Richard Monson-Haefel http://www.amazon.ca/J2EE-Web-Services-Richard-Monson-Haefel/dp/0321146182 • Web Service Interaction Architectures http://java.sun.com/blueprints/webservices/using/webservbp3.html
References • JBoss Web Services http://labs.jboss.com/jbossws/ • Spring Web Services http://static.springframework.org/spring-ws/site/index.html • Java Web Services Overview Presentationhttp://www.javapassion.com/webservices/WebServicesOverview.pdf • Another Java Web Services Overview Presentationhttp://www.dma.unina.it/~murli/GridSummerSchool2004/presentations/Fox/background/WebServicesOverview.pdf