260 likes | 395 Vues
Web services are software systems that enable interoperable machine-to-machine interactions over a network. They utilize XML-based standards and protocols to facilitate data exchange over the internet. A web service is identified via a URI, allowing direct access by clients through standardized interfaces defined in XML artifacts like WSDL. This technology has evolved through various phases, from simple B2C applications to complex B2B integrations, improving business processes through standards like SOAP and UDDI, promoting loose coupling and flexibility.
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