Upload
chris-ostrowski
View
117
Download
0
Tags:
Embed Size (px)
Citation preview
The "Whys" of Oracle SOA
Chris OstrowskiFujitsu America, Inc.
The "Whys" of Oracle SOAAuthor’s Websites
Company Website:http://www.fujitsu.com
Author’s Website:http://fourthmonth.wordpress.com/
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
The "Whys" of Oracle SOA Introduction
Introduction
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
The "Whys" of Oracle SOA Why SOA?
Why SOA?
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)
The "Whys" of Oracle SOA Why SOA?
Web Services – a black box of functionality
Composite applications – like a jigsaw puzzle of web services
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
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!
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
The "Whys" of Oracle SOA Web Services
Why do Web Services exist?
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
The "Whys" of Oracle SOA Web Services
Uses XML to exchange info with other software using common protocols
Encapsulates a specific taskUses XMLSelf-describingDiscoverable
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
The "Whys" of Oracle SOA The Service Bus
Why does the Service Bus exist?
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
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.
The "Whys" of Oracle SOA The Service Bus
Communications Nerve CenterServices:
MessagingPoint-to-pointPoint-to-point request/responseBroadcastBroadcast request/responsePublish/subscribeStore and forward
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
The "Whys" of Oracle SOA The Service Bus
Communications Nerve CenterServices:
MetadataSecurity
AuthenticationAuthorizationPrivacyIntegrityAuditing
Service Abstraction
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
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
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)
The "Whys" of Oracle SOA XML
•Why is XML everywhere?
The "Whys" of Oracle SOA XML
6,000 human languages8,000 computer languagesHow are programs supposed to interact
with other programs?
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
The "Whys" of Oracle SOA The Rules Engine
Why is there a rules engine?
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
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
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”.
The "Whys" of Oracle SOA The Cloud
•Why is everyone talking about the “cloud”?
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
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
The "Whys" of Oracle SOA Questions?
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]
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..