SlideShare a Scribd company logo
David RR Webber SOA Architect Integrity One Partners Model-Driven, Open Architecture BPM: Delivering Process-Driven,  Dynamic Applications
Overview Change is constant - How do we make self-adaptive, smarter implementations that are better able to cope?  How do we leverage and align standards based mechanisms and tools within our business processes to make them compatible? How does this fit into modern SOA approach? Ability to align business conceptual details with actual implementation through use of XML templates as intermediary common shared representation.
“The devil is in the details” XML is multi-faceted – it can represent: data (information exchanges) rules workflows and processes forms and reports configuration and control semantics (metadata) documents and contracts multimedia and presentations
Template Driven Approach Analysis Design Coding Test Maintenance SW DEVELOPERS Specification Agile Dynamic Components TEMPLATES Adoption,  integration Installation Implementation /Use Needs Requirements Procurement BUSINESS USERS BPMN models Excel spreadsheet XML visualization XML artifacts Dynamic Static Conventional Models, Artefacts, Code WSDL,XSD,UML,XML
Template Wizard runtime configuration Library Object templates/Components design time Facets Questions / Data Technology Targeting Syntax specific production rules Partner   /   Component   Interface Agreement builder + review / support / completion workflow 1 3 4 XML 2 Conceptual Factors Stored XML XML XML XML Solution Specific Syntax 5
Context is the pervasive driver to effective engineering Drives dynamic process configuring and control Ensures accurate information capture, packaging and delivery Key to correct relationships between partners in a collaboration Understanding about Context Lack of context control mechanisms is the most prominent reason why legacy business systems are difficult and complex to extend and support Date: circa 1568 1 : the parts of a discourse that surround a word or passage and can throw light on its meaning 2 : the interrelated conditions in which something exists or occurs
Context, role and use Context, context and context Interoperability absolutely requires the software to understand and apply context from the ground up in a consistent way that links to the external world functional needs – and that is not hard-coded into rigid software methods – but exposed across the information space Role and context Role is a convenient way to group together context and manage that for classes of functional users Use based solutions This determines how and what results are expected given role and context that allows users to perform their business use cases effectively without information issues.
Today’s SOA / Mashup’s have extended service model needs
Common Data Issues Information Security Management Electronic Document Management Poor and Inconsistent Documentation Data / Customer / Process Integration Collaboration and Messaging Authentication Technologies Storage Technology Remote communication challenges System Development Life Cycle Change Management Segregation of Duties Exchange & Information Technology
Solution / Problem Metrics Can I create a standard simple open format to describe my message structures and data content rules? Can my partners validate their transactions in test BEFORE they send them? How do people know what I will send them? I want something that’s simple and standards based – leverages existing XML components Can I generate HTML documentation that is readable by business analysts?
Defining Information Services Create Samples Rules Editor XML Analyst Templates Samples Develop Verify Structure Rules Context Vocabulary 3 2 Rules html XML Results html Publish 1 Detail Use Rules Test Rules on Samples 4 Share Results Enabling Agile  Information  Exchanges Structure + Vocabulary Rules + Context  Templates Verify Template Outcomes
Configure the Business Exchange Content Assembly Template XML instance structure(s) Business context rules + Content Reference rules + Data Validation rules + External Mapping rules Logical business transaction can have more than one structure layout can relate rules directly with structure makeOptional () excludeTree() item type=&quot;noun&quot; name=&quot;Agency/@AgencyID&quot; UIDReference=&quot;ukt000910&quot; <conditional  expression=&quot;'//SupplierID' and  lookup(value,'SGIRWSDL:supplierID_check')&quot; <MapRule output=&quot;type&quot; input=&quot;Sales/Company/Year/Qtr/Product@type&quot;/> Simple Declarative Statements BPM Step transaction template OASIS Content Assembly Mechanism (CAM)
Business Functionality Simple and obvious domain solution templates Local deployment and simple change support Handling local context drivers and flexibility Opening up business integration rules so that partners can confirm their usage + validating  HTML reporting of rules and layouts Processing content with open public specification and sharable rules base OASIS Content Assembly Mechanism Specification: http://wiki.oasis-open.org/cam http://www.jcam.org.uk   Organization for Advancement of Structured Information Standards
SOA, BPM and Data Services Transport Security Delivery Process 3 2 5 1 Data Services 4 C A M Internet Infrastructure Query / Response WSDL SOAP / http / https Vocabulary / Semantics Packaging / Encoding XML / edi Validation / Assembly Mapping / Transform XSD, CAM, Schematron Business Model Service Agreement Context / Roles Business Processes Description Msg Exchange Profile State & Context Addressing /  Envelope Transactions Coordination Push / Pull
Exchange Facilitation Needs For business communities: Ability to create sharable templates for communities of practice that need consistent XML transaction handling definitions that are open and public.  For business data analysts: Printable rule documentation support and features.  Example domain templates within communities of practice  Supporting codelists implementation (Genericode).  For programmers: XML content manipulation support and rules ( xslt, XPath …) Web services and SOA support
Metrics of Information Sharing To effectively exchange information, there must be a common semantic understanding of data among participants, and the data must be formatted in a consistent manner that matches the business process context Common Lexicon
Interoperability – what is it really? What it really is: Solve the business functional needs as the priority - ability for systems to accommodate each others functional requirements in a holistic and agile way so that users can maximize the business value obtained today and adapt that to tomorrows changing needs rapidly and easily  Predictability – when the mechanisms being used are using known, consistent and extensible methodology Need to support semantically rich information (human), contextual mechanisms, and not just rigid lists of enforced content (machine) Reduce collaboration and adoption costs by making exchanges quick and easy to build and self-adaptive – cost is barrier to interoperability Ability to support routing and intermediary services with views of exchange content based on role and use context How do you get there?
Example: NIEM XSD Reference Architecture Exchange xml *Exchange xsd *Extension xsd Namespace * Optional NIEM xsd subset *Constraint xsd IEPDs have their own target namespaces Constraint Validation Conformance Validation NIEM = National Information Exchange Model (www.niem.gov) for DOJ/DHS *Code list xsd XML Schema
Domain-specific XML Schemas NIEM – a comprehensive model of all entities of interest in government domain Defines terms shared between various agencies: persons, places, things  LEXS – information-sharing protocols and messages, with NIEM as foundation Establishes patterns of requests and responses Provides structure around NIEM data elements
 
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?  Support for regression testing?
Problem: XSD is non-deterministic! XSD does not have direct context mechanisms The schema contains the superset of every exchange component variation People make everything in schema optional Dependencies are not clear It is difficult to understand the constructs and to document the rules clearly for business users to verify It is hard to create test cases and instances (the “want list” tough to visualize) Disconnect between XML data types and legacy data – e.g. dates, telephone formats, post codes
Consequences for Interoperability Multiple WSDL’s introduces risk that services won’t talk to each other Bypassing validation permits exchange of incorrect documents Propagation of incorrect documents in the system pushes problems to the perimeter User interfaces in each participating system must adapt to proliferating special cases
What makes something Agile? Re-usable methods that can be applied to many areas Based on open standards and approach; not proprietary Context and role driven and aware This allows tailoring to specific profiles and use pattern templates dynamically Self-adaptive When requirements change can be adjusted on-the-fly in real time  Fault tolerant and not brittle Ability to ignore non-critical interchange items and especially not to fail for trivial reasons or slight version nuances Leveraging XML capabilities to make self-describing transactions possible rather than static fixed legacy exchanges Able to support new uses without extensive reprogramming Usage patterns set via external configuration allowing broad but controlled uses
Extract XSD to Assembly Template EXTRACT Structure Rules Documentation XSD 2 CAM XSLT Tools Exchange xml *Exchange xsd *Extension xsd *Code list xsd Namespace * Optional XML Schema NIEM xsd subset *Constraint xsd
Example Generation – OASIS EDXL Structure Declarative Rules XSLT XPath structure flexibility Assertion logic
Example Generated Documentation Enhanced Data type Logic Better code list handling Clear use pattern XPath functions
CAM - Just re-shuffled syntax? If we built the CAM template directly from the XSD how can we have added rules value? CAM validation significantly more capable and agile than rigid XSD parsing: XPath based assertions 30 added functions add control  Mask functions better content matching Context mechanism allows adaptive rules/structure Cross-dependencies Enhanced code list handling Flexible error handling and reporting CAM syntax exposes logic for human verification
Value Proposition - Deterministic Making XML transaction handling simpler and predictable  Quick and easy rule/example building from sample XSD Extends and clarifies your existing XSD schema structures Enabling more robust fault tolerant processing + versioning Providing open sharable templates and documentation Re-use easier through support for includable components Ability to integrate to business processes and context Open source, open public standard toolkit – editor + engine
Eclipse CAM Editor 1 2 3 4 5 Available structures Structure Rule Viewer Rule Details Results Viewer Validation Process
How does CAM work? CAM uses WYSIWYG approach to XML Starting with your XML structure layout makes template from that + default data content model Next – add your structure use rules – optional / repeatable, date fields, allowed values, lookups Then make context business rules – cross field use rules, exclude, include, variables Save template – run against samples Eclipse editor tool makes this all easy to do! Deploy to production using jCAM processor
Modelling & Simulation Testing Scenario Emergency Response Services Workflow using OASIS EDXL exchanges
Conceptual View of EDXL transaction Transaction Templates Structure Rules Context 3 2 Use Rules html XML Reports html Publish 1 Common Details Rules 4 Share Details Address Facility Contact Vehicles Emergency Resources Activity Content Rules Lookup Values Context Versioning Resources
Illustrative EDXL requirements When Admissions Total > 50 AND Deaths > 0 When AdultICU   Bed type > 0 AND Triage Quantity > 5 Require Facility State = CA, NV, NM
CAM rules syntax <as:BusinessUseContext> <as:Rules> <as:default> <as:context> <as:constraint condition=&quot;//Activity24Hr /Admissions > 50 and( // Activity24Hr /Deaths > 0)&quot; action=&quot;restrictValues(// Activity24Hr /Admissions, ‘Alert – possible outbreak’) &quot;/> <as:constraint action=&quot;restrictValues(//ns5:AdministrativeArea /ns5:NameElement , 'CA|NV|NM')&quot;/> </as:context> </as:default> </as:Rules> </as:BusinessUseContext>
CAM Summary XSD to CAM template extraction via XSLT makes quick adoption and low learning curve CAM templates provide agile mechanisms to enhance control over information exchanges Context mechanisms support BPM techniques and tailoring handling to match processing needs Better documentation support for human verification Link templates to partner agreements and use patterns More flexible versioning and non-brittle handling Test suites and conformance checking with regression testing and deterministic rule based examples  Open public standard and open source implementation Sharable public templates for partner collaboration
Process Driven Dynamic Applications Templates provide linkage between business needs and software mechanics Semantics can be morphed into different renderings depending on interfacing needs Validation scripts Forms logic Data storage and sharing Workflow steps HTML documentation Exploiting agile adaptable mechanisms using XML
Questions?
www.jcam.org.uk wiki.oasis-open.org www.oasis-open.org/committees/cam docs.oasis-open.org/cam www.oasis-open.org/committees/emergency   www.niem.gov Resources:
Thank  You! David RR Webber SOA Architect Integrity One Partners Contact Information: 703.581.6500 [email_address]

More Related Content

What's hot (20)

PPT
Soa Primer
vavasthi
 
PDF
WDSOA'05 Whitepaper: SOA and the Future of Application Development
Rajesh Raheja
 
PPTX
SOA Reference Architecture
Rajan Ramanujam
 
PDF
Plastic
guestc34ccde9
 
PPTX
Service Oriented Architecture (SOA)
Mazhar Ishaq Khokhar
 
PPTX
Introduction to SOA
saeed shargi ghazani
 
PDF
M.Phil Computer Science Server Computing Projects
Vijay Karan
 
PDF
M phil-computer-science-server-computing-projects
Vijay Karan
 
PPT
Soa 101
David Linthicum
 
PDF
Service Oriented Architecture
Syed Mustafa
 
PPT
Service Oriented & Model Driven Architectures
Pankaj Saharan
 
PDF
M.E Computer Science Server Computing Projects
Vijay Karan
 
PPTX
Service Oriented Architecture
Mohamed Zaytoun
 
PPT
Introduction to soa composition
bdemchak
 
PPT
5 Surefire Ways To Make Your Soa A Success
David Linthicum
 
DOCX
service orentation documentation
pavan nani
 
PPT
Innovation in Healthcare: Transforming Paper to an eSubmissions SOA
Nathaniel Palmer
 
PPTX
Service oriented architecture
Pratik Patil
 
PDF
Lectura 2.3 soa-overview-directions-benatallah
Matias Menendez
 
PPT
Introduction to Service Oriented Architecture
DATA Inc.
 
Soa Primer
vavasthi
 
WDSOA'05 Whitepaper: SOA and the Future of Application Development
Rajesh Raheja
 
SOA Reference Architecture
Rajan Ramanujam
 
Plastic
guestc34ccde9
 
Service Oriented Architecture (SOA)
Mazhar Ishaq Khokhar
 
Introduction to SOA
saeed shargi ghazani
 
M.Phil Computer Science Server Computing Projects
Vijay Karan
 
M phil-computer-science-server-computing-projects
Vijay Karan
 
Service Oriented Architecture
Syed Mustafa
 
Service Oriented & Model Driven Architectures
Pankaj Saharan
 
M.E Computer Science Server Computing Projects
Vijay Karan
 
Service Oriented Architecture
Mohamed Zaytoun
 
Introduction to soa composition
bdemchak
 
5 Surefire Ways To Make Your Soa A Success
David Linthicum
 
service orentation documentation
pavan nani
 
Innovation in Healthcare: Transforming Paper to an eSubmissions SOA
Nathaniel Palmer
 
Service oriented architecture
Pratik Patil
 
Lectura 2.3 soa-overview-directions-benatallah
Matias Menendez
 
Introduction to Service Oriented Architecture
DATA Inc.
 

Viewers also liked (6)

PPT
Services Industry Case Study: A Practical Approach To Process Automation
Nathaniel Palmer
 
PDF
What is Possible vs What is Useful: Finding the Right Balance in Process Mode...
Nathaniel Palmer
 
PDF
Optimizing Value to the Enterprise with Integrated Enterprise Architecture
Nathaniel Palmer
 
PPT
Dennis Wisnosky Keynote Address
Nathaniel Palmer
 
PPT
Leveraging Open Source for Managing Complex Business Processes
Nathaniel Palmer
 
PPT
The Construction of Emergency Interoperable Communications Architecture
Nathaniel Palmer
 
Services Industry Case Study: A Practical Approach To Process Automation
Nathaniel Palmer
 
What is Possible vs What is Useful: Finding the Right Balance in Process Mode...
Nathaniel Palmer
 
Optimizing Value to the Enterprise with Integrated Enterprise Architecture
Nathaniel Palmer
 
Dennis Wisnosky Keynote Address
Nathaniel Palmer
 
Leveraging Open Source for Managing Complex Business Processes
Nathaniel Palmer
 
The Construction of Emergency Interoperable Communications Architecture
Nathaniel Palmer
 
Ad

Similar to Delivering Process-Driven, Dynamic Applications (20)

PPT
The New Enterprise Alphabet - .Net, XML And XBRL
Jorgen Thelin
 
PPT
SW Architecture Monolithic to SOA
Raman Kannan
 
PPTX
Patterns&Antipatternsof SOA
Mohamed Samy
 
PPT
Mattocks Ont Pragebx Rr 2004 12 082
Dr. Cupid Lucid
 
PPT
Mattocks Ont Pragebx Rr 2004 12 08
Dr. Cupid Lucid
 
PDF
DDS-TSN OMG Request for Proposals (RFP)
Gerardo Pardo-Castellote
 
PPT
THE 4 X 4 SEMANTIC MODEL : Semantics to Empower Services Science: Using Seman...
Artificial Intelligence Institute at UofSC
 
PPT
The 4x4 Semantic Model: Semantics to Empower Services Science: Using Semantic...
Amit Sheth
 
PDF
2008 Industry Standards for C2 CDM and Framework
Bob Marcus
 
PPT
Real World Business Interoperability
Jorgen Thelin
 
PPT
Contract First Modeling Services Using Uml
Rody Middelkoop
 
ODP
What is in a Good Contract? Designing Interfaces for Distributed Systems
Schalk Cronjé
 
DOC
Web Based Secure Soa
ijbuiiir1
 
PPT
Ikenstudiolive
iken Solutions - Web Space-
 
PDF
Migrating SOA
Coi Xay
 
PDF
Chapter 2 - Enterprise Application Integration.pdf
Khairul Anwar Sedek
 
PPT
Architecting Your Enterprise
Ed Seidewitz
 
PPT
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Jason Townsend, MBA
 
PPTX
Semantic Mediation Bus Presentation at VORTE 2012
Wen Zhu
 
The New Enterprise Alphabet - .Net, XML And XBRL
Jorgen Thelin
 
SW Architecture Monolithic to SOA
Raman Kannan
 
Patterns&Antipatternsof SOA
Mohamed Samy
 
Mattocks Ont Pragebx Rr 2004 12 082
Dr. Cupid Lucid
 
Mattocks Ont Pragebx Rr 2004 12 08
Dr. Cupid Lucid
 
DDS-TSN OMG Request for Proposals (RFP)
Gerardo Pardo-Castellote
 
THE 4 X 4 SEMANTIC MODEL : Semantics to Empower Services Science: Using Seman...
Artificial Intelligence Institute at UofSC
 
The 4x4 Semantic Model: Semantics to Empower Services Science: Using Semantic...
Amit Sheth
 
2008 Industry Standards for C2 CDM and Framework
Bob Marcus
 
Real World Business Interoperability
Jorgen Thelin
 
Contract First Modeling Services Using Uml
Rody Middelkoop
 
What is in a Good Contract? Designing Interfaces for Distributed Systems
Schalk Cronjé
 
Web Based Secure Soa
ijbuiiir1
 
Migrating SOA
Coi Xay
 
Chapter 2 - Enterprise Application Integration.pdf
Khairul Anwar Sedek
 
Architecting Your Enterprise
Ed Seidewitz
 
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Jason Townsend, MBA
 
Semantic Mediation Bus Presentation at VORTE 2012
Wen Zhu
 
Ad

More from Nathaniel Palmer (20)

PDF
Is there a Role for Patterns in Enterprise Architecture?
Nathaniel Palmer
 
PPT
The Future Of Bpm Six Trends Shaping Process Management
Nathaniel Palmer
 
PPT
Open Philosophies for Associative Autopoietic Digital Ecosystems
Nathaniel Palmer
 
PDF
Is there a Role for Patterns in Enterprise Architecture?
Nathaniel Palmer
 
PPT
Improving Enterprise Performance using a Business Process Improvement Discipline
Nathaniel Palmer
 
PDF
Understanding Business Process Architecture to Enable Operational Efficiency
Nathaniel Palmer
 
PPT
Applying Agile Development Strategies to BPM Initiatives
Nathaniel Palmer
 
PPT
Governance and Business Participation: The Key Requirements for Effective SOA...
Nathaniel Palmer
 
PPT
Workforce Management & BPM Integration
Nathaniel Palmer
 
PPT
Delivering Process-Driven, Dynamic Applications
Nathaniel Palmer
 
PPT
Realizing Successful Transformation Within Politically Charged Environments
Nathaniel Palmer
 
PPS
Understanding and Applying The Open Group Architecture Framework (TOGAF)
Nathaniel Palmer
 
PPT
Why Enterprises Should Invest Money in EA Transformation Frameworks
Nathaniel Palmer
 
PPT
Transitioning Enterprise Architectures to Service Oriented Architectures
Nathaniel Palmer
 
PPT
BPM & Workflow in the New Enterprise Architecture
Nathaniel Palmer
 
PDF
What Every Enterprise Architect Needs to Know About BPM
Nathaniel Palmer
 
PPT
Department of the Interior’s Methodology for Business Transformation (MBT)
Nathaniel Palmer
 
PPT
Getting From Understanding to Execution: Making Implicit Processes Actionable...
Nathaniel Palmer
 
PPT
Making SOA a Reality for Federal Government Agencies
Nathaniel Palmer
 
PPT
Properly Defining Enterprise-wide Entities: The Critical Step
Nathaniel Palmer
 
Is there a Role for Patterns in Enterprise Architecture?
Nathaniel Palmer
 
The Future Of Bpm Six Trends Shaping Process Management
Nathaniel Palmer
 
Open Philosophies for Associative Autopoietic Digital Ecosystems
Nathaniel Palmer
 
Is there a Role for Patterns in Enterprise Architecture?
Nathaniel Palmer
 
Improving Enterprise Performance using a Business Process Improvement Discipline
Nathaniel Palmer
 
Understanding Business Process Architecture to Enable Operational Efficiency
Nathaniel Palmer
 
Applying Agile Development Strategies to BPM Initiatives
Nathaniel Palmer
 
Governance and Business Participation: The Key Requirements for Effective SOA...
Nathaniel Palmer
 
Workforce Management & BPM Integration
Nathaniel Palmer
 
Delivering Process-Driven, Dynamic Applications
Nathaniel Palmer
 
Realizing Successful Transformation Within Politically Charged Environments
Nathaniel Palmer
 
Understanding and Applying The Open Group Architecture Framework (TOGAF)
Nathaniel Palmer
 
Why Enterprises Should Invest Money in EA Transformation Frameworks
Nathaniel Palmer
 
Transitioning Enterprise Architectures to Service Oriented Architectures
Nathaniel Palmer
 
BPM & Workflow in the New Enterprise Architecture
Nathaniel Palmer
 
What Every Enterprise Architect Needs to Know About BPM
Nathaniel Palmer
 
Department of the Interior’s Methodology for Business Transformation (MBT)
Nathaniel Palmer
 
Getting From Understanding to Execution: Making Implicit Processes Actionable...
Nathaniel Palmer
 
Making SOA a Reality for Federal Government Agencies
Nathaniel Palmer
 
Properly Defining Enterprise-wide Entities: The Critical Step
Nathaniel Palmer
 

Recently uploaded (20)

PDF
Buy Boys Long Sleeve T-shirts at Port 213
Port 213
 
DOCX
How to Choose the Best Dildo for Men A Complete Buying Guide.docx
Glas Toy
 
PDF
Jordan Minnesota City Codes and Ordinances
Forklift Trucks in Minnesota
 
PPTX
2025 July - ABM for B2B in Hubspot - Demand Gen HUG.pptx
mjenkins13
 
PPTX
Hackathon - Technology - Idea Submission Template -HackerEarth.pptx
nanster236
 
PPTX
25 Future Mega Trends Reshaping the World in 2025 and Beyond
presentifyai
 
PDF
LDM Recording for Yogi Goddess Projects Summer 2025
LDMMia GrandMaster
 
PDF
From Legacy to Velocity: how we rebuilt everything in 8 months.
Product-Tech Team
 
PPTX
Technical Analysis of 1st Generation Biofuel Feedstocks - 25th June 2025
TOFPIK
 
PDF
Raman Bhaumik - A Passion For Service
Raman Bhaumik
 
PDF
15 Essential Cloud Podcasts Every Tech Professional Should Know in 2025
Amnic
 
PPTX
DECODING AI AGENTS AND WORKFLOW AUTOMATION FOR MODERN RECRUITMENT
José Kadlec
 
PDF
Agriculture Machinery PartsAgriculture Machinery Parts
mizhanw168
 
PDF
20250703_A. Stotz All Weather Strategy - Performance review July
FINNOMENAMarketing
 
PDF
Flexible Metal Hose & Custom Hose Assemblies
McGill Hose & Coupling Inc
 
PPTX
Build Wealth & Protect Your Legacy with Indexed Universal Life Insurance
iulfinancial6
 
PPTX
Top Oil and Gas Companies in India Fuelling the Nation’s Growth.pptx
Essar Group
 
PDF
NewBase 07 July 2025 Energy News issue - 1800 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
DOCX
TCP Communication Flag Txzczczxcxzzxypes.docx
esso24
 
PDF
CBV - GST Collection Report V16. pdf.
writer28
 
Buy Boys Long Sleeve T-shirts at Port 213
Port 213
 
How to Choose the Best Dildo for Men A Complete Buying Guide.docx
Glas Toy
 
Jordan Minnesota City Codes and Ordinances
Forklift Trucks in Minnesota
 
2025 July - ABM for B2B in Hubspot - Demand Gen HUG.pptx
mjenkins13
 
Hackathon - Technology - Idea Submission Template -HackerEarth.pptx
nanster236
 
25 Future Mega Trends Reshaping the World in 2025 and Beyond
presentifyai
 
LDM Recording for Yogi Goddess Projects Summer 2025
LDMMia GrandMaster
 
From Legacy to Velocity: how we rebuilt everything in 8 months.
Product-Tech Team
 
Technical Analysis of 1st Generation Biofuel Feedstocks - 25th June 2025
TOFPIK
 
Raman Bhaumik - A Passion For Service
Raman Bhaumik
 
15 Essential Cloud Podcasts Every Tech Professional Should Know in 2025
Amnic
 
DECODING AI AGENTS AND WORKFLOW AUTOMATION FOR MODERN RECRUITMENT
José Kadlec
 
Agriculture Machinery PartsAgriculture Machinery Parts
mizhanw168
 
20250703_A. Stotz All Weather Strategy - Performance review July
FINNOMENAMarketing
 
Flexible Metal Hose & Custom Hose Assemblies
McGill Hose & Coupling Inc
 
Build Wealth & Protect Your Legacy with Indexed Universal Life Insurance
iulfinancial6
 
Top Oil and Gas Companies in India Fuelling the Nation’s Growth.pptx
Essar Group
 
NewBase 07 July 2025 Energy News issue - 1800 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
TCP Communication Flag Txzczczxcxzzxypes.docx
esso24
 
CBV - GST Collection Report V16. pdf.
writer28
 

Delivering Process-Driven, Dynamic Applications

  • 1. David RR Webber SOA Architect Integrity One Partners Model-Driven, Open Architecture BPM: Delivering Process-Driven, Dynamic Applications
  • 2. Overview Change is constant - How do we make self-adaptive, smarter implementations that are better able to cope? How do we leverage and align standards based mechanisms and tools within our business processes to make them compatible? How does this fit into modern SOA approach? Ability to align business conceptual details with actual implementation through use of XML templates as intermediary common shared representation.
  • 3. “The devil is in the details” XML is multi-faceted – it can represent: data (information exchanges) rules workflows and processes forms and reports configuration and control semantics (metadata) documents and contracts multimedia and presentations
  • 4. Template Driven Approach Analysis Design Coding Test Maintenance SW DEVELOPERS Specification Agile Dynamic Components TEMPLATES Adoption, integration Installation Implementation /Use Needs Requirements Procurement BUSINESS USERS BPMN models Excel spreadsheet XML visualization XML artifacts Dynamic Static Conventional Models, Artefacts, Code WSDL,XSD,UML,XML
  • 5. Template Wizard runtime configuration Library Object templates/Components design time Facets Questions / Data Technology Targeting Syntax specific production rules Partner / Component Interface Agreement builder + review / support / completion workflow 1 3 4 XML 2 Conceptual Factors Stored XML XML XML XML Solution Specific Syntax 5
  • 6. Context is the pervasive driver to effective engineering Drives dynamic process configuring and control Ensures accurate information capture, packaging and delivery Key to correct relationships between partners in a collaboration Understanding about Context Lack of context control mechanisms is the most prominent reason why legacy business systems are difficult and complex to extend and support Date: circa 1568 1 : the parts of a discourse that surround a word or passage and can throw light on its meaning 2 : the interrelated conditions in which something exists or occurs
  • 7. Context, role and use Context, context and context Interoperability absolutely requires the software to understand and apply context from the ground up in a consistent way that links to the external world functional needs – and that is not hard-coded into rigid software methods – but exposed across the information space Role and context Role is a convenient way to group together context and manage that for classes of functional users Use based solutions This determines how and what results are expected given role and context that allows users to perform their business use cases effectively without information issues.
  • 8. Today’s SOA / Mashup’s have extended service model needs
  • 9. Common Data Issues Information Security Management Electronic Document Management Poor and Inconsistent Documentation Data / Customer / Process Integration Collaboration and Messaging Authentication Technologies Storage Technology Remote communication challenges System Development Life Cycle Change Management Segregation of Duties Exchange & Information Technology
  • 10. Solution / Problem Metrics Can I create a standard simple open format to describe my message structures and data content rules? Can my partners validate their transactions in test BEFORE they send them? How do people know what I will send them? I want something that’s simple and standards based – leverages existing XML components Can I generate HTML documentation that is readable by business analysts?
  • 11. Defining Information Services Create Samples Rules Editor XML Analyst Templates Samples Develop Verify Structure Rules Context Vocabulary 3 2 Rules html XML Results html Publish 1 Detail Use Rules Test Rules on Samples 4 Share Results Enabling Agile Information Exchanges Structure + Vocabulary Rules + Context Templates Verify Template Outcomes
  • 12. Configure the Business Exchange Content Assembly Template XML instance structure(s) Business context rules + Content Reference rules + Data Validation rules + External Mapping rules Logical business transaction can have more than one structure layout can relate rules directly with structure makeOptional () excludeTree() item type=&quot;noun&quot; name=&quot;Agency/@AgencyID&quot; UIDReference=&quot;ukt000910&quot; <conditional expression=&quot;'//SupplierID' and lookup(value,'SGIRWSDL:supplierID_check')&quot; <MapRule output=&quot;type&quot; input=&quot;Sales/Company/Year/Qtr/Product@type&quot;/> Simple Declarative Statements BPM Step transaction template OASIS Content Assembly Mechanism (CAM)
  • 13. Business Functionality Simple and obvious domain solution templates Local deployment and simple change support Handling local context drivers and flexibility Opening up business integration rules so that partners can confirm their usage + validating HTML reporting of rules and layouts Processing content with open public specification and sharable rules base OASIS Content Assembly Mechanism Specification: http://wiki.oasis-open.org/cam http://www.jcam.org.uk Organization for Advancement of Structured Information Standards
  • 14. SOA, BPM and Data Services Transport Security Delivery Process 3 2 5 1 Data Services 4 C A M Internet Infrastructure Query / Response WSDL SOAP / http / https Vocabulary / Semantics Packaging / Encoding XML / edi Validation / Assembly Mapping / Transform XSD, CAM, Schematron Business Model Service Agreement Context / Roles Business Processes Description Msg Exchange Profile State & Context Addressing / Envelope Transactions Coordination Push / Pull
  • 15. Exchange Facilitation Needs For business communities: Ability to create sharable templates for communities of practice that need consistent XML transaction handling definitions that are open and public. For business data analysts: Printable rule documentation support and features. Example domain templates within communities of practice Supporting codelists implementation (Genericode). For programmers: XML content manipulation support and rules ( xslt, XPath …) Web services and SOA support
  • 16. Metrics of Information Sharing To effectively exchange information, there must be a common semantic understanding of data among participants, and the data must be formatted in a consistent manner that matches the business process context Common Lexicon
  • 17. Interoperability – what is it really? What it really is: Solve the business functional needs as the priority - ability for systems to accommodate each others functional requirements in a holistic and agile way so that users can maximize the business value obtained today and adapt that to tomorrows changing needs rapidly and easily Predictability – when the mechanisms being used are using known, consistent and extensible methodology Need to support semantically rich information (human), contextual mechanisms, and not just rigid lists of enforced content (machine) Reduce collaboration and adoption costs by making exchanges quick and easy to build and self-adaptive – cost is barrier to interoperability Ability to support routing and intermediary services with views of exchange content based on role and use context How do you get there?
  • 18. Example: NIEM XSD Reference Architecture Exchange xml *Exchange xsd *Extension xsd Namespace * Optional NIEM xsd subset *Constraint xsd IEPDs have their own target namespaces Constraint Validation Conformance Validation NIEM = National Information Exchange Model (www.niem.gov) for DOJ/DHS *Code list xsd XML Schema
  • 19. Domain-specific XML Schemas NIEM – a comprehensive model of all entities of interest in government domain Defines terms shared between various agencies: persons, places, things LEXS – information-sharing protocols and messages, with NIEM as foundation Establishes patterns of requests and responses Provides structure around NIEM data elements
  • 20.  
  • 21. 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? Support for regression testing?
  • 22. Problem: XSD is non-deterministic! XSD does not have direct context mechanisms The schema contains the superset of every exchange component variation People make everything in schema optional Dependencies are not clear It is difficult to understand the constructs and to document the rules clearly for business users to verify It is hard to create test cases and instances (the “want list” tough to visualize) Disconnect between XML data types and legacy data – e.g. dates, telephone formats, post codes
  • 23. Consequences for Interoperability Multiple WSDL’s introduces risk that services won’t talk to each other Bypassing validation permits exchange of incorrect documents Propagation of incorrect documents in the system pushes problems to the perimeter User interfaces in each participating system must adapt to proliferating special cases
  • 24. What makes something Agile? Re-usable methods that can be applied to many areas Based on open standards and approach; not proprietary Context and role driven and aware This allows tailoring to specific profiles and use pattern templates dynamically Self-adaptive When requirements change can be adjusted on-the-fly in real time Fault tolerant and not brittle Ability to ignore non-critical interchange items and especially not to fail for trivial reasons or slight version nuances Leveraging XML capabilities to make self-describing transactions possible rather than static fixed legacy exchanges Able to support new uses without extensive reprogramming Usage patterns set via external configuration allowing broad but controlled uses
  • 25. Extract XSD to Assembly Template EXTRACT Structure Rules Documentation XSD 2 CAM XSLT Tools Exchange xml *Exchange xsd *Extension xsd *Code list xsd Namespace * Optional XML Schema NIEM xsd subset *Constraint xsd
  • 26. Example Generation – OASIS EDXL Structure Declarative Rules XSLT XPath structure flexibility Assertion logic
  • 27. Example Generated Documentation Enhanced Data type Logic Better code list handling Clear use pattern XPath functions
  • 28. CAM - Just re-shuffled syntax? If we built the CAM template directly from the XSD how can we have added rules value? CAM validation significantly more capable and agile than rigid XSD parsing: XPath based assertions 30 added functions add control Mask functions better content matching Context mechanism allows adaptive rules/structure Cross-dependencies Enhanced code list handling Flexible error handling and reporting CAM syntax exposes logic for human verification
  • 29. Value Proposition - Deterministic Making XML transaction handling simpler and predictable Quick and easy rule/example building from sample XSD Extends and clarifies your existing XSD schema structures Enabling more robust fault tolerant processing + versioning Providing open sharable templates and documentation Re-use easier through support for includable components Ability to integrate to business processes and context Open source, open public standard toolkit – editor + engine
  • 30. Eclipse CAM Editor 1 2 3 4 5 Available structures Structure Rule Viewer Rule Details Results Viewer Validation Process
  • 31. How does CAM work? CAM uses WYSIWYG approach to XML Starting with your XML structure layout makes template from that + default data content model Next – add your structure use rules – optional / repeatable, date fields, allowed values, lookups Then make context business rules – cross field use rules, exclude, include, variables Save template – run against samples Eclipse editor tool makes this all easy to do! Deploy to production using jCAM processor
  • 32. Modelling & Simulation Testing Scenario Emergency Response Services Workflow using OASIS EDXL exchanges
  • 33. Conceptual View of EDXL transaction Transaction Templates Structure Rules Context 3 2 Use Rules html XML Reports html Publish 1 Common Details Rules 4 Share Details Address Facility Contact Vehicles Emergency Resources Activity Content Rules Lookup Values Context Versioning Resources
  • 34. Illustrative EDXL requirements When Admissions Total > 50 AND Deaths > 0 When AdultICU Bed type > 0 AND Triage Quantity > 5 Require Facility State = CA, NV, NM
  • 35. CAM rules syntax <as:BusinessUseContext> <as:Rules> <as:default> <as:context> <as:constraint condition=&quot;//Activity24Hr /Admissions > 50 and( // Activity24Hr /Deaths > 0)&quot; action=&quot;restrictValues(// Activity24Hr /Admissions, ‘Alert – possible outbreak’) &quot;/> <as:constraint action=&quot;restrictValues(//ns5:AdministrativeArea /ns5:NameElement , 'CA|NV|NM')&quot;/> </as:context> </as:default> </as:Rules> </as:BusinessUseContext>
  • 36. CAM Summary XSD to CAM template extraction via XSLT makes quick adoption and low learning curve CAM templates provide agile mechanisms to enhance control over information exchanges Context mechanisms support BPM techniques and tailoring handling to match processing needs Better documentation support for human verification Link templates to partner agreements and use patterns More flexible versioning and non-brittle handling Test suites and conformance checking with regression testing and deterministic rule based examples Open public standard and open source implementation Sharable public templates for partner collaboration
  • 37. Process Driven Dynamic Applications Templates provide linkage between business needs and software mechanics Semantics can be morphed into different renderings depending on interfacing needs Validation scripts Forms logic Data storage and sharing Workflow steps HTML documentation Exploiting agile adaptable mechanisms using XML
  • 39. www.jcam.org.uk wiki.oasis-open.org www.oasis-open.org/committees/cam docs.oasis-open.org/cam www.oasis-open.org/committees/emergency www.niem.gov Resources:
  • 40. Thank You! David RR Webber SOA Architect Integrity One Partners Contact Information: 703.581.6500 [email_address]