37
The "Whys" of Oracle SOA Chris Ostrowski Fujitsu America, Inc.

The Whys of Oracle SOA V2

Embed Size (px)

Citation preview

Page 1: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA

Chris OstrowskiFujitsu America, Inc.

Page 2: The Whys of Oracle SOA V2

The "Whys" of Oracle SOAAuthor’s Websites

Company Website:http://www.fujitsu.com

Author’s Website:http://fourthmonth.wordpress.com/

Page 3: The Whys of Oracle SOA V2

The "Whys" of Oracle SOATopics

Topics discussed:– Introduction– Why SOA?

• A brief history of n-tier architecture

– Why do Web Services exist?– Why does the Service Bus exist?– Why is XML everywhere?– Why is there a rules engine?– Why is everyone talking about the “cloud”?– Summary

Page 4: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Introduction

Introduction

Page 5: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Introduction

Why ask why?• You already know the “What?” and the

“Who?”• Google is great for the “How?”• Answering the question: “Why?” - tough•With SOA, a *lot* of “Whys?” will have to

be answered

Page 6: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Why SOA?

Why SOA?

Page 7: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Why SOA?

Brief history of n-tier architecturePhase 1: Server <-> Dumb TerminalPhase 2: Server <-> PC (Client/Server)Phase 3: Server <-> Web Server <-> Client (n-

tier architecture)Phase 4: Distributed computing (here’s where

SOA comes in)

Page 8: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Why SOA?

Web Services – a black box of functionality

Composite applications – like a jigsaw puzzle of web services

Page 9: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Why SOA?

Companies need to be agile

Systems need to be agile

Systems need to support the business

SOA is a philosophy, not a product

Page 10: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Why SOA?

Functionality “exposed” through web services

How to manage and monitor exposed services?

How to integrate internal and external services into applications?

How can code and functionality be re-used?

SOA!

Page 11: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Why SOA?

Example: Retailer does credit checks on large vendors and wants to use that functionality for customers. Instead of re-inventing the wheel (and having multiple credit-check code procedures to maintain), credit check procedure is exposed as a web service – credit checks against vendors in one program and credit checks against individuals in another program use same code base to handle approval process

Page 12: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Web Services

Why do Web Services exist?

Page 13: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Web Services

Technology that enabled the internet as we know it: TCP/IP

Technology that enables distributed computing: Web Services

Page 14: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Web Services

Uses XML to exchange info with other software using common protocols

Encapsulates a specific taskUses XMLSelf-describingDiscoverable

Page 15: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Web Services

Competing technologies:CORBADCOMRMI

Key differentiators: Web Services work over HTTP – eliminates many firewall issuesLingua franca: XMLComposite apps can use web services developed on any platform in any language

Page 16: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Service Bus

Why does the Service Bus exist?

Page 17: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Service Bus

SOA and web services are based on “messages”

Web Services are de-coupledESB provides a common framework to

handle Web Services messages without forcing them to be coupled

The ESB hides details in proxies

Page 18: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Service Bus

Example: Hospital uses a program that uses a web service to interact with insurance company “X”. “X” gets bought by “Y” who has their own web service. Instead of writing a new program for “Y”, web service in ESB can be modified for “Y” without changing client application.

Page 19: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Service Bus

Communications Nerve CenterServices:

MessagingPoint-to-pointPoint-to-point request/responseBroadcastBroadcast request/responsePublish/subscribeStore and forward

Page 20: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Service Bus

Communications Nerve CenterServices:

ManagementInterface

Adapters - ESB routes message to an app and has to transform message into a format that the app can interpret. A software “adapter” fulfills this taskMediation

Service Broker – facilitates interaction between partners

Page 21: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Service Bus

Communications Nerve CenterServices:

MetadataSecurity

AuthenticationAuthorizationPrivacyIntegrityAuditing

Service Abstraction

Page 22: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Service Bus

Core functionality:Invocation support for synchronous and asynchronous

transport protocols, service mapping (locating and binding)

Routing addressability, static/deterministic routing, content-based routing, rules-based routing, policy-based routing

Mediation adapters, protocol transformation, service mapping

Messaging message-processing, message transformation and message enhancement

Page 23: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Service Bus

Core functionality:Process choreography implementation of complex

business processesService orchestration coordination of multiple

implementation services exposed as a single, aggregate service

Complex event processing event-interpretation, correlation, pattern-matching

Other quality of service security (encryption and signing), reliable delivery, transaction management

Management monitoring, audit, logging, metering, admin console, BAM

Page 24: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Service Bus

Core functionality:VETRO

ValidateEnrich (Invoke a web service, query a DB, etc)Transform (XQuery)RouteOperate (Primary function – deliver the message)

Page 25: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA XML

•Why is XML everywhere?

Page 26: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA XML

6,000 human languages8,000 computer languagesHow are programs supposed to interact

with other programs?

Page 27: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA XML

Standard needed that’s extensibleXML describes data itself, not just how

to display itSource program not only sends data, but

also sends “what” it’s sending

Page 28: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Rules Engine

Why is there a rules engine?

Page 29: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Rules Engine

Typical enhancement request:1) User identifies need(s)2) Business analyst outlines change3) Developer must locate change and implement4) Unit test for validity5) Integration test6) System Test7) Regression test8) Acceptance test9) Deployment

Page 30: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Rules Engine

Typical enhancement request with a rules engine:

1) User identifies need(s)2) Business analyst makes change in

rules engine

Page 31: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Rules Engine

Example: Retailer grants $500,000 in credit to large vendors. In Q4 (anticipating greater volume for holiday season), retailer temporarily grants $750,000 in credit to large vendors. With rules engine, business analyst can make change “on-the-fly”.

Page 32: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Cloud

•Why is everyone talking about the “cloud”?

Page 33: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Cloud

Most developers/IT personnel do a lousy job estimating (even with years of experience)

Cloud technologies allow you to “spin up” additional hardware/computing power as it’s needed

Page 34: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA The Cloud

If SOA is in place, expanding capabilities of complex applications distributed amongst a (potentially) infinite number of servers is relatively simple

Redundancy and 24/7 access is more easily obtained

Page 35: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Questions?

Page 36: The Whys of Oracle SOA V2

The "Whys" of Oracle SOA Where to get more information

Fujitsu:http://www.fujitsu.com

Oracle documentation:http://docs.oracle.com

Author’s Website: http://fourthmonth.wordpress.com/

Author’s Email:[email protected]

Page 37: The Whys of Oracle SOA V2

Contact Information

Phone: (303) 908-5115http://www.fujitsu.com

Please report errors to author. Neither Fujitsu, Oracle or the author warrant that this document is error-free.Fujitsu © 2011. This document may not be copied or reproduced without the express written consent of Fujitsu America, Inc..