Web Services Overview

Agenda

  • What is a Web Service? 
  • Why Web Services? 
  • Where are & where are Web Services going? 
  • Types of Web Services 
  • Web services over Java platform

What is a Web Service?

Web Services Definition by W3C

  • 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

 Distributed Computing Evolution

Distributed Computing Evolution

Traditional C/S vs. Web Services

Traditional C/S vs. Web Services

Web Application vs. Web Services

Web Application vs. Web Services

Characteristics of Web Services

  • XML Based everywhere 
  • Message-based 
  • Programming Language independent
  • Could be dynamically located 
  • Could be dynamically assembled or aggregated 
  • Accessed over the Internet 
  • Loosely coupled 
  • Based on industry standards

Web Services

Web Services

Service Aggregation

Service Aggregation

Service Aggregation Example

Service Aggregation Example

Why Web Services?

Web Services are: 

  • Are platform neutral 
  • Are accessible in a standard way 
  • Are accessible in an interoperable way 
  • Use simple and ubiquitous plumbing 
  • Simplify enterprise integration

Why Web Services?

Interoperable – Connect across heterogeneous networks using ubiquitous web-based standards 

Economical – Recycle components, no installation and tight integration of software 

Accessible – Legacy assets & internal apps are exposed and accessible on the web 

Available – Services on any device, anywhere, anytime 

Scalable – No limits on scope of applications and amounts of heterogeneous applications

 

 State of Web Services

  • Basic Technology/Standards are well established 
    • Service definitions, protocols – SOAP, WSDL 
    • Security, transaction, state, and user context 
    • Workflow, Identity management 
  • Abundant implementations 
  • Business Web Services are the next big thing, but more works are needed in: 
    • Quality of Service, management 
    • Provisioning, Accounting 
  • SOA is becoming reality

 Impact of Web Services on Software: “Application Dis-Integration”

Impact of Web Services on Software: “Application Dis-Integration”

Types of Web Services

  • SOAP-based Web services 
    • Based on SOAP, WSDL, WS-* specification 
  • RESTful Web services 
    • Gaining more traction these days over SOAP-based Web services due to its simplicity

We are going to cover both types of Web services in this course.

Web Services Support over Java Platform

Why Java EE for Web Services?

  • Web Services are just one of many service delivery channels of Java EE 
    • No architectural change is needed 
    • Existing Java EE components can be easily exposed as Web Services 
  • Many benefits of Java EE are preserved for Web Services 
    • Portability, Scalability, Reliability 
    • No single-vendor lock-in

Where are We now?

  • Java APIs for Web Services are well-accepted 
    • JAX-WS, JAX-RS, JAXB 
  • Tools are available now for exposing existing Java EE components as Web Services 
  • Java EE community has defined overall framework for Web Services (Java EE 1.4, JSR 109) 
  • Java SE 6 can host Web services

Web Service Components

Web Service Components

 

Download course content