«integration» - a necessary evil
DESCRIPTION
Introduction to the issues arising in Information Systems integration. Materiale realizzato per il corso di Sistemi Informativi Aziendali del Politecnico di Torino - http://bit.ly/sistinfoTRANSCRIPT
![Page 1: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/1.jpg)
«Integration» - a necessary evil
Sistemi Informativi Aziendali – A.A. 2011/2012
![Page 2: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/2.jpg)
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.
A.A. 2011/2012 2 Sistemi Informativi Aziendali
http://en.wikipedia.org/wiki/System_integration
![Page 3: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/3.jpg)
The problem
A.A. 2011/2012 Sistemi Informativi Aziendali 3
Wilhelm Hasselbring et al. (2000), "Information system
integration", Communications of the ACM, Volume 43, Issue
6 (June 2000), Pages: 32-38
![Page 4: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/4.jpg)
The problem
A.A. 2011/2012 Sistemi Informativi Aziendali 4
Wilhelm Hasselbring et al. (2000), "Information system
integration", Communications of the ACM, Volume 43, Issue
6 (June 2000), Pages: 32-38
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
![Page 5: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/5.jpg)
The problem
A.A. 2011/2012 Sistemi Informativi Aziendali 5
Wilhelm Hasselbring et al. (2000), "Information system
integration", Communications of the ACM, Volume 43, Issue
6 (June 2000), Pages: 32-38
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.
![Page 6: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/6.jpg)
The problem
A.A. 2011/2012 Sistemi Informativi Aziendali 6
Wilhelm Hasselbring et al. (2000), "Information system
integration", Communications of the ACM, Volume 43, Issue
6 (June 2000), Pages: 32-38
Defines the information and communication
infrastructure.
At this layer, IT is challenged to achieve the
business requirements
![Page 7: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/7.jpg)
No Silos!
A.A. 2011/2012 Sistemi Informativi Aziendali 7
Organizational units need to cooperate
Cooperation at all levels is needed
Cooperation is not “automatic” whenever different
approaches/standard/methods/information is used
![Page 8: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/8.jpg)
Integration levels
A.A. 2011/2012 Sistemi Informativi Aziendali 8
![Page 9: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/9.jpg)
Integration levels
A.A. 2011/2012 Sistemi Informativi Aziendali 9
Enabling different tools to
exchange data, information,
commands and status.
![Page 10: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/10.jpg)
Integration levels
A.A. 2011/2012 Sistemi Informativi Aziendali 10
Creating meaningful
application workflows with the
integrated data and services
![Page 11: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/11.jpg)
Integration levels
A.A. 2011/2012 Sistemi Informativi Aziendali 11
Creating meaningful
application workflows with the
integrated data and services
EAI
ERP
interoperation XML
EDI SOA
WS
![Page 12: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/12.jpg)
Integration levels
A.A. 2011/2012 Sistemi Informativi Aziendali 12
Support business processes
involving different units, thanks
to the integration of their
enterprise systems
![Page 13: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/13.jpg)
Complexity Boosters
A.A. 2011/2012 Sistemi Informativi Aziendali 13
![Page 14: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/14.jpg)
Complexity Boosters
A.A. 2011/2012 Sistemi Informativi Aziendali 14
• Different servers
• Same company / data center
• Different company
• Different applications
• Calling “remote” procedures
• Stub+marshal+execute
• Time-changing distributed architecture
![Page 15: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/15.jpg)
Complexity Boosters
A.A. 2011/2012 Sistemi Informativi Aziendali 15
• Technical level:
• different hardware platforms,
• 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)
![Page 16: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/16.jpg)
The “cutting game”
A.A. 2011/2012 Sistemi Informativi Aziendali 16
![Page 17: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/17.jpg)
Integration styles
A.A. 2011/2012 Sistemi Informativi Aziendali 17
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
![Page 18: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/18.jpg)
Available Tecnical solutions
A.A. 2011/2012 Sistemi Informativi Aziendali 18
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
![Page 19: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/19.jpg)
Legacy systems can’t be killed
A.A. 2011/2012 Sistemi Informativi Aziendali 19
![Page 20: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/20.jpg)
Legacy systems integration
A.A. 2011/2012 Sistemi Informativi Aziendali 20
http://www.ibm.com/developerworks/webservices/library/ws-tip-leg/index.html
![Page 21: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/21.jpg)
Data-level integration
A.A. 2011/2012 Sistemi Informativi Aziendali 21
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
![Page 22: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/22.jpg)
Application-interface integration
A.A. 2011/2012 Sistemi Informativi Aziendali 22
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
![Page 23: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/23.jpg)
Method-level integration
A.A. 2011/2012 Sistemi Informativi Aziendali 23
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)
![Page 24: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/24.jpg)
User interface-level integration
A.A. 2011/2012 Sistemi Informativi Aziendali 24
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
![Page 25: «Integration» - a necessary evil](https://reader034.vdocuments.mx/reader034/viewer/2022042601/54937c2aac79590e2e8b48c7/html5/thumbnails/25.jpg)
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/
A.A. 2011/2012 25 Sistemi Informativi Aziendali