37
Best Practices for Adopting SOA

Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

  • View
    221

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Best Practices for Adopting SOABest Practices for Adopting SOA

Page 2: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

SOA OverviewSOA Overview

Page 3: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

What is SOA?

Service Oriented ArchitectureService Oriented Architecture

ServiceServiceSystem capabilities that provide access to functions and data are appropriately exposed to other components (applications, devices, networks, etc.)

OrientedOrientedUses “open” interoperability protocols

ArchitectureArchitectureIn its purest form, it’s the connection of systems (simple or complex)

Page 4: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

What Has Slowed True SOA Implementations?

Proprietary tools

Lack of universally accepted protocols

Enterprise governance less emphasized

Legacy roadblocks

Application

ApplicationApplication

Application

Result is StovePipe IntegrationResult is StovePipe Integration

Application Application

Page 5: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

What is Different Now?

Numerous tools and open standards:Internet, XML, SOAP, UDDI, WSDL, JMS, .NET, etc…

General acceptance of standards

Architecturally integrated Web Services, MOM, and RMI architectures are now more achievable

Unprecedented urgency to share data

Page 6: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

A Practical Step

Leverage the legacy by decoupling point-to-point relationships and extending services to external requests

Monolithic legacy applications can be become “service providers”

Exposing services is more important than how

Service Orientation is infectious

Enterprise Governance being the objective:Enterprise Governance being the objective:

Page 7: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Integration of Services

The integration of services becomes the Service Bus,or what we like to call the Interoperability Hub

Application

ApplicationApplication

Application

Application Application

Application

ApplicationApplication

Application

Application Application

Business RulesBusiness Rules

Data Transformation RulesData Transformation Rules

Publish Inquire

Page 8: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Walk Then Run

Start with simple document-oriented exchanges

Business Function/Service AggregationBusiness Function/Service Aggregation

Transformation/Routing ServicesTransformation/Routing Services

Orchestrated Transactionsand Event Driven ServicesOrchestrated Transactionsand Event Driven Services

Prudently evolve toward document-oriented Publish/Subscribe and Orchestrated relationships

Enhance through service aggregation

Page 9: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

SOA Opens the Architecture

As external services development spreads and matures within an environment, the legacy application components become “open.”

- and therefore -

New application development will begin to be based more on the integration of services, rather than linking of components and databases.

Application

ApplicationApplication

Application

Application Application

Business RulesBusiness Rules

Data Transformation RulesData Transformation Rules

Publish Inquire

Page 10: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Troy Holmes

Implementing SOAImplementing SOA

Page 11: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

How Services Make Applications Open

SOA is a service based architecture that utilizes open, standards-based Web Services

All applications can speak XML without requiring proprietary third party products

SOA breaks down the walls of conventional software design, by enabling reuse of existing applications.

SOA can be used to encapsulate legacy business logic and provide functionality to a larger user base.

Page 12: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

How Services Make Applications Open

By wrapping services with SOA, agencies will be building the groundwork for information sharing throughout the government.

Building new solutions for agencies becomes faster and easier

Existing services can be quickly combined into new applications, that provide enhanced functionality

The applications are exposed in a standardized format

It becomes the “a la carte” of application processes

Page 13: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

How Services Make Applications Open

In the past applications were integrated in a tightly coupled fashion which led to a frail implementation

By providing loose coupling to application processes, the consumer is not aware of the internal implementation, and therefore is protected from changes by the producer.

BusinessTier

Consumer Producer

Data AccessTier

Data AccessTier

Database

API

Database

API

Page 14: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

GenericService

Database

API

Database

API

How Services Make Applications Open

In the past applications were integrated in a tightly coupled fashion which led to a frail implementation

By providing loose coupling to application processes, the consumer is not aware of the internal implementation, and therefore is protected from changes by the producer.

BusinessTier

Consumer Producer

Data AccessTier

Data AccessTier

Page 15: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Secure Business Applications

How Services Make Applications Open

An agency can quickly adapt to new methods of communication

BusinessApplication

Service

Business Logic Interface Facade

Producer

XML

Customizable Presentation Tier

Consumer

Message

Contract

New implementations can be added faster and more reliably in a SOA environment

New customers send messages based on an agreed contract between the producer and consumer

The implementation is independent of the producer which enables multiple views of information without impacting legacy applications

?

Page 16: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

How Agencies are Integrating Stovepipe Applications

Today’s Architecture

DataWarehouse

LegacyMainframes

Web Servers

ApplicationServers

ApplicationServers

Workstation

ReportServer

DataMarts

DataMarts

Data

Data

Data

Page 17: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Technologies Used for Integration

Message Oriented MiddlewareMOM

(Hub and Spoke)

Data Warehousing

Marts

MartsMarts

Marts

Warehouse

Web Services

Service LegacyXML

Remote Method InvocationsRMI

Object

Object

Page 18: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Roadmap to SOA

Start by creating services around existing processes within applications

Application

BusinessProcess

BusinessProcess

BusinessProcess

ServiceServiceService

Define current business processes within existing applications

Create course grain services that satisfy particular business processes

Make these services available to the internal agency

Expose these services to external agencies via an Enterprise Interoperability Hub (Service Bus)

XMLXMLXML

Page 19: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Roadmap to SOA

Moving from Stovepipes . . .Moving from Stovepipes . . .

Service

XML

Application

BusinessProcess

Service

XML

Service

XML

Service

XML

Service

XML

BusinessProcess

Application

BusinessProcess

BusinessProcess

BusinessProcess

Application

BusinessProcess

BusinessProcess

BusinessProcess

ServiceService

XMLXML

Service

XML

Page 20: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Roadmap to SOA

Moving from Stovepipes . . . To Shared ServicesMoving from Stovepipes . . . To Shared Services

Application

BusinessProcess

BusinessProcess

BusinessProcess

ServiceServiceServiceService

Application

BusinessProcess

ServiceServiceServiceService

BusinessProcess

Application

BusinessProcess

BusinessProcess

BusinessProcess

Transformation

XML XML XML

Transformation

XML XML XML

Transformation

XML XML XML

Enterprise Interoperability HubEnterprise Interoperability Hub

Page 21: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Roadmap to SOA

Enterprise Interoperability Hub The next step is to provide a view of the agency to external customers

via an Enterprise Interoperability Hub

The Hub will become the mechanism to represent services to external agencies.

External AgencyService

SOAP Service

Portal Service

New ApplicationService

MOM Service

Data Service

RequestRequestTransformation/Routing ServicesTransformation/Routing Services

Orchestrated Transactionsand Event Driven ServicesOrchestrated Transactionsand Event Driven Services

Enterprise Interoperability HubEnterprise Interoperability Hub

Page 22: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Roadmap to SOA

Today’s Architecture

DataWarehouse

LegacyMainframes

Web Servers

ApplicationServers

ApplicationServers

Workstation

ReportServer

DataMarts

DataMarts

Data

Data

Data

Page 23: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Future Architecture

Roadmap to SOA

LegacyMainframes

Web Servers

ReportServer

EnterpriseInteroperability

Hub(Service Bus)

EnterpriseInteroperability

Hub(Service Bus)Workstation Application

Servers

ApplicationServers

Data

Data

Data

DataMarts

DataMarts

DataWarehouse

Exposed Service

Exposed Service

Exposed Service

Exposed Service

Exposed Service

Page 24: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Future Architecture

Roadmap to SOA

LegacyMainframes

Web Servers

ReportServer

EnterpriseInteroperability

Hub(Service Bus)

EnterpriseInteroperability

Hub(Service Bus)Workstation Application

Servers

ApplicationServers

Data

Data

Data

DataMarts

DataMarts

DataWarehouse

Exposed Service

Exposed Service

Exposed Service

Exposed Service

Exposed Service

Page 25: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Jeff Simpson

SOA Best PracticesSOA Best Practices

Page 26: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

What Attendees Will Learn

Best practices for the implementation of service-oriented architectures (SOA) and web services

How to design a roadmap to consolidate and rationalize diverse constituent portals, websites, and web services with a common architecture, security framework, and user interface

Practical suggestions for using resources from legacy systems with newer applications

Page 27: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Implementation Best-Practices

What is the Use-Case?

Plan for reuse

Transactions

Tuning and Management

Page 28: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Plan for Reuse

Scalability

Reliability

Deployment

Documentation

Page 29: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Pick the Right Interface

Web Services and XML provide best interoperability but not the best performance

Web Services are not always the right answer

Maybe multiple interfaces? (WS, RMI, JMS, MQ, CORBA, etc.)

Page 30: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

To UDDI or to Not UDDI ?

When do you publish your WSDL?

The defacto standard – email

UDDI.org

Excellent source of information and resources regarding UDDI, the specification, and the future of WebServices discovery

Page 31: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

WebService Management

What does it provide?

Quality of Service (QoS)

Service Level Agreements (SLAs)

Registry Services

When to involve the technology?

Page 32: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Rationalization Roadmap

Service Rationalization or Portal Rationalization?

Is there a difference?

A portal or portlet does not equal a WebService

Composite Application or Business Process Rationalization?

Page 33: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Service Rationalization

Creating a new service contract or API that fronts multiple legacy implementations

Enables service consolidation

Terrific path to drastically reducing TCO

Service Fabric

LegacyService A

LegacyService B

LegacyService C

RationalizedService

router

adaptor adaptor adaptor

Page 34: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Portal Rationalization

Collapsing the web interfaces from multiple systems into a single portal by having each interface be its own portlet within the portal

Page 35: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Composite Applications

Business Process Rationalization

A combination of Service and Portal Rationalization where, through a workflow engine, we create a new composite application and new interface that leverages existing IT assets in a new unified business process

Page 36: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

WebService Enabled

PeopleSoft

Integrating the Integration

WebService Enabled

SOA FabricSOA Fabric

Process / Data IntegrationApp ServerApp Server

WebService Enabled WebService Enabled

HR System 1 HR System 2 HR System 3

Broker (BEA, WebMethods or Tibco)

WebService Enabled

Broker

Page 37: Best Practices for Adopting SOA. SOA Overview What is SOA? Service Oriented Architecture Service System capabilities that provide access to functions

Adapting Legacy System for SOA

Fronting with a WebService

Can be done with one of many technologies - Apache Axis, Systinet, J2EE Servlet containers (Tomcat, JBoss, WebSphere, WebLogic), etc

Look to using a WebService Management layer

Utilizing a Messaging system (ESB Flavor 1)

MQ Series, Tibco, one of many JMS providers

Utilizing Traditional EAI connectors (ESB Flavor 2)

Vitria, webMethods, SeeBeyond, etc.