Oracle SOA Introduction

Post on 11-Jan-2017

44 views 4 download

Transcript of Oracle SOA Introduction

SOA in a Nutshell!

Abhilash Juluri

Introduction SOA Foundation Standards Service Component Architecture (SCA) SOA Infrastructure BPEL BPM Service Bus Phases of a SOA Project

Topics

Web discoverable application components Foundation standards:

Web Services

Foundation Standards

Find-Bind-Invoke paradigm

Simple WS flow

- Business Agility through Decoupling- Adaptability- Business Driven IT enablement- Composition of Services- Architecture style

SERVICE ORIENTED ARCHITECTURE (SOA)

Requirements Interpretation

Close the gap between business and IT Loose coupling Agility DT @ RT – Design Time at Runtime Natively Interoperable with heterogeneous systems Cross-platform support through open WS standards Reliable Secure Scalable Vendor independent

Why SOA

SOA Infrastructure

SOA Reference Architecture

Business Process Execution Language, BPEL, is an executable modeling language. Through XML it enables code generation.

Comparison

Traditional Approach BPEL ApproachHard-coded decision logic Externalized decision logicDesigned by IT Modeled by business analystsDeveloped by IT Developed by ITMaintained by IT Maintained by policy managersManaged by IT Managed by ITDependent upon custom logs Automatic logs and process

captureHard to modify and reuse Easy to modify and reuse

Intrinsic Characteristics of Services• SOA is all about Services• Services are building blocks to SOA solutionServices should be:• Granular – Finding balance between coarse

grained and fine grained service• Atomic – atomic to service-consumer• Idempotent – have no side affects

• raiseSalaryByX Vs. setSalaryAtX()• Stateless – Less footprints to promote repeated

reuse• Event aware• Bound to Service Level Agreement (SLA)

Granular Idempotent

Atomic Stateless

Technical/Utility Services◦ Exception Handling, Transformations, Logging, Address

Checker, Emailer, SNMP Traps Elementary Services

◦ For claims – Matching, Pricing, Eligibilities Business Services

◦ Caters the business needs like - Process a claim- Adjust a claim- Retrieve claims history of a subscriber

◦ Composed of one or more Elementary services or Utility services

◦ Business process are exposed as a service◦ Examples: Claim Engine, Billing, Provider, SMS

Service Types

SOAP & WSDL◦ SOAP & WSDL interactions are strongly typed◦ Consumer knows what to expect from a service

WS-*

RESTful Services◦ REST seems primarily useful for data integration

between web clients and servers, not so much for enterprise SOA

Standards in SOA

WS-Addressing WS-Policy WS-Security WS-SecureConversation WS-Trust WS-ReliableMessaging WS-Coordination WS-AtomicTransaction Etc…

WS Standards

Collectively referred as WS-*

Service Component Architecture (SCA) ◦ Set of specifications to model applications using Service-

Oriented Architecture

UDDI Directory, Enterprise Repository, Registry (YellowPages for webservices)◦ Dynamic lookups of services to promote reuse

Specifications per different industry verticals ◦ Healthcare uses HL7 for message formats◦ Financials use XBRL for financial reporting◦ E-commerce (B2B) uses EDI, ebXML, RosettaNet, etc…

Cont…

REST SOAP

Makes data available as a resources. E.g. AccountInformation, Invoice

Makes application logic available as a servies. E.g. getAccountInformation, PayInvoice

It’s an architectural style. No strict contract between client and server.

It’s a protocol.

REST Vs. SOAP

REST SOAP

It uses standard HTTP. Easy to implement.

Works on top of any communication protocol.

Returns data in many different formats (JSON, XML, etc.)

It can be fully described using WSDL.

Better performance and scalability. Reads can be cached.

Provides end-to-end reliability and successful/retry logic is built in.

REST allows better support for browser clients due to its support for JSON.

Security and authorization are part of the protocol.

Advantages

REST SOAP

Only works on top of HTTP protocol.Hard to implement and not so popular among web and mobile developers.

No built-in standards for security or reliability. Permits XML data format only.

No constraints on the payload. SOAP defines standards to be strictly followed.

     Requires more bandwidth and resource than REST.

Disadvantages

REST SOAP

When your bandwidth is very limited. When performing transactions that involve multiple calls.

When client and server operates on a web environment.

When you want to enforce a strict contract between client and server

Examples: Social Media Service, Web chat service Examples: Financial services, telecommunication services

When to Use What

A programming model Basic building block for SCA is a component Component abstracts business logic

SCA

A deployable unit – a business solution Consists of components, services,

references and wires that connect them Composite can be viewed as component

from integration point of view.

SCA Component

Open Standard to orchestrate discrete services into an end-to-end process flow

Specs driven by OASIS (oasis-open.org) Follows SCA programming model Scopes, Fault Handling, Compensation

Handlers, Correlation sets Sync/Async, JCA Adapters, Activities, Events Integrates with Rules, Human Workflows,

SOA Governance

Business Process Execution Language (BPEL)

Business strategy implementation Graphical representation called as Business

Process Model Business Process Modeling Notation (BPMN) BPM Life Cycle:

Business Process Management (BPM)

LOB – Line of Balance

A business perspective - Viewing a business as a set of processes that can be explicitly defined, optimized, and managed

A technical (and SOA-oriented) perspective – Development using software designed for implementing, executing, and monitoring process logic

BPM/BPEL Perspectives

Endpoint virtualization Content based Routing Transformations Validation Auditing Messaging Synchronous/Asynchronous adaptation Composition

Service Bus

Point to Point Integration

Point to Point Integration Vs ESB

Centralized library for security policies

Security enforcement, Validation rules are externalized

Improved visibility for the services

Design Time @ Runtime support

Leverages Application Server infrastructure like WebLogic, JBoss

And of course, Decoupling

Complex message flows can be composed using these decoupled services in very short time

REST-ful WS support

SOA Advantages

Dynamic nature of markets requires RAD and reduce time-to-market

Identify Business Processes based on business areas

Top-Down approach◦ Business Strategy translated into SOA app(s)

Bottom-Up approach◦ Strategy driven, but existing apps are composed as SOA

apps◦ Keeping Security, Management as centralized as possible

SOA Readiness

Select Application

The Path to a Successful SOA Project

BuildServicePortfolio

ServiceBus

BusinessProcess

UserInterface

Dashboard

Security

Scalability

ServicePerformance

Response

Under normal conditions - update of an entity in the persistent storage <0.5

Second

Latency

Under normal or stress conditions, critical alert generated by the system will be displayed in less

than 1 seconds (for generation)

Data Loss

under all conditions, a message acknowledged

by the system will not be lost

Availability

Hardware Issues

Under all conditions, when a server crash, the

system will resume operation in less than 30

seconds

Usability

Compliance

The system should comply with maritime data standards (e.g. Mercator projection)

Operability

The system should handle user request without impeding the user's ability to continue

controlling the system (e.g. initiate additional

requests)

Security

Unauthorized users

under normal conditions and connectivity the

system should alert an unauthorized login attempt (intrusion)

within 1 minute

Adaptability

More Users

When additional users need access to the

system, add new /more hardware (to support

load) under 4 man weeks

SLA Attributes