Title: BCS Teesside Web Services
1BCS TeessideWeb Services
2What I will cover
- What are Web Services?
- What is SOA?
- What is BPEL?
- Demonstrate the construction of a web service
3What are Web Services
A 'Web service' is defined by the W3C as "a
software system designed to support interoperable
machine-to-machine interaction over a network"
In common usage the term refers to clients and
servers that communicate over the HTTP protocol
used on the Web. Such services tend to fall into
one of two camps Big Web Services and RESTful
Web Services.
Source Wikipedia
4What are RESTful Web Services?
- Representational state transfer
- Described by Roy Thomas Fielding
- A key design idiom that embraces a stateless
client-server architecture in which the web
services are viewed as resources and can be
identified by their URLs - Its what the world-wide-web does
5What are Big Web Services
- "Big Web Services" use XML messages that
generally follow the SOAP standard - there is often machine-readable description of
the operations offered by the service written in
the Web Services Description Language (WSDL)
6Web Service Architecture
7Acronym Competition
WSDL
Web Service Description Language
8Acronym Competition
UDDI
Universal Description, Discovery and Integration
9Acronym Competition
SOAP
It doesnt stand for anything
It used to be Simple Object Access Protocol
but no more
10Acronym Competition
JAX-RPC
Java Api for Xml-based Remote Procedure Call
Now part of JAX-WS
11Acronym Competition
JSR
Java Specification Request
12Acronym Competition
BPEL
Business Process Execution Language
13Acronym Competition
SOA
Service Oriented Architecture
14What is SOA?
A collection of loosely-coupled, distributed
services which communicate and interoperate via
agreed standards
Source Oxford University
15SOA Principles
- Reuseability
- Service contract
- loose coupling
- Abstraction
- Composability
- Autonomous
- Stateless
- Discoverable
16SOA and Web Services
- Web Services are not inherently reusable
- Web Services have service contracts
- Web Services are loose-coupled
- Web Services support abstraction
- Web Services are naturally composable
- Autonomy has to be designed in
- Web Services support statelessness
- Discoverability is beyond the scope of a Web
Service
17What is JSR 181?
- Web Services Metadata for the Java Platform
- Simplifies the Java Web service programming model
by providing a set of annotations that can be
used to declaratively specify the Web services of
an application - JDK 5 or above
- Specification released 27 Jun, 2005
18JSR 181
_at_WebService ( serviceName
"annotatedBank", targetNamespace
"http//service.annotatedBank")public class
BankServiceImpl .
19JSR 181
_at_WebMethod (operationName
"create-account")public String createAccount(
_at_WebParam(name"accountName") String
acctName,float initBalance) throws
RemoteException,AccountException return
m_bank.addNewAccount( acctName,initBalance)
20WS-
- Set of 2nd generation Web Service standards
- They start with WS- prefix
21WS-
- Include
- Messaging Specifications
- WS-Notification
- WS-Addressing
- WS-Transfer
- WS-Eventing
- WS-Enumeration
22WS-
- Metadata Exchange Specifications
- WS-Policy
- WS-PolicyAssertions
- WS-PolicyAttachment
- WS-Discovery
23WS-
- Security Specifications
- WS-Security
- WS-SecureConversation
- WS-Trust
- WS-Federation
24WS-
- Include
- Reliable Messaging Specifications
- WS-ReliableMessaging
- WS-Reliablility
25WS-
- Include
- Business Process Specifications
- WS-BPEL
- WS-Choreography
- WS-CDL
26WS-
- Include
- Transaction Specifications
- WS-AtomicTransaction
- WS-Coordination
- WS-CAF
- WS-Transaction
- WS-Context
- WS-CF
27WS-
- Include
- Management Specifications
- WS-Management
- WS-ResourceTransfer
28Orchestration
- Web Service Orchestration enables web services to
be strung together in predefined patterns and
executed via orchestration scripts - Typically owned by a business
- The heart of SOA
29Orchestration
30Choreography
Specification by the W3C defining a XML-based
business process modeling language that
describes collaboration protocols of cooperating
Web Service participants, in which services act
as peers, and interactions may be long-lived
and stateful.
31BPEL
- Consortium originally made up of BEA (now
Oracle), IBM and Microsoft - Provides a language defining process flow
- Supports asynchronous operations and correlations
- Supports long-running workflows
32Reference Sites
- www.WhatIsSOA.com
- www.SOAPrinciples.com
- www.WS-Standards.com
- www.w3.org and www.ws-i.org
- www.w3schools.com/webservices/default.asp
- http//java.sun.com/webservices/
- http//www.oracle.com/technology/index.html
- http//jbossws.jboss.org/mediawiki/index.php?title
JBossWS