Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled SOA...
-
Upload
kory-fisher -
Category
Documents
-
view
219 -
download
0
Transcript of Copyright OASIS, 2005 / 2006 Standards and Open Source Tools for Implementing Loosely Coupled 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
http://drrw.net
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?
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
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
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
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
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
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?
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
Copyright OASIS, 2005 / 2006
Typical Deployment Model
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
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
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
Copyright OASIS, 2005 / 2006
Example – Data Integration Micro-Services
Loose Coupling of Information Exchanges
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
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
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
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>
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
Copyright OASIS, 2005 / 2006
Use Case AnalysisUse Case Analysis
What a typical CAM deployment looks like
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
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?
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
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
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
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
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
Copyright OASIS, 2005 / 2006
www.jcam.org.uk
camprocessor.sourceforge.net
www.drools.org
www.oasis-open.org/committees/cam
Resources:
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: