BCS Teesside Web Services David Fuller. What I will cover What are Web Services? What is SOA? What...
-
Upload
annalise-bowron -
Category
Documents
-
view
222 -
download
0
Transcript of BCS Teesside Web Services David Fuller. What I will cover What are Web Services? What is SOA? What...
BCS TeessideBCS TeessideWeb ServicesWeb Services
David FullerDavid Fuller
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
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"
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
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)
Web Service ArchitectureWeb Service Architecture
Acronym CompetitionAcronym Competition
WSDL
Web Service Description Language
Acronym CompetitionAcronym Competition
UDDI
Universal Description,Discovery and Integration
Acronym CompetitionAcronym Competition
SOAP
It doesn’t stand for anything
It used to be ‘Simple Object Access Protocol’ but no more
Acronym CompetitionAcronym Competition
JAX-RPC
Java Api for Xml-basedRemote Procedure Call – Now part of JAX-WS
Acronym CompetitionAcronym Competition
JSR
Java SpecificationRequest
Acronym CompetitionAcronym Competition
BPEL
Business Process Execution Language
Acronym CompetitionAcronym Competition
SOA
Service OrientedArchitecture
What is SOA?What is SOA?
A collection of loosely-coupled,distributed services which communicate and interoperate via agreed standards
Source: Oxford University
SOA PrinciplesSOA PrinciplesReuseabilityReuseabilityService contractService contractloose couplingloose couplingAbstractionAbstractionComposabilityComposabilityAutonomousAutonomousStatelessStatelessDiscoverableDiscoverable
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
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
@WebService ( serviceName = "annotatedBank", targetNamespace = "http://service.annotatedBank")public class BankServiceImpl {….
JSR 181JSR 181
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);}
WS-*WS-*
Set of 2Set of 2ndnd generation Web Service generation Web Service standardsstandards
They start with WS- prefixThey start with WS- prefix
WS-*WS-*
Include:Include:– Messaging Specifications Messaging Specifications
WS-NotificationWS-Notification
WS-AddressingWS-Addressing
WS-TransferWS-Transfer
WS-EventingWS-Eventing
WS-EnumerationWS-Enumeration
WS-*WS-*– Metadata Exchange SpecificationsMetadata Exchange Specifications
WS-PolicyWS-Policy
WS-PolicyAssertionsWS-PolicyAssertions
WS-PolicyAttachmentWS-PolicyAttachment
WS-DiscoveryWS-Discovery
WS-*WS-*– Security Specifications Security Specifications
WS-SecurityWS-Security
WS-SecureConversationWS-SecureConversation
WS-TrustWS-Trust
WS-FederationWS-Federation
WS-*WS-*
Include:Include:– Reliable Messaging Specifications Reliable Messaging Specifications
WS-ReliableMessagingWS-ReliableMessaging
WS-ReliablilityWS-Reliablility
WS-*WS-*
Include:Include:– Business Process Specifications Business Process Specifications
WS-BPELWS-BPEL
WS-ChoreographyWS-Choreography
WS-CDLWS-CDL
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
WS-*WS-*
Include:Include:– Management Specifications Management Specifications
WS-ManagementWS-Management
WS-ResourceTransferWS-ResourceTransfer
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”
OrchestrationOrchestration
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.
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
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