Вы находитесь на странице: 1из 37

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

The "Whys" of Oracle SOA


Authors Websites

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

Authors Website:
http://fourthmonth.wordpress.com/

The "Whys" of Oracle SOA


Topics

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 architecture Phase 1: Server <-> Dumb Terminal Phase 2: Server <-> PC (Client/Server) Phase 3: Server <-> Web Server <-> Client (ntier architecture) Phase 4: Distributed computing (heres 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 reinventing 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 task Uses XML Self-describing Discoverable

The "Whys" of Oracle SOA


Web Services

Competing technologies: CORBA DCOM RMI


Key differentiators: Web Services work over HTTP eliminates many firewall issues Lingua franca: XML Composite 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-coupled ESB 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 Center Services: Messaging Point-to-point Point-to-point request/response Broadcast Broadcast request/response Publish/subscribe Store and forward

The "Whys" of Oracle SOA


The Service Bus

Communications Nerve Center Services: Management Interface 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 task Mediation Service Broker facilitates interaction between partners

The "Whys" of Oracle SOA


The Service Bus

Communications Nerve Center Services: Metadata Security Authentication Authorization Privacy Integrity Auditing 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 processes Service 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


Validate Enrich (Invoke a web service, query a DB, etc) Transform (XQuery) Route Operate (Primary function deliver the message)

The "Whys" of Oracle SOA


XML

Why is XML everywhere?

The "Whys" of Oracle SOA


XML

6,000 human languages 8,000 computer languages How are programs supposed to interact with other programs?

The "Whys" of Oracle SOA


XML

Standard needed thats extensible XML describes data itself, not just how to display it Source program not only sends data, but also sends what its 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 change 3) Developer must locate change and implement 4) Unit test for validity 5) Integration test 6) System Test 7) Regression test 8) Acceptance test 9) 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 its 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 Authors Website: http://fourthmonth.wordpress.com/ Authors Email: chris.ostrowski@us.fujitsu.com

Contact Information

Phone: (303) 908-5115 http://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..

Вам также может понравиться