Web Services Overview and Trends David Purcell MnSCU OoC IT.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Siebel Web Services Siebel Web Services March, From
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Services Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
SOAP.
1 Understanding Web Services Presented By: Woodas Lai.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
WEB SERVICES DAVIDE ZERBINO.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
Web Services Seppo Heikkinen MITA seminar/TUT
Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
SOA, BPM, BPEL, jBPM.
Web Service Standards, Security & Management Chris Peiris
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Saml-intro-dec051 Security Assertion Markup Language A Brief Introduction to SAML Tom Scavo NCSA.
Web Services (SOAP, WSDL, and UDDI)
Web Services MnSCU Web Services Roundtable David Purcell, OoC IT JoDee Haugrud, MN State Moorhead Gary Hayden-Sofio, MCTC Dave Kruse, SCTC.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
Dr. Bhavani Thuraisingham October 2006 Trustworthy Semantic Webs Lecture #16: Web Services and Security.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services Standards. Introduction A web service is a type of component that is available on the web and can be incorporated in applications or used.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
Semantic Web Technologies Research Topics and Projects discussion Brief Readings Discussion Research Presentations.
Chapter 10 Intro to SOAP and WSDL. Objectives By study in the chapter, you will be able to: Describe what is SOAP Exam the rules for creating a SOAP document.
© Drexel University Software Engineering Research Group (SERG) 1 An Introduction to Web Services.
1 Web Services Web and Database Management System.
XML and Web Services (II/2546)
Kemal Baykal Rasim Ismayilov
Introduction to Web Services. Agenda Motivation History Web service model Web service components A walkthrough examples.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Web Services An Introduction Copyright © Curt Hill.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
1 WSDL Web Services Description Language. 2 Goals of WSDL Describes the formats and protocols of a Web Service in a standard way –The operations the service.
BEA position on W3C ‘Web Services’ Standards Jags Ramnarayan 11th April 2001.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
SOAP, Web Service, WSDL Week 14 Web site:
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Introduction to Web Services
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Unit – 5 JAVA Web Services
Implementing a service-oriented architecture using SOAP
WEB SERVICES DAVIDE ZERBINO.
Presentation transcript:

Web Services Overview and Trends David Purcell MnSCU OoC IT

Introduction - Purpose of Presentation Introduce a Service Oriented Architecture Introduce Web Services Review/Explain Technical Details Discuss Different Types of Services Discuss Implementation Challenges with Web Services

Web Services and SOA Service-Oriented Architecture - What is It?  Unit of work = Service  Centralized data access/business logic encapsulated by Service Provider  Loose couplings between systems  Reusable services that can serve many needs  Applications can be assembled, rather than built

Web Services

A way to implement a SOA Mechanism for application-to-application communication (integration!) Uses standard protocols and languages: Typically HTTP and XML Independent of programming language Two main types: SOAP and REST

SOAP Web Services SOAP – an XML language for encapsulating messages  What service to invoke  Message contents (input parameters and response info)  Auxiliary information about the sender, errors, etc. Programmers use tools to make SOAP calls (Don’t code SOAP by hand) Self-Describing: Description of Service using wsdl* Many extensions to SOAP are proposed to cover technical challenges (security, etc.) Two main types: RPC and Document

SOAP Service Types RPC (Remote Procedural Call) Remote call – Programmer calls a ‘function’ Most Common MnSCU services are currently RPC style Advantages:  Easier to create, consume Disadvantages  Shouldn’t change once in place - Breaks the notion of loose coupling

SOAP Service Types Document Style You define the XML returned in SOAP envelope Advantages:  You can define a schema for the xml – any calling app can validate against the schema  Less fragile – you can change the XML without changing the service definition Disadvantages:  More difficult to develop

Soap Services – WSDL Web Service Description Language Describes the Service  The exposed functions  The parameters expected in the request/response  Elements / datatypes for the parameters  How to access (bind to) the service Doesn’t have to be SOAP service

WSDL Example RPC-style SOAP Service - WSDL

SOAP Message XML format for encapsulating messages Important parts:  Header Faults  Body Request Response

SOAP Message Example – RPC-style SOAP Service Request Hello!

SOAP Message Example – RPC-style SOAP Service Response Hello!

REST-Style Web Services Representational State Transfer Applications define their own specs  Typically custom XML defined for the response Resource oriented HTTP protocols – typically using HTTP GET requests for retrieving data, POST requests for modifying data

REST

REST-Style Web Services, cont. Advantages:  Simpler  Don’t need any special toolkits  Like Document-style SOAP services, the XML can be self-validating Disadvantages:  Don’t get underlying infrastructure provided by today’s web services tookits, or tomorow’s extensions Your app needs to handle the http request and any communication problems You need to extract the data from response XML

SOAP vs. REST SOAP Advantages  Because of the standard protocol, toolkits can handle SOAP layer for you  Many Standards being built on top of SOAP infrastructure (security, transactions, etc.) REST Advantages  Simple to use  Doesn’t require any special tools

Web Services Challenges Security Conversational state Transactions Reliable messaging Orchestrating a set of services

Web Services Challenges, cont. There are many web services specs and protocols However..  Competing standards exist  Implementations are not widely available SOAP/WSDL are the most common standards that are widely agreed upon and implemented

Web Services Challenges - Security How do you…  Ensure that the message wasn’t altered?  Ensure that the message can’t be observed?  Determine the identity of the requestor?  Determine that the requestor is authorized to use the service?

Web Services Challenges - Security Specs and Activities XML Signature - provides data integrity and authentication XML Encryption – data integrity via encryption WS-Security  specifies how to sign and encrypt SOAP messages  Uses XML Signature and XML Encryption, among others SAML  a framework for exchanging identification information among partners  Foundation of Liberty Alliance single sign-on capabilities eXtensible Access Control Markup Language (XACML)  Define authorization / access control in XML

Web Services – Security, cont. Other competing specs and standards As security issues get resolved through standards/specs, web service security can be handled with less application programming  Security infrastructure would be more declarative, consistent  WS-Security – vendors starting to provide implementations

In the Mean Time… We can’t wait for all specs to solidify We need to implement today

Technical Implementation Considerations Security  Authentication  Encryption  Authorization  Basic Web App Security Practices Error Handling  SOAP Fault  Specifying a mechanism to return errors

Technical Implementation Considerations, cont. Service Inputs/Outputs for RPC services  Flat ‘arrays’ of data Less fragile (you can add a new, optional parameter without altering the WSDL) Simpler Can’t handle relationships among data  Complex data elements (relationships among data) Used for complex data types More fragile architecture

Technical Implementation Considerations - Transactions What if your app does the following? 1. Call Service – Update Info 2. Update your local database - 2.a – Problem occurs - 2.b – Rollback your database input

Technical Implementation Considerations - Transactions You need to consider order 1. Update your local database - 1.a – Problem occurs - 1.b – Rollback your database input 2. Don’t call the Service

Technical Implementation Considerations - Interoperability Be sure you are using the same version of specs on client/server XML mapping – data types Exceptions/Errors Java Collections

Getting Started Get to know your web services toolkits Understand the services you need Web Services Resource Site:

Tools Example Generate Web Service Code with Axis: set mypath = C:/my-axis-libraries/libraries… java org.apache.axis.wsdl.WSDL2Java service?wsdl

Example – Client call to Query Service IsrsQueryServiceLocator locator = new IsrsQueryServiceLocator(); locator.setIsrsQueryEndpointAddress(" isrsquery/services/IsrsQuery"); IsrsQuery query = locator.getIsrsQuery(); Response result = query.executeQuery( “queryname", “id", "password",new String[]{“rcid", "20055"}) ;

Web Services – Moving Forward Web Services and Portals  WSRP Web Services and Business Assembly  BPEL - a language for orchestrating services to make a business process Discovering Web Services  UDDI - a means of discovering a service  Notion of a registry where you would find a service – hasn’t really caught on

Portals

Web Services and Portals WSRP Spec (Web Services for Remote Portlets)  Most web services require an intermediate app to display data  Portlets are a good candidate for consuming web services  Why not provide user interface code with a service?  WSRP! – A generic portlet can consume and display many different web services.

Web Services and Portals, cont. WSRP  Support by major portal vendors  Might be good alternative to a portlet code library  For example: Provide a summary of a student’s course schedule Provide a listing of messages for a student

Business Process Execution and Web Services BPEL – Business Process Execution Language  An XML spec for coordinating web services  Combine web services into a business process  Specify order to call the services: conditionals, looping, parallel paths  BPEL servers provided by many vendors

Conclusion A Service-Oriented Architecture has advantages for a system like MnSCU Web Services is becoming part of application development environment We need to implement services properly: SOAP/RPC/Doc type/REST We need to keep an eye on future trends – take advantage of them as they solidify

Questions?

References Doc style services: ibm.com/developerworks/webservices/library/ws-docstyle.htmlhttp://www- 106.ibm.com/developerworks/webservices/library/ws-docstyle.html Apache web services: OASIS WSRP Spec: open.org/committees/download.php/3343/oasis wsrp- specification-1.0.pdfhttp:// open.org/committees/download.php/3343/oasis wsrp- specification-1.0.pdf WSRP overview from IBM ibm.com/developerworks/webservices/library/ws- wsrp/?Open&ca=daw-ws-drhttp://www- 106.ibm.com/developerworks/webservices/library/ws- wsrp/?Open&ca=daw-ws-dr W3C SOAP spec:

References, cont. SAML   open.org/committees/tc_home.php?wg_abbrev=security open.org/committees/tc_home.php?wg_abbrev=security Web Services Security   REST services   BPEL 

Technical Examples – Hello World – Creating a Service using Java 1. Create a Function public class TestService { public String helloWorld(String name){ return "Hello " + name; } 2. Download Apache Axis Library – add to your app 3. Modify Config Files (axis config file and web app config file) 4. You have a service!

Technical Examples – Hello World – Consuming a Service using Java 1. Get the web service description (WSDL file) 2. Use a Utility to Generate Helper Code 1. Apache Axis has wsdl2java 3. Create Code to call the service, using the helper code 1. Lets tool handle all the ‘plumbing’