«Integration» - a necessary evil

Sistemi Informativi Aziendali – A.A. 2011/2012
Definition
       System (or Systems) Integration
           In information technology, systems integration is the
            process of linking together different computing systems and
            software applications physically or functionally, to act as a
            coordinated whole.




                                                                 http://en.wikipedia.org/wiki/System_integration

    2                                  Sistemi Informativi Aziendali   A.A. 2011/2012
The problem




                            Wilhelm Hasselbring et al. (2000), "Information system
                            integration", Communications of the ACM, Volume 43, Issue
                            6 (June 2000), Pages: 32-38

3             Sistemi Informativi Aziendali   A.A. 2011/2012
The problem




               Defines the organizational structure and
                 the workflows for business rules and
                               processes.
              It is a conceptual level expressed in terms
              meaningful to actual users of application
                                 systems


                             Wilhelm Hasselbring et al. (2000), "Information system
                             integration", Communications of the ACM, Volume 43, Issue
                             6 (June 2000), Pages: 32-38

4              Sistemi Informativi Aziendali   A.A. 2011/2012
The problem




                Defines the actual implementation of the
                business concepts in terms of enterprise
                              applications.
              The central goal is to provide the “glue”
              between the application domain described in
               the business architecture and the technical
                 solutions described in the technology
                              architecture.

                             Wilhelm Hasselbring et al. (2000), "Information system
                             integration", Communications of the ACM, Volume 43, Issue
                             6 (June 2000), Pages: 32-38

5              Sistemi Informativi Aziendali   A.A. 2011/2012
The problem




              Defines the information and communication
                              infrastructure.
              At this layer, IT is challenged to achieve the
                         business requirements



                             Wilhelm Hasselbring et al. (2000), "Information system
                             integration", Communications of the ACM, Volume 43, Issue
                             6 (June 2000), Pages: 32-38

6              Sistemi Informativi Aziendali   A.A. 2011/2012
No Silos!
       Organizational units need to cooperate
       Cooperation at all levels is needed
       Cooperation is not “automatic” whenever different
        approaches/standard/methods/information is used




    7                           Sistemi Informativi Aziendali   A.A. 2011/2012
Integration levels




8                    Sistemi Informativi Aziendali   A.A. 2011/2012
Integration levels




                Enabling different tools to
               exchange data, information,
                  commands and status.




9                       Sistemi Informativi Aziendali   A.A. 2011/2012
Integration levels




               Creating meaningful
         application workflows with the
          integrated data and services




10                           Sistemi Informativi Aziendali   A.A. 2011/2012
Integration levels




                      EAI                   EDI
      SOA
                    Creating meaningful
              application workflows with the
               integrated data and services
          ERP                                     WS
                             XML
     interoperation




11                                 Sistemi Informativi Aziendali   A.A. 2011/2012
Integration levels




           Support business processes
         involving different units, thanks
            to the integration of their
                enterprise systems




12                             Sistemi Informativi Aziendali   A.A. 2011/2012
Complexity Boosters




13               Sistemi Informativi Aziendali   A.A. 2011/2012
Complexity Boosters



                      • Different servers
                           • Same company / data center
                           • Different company
                      • Different applications
                      • Calling “remote” procedures
                           • Stub+marshal+execute
                      • Time-changing distributed architecture




14               Sistemi Informativi Aziendali   A.A. 2011/2012
• Technical level:
     • different hardware platforms,
 Complexity Boosters
     • different operating systems,
     • different database management systems
     • different programming languages.
• Conceptual level
     • different programming and data models
     • different understanding and modeling of the
       same real-world concepts,
           • the same name to denote different
             concepts (homonyms)
           • different names for the same concept
             (synonyms)




   15                                  Sistemi Informativi Aziendali   A.A. 2011/2012
The “cutting game”




16               Sistemi Informativi Aziendali   A.A. 2011/2012
Integration styles
    File Transfer
        Have each application produce files of shared data for others
         to consume, and consume files that others have produced
    Shared database
        Have the applications store the data they wish to share in a
         common database
    Remote Procedure Invocation
        Have each application expose some of its procedures so that
         they can be invoked remotely, and have applications invoke
         those to run behavior and exchange data
    Messaging
        Have each application connect to a common messaging system,
         and exchange data and invoke behavior using messages
                                     http://www.enterpriseintegrationpatterns.com/IntegrationStylesIntro.html
    17                              Sistemi Informativi Aziendali     A.A. 2011/2012
Available Tecnical solutions
    Messaging oriented middleware; messaging patterns
    Interface based middleware; distributed objects
    Database-Oriented Middleware
    XML; XML based languages and standards
    Service Oriented Architecture; Web Services
    Web 2.0: Web APIs, REST, Mashup
    REST; RESTful Web Services; REST vs. Web Services
    Data/information integration and EII
    Presentation integration and portal
    Process (oriented) integration
    Identity integration; Single Sign-On
                                    CIS 8020: Systems Integration, Georgia State University
                                    http://www2.cis.gsu.edu/cis/program/syllabus/graduate/cis8020.asp

    18                       Sistemi Informativi Aziendali    A.A. 2011/2012
Legacy systems can’t be killed




19                Sistemi Informativi Aziendali   A.A. 2011/2012
Legacy systems integration




                http://www.ibm.com/developerworks/webservices/library/ws-tip-leg/index.html

20                  Sistemi Informativi Aziendali     A.A. 2011/2012
Data-level integration
    Access of legacy databases or files by either session beans
     or entity beans
    Access to newly developed data feeds, produced by the
     legacy system, for the specific purpose of data access
    XML is often used
    Straightforward and quick to implement
    But:
        increased data coupling between applications => increasing
         maintenance burden
        inability to access important behavior (data validation, critical
         business rules…)
        need to write significant data cleansing/formatting code for poorly
         designed data-increased data coupling between applications


    21                                 Sistemi Informativi Aziendali   A.A. 2011/2012
Application-interface integration
    leverage the application programming interfaces (APIs)
     exposed by your applications to access both the data and
     the functionality encapsulated by legacy systems
        Ex: C-APIs that you can access via Java Native Interface (JNI)
         code (SAP, PeopleSoft)
    But:
        In-house software rarely has a defined API
        APIs may be limited in scope / may not offer the behavior that
         you need (or in a manner that you need it)
        APIs are often function-oriented in nature and not object-
         oriented


    22                              Sistemi Informativi Aziendali   A.A. 2011/2012
Method-level integration
    Business logic is shared as a collection of shared methods,
     or operations that your software can invoke
        Ex.: update customer data, validate a credit card transaction,
         deposit money into a bank account
    Provides fine-grained access to common business
     functions
    Easy to invoke by many programming languages
    But:
        Fine-grained implies difficult to support transactions
        Difficult to support common services (ex: security)



    23                               Sistemi Informativi Aziendali   A.A. 2011/2012
User interface-level integration
    accessing existing applications through their user
     interfaces
        screen scraping: user keystrokes are simulated
    Common approach for legacy integration
    But:
        Slow
        Changes to the legacy user interface require changes to your
         code




    24                              Sistemi Informativi Aziendali   A.A. 2011/2012
Licenza d’uso
    Queste diapositive sono distribuite con licenza Creative Commons
     “Attribuzione - Non commerciale - Condividi allo stesso modo 2.5
     Italia (CC BY-NC-SA 2.5)”
    Sei libero:
        di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico,
         rappresentare, eseguire e recitare quest'opera
        di modificare quest'opera
    Alle seguenti condizioni:
        Attribuzione — Devi attribuire la paternità dell'opera agli autori
         originali e in modo tale da non suggerire che essi avallino te o il modo in
         cui tu usi l'opera.
        Non commerciale — Non puoi usare quest'opera per fini
         commerciali.
        Condividi allo stesso modo — Se alteri o trasformi quest'opera, o se
         la usi per crearne un'altra, puoi distribuire l'opera risultante solo con una
         licenza identica o equivalente a questa.
    http://creativecommons.org/licenses/by-nc-sa/2.5/it/
    25                                   Sistemi Informativi Aziendali   A.A. 2011/2012

«Integration» - a necessary evil

  • 1.
    «Integration» - anecessary evil Sistemi Informativi Aziendali – A.A. 2011/2012
  • 2.
    Definition  System (or Systems) Integration  In information technology, systems integration is the process of linking together different computing systems and software applications physically or functionally, to act as a coordinated whole. http://en.wikipedia.org/wiki/System_integration 2 Sistemi Informativi Aziendali A.A. 2011/2012
  • 3.
    The problem Wilhelm Hasselbring et al. (2000), "Information system integration", Communications of the ACM, Volume 43, Issue 6 (June 2000), Pages: 32-38 3 Sistemi Informativi Aziendali A.A. 2011/2012
  • 4.
    The problem Defines the organizational structure and the workflows for business rules and processes. It is a conceptual level expressed in terms meaningful to actual users of application systems Wilhelm Hasselbring et al. (2000), "Information system integration", Communications of the ACM, Volume 43, Issue 6 (June 2000), Pages: 32-38 4 Sistemi Informativi Aziendali A.A. 2011/2012
  • 5.
    The problem Defines the actual implementation of the business concepts in terms of enterprise applications. The central goal is to provide the “glue” between the application domain described in the business architecture and the technical solutions described in the technology architecture. Wilhelm Hasselbring et al. (2000), "Information system integration", Communications of the ACM, Volume 43, Issue 6 (June 2000), Pages: 32-38 5 Sistemi Informativi Aziendali A.A. 2011/2012
  • 6.
    The problem Defines the information and communication infrastructure. At this layer, IT is challenged to achieve the business requirements Wilhelm Hasselbring et al. (2000), "Information system integration", Communications of the ACM, Volume 43, Issue 6 (June 2000), Pages: 32-38 6 Sistemi Informativi Aziendali A.A. 2011/2012
  • 7.
    No Silos!  Organizational units need to cooperate  Cooperation at all levels is needed  Cooperation is not “automatic” whenever different approaches/standard/methods/information is used 7 Sistemi Informativi Aziendali A.A. 2011/2012
  • 8.
    Integration levels 8 Sistemi Informativi Aziendali A.A. 2011/2012
  • 9.
    Integration levels Enabling different tools to exchange data, information, commands and status. 9 Sistemi Informativi Aziendali A.A. 2011/2012
  • 10.
    Integration levels Creating meaningful application workflows with the integrated data and services 10 Sistemi Informativi Aziendali A.A. 2011/2012
  • 11.
    Integration levels EAI EDI SOA Creating meaningful application workflows with the integrated data and services ERP WS XML interoperation 11 Sistemi Informativi Aziendali A.A. 2011/2012
  • 12.
    Integration levels Support business processes involving different units, thanks to the integration of their enterprise systems 12 Sistemi Informativi Aziendali A.A. 2011/2012
  • 13.
    Complexity Boosters 13 Sistemi Informativi Aziendali A.A. 2011/2012
  • 14.
    Complexity Boosters • Different servers • Same company / data center • Different company • Different applications • Calling “remote” procedures • Stub+marshal+execute • Time-changing distributed architecture 14 Sistemi Informativi Aziendali A.A. 2011/2012
  • 15.
    • Technical level: • different hardware platforms, Complexity Boosters • different operating systems, • different database management systems • different programming languages. • Conceptual level • different programming and data models • different understanding and modeling of the same real-world concepts, • the same name to denote different concepts (homonyms) • different names for the same concept (synonyms) 15 Sistemi Informativi Aziendali A.A. 2011/2012
  • 16.
    The “cutting game” 16 Sistemi Informativi Aziendali A.A. 2011/2012
  • 17.
    Integration styles  File Transfer  Have each application produce files of shared data for others to consume, and consume files that others have produced  Shared database  Have the applications store the data they wish to share in a common database  Remote Procedure Invocation  Have each application expose some of its procedures so that they can be invoked remotely, and have applications invoke those to run behavior and exchange data  Messaging  Have each application connect to a common messaging system, and exchange data and invoke behavior using messages http://www.enterpriseintegrationpatterns.com/IntegrationStylesIntro.html 17 Sistemi Informativi Aziendali A.A. 2011/2012
  • 18.
    Available Tecnical solutions  Messaging oriented middleware; messaging patterns  Interface based middleware; distributed objects  Database-Oriented Middleware  XML; XML based languages and standards  Service Oriented Architecture; Web Services  Web 2.0: Web APIs, REST, Mashup  REST; RESTful Web Services; REST vs. Web Services  Data/information integration and EII  Presentation integration and portal  Process (oriented) integration  Identity integration; Single Sign-On CIS 8020: Systems Integration, Georgia State University http://www2.cis.gsu.edu/cis/program/syllabus/graduate/cis8020.asp 18 Sistemi Informativi Aziendali A.A. 2011/2012
  • 19.
    Legacy systems can’tbe killed 19 Sistemi Informativi Aziendali A.A. 2011/2012
  • 20.
    Legacy systems integration http://www.ibm.com/developerworks/webservices/library/ws-tip-leg/index.html 20 Sistemi Informativi Aziendali A.A. 2011/2012
  • 21.
    Data-level integration  Access of legacy databases or files by either session beans or entity beans  Access to newly developed data feeds, produced by the legacy system, for the specific purpose of data access  XML is often used  Straightforward and quick to implement  But:  increased data coupling between applications => increasing maintenance burden  inability to access important behavior (data validation, critical business rules…)  need to write significant data cleansing/formatting code for poorly designed data-increased data coupling between applications 21 Sistemi Informativi Aziendali A.A. 2011/2012
  • 22.
    Application-interface integration  leverage the application programming interfaces (APIs) exposed by your applications to access both the data and the functionality encapsulated by legacy systems  Ex: C-APIs that you can access via Java Native Interface (JNI) code (SAP, PeopleSoft)  But:  In-house software rarely has a defined API  APIs may be limited in scope / may not offer the behavior that you need (or in a manner that you need it)  APIs are often function-oriented in nature and not object- oriented 22 Sistemi Informativi Aziendali A.A. 2011/2012
  • 23.
    Method-level integration  Business logic is shared as a collection of shared methods, or operations that your software can invoke  Ex.: update customer data, validate a credit card transaction, deposit money into a bank account  Provides fine-grained access to common business functions  Easy to invoke by many programming languages  But:  Fine-grained implies difficult to support transactions  Difficult to support common services (ex: security) 23 Sistemi Informativi Aziendali A.A. 2011/2012
  • 24.
    User interface-level integration  accessing existing applications through their user interfaces  screen scraping: user keystrokes are simulated  Common approach for legacy integration  But:  Slow  Changes to the legacy user interface require changes to your code 24 Sistemi Informativi Aziendali A.A. 2011/2012
  • 25.
    Licenza d’uso  Queste diapositive sono distribuite con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo 2.5 Italia (CC BY-NC-SA 2.5)”  Sei libero:  di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire e recitare quest'opera  di modificare quest'opera  Alle seguenti condizioni:  Attribuzione — Devi attribuire la paternità dell'opera agli autori originali e in modo tale da non suggerire che essi avallino te o il modo in cui tu usi l'opera.  Non commerciale — Non puoi usare quest'opera per fini commerciali.  Condividi allo stesso modo — Se alteri o trasformi quest'opera, o se la usi per crearne un'altra, puoi distribuire l'opera risultante solo con una licenza identica o equivalente a questa.  http://creativecommons.org/licenses/by-nc-sa/2.5/it/ 25 Sistemi Informativi Aziendali A.A. 2011/2012