© the middleware company soa blueprints

Post on 06-Jul-2015

421 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

© The Middleware Company

SOA Blueprints

Learning Best Practices and Sample Applications for SOA

Steve Wilkes

Senior Middleware Maven7

THE MIDDLEWARE COMPANY

09.22.2004

© The Middleware Company

AGENDA

Why are we doing this?What are the goals?SOA ConceptsThe Reference ExampleThe SpecificationImplementations

© The Middleware Company

Why are we doing this?

SOA is the new old thing- The concept has been around for years- The practical realization has only recently materialized

J2EE had the PetStore- Initially a Patterns application without specification- Very successful as a learning tool- In some ways too successful – people learned architectural anti-

patterns in addition to the technology that was shown

SOA needs a PetStore not The PetStore- Demonstrating SOA best practice requires many applications- Industry focus on (inter) communication not eCommerce

© The Middleware Company

What are the goals?

Part of a long term project, SOA Blueprints aims to:- Define a baseline standardized set of enterprise applications- Focus on SOA principles- Highlight SOA design patterns and best practices- Encourage SOA adoption- Be industry agnostic- Be applicable to as many organizations as possible

The specification will lead to:- An agreement on SOA terminology- A reference open source implementation- An implementation by vendors- Additional modules with particular industry focus

© The Middleware Company

SOA Concepts

SOA Much More Than Web ServicesCommon SOA TermsPatternsSOA Platform RequirementsStandardsGlossary

© The Middleware Company

SOA Much More than Web Services

Service definition does not include protocol or wire formatHow many protocols in your organization?WSDL could be the keyService providers should concentrate on the serviceService consumers just want to use the serviceIt’s the SOA that allows providers and consumers to communicate

© The Middleware Company

Common SOA Terms

Common SOA Terms(the specification includes those highlighted in blue)

© The Middleware Company

SOA Terms (cont)

Synchronous and Asynchronous ServicesComponent ServicesData ServicesComposite (Business) ServicesConversational (Workflow) ServicesPublish-Subscribe ServicesService BrokersException Handling And Compensating ServicesService SecurityInterception And ExtensibilityInteroperability

© The Middleware Company

SOA Patterns

Initial patterns will include:Service Registry and Static BindingService Registry and Dynamic Binding Service Broker Distributed Service Broker Service Bus

Distributed Service Bus

© The Middleware Company

SOA Anti-Patterns

Overly granular business servicesRemote access to local servicesOveruse of XMLUse of loose coupling where tight coupling is required

© The Middleware Company

SOA Granularity

© The Middleware Company

SOA Development Requirements

Target implementation environments should provide:Definition of services independent of implementation, location or useImplementation and hosting of services as a providerLocation and usage of services as a consumerAssembly of services from other services and business rulesSupport for synchronous, asynchronous and conversational servicesOrchestration of application presentation built on services and rulesAutomated data transformation between disparate data structuresProvisioning of local and remote servicesSupport for simulating, testing and debugging of services

© The Middleware Company

Standards

Standards being considered for inclusion include:WS-IBPEL4WSWS-SecurityWS-NotificationJiniWSRPWS-Manageability

© The Middleware Company

Reference Example

Common Enterprise Applications(the specification includes those highlighted in blue)

© The Middleware Company

The Specified Applications

Based around fictitious enterprise - GeneriCoA distributed enterprise wide security mechanismAn employee self service portal providing:- Authentication- Organization Browser- Task List Management- Expense Reporting- Employee Reviews

A Product data serviceSome payroll & supply chain functions as required by the specification A basic HR application for management of employees and departmental structure

© The Middleware Company

The Security Mechanism

Provide security for:- New Applications- Legacy

Applications

Provide indentity managementAutomate employee security

© The Middleware Company

The Employee Portal

© The Middleware Company

Employee Portal

Utilizes Security Adaptor ServicesProvide Login / Logout CapabilitiesEnable Password ChangeProvide roles based access- to pages- to portlets- to actions

Authentication

© The Middleware Company

Employee Portal

Search for EmployeesBrowse DepartmentsGet Department DetailsGet Employee Details

Organization Browser

© The Middleware Company

Employee Portal

View Task ListSee Task DetailsAdd TasksUpdate TasksLink to ExpensesLink to Reviews

Task List Management

© The Middleware Company

Employee Portal

View Report ListSee Report DetailsAdd ReportUpdate ReportAuthorize ReportPay ReportUtilization ofPay Roll Services

Expense Reporting

© The Middleware Company

Employee Portal

View Review ListSee Review DetailsAdd ReviewUpdate ReviewValidate ReviewAdd RatingsFinalize ReviewUtilization ofPay Roll Services

Employee Reviews

© The Middleware Company

Product Data Services

Two Product DatabasesDifferent SchemasWant single dataservice to accessproduct informationEnable categorylistingEnable productlistingNeeds to generate unique keysAdd missing informationQuery across sources

© The Middleware Company

Message Definition

Messages are defined within the specification in a platform agnostic fashion:

Type: synchronous Client sends: getReports

Contents: GetReports Complex 1 employeeID Integer 0-1 or managerID Integer 0-1 or accountantID Integer 0-1

Security: auth token Protocol: http Client receives: listOfReports

Contents: Reports Complex 1 Report Complex 0-* ID Integer 1 Title String 1 SubmittedDate Date 1 Status String 1

or: authFault

o n e o f

th ese

© The Middleware Company

Process Definition

Processes are also defined in an agnostic way:

© The Middleware Company

Implementation Guidelines

Specification is platform agnosticDatabase schema will be suppliedWSDL will be provided for all servicesService testing will be provided by PushToTestTransport protocols must be adhered toUse of Portal server is recommendedWeb design should follow guidelinesStandards should be adhered to where stated

© The Middleware Company

Vendor Implementations

Currently have commitment from the following vendors to provide implementations of the reference example: BEA Systems Diamelle Technologies IONA Technologies Microsoft Oracle Pramati Sun Microsystems Rogue Wave Software

© The Middleware Company

Open Source Implementation

Looking to build open source teamCurrently have a number of committed membersTechnologies we’re hoping to use include:- Hibernate for persistence- Spring as a lightweight container- Axis for web service provisioning- eXo as an enterprise portal- Twister as a BPEL4WS engine- Maven for build and management

Will become reference implementation for SOA

© The Middleware Company

Possible Interesting Things

An additional 10 or so vendors want to enhance the specService management (Qos) an interesting add-onJini message board talking about an implementationSome vendors considering CORBA implementationWould like to include Mobility componentWSRP seems natural extension to Portal specificationIncluding more standards is a mustLaunching an SOA Blueprints Wiki very soonOpen Source Implementation home announced soon

© The Middleware Company

Next Steps

Q & AGoto soablueprints.comDownload the specificationSend us feedbackGet involved in open source implementation

© The Middleware Company

TheServerSide.com

TheServerSide.NET

MiddlewareRESEARCH.com

Steve Wilkes

Senior Middleware Maven7

top related