«integration» - a necessary evil

25
«Integration» - a necessary evil Sistemi Informativi Aziendali A.A. 2011/2012

Upload: fulvio-corno

Post on 18-Dec-2014

822 views

Category:

Education


3 download

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/sistinfo

TRANSCRIPT

Page 1: «Integration» - a necessary evil

«Integration» - a necessary evil

Sistemi Informativi Aziendali – A.A. 2011/2012

Page 2: «Integration» - a necessary evil

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

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

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

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

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

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

Integration levels

A.A. 2011/2012 Sistemi Informativi Aziendali 8

Page 9: «Integration» - a necessary evil

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

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

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

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

Complexity Boosters

A.A. 2011/2012 Sistemi Informativi Aziendali 13

Page 14: «Integration» - a necessary evil

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

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

The “cutting game”

A.A. 2011/2012 Sistemi Informativi Aziendali 16

Page 17: «Integration» - a necessary evil

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

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

Legacy systems can’t be killed

A.A. 2011/2012 Sistemi Informativi Aziendali 19

Page 20: «Integration» - a necessary evil

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

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

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

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

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

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