32
BCS Teesside BCS Teesside Web Services Web Services David Fuller David Fuller

BCS Teesside Web Services

  • Upload
    sun

  • View
    20

  • Download
    0

Embed Size (px)

DESCRIPTION

BCS Teesside Web Services. David Fuller. What I will cover. What are Web Services? What is SOA? What is BPEL? Demonstrate the construction of a web service. What are Web Services. - PowerPoint PPT Presentation

Citation preview

Page 1: BCS Teesside Web Services

BCS TeessideBCS TeessideWeb ServicesWeb Services

David FullerDavid Fuller

Page 2: BCS Teesside Web Services

What I will coverWhat I will cover

What are Web Services?What are Web Services?

What is SOA?What is SOA?

What is BPEL?What is BPEL?

Demonstrate the construction of a Demonstrate the construction of a web serviceweb service

Page 3: BCS Teesside Web Services

In common usage the term refers to In common usage the term refers to clients and and servers that communicate over the that communicate over the HTTP protocol used on the Web. Such services tend protocol used on the Web. Such services tend to fall into one of two camps: Big Web Services to fall into one of two camps: Big Web Services and RESTful Web Services.and RESTful Web Services.

What are Web ServicesWhat are Web Services

Source Wikipedia

A 'A 'Web service'Web service' is defined by the is defined by the W3C as "a software system designed to support interoperable machine-to-machine interaction over a network"

Page 4: BCS Teesside Web Services

What are RESTful Web Services?What are RESTful Web Services?

Representational state transferRepresentational state transfer

Described by Described by Roy Thomas FieldingRoy Thomas Fielding

A key design idiom that embraces a A key design idiom that embraces a stateless client-server architecture in stateless client-server architecture in which the web services are viewed which the web services are viewed as resources and can be identified by as resources and can be identified by their URLs their URLs

It’s what the world-wide-web doesIt’s what the world-wide-web does

Page 5: BCS Teesside Web Services

What are Big Web Services’What are Big Web Services’

"Big Web Services" use "Big Web Services" use XMLXML messages that generally follow the messages that generally follow the SOAPSOAP standard standard

there is often machine-readable there is often machine-readable description of the operations offered description of the operations offered by the service written in the by the service written in the Web Services Description LanguageWeb Services Description Language (WSDL) (WSDL)

Page 6: BCS Teesside Web Services

Web Service ArchitectureWeb Service Architecture

Page 7: BCS Teesside Web Services

Acronym CompetitionAcronym Competition

WSDL

Web Service Description Language

Page 8: BCS Teesside Web Services

Acronym CompetitionAcronym Competition

UDDI

Universal Description,Discovery and Integration

Page 9: BCS Teesside Web Services

Acronym CompetitionAcronym Competition

SOAP

It doesn’t stand for anything

It used to be ‘Simple Object Access Protocol’ but no more

Page 10: BCS Teesside Web Services

Acronym CompetitionAcronym Competition

JAX-RPC

Java Api for Xml-basedRemote Procedure Call – Now part of JAX-WS

Page 11: BCS Teesside Web Services

Acronym CompetitionAcronym Competition

JSR

Java SpecificationRequest

Page 12: BCS Teesside Web Services

Acronym CompetitionAcronym Competition

BPEL

Business Process Execution Language

Page 13: BCS Teesside Web Services

Acronym CompetitionAcronym Competition

SOA

Service OrientedArchitecture

Page 14: BCS Teesside Web Services

What is SOA?What is SOA?

A collection of loosely-coupled,distributed services which communicate and interoperate via agreed standards

Source: Oxford University

Page 15: BCS Teesside Web Services

SOA PrinciplesSOA PrinciplesReuseabilityReuseabilityService contractService contractloose couplingloose couplingAbstractionAbstractionComposabilityComposabilityAutonomousAutonomousStatelessStatelessDiscoverableDiscoverable

Page 16: BCS Teesside Web Services

SOA and Web ServicesSOA and Web ServicesWeb Services are not inherently reusableWeb Services are not inherently reusableWeb Services have service contractsWeb Services have service contractsWeb Services are loose-coupledWeb Services are loose-coupledWeb Services support abstractionWeb Services support abstractionWeb Services are naturally composableWeb Services are naturally composableAutonomy has to be designed inAutonomy has to be designed inWeb Services support statelessnessWeb Services support statelessnessDiscoverability is beyond the scope of a Discoverability is beyond the scope of a Web ServiceWeb Service

Page 17: BCS Teesside Web Services

What is JSR 181?What is JSR 181?Web Services Metadata for the Java Web Services Metadata for the Java Platform Platform Simplifies the Java Web service Simplifies the Java Web service programming model by providing a programming model by providing a set of annotations that can be used set of annotations that can be used to declaratively specify the Web to declaratively specify the Web services of an application services of an application JDK 5 or aboveJDK 5 or aboveSpecification released Specification released 27 Jun, 2005 27 Jun, 2005

Page 18: BCS Teesside Web Services

@WebService (    serviceName = "annotatedBank",    targetNamespace = "http://service.annotatedBank")public class BankServiceImpl {….

JSR 181JSR 181

Page 19: BCS Teesside Web Services

JSR 181JSR 181

@WebMethod (operationName= "create-account")public String createAccount( @WebParam(name="accountName") String acctName,float initBalance) throws       RemoteException,AccountException {    return m_bank.addNewAccount( acctName,initBalance);}

Page 20: BCS Teesside Web Services

WS-*WS-*

Set of 2Set of 2ndnd generation Web Service generation Web Service standardsstandards

They start with WS- prefixThey start with WS- prefix

Page 21: BCS Teesside Web Services

WS-*WS-*

Include:Include:– Messaging Specifications Messaging Specifications

WS-NotificationWS-Notification

WS-AddressingWS-Addressing

WS-TransferWS-Transfer

WS-EventingWS-Eventing

WS-EnumerationWS-Enumeration

Page 22: BCS Teesside Web Services

WS-*WS-*– Metadata Exchange SpecificationsMetadata Exchange Specifications

WS-PolicyWS-Policy

WS-PolicyAssertionsWS-PolicyAssertions

WS-PolicyAttachmentWS-PolicyAttachment

WS-DiscoveryWS-Discovery

Page 23: BCS Teesside Web Services

WS-*WS-*– Security Specifications Security Specifications

WS-SecurityWS-Security

WS-SecureConversationWS-SecureConversation

WS-TrustWS-Trust

WS-FederationWS-Federation

Page 24: BCS Teesside Web Services

WS-*WS-*

Include:Include:– Reliable Messaging Specifications Reliable Messaging Specifications

WS-ReliableMessagingWS-ReliableMessaging

WS-ReliablilityWS-Reliablility

Page 25: BCS Teesside Web Services

WS-*WS-*

Include:Include:– Business Process Specifications Business Process Specifications

WS-BPELWS-BPEL

WS-ChoreographyWS-Choreography

WS-CDLWS-CDL

Page 26: BCS Teesside Web Services

WS-*WS-*

Include:Include:– Transaction SpecificationsTransaction Specifications

WS-AtomicTransactionWS-AtomicTransaction

WS-CoordinationWS-Coordination

WS-CAFWS-CAF

WS-TransactionWS-Transaction

WS-ContextWS-Context

WS-CFWS-CF

Page 27: BCS Teesside Web Services

WS-*WS-*

Include:Include:– Management Specifications Management Specifications

WS-ManagementWS-Management

WS-ResourceTransferWS-ResourceTransfer

Page 28: BCS Teesside Web Services

OrchestrationOrchestration

Web Service Orchestration enables Web Service Orchestration enables web services to be strung together in web services to be strung together in predefined patterns and executed via predefined patterns and executed via ‘orchestration scripts’‘orchestration scripts’

Typically owned by a businessTypically owned by a business

““The heart of SOA”The heart of SOA”

Page 29: BCS Teesside Web Services

OrchestrationOrchestration

Page 30: BCS Teesside Web Services

ChoreographyChoreography

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.

Page 31: BCS Teesside Web Services

BPELBPEL

Consortium originally made up of Consortium originally made up of BEA (now Oracle), IBM and MicrosoftBEA (now Oracle), IBM and Microsoft

Provides a language defining process Provides a language defining process flowflow

Supports asynchronous operations Supports asynchronous operations and correlationsand correlations

Supports long-running workflowsSupports long-running workflows

Page 32: BCS Teesside Web Services

Reference SitesReference Sites

www.WhatIsSOA.comwww.WhatIsSOA.com

www.SOAPrinciples.comwww.SOAPrinciples.com

www.WS-Standards.comwww.WS-Standards.com

www.w3.org and www.ws-i.orgwww.w3.org and www.ws-i.org

www.w3schools.com/webservices/default.aspwww.w3schools.com/webservices/default.asp

http://java.sun.com/webservices/http://java.sun.com/webservices/

http://www.oracle.com/technology/index.htmlhttp://www.oracle.com/technology/index.html

http://jbossws.jboss.org/mediawiki/index.php?http://jbossws.jboss.org/mediawiki/index.php?title=JBossWStitle=JBossWS