Angeles
University
Foundation
SIA01 – Software Integration and Architecture
MODULE 2
Integration Patterns
Adriane S. Castro, LPT
Professor, SIA01
Module Overview
Integration Patterns
▪ Introduction to Integration Patterns
▪ Integration Styles Part 1: Shared Databases
▪ Integration Styles Part 2: Messaging
▪ Integration Styles Part 3: Remote Procedure Invocation
▪ Integration Styles Part 4: File Transfer
2
INTEGRATION PATTERNS
Enterprise Integration
▪ Enterprise integration
- the task of making disparate applications work
together
to produce a unified set of functionality
4
APPLICATION
INTEGRATION CRITERIA
Application Integration Criteria
▪ APPLICATION COUPLING
Integrated applications should minimize their
dependencies on each other so that each can evolve
without causing problems to the others.
6
Application Integration Criteria
▪ INTRUSIVENESS
When integrating an application into an enterprise,
developers should strive to minimize both changes
to the application and the amount of integration
code needed.
7
Application Integration Criteria
▪ TECHNOLOGY SELECTION
Different integration techniques require varying
amounts of specialized software and hardware.
8
Application Integration Criteria
▪ DATA FORMAT
Integrated applications must agree on the format of
the data they exchange.
9
Application Integration Criteria
▪ DATA TIMELINESS
Integration should minimize the length of time
between when one application decides to share
some data and other applications have that data.
10
Application Integration Criteria
▪ DATA OR FUNCTIONALITY
Many integration solutions allow applications to
share not only data but functionality as well,
because sharing of functionality can provider better
abstraction between the applications
11
Application Integration Criteria
▪ REMOTE COMMUNICATION
Computer processing is typically synchronous—that
is, a procedure waits while its subprocedure
executes..
12
Application Integration Criteria
▪ RELIABILITY
Remote connections are not only slow, but they are
much less reliable than a local function call. When a
procedure calls a subprocedure inside a single
application, it’s a given that the subprocedure is
available.
13
Integration Styles: Shared Databases
▪ SQL - Structured Query Language
▪ ODBC - Open Database Connect
▪ JDBC – Java Database Connectivity
▪ OLE-DB – Object Linking and Embedding Database
▪ RDA - Remote Database Access
14
Shared Database: Advantage of
Integration Style
▪ Near-universal integration
▪ System abstraction
▪ System Decoupling
▪ Ease of Integration
15
Shared Database: Disadvantage of
Integration Style
▪ Doesn’t work well with ORMs
▪ Performance bottleneck issues
▪ Schema change issue
▪ Data Ownership
16
Integration Styles: Messaging
▪ JMS – Java Message Service
▪ MSMQ – Microsoft Message Queue
▪ AMQP – Advanced Message Queuing Protocol
▪ SNS – Amazon Simple Notification Service
▪ SQS – Amazon Simple Queue Service
▪ STOMP – Simple Text Oriented Messaging Protocol
▪ SMPP – Short Message Peer-to-Peer – SMS Messaging
▪ MQTT – MQ Telemetry Transport – M2M/IOT Messaging
▪ JT/400 – AS400 Data Queue
17
Messaging: Advantage of Integration
Style
▪ Highly decoupled systems
▪ Guaranteed delivery
▪ Async communications
▪ Broadcast capabilities
▪ Ease of scalability
18
Messaging: Disadvantage of Integration
Style
▪ Integration beyond firewall
▪ Implementation complexity
▪ Testing complexity
▪ Cross platform standards
▪ Async error handling
19
Integration Styles: Remote Procedure
▪ REST – Representational State Transfer
▪ SOAP – Simple Object Access Protocol
▪ RMI – Remote Method Invocation
▪ CORBA – Common Object Request Broker Architecture
▪ Websockets – Hixie, Hybi, RFC/Request for Comments
▪ CGI – Common Gateway Interface
20
Remote Procedure: Advantage of
Integration Style
▪ Data encapsulation and ownership
▪ External systems integration
▪ Mature frameworks and tools
21
Remote Procedure: Disadvantage of
Integration Style
▪ Tight system coupling
▪ Async communications
▪ Broadcast capabilities
22
Integration Styles: File Transfer
▪ FTP/SFTP – File Transfer Protocol
▪ HDFS – Hadoop Distributed File System
▪ SCP – Secure Copy Protocol
▪ SMB – Server Message Block
▪ CIFS – Common Internet File System
23
File Transfer: Advantage of Integration
Style
▪ Universal Integration Style
▪ Integration Simplicity
▪ System Abstraction
24
File Transfer: Disadvantage of Integration
Style
▪ Error Processing
▪ Data Synchronization Timeliness
▪ Data-only Transfer
25
THANK YOU