confidential deep dive: a soa application, end-to-end deep dive: a soa application, end-to-end

107
CONFIDENTIAL Deep Dive: A SOA Application, End-to-End

Upload: precious-wain

Post on 16-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

CONFIDENTIAL

Deep Dive:A SOA Application, End-to-End

Page 2: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

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

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

2

Deep Dive - A SOA Application, End-to-End

Page 3: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Slides and Demo instructions

Presentation SlidesStep-by-Step Demo Instructions

Videos will be provided at:

www.avout.com

Page 4: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End What this presentation is *NOT*

What this presentation is *NOT*:Java/XML Tutorial

JDeveloper TutorialWebLogic TutorialInstallation Guide

Administration Guide

Page 5: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL5

According to neuroscientist Beau Lotto, the creation of all new perceptions begins in the same way, with a single

question:

Deep Dive - A SOA Application, End-to-End Why?

"Why?"

"Why" is, in that sense, the most dangerous word in history. As soon as you ask that question, you open up the possibility of change. So asking "why" may be the hardest

thing for people to do.

Page 6: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL6

Introduction

Page 7: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL7

SOA is *NOT* PowerPoint-Friendly

Deep Dive - A SOA Application, End-to-End SOA is *NOT* PowerPoint-Friendly

Page 8: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL8

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

Deep Dive - A SOA Application, End-to-End Why?

Page 9: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Why SOA?

Why SOA?

Page 10: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End 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 11: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End 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 12: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End 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 13: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Basic SOA Design Principles

Basic SOA Design Principles:1. Service contract – Services adhere to a communications

agreement as defined collectively by one or more service description documents

2. Loose coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other

3. Abstraction – Beyond descriptions in the service contract, services hide logic from the outside world

4. Autonomy – Services have control over the logic they encapsulate

See “Service-Oriented Architecture” by Thomas Erl

Page 14: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Basic SOA Design Principles

Basic SOA Design Principles (Continued):5. Reusability – Logic is divided into services with the intention of

promoting reuse6. Statelessness – Services minimize resource consumption by

deferring the management of state information when necessary 7. Composability – Services are effective composition participants,

regardless of the size and complexity of the composition8. Discoverability – Services are supplemented with communicative

meta data by which they can be effectively discovered and interpreted

See “Service-Oriented Architecture” by Thomas Erl

Page 15: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services and Composite Applications

Web Services – a black box of functionality

Composite Applications – like a jigsaw puzzle of web services

Page 16: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Service Definition

Service:

Something useful a provider does for a consumer

Page 17: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Service Elements

Service ElementsElement Description Restaurant Example*Contract Specifies what

consumers can expect from the service

Quality, price, availability, order time, etc.

Interface How you can use & access the service

Waitress, languages on menu, etc.

Implementation The realization of the service

Chef's name, what tools he/she uses, etc.

*SOA Made Simple - Dikmans

Page 18: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Technology Stack

Technology Stack

Page 19: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Technology Stack

End-User: Chrome Browser

Middleware: Oracle WebLogic w/SOA Server, BAM Server, OSB

Data Source: Oracle Database

Page 20: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Domain

Deep Dive - A SOA Application, End-to-End Weblogic Architecture

Admin Server Managed Server

Managed Server

Page 21: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

SOA_Domain

Deep Dive - A SOA Application, End-to-End Weblogic Architecture

Admin Server SOA_Server

BAM_Server

OSB_Server

Page 22: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Oracle JDeveloper Versions

Oracle JDeveloper (April 2014)12.1.2.0.011.1.2.411.1.1.7.111.1.1.711.1.1.6

Latest & Greatest – BUT No SOA

ADF Mobile – BUT No SOA

Cloud – BUT No SOA

BINGO – This is what we want!

Cloud – No Local Deployment

Page 23: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Why JDeveloper?

Why Oracle JDeveloper?1) Tools (Editors, Wizards, Frameworks)2) Integration

A. DatabaseB. WebLogicC. Development Tools (Maven, Ant, Source

Control, etc.)3) Updates4) Cost

Page 24: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Why JDeveloper?

Other Java IDEs:1) Eclipse2) IntelliJ3) NetBeans4) JCreator

Page 25: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services

Why do Web Services exist?

Page 26: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services

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

Technology that enables distributed computing: Web Services

Page 27: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services

• Uses XML to exchange info with other software using common protocols

• Encapsulates a specific task

• Self-describing• Discoverable

Page 28: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services

Competing technologies:1) CORBA 2) DCOM 3) 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

Page 29: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services

Web Services Wrapper (XML that describes how to call the “Code that does something”):

Code that does something(can be virtually any language)

Page 30: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services: Design

Top-down or bottom up?

Top-down steps:1) Identify business services2) Identify information services3) Identify technical services

Risk: Services might be too abstract

Page 31: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services: Design

Top-down or bottom up?

Bottom-up steps:1) Identify existing IT assets2) Derive services from existing pieces

Risk: Lots of customization

Page 32: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services: Design

Service design steps: 1) Define functionality 2) Design interface (think PL/SQL

Package specification)3) Design contract 4) Design implementation

Page 33: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services: Design

Granularity – Should their be one on-boarding service or a service for each step?

How granular should a release be? 1) Big enough to provide value on its own 2) Small enough that to change it wouldn't affect the

entire IT Landscape 3) Derived from functionality 4) Hand-in-hand w/transaction boundaries; there is no

one correct granularity

Page 34: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services: SOAP v REST

2 types of web services:

1) SOAP - uses WS-* standards; interface describes:a) available operations b) input/output c) technology binding

SOAP returns XML

Page 35: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Web Services: SOAP v REST

2 types of web services:

2) REST - formal model based on resources: a) send a request b) returned resource shows options for next step(s)

REST relies on get/put/post/delete (look familiar?)REST can return HTML, XML, JSON, etc.

Page 36: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Composite Applications Revisited

Web Services – a black box of functionality

Composite applications – like a jigsaw puzzle of web services

Page 37: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End (Absurdly Simple) Web Service Creation Demo

(Absurdly Simple)Web Service Creation with

JDeveloper Demo

Page 38: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Composite Applications Revisited

An SOA composite is an assembly of:1) Services2) Service Components3) References

Page 39: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

Why is XML (and XSDs and WSDLs) everywhere?

(or the Nurses and Needles analogy)

Page 40: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

6,000 human languages

8,000 computer languages

How are programs supposed to interact with other programs?

Page 41: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

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 42: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

Fully qualified XML element:1) Local name2) Namespace (think package name in

PL/SQL or schema name in SQL)

Page 43: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

For SOA, XML is used for:1) Service definitions2) The data structure of messages3) Configuration of the run-time infrastructure4) Contents of messages5) SOAP envelope that wraps the message

Page 44: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

Page 45: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

All modern languages have XML operations for:1) Parsing2) Data Binding3) Validating4) Querying5) Transforming

Page 46: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

Page 47: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

Well-formed XML Document has:1) Single root element2) Tree structure3) Text content4) Attributes

Page 48: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

XSD – data-modeling language for describing the structure of XML documents

When XML is sent to a Web Service, the XSD is referenced through the WSDL

XSDs specify:1) Structure2) Types3) Rules/Constraints

Page 49: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

What’s a WSDL?

XML file that defines:1) Interface for:

A. Web ServicesB. Java InterfacesC. Database APIsD. RESTful Services

2) Implementation location

Page 50: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

WSDL structure

portType1) Named set of abstract operations2) Abstract messages

A. InputB. OutputC. Fault

Page 51: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

WSDL structure

bindingSpecifies the specific operations in the service are callable via specific protocol and data formatProtocols include: SOAP, HTTP, MIME, JCA, et al.

Page 52: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

WSDL structure

serviceAssigns physical address details to each of the binding elements

Page 53: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML, XSD and WSDL

WSDL files

Can be generated by SOA Suite design-time environment

Page 54: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End XML File Demo

Demo:“Walking Through”

XML files

Page 55: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End 10,000 Foot Perspective

Time to step back and gain some

perspective

Canonical form, data that has been canonicalized into a completely unique representation, from a previous form that had more than one possible representation

Page 56: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Oracle SOA Components

Oracle SOA Components:1) Mediators2) Adapters3) BPEL4) Human Tasks5) Business Rules6) Service Bus*7) Business Activity Monitoring*8) Event Delivery Network*9) Governance*

Page 57: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

SCA Wrapper

Deep Dive - A SOA Application, End-to-End Service Component Architecture

Service Component Architecture (SCA):1) Every service component publishes its own

contract

Any Composite Element

Web Services Wrapper (XML that describes how to call the “Code that does something”):

Code that does something(can be virtually any language)

Page 58: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Service Component Architecture

Service Component Architecture (SCA):2) Services are assembled into a composite

application that addresses a particular set of business requirements

Page 59: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Service Component Architecture

Service Component Architecture (SCA):3) Service components can include:

A. BPELB. JavaC. Rule EngineD. Worklflow engineE. Other SCA-based composite applications

Page 60: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Service Component Architecture

Service Component Architecture (SCA):3) Developers specify functional link

4) SCA container facilitates communication5) Loosely-coupled

Page 61: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Service Component Architecture: 5 Basic Parts

5 Basic SCA Parts:1) Composite: deployment unit 2) Component: provides logic to accomplish a task 3) Service: entry-point into component 4) Reference: refers to external services outside the

component 5) Wire: connects services, components and references

and shows dependencies, but not flow of control

Page 62: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Composite Applications Revisited

Composite Applications with JDeveloper:

1) SCA-Compliant2) Service components

wired via WSDL contracts3) Invoked by sending XML

message to a URL

Page 63: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Composite Applications Revisited

Composite Applications:4) SOA Suite:

A. MediatorsB. AdaptersC. BPEL/BPMND. Human TasksE. Business Rules

Page 64: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Composite Applications Revisited

What actually makes up a Composite Application?1) WSDL/XSD – describes interfaces & service

components2) Programs referenced by BPEL3) Files that describe wiring between SCA components4) Definitions for how XML is transformed between

components5) Adapter configuration details

Page 65: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Mediator

Mediator:

In charge of interconnecting, within an SOA composite application, components that expose different interfaces. The Mediator can also perform duties such as filtering and making routing decisions.

Page 66: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Adapters

Features of Adapters:• Support for open standards• Uses native APIs• Facilitates real-time and bidirectional connectivity• Supports real-time event notifications• Provides easy-to-use design-time tools that use a

GUI to configure and administer adapters

Page 67: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Adapters

What adapters come with Oracle SOA Suite?1) Databases (see next slide)2) File system3) FTP4) JMS5) Applications (next slide)6) B2B

Page 68: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Adapters

Page 69: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Mediator Demo

Mediator/Database Adapter Web Service Creation with

JDeveloper Demo

Page 70: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End BPEL

BPEL:1) Invokes Web Services2) Performs Process Logic3) Handles Faults4) Coordinates Transactions5) Deals with Events and Timeouts

Page 71: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Why BPEL?

Why BPEL?1) Separates business process definition from implementation 2) Designed for long-running processes 3) Support for synchronous and asynchronous interaction 4) Fault handling and compensating transactions 5) Extensible language (vendors can expand)6) Support for parallel flows and conditional branching7) Uses Open Standards

Page 72: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Why BPEL?

BPELTop-level XML element: processBPEL elements: activitiesCalled Web Services: partnerlink activityCalling the Partnerlink: invoke activityWeb service calling the BPEL process: receive activitySetting variable values: assign activityBranching logic: switch activityParallel execution: flow activityManaging faults: faulthandlers activity

Page 73: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End BPEL Demo

BPEL Creation with JDeveloper Demo

Page 74: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Human Tasks

Human Tasks:1) Human Workflow Service - responsible for all

aspects of executing a workflow consisting of one or more human tasks

2) Worklist Application - provides a web-based user interface for working with the tasks created as part of the human workflow

Page 75: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Human Tasks Steps

Typical Human Task Steps:1) Create Human Task Definition in Human Task

Editor 2) Associate Human Task Definition with BPEL

process 3) Generate the Task Form

Page 76: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Human Tasks Vocabulary

Human Tasks Vocabulary:Participant: user or set of users in the assignment and

routing policy definition represented with a people icon Participant Types:

Users: agents that can be assigned tasksGroups: collection of individual users who can claim and act upon a task

Task: work that must be done by a user

Page 77: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Human Tasks Vocabulary

Human Tasks Vocabulary:Routing types:1. Single: simple case where a participant maps to a single user or

group2. Parallel: a set of people must work in parallel as is commonly used

for voting3. Serial: a set of users must work in sequence4. FYI (For Your Information): participant just receives a notification

task and the business process does not wait for the participant's response

Page 78: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Human Task Demo

Human Task Creation with JDeveloper Demo

Page 79: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Task Form Demo

Task Form Creation with JDeveloper Demo

Page 80: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Rules Engine

Why is there a rules

engine?

Page 81: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End 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 82: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Rules Engine

Business Rules Code-Based RulesDeclarative Buried in Application Code

Business Owners can understand and access

Business Owners modifying code? Fuhgettaboutit!

Less layers between application and Business Owners

Many layers between Application and Business Owners: developers, testers, etc.

Page 83: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Rules Engine

Typical enhancement request with a rules engine:

1) User identifies need(s)

2) Business analyst makes change in rules engine

Page 84: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Rules Vocabulary

Rules Vocabulary:Rule – externalizes business logic so it can be changed

without reimplementing or redeploying the applicationFact – objects that Rules work on

Uses Rule Language (RL) to define facts based on XML Schema, Java classes, RL definitions and ADF Business Component view objects

Page 85: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Rules Vocabulary

Rules Vocabulary:Bucketset - defines a list of values or a range of values of

a specified type to allow for a user friendly referenceSpecifies constraints on the values associated with fact properties in rules or in decision tables

Ruleset - container for rules and decision tablesDictionary - a container for facts, functions, globals,

bucketsets, links, decision functions, and rulesets

Page 86: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Rules Engine

Where can I use a Business Rule?

1. Within a SOA composite and wired to a BPEL component

2. Within a SOA composite and used directly to run business rules

3. For dynamic routing in Mediator 4. For advanced routing rules in Human

Workflow

Page 87: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Business Rule Demo

Business Rule Creation with JDeveloper Demo

Page 88: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Enterprise Service Bus

Why does the Service Bus exist?

Page 89: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Enterprise 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 90: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Enterprise Service Bus

Communications Nerve CenterMessaging Services:

Point-to-pointP2P request / responseBroadcastBroadcast request / responsePublish/subscribeStore and forward

Page 91: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Enterprise Service Bus

Services: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 92: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Enterprise Service Bus

Communications Nerve CenterServices:

MetadataSecurity

AuthenticationAuthorizationPrivacyIntegrityAuditing

Service Abstraction

Page 93: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Enterprise 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 94: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Enterprise Service Bus

Core functionality:Process choreography

Service orchestration

Complex event processingOther quality of service

Management

implementation of complex business processes

coordination of multiple implementation services exposed as a single, aggregate serviceevent-interpretation, correlation, pattern-matchingsecurity (encryption and signing), reliable delivery, transaction management

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

Page 95: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End The Enterprise Service Bus

Core functionality:VETRO

ValidateEnrich (Invoke a web service, query a DB,

etc)Transform (XQuery)RouteOperate (Primary function – deliver the

message)

Page 96: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Service Bus Demo

Oracle Service Bus Demo

Page 97: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Business Activity Monitoring

Business Activity Monitoring (BAM):

Enables process visualization by providing: 1) Real time visibility into Key Performance

Indicators(KPI) of the process through 2) Real time dashboards and alerts

Page 98: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Oracle BAM: Two Main Components

Oracle BAM: Two Main Components1. BAM Server: Processes, analyzes, and provides

reporting capabilities2. BAM web application: Provides a rich user

interface for a variety of functions, depending on the user's role and includes dashboards, reports creation, data objects management, and BAM server administration

Page 99: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Oracle BAM Server Components

BAM Server Components:• Active Data Cache (ADC)

• SOA Composites• Web service clients• Oracle Enterprise Manager• Oracle Service Bus proxy services • Oracle Data Integrator• JMS

• Report Cache• Report Server• Event Engine

Page 100: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Oracle BAM – Web Application

BAM Web Application:Active Viewer - provides dashboards for visualizing reportsActive Studio - used to create and manage report definitions and layout and provides a rich set of data visualization objects for creating active, real-time reportsBAM Architect - used to create and manage data objects used for reportingBAM Administrator - provides administration functions:

• Creating and managing data source definitions• Managing ownerships of data objects, reports, alerts

Page 101: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Business Activity Monitoring Demo

Oracle BAM Demo

Page 102: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Event Delivery Network

Event Delivery Network (EDN):

Provides a declarative way to use a publish/subscribe model to generate and consume business events without worrying about the underlying message infrastructure

Page 103: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Event Delivery Network

Event Delivery Network (EDN):

Developers only need to produce events without having to deal with any particular messaging API by “advertising”

Consuming an event means expressing an interest in the occurrence of a specific situation

Page 104: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL

Deep Dive - A SOA Application, End-to-End Questions?

Page 105: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL105

Avout:http://www.Avout.com

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

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

Author’s Email:[email protected]

Page 106: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL106

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

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

Page 107: CONFIDENTIAL Deep Dive: A SOA Application, End-to-End Deep Dive: A SOA Application, End-to-End

AVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIALAVOUT”S ORACLE LICENSE AS A SERVICESM CONFIDENTIAL107