why do i care about soa?

19
Why do I care about SOA? Perspective from a service provider Keith Ball

Upload: kamana

Post on 06-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Why do I care about SOA?. Perspective from a service provider Keith Ball. What is this Session?. What it is Practical uses of architecture for a medium-sized service provider Solution patterns leveraging SOA What it isn’t not selling products or services - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Why do I care about SOA?

Why do I care about SOA?

Perspective from a service provider

Keith Ball

Page 2: Why do I care about SOA?

What is this Session?• What it is

• Practical uses of architecture for a medium-sized service provider

• Solution patterns leveraging SOA• What it isn’t

• not selling products or services• not a discussion of SOA standards:

web service’s or ESB or workflow/BPEL

Page 3: Why do I care about SOA?

Background many years architecture experience at

software companies and service providers Currently, architect for media operations

business medium scale business with large scale

infrastructure build out service infrastructure to support

operations sell infrastructure as part of solutions and

services business – customer is operator

Page 4: Why do I care about SOA?

Service Infrastructure Developing scale through automation Building out service infrastructure – the service

platform. Service platform has lots of moving parts Can’t build everything, don’t want to – buy

wherever can, build where must Build for core added value: significant IP, barrier

to competition, or core competency system of systems: service platform is

composite by nature Each application does useful set of work for a

focused set of business functions

Page 5: Why do I care about SOA?

SOA Fits With Service Provider A service infrastructure is composed of

lots of moving parts. How to connect them together to make

a single functional platform? standards focus appears to be on B2B

Interesting, but not driving current value SOA’s service provider value:

Internal services and connecting internal systems

Expectation to leverage services for integration with customer infrastructure

Page 6: Why do I care about SOA?

How SOA Fits For service infrastructure – the principles

of design & technology that forms the glue functional separation – create a

component that provides reusable functionality

loosely coupled systems cooperating to provide broader function

integration focused – system of systems cross-cutting concerns implemented

outside components, in glue

Page 7: Why do I care about SOA?

Applicable SOA Solution Patterns adopting commercial-off-the-shelf

(COTS) enterprise applications cross functional workflow automation

leverage value in existing systems large grain component application

architecture with orchestration Haven’t built out any external service-

based integration points Some portals, but not with SOA

Page 8: Why do I care about SOA?

COTS Enterprise Applications Key Issue

How to put info in and take info out COTS: buy APIs vs. use direct Data

leverage to make services Business logic vs. internal data model

Build service interfaces generate events to create, delete, modify of

core entities query for data – get canonical form, receive events to create, delete, modify

core entities

Page 9: Why do I care about SOA?

id COT Enterprise App

COTS App

API

SQLClient

Services

Access App

Query

GenerateEvents

ReceiveEvents

Extended UI

Query ReceiveEvents

GenerateEvents

COTS DatabaseSQL Server

«delegate» «delegate» «delegate»

«delegate»

Page 10: Why do I care about SOA?

Cross-functional Workflow Automation

Each application in service Focused on small set of the total service’s business functions Function-specific workflow with own UI Own data and business logic

Service requires some cross-functional workflow Need to move data between function-specific apps. a composite cross-functional workflow specific UI.

Building a system of systems For each application expose services (similar to COTS)

generate events with data perform specific function query for data receive update events for internal data

Process manager to control via metadata workflow definitions how to connect to apps when to do so operations to perform

Page 11: Why do I care about SOA?

id Cross-Functional Workflow

Support Application

API

Operation Application

GenerateEvent

ReceiveEvent

Inventory Application

GenerateEvent

ReceiveEvent

Support Services

Call API

GenerateEvent

ReceiveEvent

Process Manager

ReceiveEvent

GenerateEvent

Control

Support Application Database

Inventory Application Database

Operation Application Database

Cross Functional UI

Initiate

«delegate»

«delegate»

«delegate» «delegate»

Page 12: Why do I care about SOA?

Large-Grain Components divide application into major components

Each is a complete service function Reusable as service function for other applications Leverage existing applications as services – don’t recreate

functionality divide functionality along

scale points variation of implementation

Each is a small application on its own and has well defined set of one or more interfaces likely no UI, except for configuration or monitoring

Two major glue styles event oriented service interfaces – ala message passing request/reply service interfaces – ala client/server Some combination

No shared data between components, keep loosely coupled Provide application UI as one or more separate components

Page 13: Why do I care about SOA?

Orchestrate w/ Process Manager

Could put orchestration, workflow control in UI part of application

Better: add-in process manager in glue that is metadata driven

SOA technology providers have process managers as part of solution

Page 14: Why do I care about SOA?

id Large Grain Components

Order Processing Service

EventsManage

Order Validation Service

EventsManage

Inventory Tracking Service

Manage Requests

Order Processing Database

Process Manager

Events

Control

Order Entry UI

Requests

Initiate

Order Validation Database

Inventory Database

Management Service

Manage Monitor

Query

Management Application

Query «delegate»

«delegate»

Page 15: Why do I care about SOA?

What Else Potentially in Glue Management Console

Management service interfaces in components Composite-style management console for all components SOA products often support centralized management

console Cross-cutting concerns

Careful: keep it small, simple, test out ideas before dive-in What is best for your environment? Remove cross-cutting concerns from each component Implement in glue layer – ala AOP Easy example is authentication and authorization SOA products built-in some cross-cutting concerns support

Page 16: Why do I care about SOA?

Some Issues Development and operations culture: people

must think about how to build and manage applications in a different way.

Always need to build service interfaces, even if don’t use immediately for application construction

Break big apps into multiple components that do not share database – this is always point of disagreement.

Classic EAI issue: Canonical vs. internal data Medium size business can’t afford to buy

expensive 3rd party components and then spend even more to customize.

Configuration complexity, difficult for operations team to handle deployment

Page 17: Why do I care about SOA?

UML & Books Enterprise Architect v6.1, Sparx Systems

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions by Gregor Hohpe & Bobby Woolf

Provides useful language for part of SOA

Enterprise Service Bus by David A. Chappell

Sonic guy, but book isn’t sell good intro to ESB

Page 18: Why do I care about SOA?

Summary Medium-sized service provider able

to apply SOA to service infrastructure successfully

Start small, don’t be overly ambitious

Look to apply patterns in most straight-forward cases

Work the cultural issues

Page 19: Why do I care about SOA?

Questions & Comments Your experiences with SOA designs

and implementations Other useful patterns