Web Services - yimg.com

insidiousbehaviorSecurity

Nov 3, 2013 (3 years and 10 months ago)

83 views

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




Business

logic


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 …)

UDDI

Registry

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 does


How the service is accessed


Where 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

WSIL

browser

Web service

Service

implementation

Interface

(WSDL)

Internet

Send response

(SOAP)

Web service

client application

Web services

directory

Register
(UDDI)

Find

(UDDI)

1

2

3

4

5

Locate

Find

Generate

WSDL

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 service

client development

Web service

development


Web service

client

Web service

implementation

WSDL
-
to
-
Java

WSDL
-
to
-
Java

WSDL

XSD schemas

Generate Java

artifacts

Generate Java

artifacts

1

2

2

1

Bottom
-
up Approach

Web service

client development

Web service

development


Web service

client

Java class/EJB

Java
-
to
-
WSDL

WSDL

Generate Java

artifacts

1

2

1

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)


Web Services
Support

2002

2004

2003

2006

2005

BPEL Process
Manager

J2EE 1.4 Standard
Web Services

WSDL, UDDI, Development
Tools, Expanded Web Services
Platform

Service

Registry

Web Services
Manager, BAM

BPA

Suite

2007

Oracle

Data

Integrator

Stellent Doc
Mgmt, Image
Proc

Tangosol



2008

WebLogic

ALSB

Repository

ALBPM

Event Server

With each new release:


Extend Capabilities


Further Integrate

SOA 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 Services

Directory (UDDI)

Web Services

Provider

Web Services

Consumer

Web

Services

Publish

(WSDL)

Secure

Manage

Access

(SOAP/HTTP)

Locate

(UDDI)

Service
-
Oriented Architecture

W

S

D

L

SOAP

Service

Consumer

Service

Provider

http://hostname/service.wsdl

<xml> data </xml>

Service

Registry

UDDI

Find

Publish

Service
-
Oriented Architecture

Web

Service

#1

Web

Service

#4

Web

Service

#2

Web

Service

#3

Service
-
Oriented Architecture

Web

Service

#1

Web

Service

#4

Web

Service

#2

Web

Service

#3

Enterprise Service Bus

Service
-
Oriented Architecture

Web

Service

#1

Web

Service

#4

Web

Service

#2

Web

Service

#3

Enterprise Service Bus

Business Process Orchestration

J2EE Application Server

(Oracle AS, JBoss, WebLogic, WebSphere)

Messaging



Apps

Adapters


B2B



Partners

DB

Legacy

CONNECTIVITY





Routing

Transform

Data

Quality

ETL &

Replication

Data Integrator

ESB

Mediation

ROUTING & DATA SERVICES



Native

BPEL

Business

Rules

Human

Workflow

BPEL Process Manager

ORCHESTRATION

GOVERNANCE



UDDI



Discovery

Policies



WS Policies

Security

Web Services
Manager

Registry



System

Monitoring

Enterprise
Manager



Events

Business Monitoring

BAM



Business

Intelligence

Analytics

MANAGEMENT

&

MONITORING



Application

Development

Framework



Analyst

Tools

BPA

Suite

JDeveloper

SOA Architecture

SOA Components


BPEL


ESB


BAM


BPA


Business Rules


BI


WSM



BAM

OWSM

ESB

ADAPTERS






Routing

Transformation

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
MANAGE
DEHYDRATE
J2EE Application Server
(WebLogic, Oracle AS, JBoss, WebSphere)
Core BPEL Engine
WSDL Binding
Built
-
in Integration Services
JCA
Web Service
JMS
Email
XQuery
XSLT
User
Tasks
BPEL
Eclipse, JDeveloper
BPEL Designer
ORACLE DB
BPEL Process Manager
BPELJ
Oracle ESB

Adapters

Jdeveloper
10
G

ADF
10
G


Developing Orchestrations

S
e
r
v
i
c
e
s

<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>

Loan Service

(Orchestration)


Credit

Validation

Service

Loan

Service 1

Loan

Service 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 Demo

Focus on OSB, Rules, Workflow, BPEL

SHOPPING PORTAL

Web Services Interface: XML, SOAP, WSDL, WSIF

EJB
3.0

Customer service

Product

Suppliers

Order DB

Approval

(Rich Workflow)


Notification

Service

Order Booking BPEL PROCESS

receive

Insert Order

end

getCustInfo

SelectMfr

RapidMfr

5
-
15
min

invoke

receive

invoke

receive

Manual

Review

?

Fulfill Order

Notify Cust

OSB

Rules

Engine

Rule Author

Rules

repository

Decision

Service

FedEx

USPS

OSB

Operational dashboard

BAM

Standards & Specifications


Development Tools


Use Cases …(Real Time)



GE Real Estate


Wells Fargo


StateStreet Bank


Sun


Motorola

L2 (LCOM) R12

L
3
(iSC)

11
.i.
10

Use Case 1


Direct Ship (Step One)

Business
Event

Sales Order is created in L
2
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

ABC
S

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

Sales
Order
EBO

E
B
M

E
B
S

E
B
M

E
B
S

Q U E S T I O N S

A 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