Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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