SlideShare a Scribd company logo
1 of 35
SOA that works
    By Alberto Lagna
    CTO Biznology srl
>apropos alberto.lagna
    •   Computer Science graduate, Telco master
    •   CTO of Biznology
    •   Working as software architect / team leader
    •   Consulting on design and development of enterprise systems
        mainly based on JavaEE and mobile
    •   UML, XML, BPM expert
    •   18 years of working experience in Europe and USA
    •   JUGTorino member
    •   Promoting the use of free software and supporting the open
        source movement

2
>apropos biznology.it
                                                       Organization
    • Consulting Company                                Model and     Methodology
                                                         Training      and tools
    • Defined a SOA at 360° approach:                     Plans
        –   Methodology and tools               Economical
                                                 Goal and
                                                                             Reference
        –   Reference Architecture                Result
                                                                            Architecture
                                                measuremen
        –   Communication                           ts
        –   Integration and Program Management          Integration
                                                                      Communicati
        –   Economical Goal and Result Measurement     and Program
                                                                         on
                                                       Management
        –   Organization Model and Training Plans


    • Because Applying the SOA approach is not ONLY using the
      right technology

3
Agenda
    • Complex integration system developed
        – Electronic Health Folder
        – Regional Administration Accounting System
    • System requirements
    • Pattern applied:
        –   Data dictionary
        –   Service Interface Design
        –   Materialisation / Dematerialisation
        –   Business Object Views
        –   Divide et Impera between services
        –   Versioning
        –   Logging and Monitoring
4
Warning




          UML - ACTIVE
5
Complex Integration Systems (1)
    Electronic Health Folder   ASO
                                OSP 1
                                        ASO
                                         OSP 1

                                                 ASO
                                                  OSP 1




6
Complex Integration Systems (2)
    Regional Administration Accounting System




                                                !

7
System Requirements (1)
    • Integrate many (existing) systems
       – Consume eterogeneous interfaces
           • Exposed even by legacy C, C++, VB, systems
       – Expose long lasting interfaces
           • They cannot change too often: consumed by systems
             developed in different projects, by different vendors




8
System Requirements (2a)
    • Integrate the Service Oriented world (mainly wso2)
      with the BPMS world (not wso2)
       – BPMN processes call Service interfaces
       – Provide a way to decouple the lifecycle of the BPMN
         processes with the service business entities




9
System Requirements (2b)




10
System Requirements (3)
     • Services could exchange Business Object that can
       be part of a big forest in a selective way
        – I don’t want to transport the whole Amazonian if I need
          just to transport a small tree




11
System Requirements (4)
     • Big Bang strategy must be avoided,
       therefore we need to define:
        – a way to develop, test and deploy the system in small
          parts
        – a roadmap to program when to roll out every part




12
System Requirements (5a)
     • What if something goes wrong?
        – Need a way to understand
           • Why a component XYZ did a certain call to a service (that
             went in error for example)
           • What were the calls that brought to the error



             Exception in thread "main" java.lang.NoSuchMethodError:
             org.apache.commons.httpclient.HttpConnectionManager.getParams()Lorg/apache/commons/httpclient/params
             /HttpConnectionManagerParams;
             at org.apache.axis2.transport.http.AbstractHTTPSender.initializeTimeouts(AbstractHTTPSender.java:454)
             at org.apache.axis2.transport.http.AbstractHTTPSender.getHttpClient(AbstractHTTPSender.java:514)
             at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:156)



13
System Requirements (5b)




14
System Architecture
     • Regional Administration Accounting System BIL
       module
     siac




15
Patterns Applied
     • To fulfill all the given requirements, the following
       patterns were applied:

        – Business Objects level
            •   Data Dictionary
            •   Service Interface Design
            •   Materialisation / Dematerialisation
            •   Business Object Views
        – Service Level
            • Divide et Impera between Services
            • Versioning
            • Logging and Monitoring
16
Pattern 1: Data Dictionary (1)
     • To integrate with differents systems, technologies
     • Divided the whole system into
        – Functional areas
        – Integration areas
     • Every area is responsible of a
        – Subset of Business Objects
        – Subset of (homogeneous) services
     • Business Objects
        – are the ONLY objects used within the system
        – They become the Lingua Franca of the system
17      – Need MAXIMUM care to be designed
Pattern 1: Data Dictionary (2)

                                    SIAC
                                                                       ALI Atti Liquidazione

                                      BIL - Bilancio di previsione e
                                      pluriennale

        GSA SocioAssistenziale                                          ATT - Atti Amministrativi
                                      GEN - Contabilità Generale
      APJ - Approvvigionamenti

                                      FIN – Contabilità finanziaria
     PER Gestione Personale                                             SCD - Contabilità Divisionale

     FPR Formazione Professionale
                                      FIS – Adempimenti Fiscali

        IVA Contabilità IVA




18
Pattern 2: Service Interface Design
     • The service messages are containers of Business Objects
     • The integration services do translation to/from the Business
       Objects




19
Pattern 3:
     Materialisation / Dematerialisation (1)
     • To decouple The BPMN Process lifecycles with the Business
       Objects lifecicles
     • The Proxy before the Processes Dematerialise the objects
     • The Proxy after the Processes Materialise the objects

      siac




20
Pattern 3:
                 Materialisation / Dematerialisation (2)
                 • The BPMN Processes use Dematerialised Entities

     EntitaDem (instead of VariazioneCapitolo) with the following attributes:
     • uuid = 1234
     • nome = acme
     • className = “it.csi.siac.siacbilser.interfacews.dd.VariazioneCapitolo”
     • attributes ={
          • {“tipo”, DIFFICULT}
          }



21
Pattern 3:
     Materialisation / Dematerialisation (3)
     • The BPMN Processes use Dematerialised Entities




22
Pattern 4: Business Object Views (1)
     • Not to always move the whole Amazonian Forest if
       only a tree is needed
     • Data Services also accept the View parameter that
       tells which part of the forest to carry.




23
Pattern 4: Business Object Views (2)




24
Pattern 4: Business Object Views (3)
     • The view object:
        – name: VariazioneCapitolo4BPM
        – className: VariazioneCapitolo
        – attributiVisibili:
           • descrizione
           • competenza
           • provvediamento,
             Provvedimento4BPM




25
Pattern 5: Divide et Impera (1)
     • To be able to Manage (=Imperare) the whole
       system
       every Area provides his Data Dictionary library with
        – The service interfaces
        – The service clients
        – A fake service implementation
     • Divide
        – Every service can be tested stand alone,
          with the fake services of the other areas that it needs
        – Some real services can be added and a limited
          integration test can be run
27
Pattern 5: Divide et Impera (2)

                                    SIAC
                                                                       ALI Atti Liquidazione

                                      BIL - Bilancio di previsione e
                                      pluriennale

        GSA SocioAssistenziale                                          ATT - Atti Amministrativi
                                      GEN - Contabilità Generale
      APJ - Approvvigionamenti

                                      FIN – Contabilità finanziaria
     PER Gestione Personale                                             SCD - Contabilità Divisionale

     FPR Formazione Professionale
                                      FIS – Adempimenti Fiscali

        IVA Contabilità IVA




28
Pattern 6: Versioning (1)
     • Service Versioning options:
         – use an (optional) attribute at the xs:schema element
         – denoting the schema version in XML namespaces
         – keep XML namespace values constant and add a special
           element for grouping custom extensions
     @see B. Lublinsky, Versioning in SOA
     http://msdn.microsoft.com/en-us/library/bb491124.aspx


     • We choose the namespace level
     • The Data Dictionary (jar)
         – Is of a specific Area of a specific Version
29       – Contains Service Interfaces and Clients
Pattern 6: Versioning (2)

     <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
     <definitions targetNamespace="http://siac.it/fin/svc/1.0" name="ImpegnoService" xmlns="http://schemas.xmlsoap.org/wsdl/"
     xmlns:tns="http://siac.it/fin/svc/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
      <types>
       <xsd:schema>
        <xsd:import namespace="http://siac.csi.it/fin/svc/1.0" schemaLocation="ImpegnoService-1.0.xsd"/>
       </xsd:schema>
       <xsd:schema>
        <xsd:import namespace="http://siac.it/fin/data/1.0" schemaLocation=fin-1.0.xsd"/>
       </xsd:schema>
       <xsd:schema>
        <xsd:import namespace="http://siac.it/cor/data/1.0" schemaLocation=”cor-1.0.xsd"/>
       </xsd:schema>
      </types>




30
Pattern 7: Logging and Monitoring (1)
     • Every request and response contains at least
         – User, with his profile
         – Operation Token (TokenOperazione class below)
     • No SOAP Fault




31
Pattern 7: Logging and Monitoring (2)
            • How does the Operation Token work?
     siac             n+1"



                                             n+1.1.1.1.1"
                        n"
                                    n+1.1"




                                             n+1.1.1"




                             n.1"




32
Pattern 7: Logging and Monitoring (3)
     • Using a log aggregator the logs can be easily read and
       composed




33
The patterns are related together
     • Business Objects level
        –   Data Dictionary
        –   Service Interface Design
        –   Materialisation / Dematerialisation
        –   Business Object Views
     • Service Level
        – Divide et Impera between Services
        – Versioning
        – Logging and Monitoring


34
Good book to read
     • Applied SOA, Mike Rosen
       http://www.amazon.com/Applied-SOA-Service-
       Oriented-Architecture-Strategies/dp/0470223650




     • BPMN Method & Style, Bruce Silver
       www.bpmessentials.com



35
Thank you
alberto.lagna@biznology.it

More Related Content

What's hot

20080605 JUG Stuttgart Business Process Simulation mit JBoss jBPM
20080605 JUG Stuttgart Business Process Simulation mit JBoss jBPM20080605 JUG Stuttgart Business Process Simulation mit JBoss jBPM
20080605 JUG Stuttgart Business Process Simulation mit JBoss jBPMcamunda services GmbH
 
SOA for HR Services Delivery
SOA for HR Services DeliverySOA for HR Services Delivery
SOA for HR Services DeliveryChuck Allen
 
Michel izygon
Michel izygonMichel izygon
Michel izygonNASAPMC
 
Create a roadmap for ea using capability maturity models
Create a roadmap for ea using capability maturity modelsCreate a roadmap for ea using capability maturity models
Create a roadmap for ea using capability maturity modelsLeo de Sousa
 
C0196 Ndf017 09 C0 Storyboard
C0196 Ndf017 09 C0 StoryboardC0196 Ndf017 09 C0 Storyboard
C0196 Ndf017 09 C0 Storyboardndfranklin
 
Dyn sl capabilities_guide_2011_us
Dyn sl capabilities_guide_2011_usDyn sl capabilities_guide_2011_us
Dyn sl capabilities_guide_2011_usr_p_deepak
 
BP Logix BPM & Workflow Software
BP Logix BPM & Workflow SoftwareBP Logix BPM & Workflow Software
BP Logix BPM & Workflow SoftwareBP Logix
 
Skyward Erp Presentation
Skyward Erp PresentationSkyward Erp Presentation
Skyward Erp Presentationvishalnvora1
 
Transform Your Business with Alloy by IBM and SAP
Transform Your Business with Alloy by IBM and SAPTransform Your Business with Alloy by IBM and SAP
Transform Your Business with Alloy by IBM and SAPChristian Holsing
 
Heterogeneous Domains’ e-Business Transactions Interoperability with the use ...
Heterogeneous Domains’ e-Business Transactions Interoperability with the use ...Heterogeneous Domains’ e-Business Transactions Interoperability with the use ...
Heterogeneous Domains’ e-Business Transactions Interoperability with the use ...Sotiris Koussouris
 
ERP Project Management Primer
ERP Project Management PrimerERP Project Management Primer
ERP Project Management Primersureshgk
 
Final groupassignmentpresentation g4_mode1_2012
Final groupassignmentpresentation g4_mode1_2012Final groupassignmentpresentation g4_mode1_2012
Final groupassignmentpresentation g4_mode1_2012Bryan Johnson
 
SAP BUSINESS BLUE PRINT PRACTICE PROJECT
SAP BUSINESS BLUE PRINT PRACTICE PROJECTSAP BUSINESS BLUE PRINT PRACTICE PROJECT
SAP BUSINESS BLUE PRINT PRACTICE PROJECTVenet Dheer
 
Дамир Тенишев Exigen Services Business Processes Storehouse
Дамир Тенишев Exigen Services Business Processes StorehouseДамир Тенишев Exigen Services Business Processes Storehouse
Дамир Тенишев Exigen Services Business Processes StorehouseТранслируем.бел
 
PCTY 2012, Udvælgelse af IAM platform v. Henrik Lei
PCTY 2012, Udvælgelse af IAM platform v. Henrik LeiPCTY 2012, Udvælgelse af IAM platform v. Henrik Lei
PCTY 2012, Udvælgelse af IAM platform v. Henrik LeiIBM Danmark
 
Business Process Improvement
Business Process ImprovementBusiness Process Improvement
Business Process ImprovementSimon Gough
 

What's hot (20)

20080605 JUG Stuttgart Business Process Simulation mit JBoss jBPM
20080605 JUG Stuttgart Business Process Simulation mit JBoss jBPM20080605 JUG Stuttgart Business Process Simulation mit JBoss jBPM
20080605 JUG Stuttgart Business Process Simulation mit JBoss jBPM
 
SOA for HR Services Delivery
SOA for HR Services DeliverySOA for HR Services Delivery
SOA for HR Services Delivery
 
Caarcpm
CaarcpmCaarcpm
Caarcpm
 
Michel izygon
Michel izygonMichel izygon
Michel izygon
 
Create a roadmap for ea using capability maturity models
Create a roadmap for ea using capability maturity modelsCreate a roadmap for ea using capability maturity models
Create a roadmap for ea using capability maturity models
 
C0196 Ndf017 09 C0 Storyboard
C0196 Ndf017 09 C0 StoryboardC0196 Ndf017 09 C0 Storyboard
C0196 Ndf017 09 C0 Storyboard
 
Dyn sl capabilities_guide_2011_us
Dyn sl capabilities_guide_2011_usDyn sl capabilities_guide_2011_us
Dyn sl capabilities_guide_2011_us
 
BP Logix BPM & Workflow Software
BP Logix BPM & Workflow SoftwareBP Logix BPM & Workflow Software
BP Logix BPM & Workflow Software
 
Skyward Erp Presentation
Skyward Erp PresentationSkyward Erp Presentation
Skyward Erp Presentation
 
Transform Your Business with Alloy by IBM and SAP
Transform Your Business with Alloy by IBM and SAPTransform Your Business with Alloy by IBM and SAP
Transform Your Business with Alloy by IBM and SAP
 
Plant maintance module1
Plant maintance module1Plant maintance module1
Plant maintance module1
 
Heterogeneous Domains’ e-Business Transactions Interoperability with the use ...
Heterogeneous Domains’ e-Business Transactions Interoperability with the use ...Heterogeneous Domains’ e-Business Transactions Interoperability with the use ...
Heterogeneous Domains’ e-Business Transactions Interoperability with the use ...
 
ERP Project Management Primer
ERP Project Management PrimerERP Project Management Primer
ERP Project Management Primer
 
Final groupassignmentpresentation g4_mode1_2012
Final groupassignmentpresentation g4_mode1_2012Final groupassignmentpresentation g4_mode1_2012
Final groupassignmentpresentation g4_mode1_2012
 
SAP BUSINESS BLUE PRINT PRACTICE PROJECT
SAP BUSINESS BLUE PRINT PRACTICE PROJECTSAP BUSINESS BLUE PRINT PRACTICE PROJECT
SAP BUSINESS BLUE PRINT PRACTICE PROJECT
 
Дамир Тенишев Exigen Services Business Processes Storehouse
Дамир Тенишев Exigen Services Business Processes StorehouseДамир Тенишев Exigen Services Business Processes Storehouse
Дамир Тенишев Exigen Services Business Processes Storehouse
 
sap
sapsap
sap
 
PCTY 2012, Udvælgelse af IAM platform v. Henrik Lei
PCTY 2012, Udvælgelse af IAM platform v. Henrik LeiPCTY 2012, Udvælgelse af IAM platform v. Henrik Lei
PCTY 2012, Udvælgelse af IAM platform v. Henrik Lei
 
Business Process Improvement
Business Process ImprovementBusiness Process Improvement
Business Process Improvement
 
Oracle Procurement Channel
Oracle Procurement ChannelOracle Procurement Channel
Oracle Procurement Channel
 

Viewers also liked

2004: Webbit Padova 04: Wireless (in)security
2004: Webbit Padova 04: Wireless (in)security2004: Webbit Padova 04: Wireless (in)security
2004: Webbit Padova 04: Wireless (in)securityFabio Pietrosanti
 
Confronto fra web services framework (open source)
Confronto fra web services framework (open source)Confronto fra web services framework (open source)
Confronto fra web services framework (open source)Alberto Lagna
 
Presentazione
PresentazionePresentazione
PresentazioneShiptar
 
Un metodo di progettazione di reti locali con esigenze di qualità del servizio
Un metodo di progettazione di reti locali con esigenze di qualità del servizioUn metodo di progettazione di reti locali con esigenze di qualità del servizio
Un metodo di progettazione di reti locali con esigenze di qualità del servizioClaudio Bortone
 
Wifi per le scuole di Monza
Wifi per le scuole di MonzaWifi per le scuole di Monza
Wifi per le scuole di Monzafabfri
 
Sistema tracciabilità aziendale reti sicurezza
Sistema tracciabilità aziendale reti sicurezzaSistema tracciabilità aziendale reti sicurezza
Sistema tracciabilità aziendale reti sicurezzaRetievoluzioneimpresa
 
01.Dimensioni E Prestazioni Reti Aziendali May 2002 3
01.Dimensioni E Prestazioni Reti Aziendali May 2002 301.Dimensioni E Prestazioni Reti Aziendali May 2002 3
01.Dimensioni E Prestazioni Reti Aziendali May 2002 3Marco Guardigli
 
Sviluppo di architetture orientate ai servizi con EclipseSOA
Sviluppo di architetture orientate ai servizi con EclipseSOA Sviluppo di architetture orientate ai servizi con EclipseSOA
Sviluppo di architetture orientate ai servizi con EclipseSOA Alberto Lagna
 
Sicurezza - Reti Wireless
Sicurezza -  Reti WirelessSicurezza -  Reti Wireless
Sicurezza - Reti WirelessAntonioTringali
 
10 Reti Accesso
10 Reti Accesso10 Reti Accesso
10 Reti Accessoacapone
 
G. Barcaroli - Il modello di Business Architecture dell’Istat
 G. Barcaroli - Il modello di Business Architecture dell’Istat G. Barcaroli - Il modello di Business Architecture dell’Istat
G. Barcaroli - Il modello di Business Architecture dell’IstatIstituto nazionale di statistica
 

Viewers also liked (13)

2004: Webbit Padova 04: Wireless (in)security
2004: Webbit Padova 04: Wireless (in)security2004: Webbit Padova 04: Wireless (in)security
2004: Webbit Padova 04: Wireless (in)security
 
Confronto fra web services framework (open source)
Confronto fra web services framework (open source)Confronto fra web services framework (open source)
Confronto fra web services framework (open source)
 
Presentazione
PresentazionePresentazione
Presentazione
 
why cloud loves soa
why cloud loves soawhy cloud loves soa
why cloud loves soa
 
Un metodo di progettazione di reti locali con esigenze di qualità del servizio
Un metodo di progettazione di reti locali con esigenze di qualità del servizioUn metodo di progettazione di reti locali con esigenze di qualità del servizio
Un metodo di progettazione di reti locali con esigenze di qualità del servizio
 
Wifi per le scuole di Monza
Wifi per le scuole di MonzaWifi per le scuole di Monza
Wifi per le scuole di Monza
 
Sistema tracciabilità aziendale reti sicurezza
Sistema tracciabilità aziendale reti sicurezzaSistema tracciabilità aziendale reti sicurezza
Sistema tracciabilità aziendale reti sicurezza
 
01.Dimensioni E Prestazioni Reti Aziendali May 2002 3
01.Dimensioni E Prestazioni Reti Aziendali May 2002 301.Dimensioni E Prestazioni Reti Aziendali May 2002 3
01.Dimensioni E Prestazioni Reti Aziendali May 2002 3
 
Sviluppo di architetture orientate ai servizi con EclipseSOA
Sviluppo di architetture orientate ai servizi con EclipseSOA Sviluppo di architetture orientate ai servizi con EclipseSOA
Sviluppo di architetture orientate ai servizi con EclipseSOA
 
Sicurezza - Reti Wireless
Sicurezza -  Reti WirelessSicurezza -  Reti Wireless
Sicurezza - Reti Wireless
 
10 Reti Accesso
10 Reti Accesso10 Reti Accesso
10 Reti Accesso
 
Sicurezza nelle reti Wireless LAN
Sicurezza nelle reti Wireless LANSicurezza nelle reti Wireless LAN
Sicurezza nelle reti Wireless LAN
 
G. Barcaroli - Il modello di Business Architecture dell’Istat
 G. Barcaroli - Il modello di Business Architecture dell’Istat G. Barcaroli - Il modello di Business Architecture dell’Istat
G. Barcaroli - Il modello di Business Architecture dell’Istat
 

Similar to SOA that Works: Patterns for Complex Integration Systems

1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.pptKalsoomTahir2
 
--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppteddielyndacanay0
 
How to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).pptHow to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).pptStevenShing
 
Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Alexander SAMARIN
 
IT4IT - The Full Story for Digital Transformation - Part 2
IT4IT - The Full Story for Digital Transformation - Part 2IT4IT - The Full Story for Digital Transformation - Part 2
IT4IT - The Full Story for Digital Transformation - Part 2Mohamed Zakarya Abdelgawad
 
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorialMike Marin
 
SERVICENOW PPT BY PAVANKUMAR
SERVICENOW PPT BY PAVANKUMARSERVICENOW PPT BY PAVANKUMAR
SERVICENOW PPT BY PAVANKUMARPavan Kumar
 
The Essential Guide for Automating CMDB population and maintenance
The Essential Guide for Automating CMDB population and maintenanceThe Essential Guide for Automating CMDB population and maintenance
The Essential Guide for Automating CMDB population and maintenanceStefan Bergstein
 
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014IBM Systems UKI
 
Maximo User Group Keynote - "Facilities" is Strategic!
Maximo User Group Keynote - "Facilities" is Strategic!Maximo User Group Keynote - "Facilities" is Strategic!
Maximo User Group Keynote - "Facilities" is Strategic!Scott Smith, PE
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesJim (张建军) Zhang
 
Aim PPT For Oracle HRMS
Aim PPT For Oracle HRMSAim PPT For Oracle HRMS
Aim PPT For Oracle HRMSRajiv reddy
 
Bonitasoft BPMN Presentation
Bonitasoft BPMN PresentationBonitasoft BPMN Presentation
Bonitasoft BPMN PresentationKashif Captain
 
IT - Enterprise Service Operation Center
IT - Enterprise Service Operation CenterIT - Enterprise Service Operation Center
IT - Enterprise Service Operation CenterSameer Paradia
 
Erp by Mohammad Saeed Khan
Erp by Mohammad Saeed KhanErp by Mohammad Saeed Khan
Erp by Mohammad Saeed KhanMohd Saeed
 
Building High Quality Solutions with Design Patterns & Application Foundation...
Building High Quality Solutions with Design Patterns & Application Foundation...Building High Quality Solutions with Design Patterns & Application Foundation...
Building High Quality Solutions with Design Patterns & Application Foundation...Christoffer Sabsay
 

Similar to SOA that Works: Patterns for Complex Integration Systems (20)

1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt
 
--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt
 
How to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).pptHow to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).ppt
 
Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)
 
IT4IT - The Full Story for Digital Transformation - Part 2
IT4IT - The Full Story for Digital Transformation - Part 2IT4IT - The Full Story for Digital Transformation - Part 2
IT4IT - The Full Story for Digital Transformation - Part 2
 
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorial
 
Concept of SOA
Concept of SOAConcept of SOA
Concept of SOA
 
SERVICENOW PPT BY PAVANKUMAR
SERVICENOW PPT BY PAVANKUMARSERVICENOW PPT BY PAVANKUMAR
SERVICENOW PPT BY PAVANKUMAR
 
Soa 1 7.ppsx
Soa 1 7.ppsxSoa 1 7.ppsx
Soa 1 7.ppsx
 
The Essential Guide for Automating CMDB population and maintenance
The Essential Guide for Automating CMDB population and maintenanceThe Essential Guide for Automating CMDB population and maintenance
The Essential Guide for Automating CMDB population and maintenance
 
Building Service Oriented Architecture based applications
Building Service Oriented Architecture based applicationsBuilding Service Oriented Architecture based applications
Building Service Oriented Architecture based applications
 
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014
PureApp Hybrid Cloud - Mark Willemse ING Presentation 11th September 2014
 
Maximo User Group Keynote - "Facilities" is Strategic!
Maximo User Group Keynote - "Facilities" is Strategic!Maximo User Group Keynote - "Facilities" is Strategic!
Maximo User Group Keynote - "Facilities" is Strategic!
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
 
ERP by saeed
ERP by saeedERP by saeed
ERP by saeed
 
Aim PPT For Oracle HRMS
Aim PPT For Oracle HRMSAim PPT For Oracle HRMS
Aim PPT For Oracle HRMS
 
Bonitasoft BPMN Presentation
Bonitasoft BPMN PresentationBonitasoft BPMN Presentation
Bonitasoft BPMN Presentation
 
IT - Enterprise Service Operation Center
IT - Enterprise Service Operation CenterIT - Enterprise Service Operation Center
IT - Enterprise Service Operation Center
 
Erp by Mohammad Saeed Khan
Erp by Mohammad Saeed KhanErp by Mohammad Saeed Khan
Erp by Mohammad Saeed Khan
 
Building High Quality Solutions with Design Patterns & Application Foundation...
Building High Quality Solutions with Design Patterns & Application Foundation...Building High Quality Solutions with Design Patterns & Application Foundation...
Building High Quality Solutions with Design Patterns & Application Foundation...
 

More from Alberto Lagna

Biznology presentazione azienda
Biznology presentazione aziendaBiznology presentazione azienda
Biznology presentazione aziendaAlberto Lagna
 
Una enterprise architecture a servizi
Una enterprise architecture a serviziUna enterprise architecture a servizi
Una enterprise architecture a serviziAlberto Lagna
 
Lifeticker per FIFA 2006, in tempo reale con SOA e AJAX
Lifeticker per FIFA 2006, in tempo reale con SOA e AJAXLifeticker per FIFA 2006, in tempo reale con SOA e AJAX
Lifeticker per FIFA 2006, in tempo reale con SOA e AJAXAlberto Lagna
 
Un'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterpriseUn'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterpriseAlberto Lagna
 
Contenuti time-based e personalizzati sul cellularde
Contenuti time-based e personalizzati sul cellulardeContenuti time-based e personalizzati sul cellularde
Contenuti time-based e personalizzati sul cellulardeAlberto Lagna
 

More from Alberto Lagna (6)

Biznology presentazione azienda
Biznology presentazione aziendaBiznology presentazione azienda
Biznology presentazione azienda
 
Una enterprise architecture a servizi
Una enterprise architecture a serviziUna enterprise architecture a servizi
Una enterprise architecture a servizi
 
Understanding Mda
Understanding MdaUnderstanding Mda
Understanding Mda
 
Lifeticker per FIFA 2006, in tempo reale con SOA e AJAX
Lifeticker per FIFA 2006, in tempo reale con SOA e AJAXLifeticker per FIFA 2006, in tempo reale con SOA e AJAX
Lifeticker per FIFA 2006, in tempo reale con SOA e AJAX
 
Un'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterpriseUn'architettura di riferimento per applicazioni enterprise
Un'architettura di riferimento per applicazioni enterprise
 
Contenuti time-based e personalizzati sul cellularde
Contenuti time-based e personalizzati sul cellulardeContenuti time-based e personalizzati sul cellularde
Contenuti time-based e personalizzati sul cellularde
 

SOA that Works: Patterns for Complex Integration Systems

  • 1. SOA that works By Alberto Lagna CTO Biznology srl
  • 2. >apropos alberto.lagna • Computer Science graduate, Telco master • CTO of Biznology • Working as software architect / team leader • Consulting on design and development of enterprise systems mainly based on JavaEE and mobile • UML, XML, BPM expert • 18 years of working experience in Europe and USA • JUGTorino member • Promoting the use of free software and supporting the open source movement 2
  • 3. >apropos biznology.it Organization • Consulting Company Model and Methodology Training and tools • Defined a SOA at 360° approach: Plans – Methodology and tools Economical Goal and Reference – Reference Architecture Result Architecture measuremen – Communication ts – Integration and Program Management Integration Communicati – Economical Goal and Result Measurement and Program on Management – Organization Model and Training Plans • Because Applying the SOA approach is not ONLY using the right technology 3
  • 4. Agenda • Complex integration system developed – Electronic Health Folder – Regional Administration Accounting System • System requirements • Pattern applied: – Data dictionary – Service Interface Design – Materialisation / Dematerialisation – Business Object Views – Divide et Impera between services – Versioning – Logging and Monitoring 4
  • 5. Warning UML - ACTIVE 5
  • 6. Complex Integration Systems (1) Electronic Health Folder ASO OSP 1 ASO OSP 1 ASO OSP 1 6
  • 7. Complex Integration Systems (2) Regional Administration Accounting System ! 7
  • 8. System Requirements (1) • Integrate many (existing) systems – Consume eterogeneous interfaces • Exposed even by legacy C, C++, VB, systems – Expose long lasting interfaces • They cannot change too often: consumed by systems developed in different projects, by different vendors 8
  • 9. System Requirements (2a) • Integrate the Service Oriented world (mainly wso2) with the BPMS world (not wso2) – BPMN processes call Service interfaces – Provide a way to decouple the lifecycle of the BPMN processes with the service business entities 9
  • 11. System Requirements (3) • Services could exchange Business Object that can be part of a big forest in a selective way – I don’t want to transport the whole Amazonian if I need just to transport a small tree 11
  • 12. System Requirements (4) • Big Bang strategy must be avoided, therefore we need to define: – a way to develop, test and deploy the system in small parts – a roadmap to program when to roll out every part 12
  • 13. System Requirements (5a) • What if something goes wrong? – Need a way to understand • Why a component XYZ did a certain call to a service (that went in error for example) • What were the calls that brought to the error Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.httpclient.HttpConnectionManager.getParams()Lorg/apache/commons/httpclient/params /HttpConnectionManagerParams; at org.apache.axis2.transport.http.AbstractHTTPSender.initializeTimeouts(AbstractHTTPSender.java:454) at org.apache.axis2.transport.http.AbstractHTTPSender.getHttpClient(AbstractHTTPSender.java:514) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:156) 13
  • 15. System Architecture • Regional Administration Accounting System BIL module siac 15
  • 16. Patterns Applied • To fulfill all the given requirements, the following patterns were applied: – Business Objects level • Data Dictionary • Service Interface Design • Materialisation / Dematerialisation • Business Object Views – Service Level • Divide et Impera between Services • Versioning • Logging and Monitoring 16
  • 17. Pattern 1: Data Dictionary (1) • To integrate with differents systems, technologies • Divided the whole system into – Functional areas – Integration areas • Every area is responsible of a – Subset of Business Objects – Subset of (homogeneous) services • Business Objects – are the ONLY objects used within the system – They become the Lingua Franca of the system 17 – Need MAXIMUM care to be designed
  • 18. Pattern 1: Data Dictionary (2) SIAC ALI Atti Liquidazione BIL - Bilancio di previsione e pluriennale GSA SocioAssistenziale ATT - Atti Amministrativi GEN - Contabilità Generale APJ - Approvvigionamenti FIN – Contabilità finanziaria PER Gestione Personale SCD - Contabilità Divisionale FPR Formazione Professionale FIS – Adempimenti Fiscali IVA Contabilità IVA 18
  • 19. Pattern 2: Service Interface Design • The service messages are containers of Business Objects • The integration services do translation to/from the Business Objects 19
  • 20. Pattern 3: Materialisation / Dematerialisation (1) • To decouple The BPMN Process lifecycles with the Business Objects lifecicles • The Proxy before the Processes Dematerialise the objects • The Proxy after the Processes Materialise the objects siac 20
  • 21. Pattern 3: Materialisation / Dematerialisation (2) • The BPMN Processes use Dematerialised Entities EntitaDem (instead of VariazioneCapitolo) with the following attributes: • uuid = 1234 • nome = acme • className = “it.csi.siac.siacbilser.interfacews.dd.VariazioneCapitolo” • attributes ={ • {“tipo”, DIFFICULT} } 21
  • 22. Pattern 3: Materialisation / Dematerialisation (3) • The BPMN Processes use Dematerialised Entities 22
  • 23. Pattern 4: Business Object Views (1) • Not to always move the whole Amazonian Forest if only a tree is needed • Data Services also accept the View parameter that tells which part of the forest to carry. 23
  • 24. Pattern 4: Business Object Views (2) 24
  • 25. Pattern 4: Business Object Views (3) • The view object: – name: VariazioneCapitolo4BPM – className: VariazioneCapitolo – attributiVisibili: • descrizione • competenza • provvediamento, Provvedimento4BPM 25
  • 26. Pattern 5: Divide et Impera (1) • To be able to Manage (=Imperare) the whole system every Area provides his Data Dictionary library with – The service interfaces – The service clients – A fake service implementation • Divide – Every service can be tested stand alone, with the fake services of the other areas that it needs – Some real services can be added and a limited integration test can be run 27
  • 27. Pattern 5: Divide et Impera (2) SIAC ALI Atti Liquidazione BIL - Bilancio di previsione e pluriennale GSA SocioAssistenziale ATT - Atti Amministrativi GEN - Contabilità Generale APJ - Approvvigionamenti FIN – Contabilità finanziaria PER Gestione Personale SCD - Contabilità Divisionale FPR Formazione Professionale FIS – Adempimenti Fiscali IVA Contabilità IVA 28
  • 28. Pattern 6: Versioning (1) • Service Versioning options: – use an (optional) attribute at the xs:schema element – denoting the schema version in XML namespaces – keep XML namespace values constant and add a special element for grouping custom extensions @see B. Lublinsky, Versioning in SOA http://msdn.microsoft.com/en-us/library/bb491124.aspx • We choose the namespace level • The Data Dictionary (jar) – Is of a specific Area of a specific Version 29 – Contains Service Interfaces and Clients
  • 29. Pattern 6: Versioning (2) <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <definitions targetNamespace="http://siac.it/fin/svc/1.0" name="ImpegnoService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://siac.it/fin/svc/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <types> <xsd:schema> <xsd:import namespace="http://siac.csi.it/fin/svc/1.0" schemaLocation="ImpegnoService-1.0.xsd"/> </xsd:schema> <xsd:schema> <xsd:import namespace="http://siac.it/fin/data/1.0" schemaLocation=fin-1.0.xsd"/> </xsd:schema> <xsd:schema> <xsd:import namespace="http://siac.it/cor/data/1.0" schemaLocation=”cor-1.0.xsd"/> </xsd:schema> </types> 30
  • 30. Pattern 7: Logging and Monitoring (1) • Every request and response contains at least – User, with his profile – Operation Token (TokenOperazione class below) • No SOAP Fault 31
  • 31. Pattern 7: Logging and Monitoring (2) • How does the Operation Token work? siac n+1" n+1.1.1.1.1" n" n+1.1" n+1.1.1" n.1" 32
  • 32. Pattern 7: Logging and Monitoring (3) • Using a log aggregator the logs can be easily read and composed 33
  • 33. The patterns are related together • Business Objects level – Data Dictionary – Service Interface Design – Materialisation / Dematerialisation – Business Object Views • Service Level – Divide et Impera between Services – Versioning – Logging and Monitoring 34
  • 34. Good book to read • Applied SOA, Mike Rosen http://www.amazon.com/Applied-SOA-Service- Oriented-Architecture-Strategies/dp/0470223650 • BPMN Method & Style, Bruce Silver www.bpmessentials.com 35