0% found this document useful (0 votes)
13 views

Module2 - Integration Patterns

The document provides an overview of integration patterns in software architecture, detailing various integration styles such as shared databases, messaging, remote procedure invocation, and file transfer. It outlines application integration criteria, including application coupling, intrusiveness, technology selection, data format, timeliness, and reliability. Each integration style is discussed with its advantages and disadvantages, emphasizing the importance of making disparate applications work together effectively.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Module2 - Integration Patterns

The document provides an overview of integration patterns in software architecture, detailing various integration styles such as shared databases, messaging, remote procedure invocation, and file transfer. It outlines application integration criteria, including application coupling, intrusiveness, technology selection, data format, timeliness, and reliability. Each integration style is discussed with its advantages and disadvantages, emphasizing the importance of making disparate applications work together effectively.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

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

You might also like