Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA...

29
Copyright OASIS, 2005 / 2006 Standards and Open Source Standards and Open Source Tools for Implementing Tools for Implementing Loosely Coupled SOA Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA CoP MITRE, MacLean, VA October 2006 David RR Webber, Chair OASIS CAM TC [email protected] http://drrw.net

Transcript of Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA...

Page 1: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Standards and Open Source Standards and Open Source Tools for Implementing Loosely Tools for Implementing Loosely Coupled SOACoupled SOAXML, metadata techniques and micro-services tools

SOA CoP MITRE, MacLean, VA

October 2006

David RR Webber, Chair OASIS CAM TC

[email protected]

http://drrw.net

Page 2: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Overview Few people stop to understand what the

formal definition of loose coupling actually is, why it is beneficial and if indeed solution providers are actually delivering on the original vision? 

Worse many implementations and approaches appear to be delivering tight-coupling with XML as constricting as the original issues of EDI and CORBA based systems!

Government is looking for information agility and metadata based information integration in the context of SOA today, so how can this be achieved?

Page 3: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Interactivemodels

Conventionalmodels

Changing the "Just write code" paradigm

AnalysisSpecification

Design

Coding

Test

Maintenance

Developers

Adaptation, integrationInstallation

Use

Needs

Requirements

ProcurementBusinessUsers

Installation

Use

Needs

Requirements

ProcurementBusinessUsers

AnalysisSpecification

Design

Coding

Test

Maintenance

Developers

Page 4: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Standards based work today OMG – UML / XMI model-based JSR - DROOLS JSR – API for Rule Engines ISO Common Logic OCL OASIS CAM, Registry, BCM CEFACT WGs – UCM, CCTS, UMP

Page 5: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

What about “Architecture”?

Many Architecture models out there FERA - Federated Enterprise Registry Arch’ Simple service registry model Architecture “blue-print” templates Business-Centric Methodology (BCM) OMG – model driven architecture W3C – web content / document architecture Alignment of mechanisms around XML-

scripting techniques

Page 6: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Operational Challenges Need to formulize and manage partner agreements

both inside and outside enterprise Speed-up ability to integrate with partners by

providing intuitive business-centric tools Provide common point of reference for partners to

ensure consistent operational practices Facilitate re-use across enterprise by providing

templates of proven solutions (micro-services) Provide open standards-based approach that can

be accessed by implementation systems Ability to support remote ad hoc connections

Page 7: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

External

Systems

Registry

SOA Operational Details

Network

Content

Transport

Security

ManageBusiness

Systems

Workflow

Payload

Handling

ContentVersions

MoUs

Business

Rules

Certificates

Identity

Role +

Context

Profiles

Industry

Semantics

Partners

Events Actions

Errors

Scripts

Scripts

Staged

Synch

Asynch

Fire

Wall

Virus

Check

Receive

Send

Dispatch

Errors

Validation

Business

Rules

Page 8: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Unravelling the Gorgonian Knot? It’s all a bit overwhelming!!! Where to start? How to differentiate? How can I go from business requirements to

technology realization? Divide the problem into layers!

Tackle each layer, and ensure interaction between layers is consistent with open interfaces with known roles and context

What can open standards provide?

Page 9: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

EventsRules

TransactionTransaction

SchemaSchema

ContractContractAgreement Pattern

WorkflowWorkflowModeling & Business Patterns

request

process

request

process

response

process

reject

accept propose

counter

Exchange Exchange

SpecificationSpecificationModel & Schemas

Nouns

VerbsTransport

RolesConceptConceptRegistry

Tem

plat

eT

empl

ate --

driv

en

driv

en

Business GoalsBusiness GoalsGoal Pattern

CAM templateCAM template

Context

Business Agreement Languages (RINs)

Choreography & Coordination Lang.

(BPSS)

Collaboration Profile Agreement (CPA)

Context Driven Information

Exchanges (CAM)

Semantic Registry

Attaining SOA Through Component Layers

Page 10: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Typical Deployment Model

Page 11: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

1. Memorandum of Understanding - MoU Business Managers

• Meeting of the Minds• Business Goals• Define Scope• Rough Timeline• Creation / Best Practice Wizard

Knowing Business Context is vital!

2. Collaboration Protocol Agreements Operations Managers

• Precise Choreography• Automated• Messaging Parameters• ebMS transport• WSDL web services

3. On-line RegistrySystems Administrators

• Manage operational use• Provide automation access

Page 12: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Information Exchange Integration requirements

Outward facing messaging systems Formal agreement profiles for business participants Business process workflow definitions Information exchange rules Registry to hold agreements, definitions, scripts… Internal integration routing and dispatch methods User interfacing for entry and control

Page 13: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

     

Registry - the Enterprise Artifacts

Motivation Time People

Specifications Schema

Workflow

Contract

Directory Services

Collaboration PartnerProfiles - CPP

Collaboration PartnerProfiles - CPP

2

1

3

4

5

Presentation

Collaboration PartnerAgreements- CPA

Collaboration PartnerAgreements- CPA

Artifact relationships

Content Assembly Mechanism - CAM

Content Assembly Mechanism - CAM

BP SpecificationBP Specification

Data/Codes Services/Functions Network

XFormsXForms

MSH/SOAPMSH/SOAP

Source: BCM Lubash Pyramid

VerbsVerbs

MessagesMessages

RulesRules

EventsEvents

ProcessProcess

RolesRoles

TransportRouting, Packaging

TransportRouting, Packaging

NounsNouns

Core Components

Core Components

WSDLWSDL

Page 14: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Example – Data Integration Micro-Services

Loose Coupling of Information Exchanges

Page 15: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

XML Micro-service Functionality

Structure Validation + Versioning Control

Content Semantics

Business Rules

Context / Role aware processing

Extensions Database Persistence

Transformation services

Registry terms dictionary

Include mechanism support

Page 16: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

CAM Component Architecture

CAMCAMCAMCAM

XML ParserXML Parser/ DOM/ DOM

XML ParserXML Parser/ DOM/ DOM

Built-in Built-in FunctionsFunctionsBuilt-in Built-in

FunctionsFunctions

XPathXPathhandlerhandlerXPathXPath

handlerhandler

SQL SQL persistencepersistence

SQL SQL persistencepersistence TermsTerms

RegistryRegistryTermsTerms

RegistryRegistryRule EngineRule EngineRule EngineRule Engine Post-Post-ProcessingProcessing

/ Errors/ Errors

Post-Post-ProcessingProcessing

/ Errors/ Errors

XML-awareXML-awareXML-awareXML-aware

EXTENSIONS

Page 17: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

jCAM Component Architecture

CAMCAMCAMCAM

XML ParserXML Parser/ DOM/ DOM

XML ParserXML Parser/ DOM/ DOM

Built-in Built-in FunctionsFunctionsBuilt-in Built-in

FunctionsFunctions

XPathXPathhandlerhandlerXPathXPath

handlerhandler

SQL SQL persistencepersistence

SQL SQL persistencepersistence TermsTerms

RegistryRegistryTermsTerms

RegistryRegistryRule EngineRule EngineRule EngineRule Engine

EXTENSIONS

jaxenxerces

e.g. DROOLS,Others…

Saxon - xslt planned using AJAX / ebXML

Post-Post-ProcessingProcessing

/ Errors/ Errors

Post-Post-ProcessingProcessing

/ Errors/ Errors

XML Data Mapping

XML-awareXML-awareXML-awareXML-aware

cam

XXXX

Page 18: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Dynamic Component Linkage Using Maven allows for interchangeable

extension component support:<container>

<component-implementation class='uk.org.jcam.processor.dataObjects.Template'/>

<component-implementation class='uk.org.jcam.processor.dataObjects.DataFile'/>

<component-implementation class='uk.org.jcam.processor.validator.DefaultValidator'/>

<component-implementation class='uk.org.jcam.processor.trimmer.DefaultTrimmer'/>

<component-implementation class='uk.org.jcam.processor.adorner.DefaultAdorner'/>

<component-implementation class='uk.org.jcam.drools.DroolsDataValidator'/>

</container>

Page 19: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Technology Solution Summary XML-aware services:

Structure validation Context driven versioning and includes XPath DOM

Rule-based services: 30+ built-in functions Integration with rule engines (e.g. DROOLS) Call-out to Java methods

Data persistence / transformation services: SQL xslt

Page 20: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Use Case AnalysisUse Case Analysis

What a typical CAM deployment looks like

Page 21: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Business Functionality

Creating reliable domain solution templates for Communities of Interest (CoI)

Providing rapid deployment and simple change support Handling local context drivers and flexibility Linking business process, partner collaborations and

transaction exchanges into legally verifiable and deterministic solutions

Opening up business integration rules so that partners can confirm their usage

Validating and processing content with open public specification and rules base

Page 22: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Versioning Challenges

If the schema version changes – how to ensure it does not break our in place validations?

How to rapidly adapt to rule changes in a production environment?

How to develop user context driven deep version control and re-use of sub-components?

Enhance and automate Test release cycle by improving transparency for bug fix process and expose change deltas to speed testing process?

Page 23: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Grants Application Example

XML content

XSD schemafrom Grants.gov

2

DynamicStructure rules

Structure sub-form componentswith includes allows re-use

1

RR SF424SBIR STTRPHS398RR BudgetRR Submitter Profile

BusinessValidationrules

ErrorResponseformatting

Data PersistenceRules

3

Message Delivery to Agency System

CAM processOracle RDBMS

SQL tables

ResearcherPrepares GrantApplication and submits XMLto Grants.gov

Agency develops CAM template of validations rules and business content handlingGovernment form

definitions from Grants.gov

Page 24: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Interaction of Rule ComponentsXML instancecontent

Exception Reporting

SQL Tables

Error logging

3

Data MappingComponent

SQL commands

4

2

XML mappingrules script

1

QueryAgent

Page 25: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

Rule Driven Transaction Handling

MessageDelivery

XML content

XSD schema

Structure validation

2

1

DynamicStructure rules

Structure sub-components with includes allows re-use

DeliveryControl

Match MessageType to CAM Rule-basethrough enveloping

BusinessRules

Rule DrivenError Reporting

Error Logging

Result logging

Email notifications

XML-based error outputting

3 4

PersistenceRules for SQL

SQL tables

Application

Triggers

6

7

SQL commands

Oracle API

5

8

Page 26: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

jCAM validation template samples

Simple template checking structure

Extended template with context rule examples

Template Editor in Eclipse

SimpleSimpleTemplateTemplateSimpleSimple

TemplateTemplate

ExtendedExtendedTemplateTemplateExtendedExtendedTemplateTemplate

Sample RunSample RunSample RunSample Run

Page 27: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

What’s Next?

Context XML and context driven assembly BIE, ACC, CCs and CAM structure components Referencing Registry dictionaries - business nouns W3C RIF / OMG PRR / OWL / DROOLS semantic rules Eclipse support via CAM open source editor XSD auto-mapping support

Page 28: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

www.jcam.org.uk

camprocessor.sourceforge.net

www.drools.org

www.oasis-open.org/committees/cam

Resources:

Page 29: Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA XML, metadata techniques and micro-services tools SOA.

Copyright OASIS, 2005 / 2006

A special mention for our contributors to the CAM and jCAM work:

UK – Martin Roberts with BTplcUSA – Sidhartha Nagolu with AC-Tech / NIH

Credits: