Web Services
Jan 14, 2016
Web Services
Business Operation running on Global Network
Agenda
Industry Challenges Web Services SOA Standards & Specifications Development Tools Summary Q&A
Industry Challenges
Legacy Systems and Applications
Upgrading/Modifying the existing code
Where is All This Headed?
Internet Phase 1
Communication Platform
Internet Phase 2
Information Platform
Internet Phase 3
Application Platform
• Person-to-Person
• e-mail, FTP, Gopher
• Person-to-Server
• Browser, HTML, HTTP
• Server-to-Server
• XML, SOAP, WSDL
Where is All This Headed? What is the Transactional Web
Today: “The Eye-Ball Web”The Architecture of the Web is geared towards
delivering information visually
Tomorrow: “The Transactional Web”The Architecture of the Web geared towards
intelligently exchanging information between applications
• We Are At The End Of The Pioneer Phase• Internal Web Services Are Deployed!• Commercial Web Services Are Emerging
•Key Standards WS-* Are Still Maturing•Toolkits are Maturing
Web Services Are Coming!
Web Services
What is Web Service?
WSDL SOAP UDDI
Architecture
What is Web Services?
“Loosely coupled software components that interact with one another dynamically via standard Internet technologies” – Gartner
“Automated connections between people, systems and applications that expose elements of business functionality as a software service and create new business value” – Forrester Research
What is Web Service?
Provides a unit of work as part of Business Process
Performs a Business function
Designed to support interoperable machine-to-machine interaction over a network
Communicates with clients through standard protocols and technologies, called Web services.
Web Service
HTML
XML
Database
Application server
HTTP client
Web
presentation
Businesslogic Web
service
Web Services Vs Web Applications
Web Services
• XML/SOAP
• Program-to-program interaction • Static or dynamic integration
• Re-usable service
Web Application
• HTML
• User-to-program interaction • Static integration of components
• Single use service
Conceptual Diagram
Service Requestor Service Provider
Service Registry
Service Service Desc
Service Desc
Publish Find
Bind
Web Services Technologies
WSDL
Web Service Client
(J2EE, .NET, PL/SQL ….)
Web Service(J2EE, PL/SQL,.NET, C/C++,
Legacy …)
UDDIRegistry
SOAP
Describes Service
Points to description
Finds Service
Points to service
Invokes with XML Messages
Web Service Standards
Web service standards can be defined in terms of the following:
Simple Object Access Protocol (SOAP) Web Services Description Language (WSDL) Universal Description, Discovery and Integration
(UDDI)
SOAP : XML Messaging for Web Services
SOAP : Is an XML- based protocol for exchanging data Represents requests and responses as XML messages Hides details of implementation Works with :
Any Programming Language Any Hardware and Software platform
Client
Request (SOAP)
Web service
Response (SOAP)
Web Services Description Language
A WSDL document is an XML
document that describes:What the service doesHow the service is accessedWhere the service is located
It defines the messages and the operations of a service abstractly in XML.
Types
Messages
Port types
Bindings
Services
WSDL document structure
WSDL document
UDDI Registry
The Universal Description, Discovery and Integration (UDDI) registry: Is an online electronic registry for registering
business and Web services Is a specification for description and discovery Supports Publishing and Inquiry APIs to publish and
query a Web service
Web Service Architecture
WSILbrowser
Web service
Serviceimplementation
Interface(WSDL)
Internet
Send response(SOAP)Web service
client application
Web servicesdirectory
Register (UDDI)
Find(UDDI)
123
4
5
LocateFind
GenerateWSDL
Web Service Development Approach
There are two approaches:
Top-down approach Generate the Web Service from an existing WSDL file. Server-side and Client-side development can be done simultaneously
Bottom-up approach Generate the Web Service by using the existing code It requires little or no knowledge of WSDL or XML
Top-down Approach
Web serviceclient development
Web servicedevelopment
Web service client
Web service implementation
WSDL-to-JavaWSDL-to-Java
WSDL
XSD schemas
Generate Java artifacts
Generate Java artifacts
1
22
1
Bottom-up Approach
Web serviceclient development
Web servicedevelopment
Web service clientJava class/EJB
Java-to-WSDL
WSDL Generate Java artifacts
1
21
2
WSDL-to-Java
SOA
Evolution SOA and Web Services Architecture SOA Components SOA Life Cycle SOA Governance SOA Security
Oracle SOA Evolution
Portlet Web Services (WSRP)Portlet Web
Services (WSRP)
Web Services Support
Web Services Support
2002 20042003 20062005
BPEL Process Manager
BPEL Process Manager
J2EE 1.4 Standard Web Services
J2EE 1.4 Standard Web Services
WSDL, UDDI, Development Tools, Expanded Web Services
Platform
WSDL, UDDI, Development Tools, Expanded Web Services
Platform
ServiceRegistry
ServiceRegistry
Web Services Manager, BAM
Web Services Manager, BAM
BPASuite
BPASuite
2007
OracleData
Integrator
OracleData
Integrator
Stellent Doc Mgmt, Image
Proc
Stellent Doc Mgmt, Image
Proc
TangosolTangosol
…2008
WebLogic
ALSB
Repository
ALBPM
Event Server
WebLogic
ALSB
Repository
ALBPM
Event ServerWith each new release:
•Extend Capabilities
•Further Integrate
SOA SuiteSOA Suite
SOA and Web Services
Web Service is the enabling technology for SOA value realization Key elements of a SOA include services, interfaces and
componentization all of which can be realized leveraging Web Services technologies
Standards based Cross platform Cross language Widely supported
Web ServicesDirectory (UDDI)
Web ServicesProvider
Web ServicesConsumer
WebServices
Publish(WSDL)
SecureManage
Access(SOAP/HTTP)
Locate(UDDI)
Service-Oriented Architecture
WSDL
WSDL
SOAPSOAP
ServiceConsumer
ServiceConsumer
ServiceProviderServiceProviderhttp://hostname/service.wsdl
<xml> data </xml>
ServiceRegistryServiceRegistry
UDDIUDDI
Find Publish
Service-Oriented Architecture
WebService
#1
WebService
#1
WebService
#4
WebService
#4
WebService
#2
WebService
#2
WebService
#3
WebService
#3
Service-Oriented Architecture
WebService
#1
WebService
#1
WebService
#4
WebService
#4
WebService
#2
WebService
#2
WebService
#3
WebService
#3
Enterprise Service Bus
Service-Oriented Architecture
WebService
#1
WebService
#1
WebService
#4
WebService
#4
WebService
#2
WebService
#2
WebService
#3
WebService
#3
Enterprise Service Bus
Business Process OrchestrationBusiness Process Orchestration
J2EE Application Server(Oracle AS, JBoss, WebLogic, WebSphere)Messaging
Apps
AdaptersAdapters B2B B2B
PartnersDB Legacy
CONNECTIVITY
Routing Transform DataQuality
ETL &Replication
Data IntegratorData IntegratorESBESB
Mediation
ROUTING & DATA SERVICES
NativeBPEL
Business Rules
Human Workflow
BPEL Process ManagerBPEL Process Manager
ORCHESTRATION GOVERNANCE
UDDI
DiscoveryPolicies
WS Policies
Security
Web Services Web Services ManagerManager
RegistryRegistry
System Monitoring
Enterprise Enterprise ManagerManager
EventsBusiness Monitoring
BAMBAM BusinessBusinessIntelligenceIntelligence
Analytics
MANAGEMENT&
MONITORING
ApplicationDevelopmentFramework
AnalystTools
BPABPASuiteSuite
JDeveloperJDeveloper
SOA Architecture
SOA Components
BPEL ESB BAM BPA Business Rules BI WSM
BAM OWSM ESBADAPTERS
RoutingTransformation
Messaging Rules
ESB
BPEL PM
SOA Life Cycle
Orchestrate
Manage
Secure
Monitor
Develop
Integrate
Oracle SOA Suite
Orchestrate
Integrate
Manage
Secure
Monitor
Develop
BAM
Web Services Manager
BPEL Process Manager
BPEL Console
MANAG
E
DEHYDRATE
J 2EE Application Server(WebLogic, Oracle AS, J Boss, WebSphere)
Core BPEL Engine
WSDL Binding Built-in Integration Services
J CA
Web Service
J MS
XQuery XSLT UserTasks
BPEL
Eclipse, J Developer
BPEL Designer
ORACLE DB
BPEL Process Manager
BPELJ
Oracle ESB
Adapters
Jdeveloper 10GADF 10G
Developing Orchestrations
Services
<process> <sequence> <receive … /> <invoke … /> </sequence></process>
<process> <sequence> <receive … /> <invoke … /> </sequence></process>
Design Tool
BPEL Process
Orchestration Engine
Process Designer
Publishes To
.NET
Java
Siebel
Executing Orchestrations
<process> <sequence> <receive … /> <invoke … /> </sequence></process>
<process> <sequence> <receive … /> <invoke … /> </sequence></process>
Loan Service(Orchestration)
Credit ValidationService
Loan Service 1
LoanService 2
You’re approved!
SOA Governance
Is an emerging discipline for control and management of SOA implementation
Provides guidelines for transition of IT systems from silos to integrated systems using SOA technology
Needs to be viewed from: A design-time perspective (business requirements, risks,
policies, standards) A run-time perspective (technology, monitoring, life cycle)
SOA Governance is the “ability” to ensure that efforts come together to meet enterprise requirements for SOA
Driven by business Executives Governed by policies and standards
Essence of SOA Governance
Governance with SOA addresses: WHAT decisions must be made for effective
management? WHO should make decisions and has input rights? HOW must the decisions be formed and enacted?
Policies (What)
Decisions (Who) Processes (How)
SOA Governance ..Final Note
Adhering to Standards Publishing and Identifying Services Monitoring and Tracking Services Creating and Enforcing Contracts & SLA Managing Services
SOA Security
Policy-Driven Security Identity Management Real-Time Monitoring Threat Awareness Standards Based
Order Booking SOA DemoFocus on OSB, Rules, Workflow, BPEL
SHOPPING PORTAL
Web
Serv
ices I
nte
rface:
XM
L,
SO
AP
, W
SD
L,
WS
IF
EJB 3.0Customer service
ProductSuppliers
Order DB
Approval(Rich Workflow)
NotificationService
Order Booking BPEL PROCESS
receive
Insert Order
end
getCustInfo
SelectMfr RapidMfr
5-15 min
invoke
receive
invoke
receive
ManualReview
?
Fulfill Order
Notify Cust
OSB
RulesEngine
Rule Author
Rulesrepository
DecisionService
FedExUSPS
OSB
Operational dashboard
BAM
Standards & Specifications
Development Tools
Use Cases …(Real Time)
GE Real Estate Wells Fargo StateStreet Bank Sun Motorola
L2 (LCOM) R12
L3 (iSC)
11.i.10
Use Case 1 – Direct Ship (Step One)
Business Event
Sales Order is created in L2 and Booked. Upon booking, an
event is raised.
Application Base Table
Application Base Table
Access Interface View to extract data
Transform from L2 to
EBS
ABCS
AIA 2.2
Transform to L3
Object
Insert into Interface
table
ABCS
Call concurrent program
Receive Business
Event
Oracle Applications Adapter is used for all access to E-Business Suite
SalesOrderEBO
EBM
EBS
EBM
EBS
Q&AQ U E S T I O N SQ U E S T I O N S
A N S W E R SA N S W E R S
XML
What is XML? XML Schema XPath XSLT
XML
eXtensible Markup Language It is a Markup Language much like HTML It is designed to carry data, not to display These are not predefined tags It is self descriptive W3C recommended