Professional Documents
Culture Documents
Course Guide Lesson 1 Overview of Systems Integration
Course Guide Lesson 1 Overview of Systems Integration
Table of Contents
Course Guide
LESSON 1 OVERVIEW OF SYSTEMS INTEGRATION
Systems Integration
Functional SILOS
Information Systems in Organizations
Functional SILOS in Organization
Management Pyramid with Information Requirements
IS as Categorized by Functional and Hierarchical Models
Information SILOS and Systems Integration
Benefits and Limitations of Systems Integration
Implications for Management
Enterprise Resource Planning
ERP and Systems Integration
ERP’s Role in Physical Integration
Implications for Management
Evolutions of ERP
E-Business and ERP
ERP System Components
ERP Architecture
System Benefits of ERP System
ERP Implementation
ERP Vendors
Lesson Summary
LESSON 2 System Integration Approaches
System Integration
Information Oriented
Business Process Integration-Oriented
Technology Components
Application Services
Portal-Oriented Application Integration
LESSON 3 Middlewares
What is Middleware
Middleware Models
Communication Models
Types of Middleware
Application Servers
Integration Servers
LESSON 4 ERP Systems and Processes
Introduction
1
Functional Areas and Business Processes
ERP Modules
Other ERP Modules
Enterprise System Architecture
Webline ERP Architecture
SAP
LESSON 5 Solving Integration Problems using Patterns
Middleware-Recap
Tight Coupling
Message Construction
Messaging Channels
Message Transformation
Message Routing
System Management
Messaging Endpoints
WGRUS IT Infrastructure
Requirements
2
Course Guide
COURSE SEMESTER SCHOOL YEAR
Elective 2 – advance
Systems Integration 1st Semester 2020-2021
and Architecture
COURSE DESCRIPTION
This course studies the process of integrating different systems and software
applications by examining current and emerging trends, strategies, and techniques
for developing systems integration solutions effectively. Example topics covered
include, but are not limited to: documenting integration requirements using business
process models, designing integration solutions reusing patterns, and implementing
integration solutions using service oriented architecture. Students will extend course
topics via library assignments, programming assignments, tool evaluation
assignments, and other assigned activities.
Course Outline
TOPIC
LESSON 1 OVERVIEW OF SYSTEMS INTEGRATION
Systems Integration
Functional SILOS
Information Systems in Organizations
Functional SILOS in Organization
Management Pyramid with Information Requirements
IS as Categorized by Functional and Hierarchical Models
Information SILOS and Systems Integration
Benefits and Limitations of Systems Integration
Implications for Management
Enterprise Resource Planning
ERP and Systems Integration
ERP’s Role in Physical Integration
Implications for Management
Evolutions of ERP
E-Business and ERP
ERP System Components
ERP Architecture
System Benefits of ERP System
ERP Implementation
ERP Vendors
Lesson Summary
LESSON 2 SYSTEM INTEGRATION APPROACHES
System Integration
Information Oriented
Business Process Integration-Oriented
Technology Components
Application Services
Portal-Oriented Application Integration
LESSON 3 MIDDLEWARES
What is Middleware
Middleware Models
Communication Models
Types of Middleware
3
Application Servers
Integration Servers
LESSON 4 ERP Systems and Processes
Introduction
Functional Areas and Business Processes
ERP Modules
Other ERP Modules
Enterprise System Architecture
Webline ERP Architecture
SAP
LESSON 5 Solving Integration Problems using Patterns
Middleware-Recap
Tight Coupling
Message Construction
Messaging Channels
Message Transformation
Message Routing
System Management
Messaging Endpoints
WGRUS IT Infrastructure
Requirements
4
LESSON 1
Overview of Systems Integration:
Challenges and Drives
SYSTEMS INTEGRATION
Systems integration means that you allow an heterogeneous Information System (IS)
to communicate or integrate and share information (or data) seamlessly with one
another.
Enterprise Resource Planning (ERP) systems are a major kind of information system
allowing organizations to integrate different systems into one organization-wide
application with an integrated database management system.
FUNCTIONAL SILOS
Silos are basically compartmentalized operating units isolated from their environment.
Horizontal Silos
– Classification of organizations into departments like Accounting and Human
Resources, reflects the breaking of complex tasks into smaller manageable tasks that
could be assigned to a group of people who could then be held responsible.
Vertical Silos
– Organizations also divided roles in hierarchical layers from strategic planning to
management control and operation control.
– CEOs and Presidents plan long-term strategy, midlevel management focuses on
tactical issues and on the execution of organizational policy whereas the lower-level
management task is to focus on the day-to-day operations of the company.
As organizations get big and complex they tend to break functions into smaller units
and assign staff the responsibility for these activities allowing them to manage
complexity as well as specialize in activities that enhance productivity and efficiency.
5
Information systems provide analytical and decision making support for management,
which is generally categorized into three levels- Strategic, Middle, and Operational.
– Supporting vertical silos of organization
6
IS as Categorized by Functional and
Hierarchical Models
Organizations need to be agile and flexible and will require their information systems
to have integrated data, applications, and resources from across the organization.
The cross-functional integration can involve people and resources from various
functional departments working together, sharing information at any level of the
organization.
– The cross-functional organizational structure breaks the functional silos by opening
up the informational flows from one department to another.
Systems Integration
7
Physical or technical level
Provide seamless connectivity between heterogeneous systems.
8
Goal of ERP is to integrate departments and functions
across an organization into a single infrastructure
sharing a common database and serving the needs of
each department.
ERP systems are integrated, multi-module application software packages designed to serve
and support several business functions across an organization.
ERP systems are typically commercial software packages that facilitate collection and
integration of information related to various areas of an organization.
ERP systems enable the organization to standardize and improve its business processes to
implement best practices for its industry.
ERP systems are the first generation of enterprise systems meant to integrate data and
support all the major functions of organizations.
ERP systems integrate various functional aspects of the organization as well as systems
within the organization of its partners and suppliers.
The goal of an ERP system is to make the information flow dynamic and immediate,
therefore, increasing its usefulness and value.
ERP systems come with built-in processes for a wide variety of common business
functions.
An ERP system implements best practices via specific built-in steps for processing a
customer order in terms of:
– order entry.
– routing through departments.
– Communication of output to various parties.
Before installing the ERP system, an organization may have to upgrade or install
middleware or get rid of their legacy system’s hardware and software.
Integration is also required at the Data level, Client level, and at the Application level.
9
A good ERP implementation improves operational efficiency with better business
processes that focuses on organizational goals rather than on individual departmental
goals.
Improved efficiency with a paperless flow and electronic data interchange (EDI) or
business-to business (B2B) commerce environment with partners.
In the early days of ERP implementation most management did not understand the
magnitude of issues an organization has to consider before, during, and after
implementation.
– ERP systems are very different from conventional packaged software, such as
Microsoft Office and others.
Evolutions of ERP
10
ERP Systems Components
ERP Architecture
The architecture of an ERP system influences the cost, maintenance, and the use of
the system.
The ERP architecture helps the implementation team build the ERP system for the
organization.
11
Logical Architecture of an ERP System
Integration of data and applications across functional areas (i.e., data can be entered
once and used by all applications; thus improving accuracy and quality of the data).
Consistency of the user interface across various applications means less employee
training, better productivity, and cross-functional job movements.
Security of data and applications is enhanced due to better controls and centralization
of hardware.
12
Complexity of installing, configuring, and maintaining the system increases, thus
requiring specialized IT staff, hardware, and network facilities.
Data conversion and transformation from an old system to a new one can be tedious
and complex process.
Retraining of IT staff and end users of the new system can produce resistance and
reduce productivity.
Retraining of all employees with the new system can be costly and time consuming.
Change of business roles and department boundaries can create upheaval and
resistance to the new system .
ERP Implementation
Before implementing ERP, an organization has to plan and understand the life cycle
of these systems.
ERP system implementations are very risky, and using a well-defined project plan with
a proven methodology will assist in managing those risks.
There must be a strong well-communicated need to make the change from the existing
information systems/applications to an ERP system.
13
Software and Vendor Selection
It is best for an organization that does not have the experience in developing ERP
systems to purchase one on the market.
Before selecting a vendor, the organization must carefully evaluate its current and
future needs in enterprise management systems.
Review the organization’s existing hardware, network, and software infrastructure, and
the resources available for the implementation.
Vendor Evaluation
Going live (“Go-live”) is one of the most critical points in a project’s success.
14
It is vital to focus the efforts of all project teams to ensure that task and activities are
completed before going live.
Project Management
For an ERP system to be implemented successfully, project management must provide
strong leadership, a clear and understood implementation plan, and close monitoring
of the budget.
Consultants
It is often the case for organizations without much ERP implementation experience to
use implementation partners such as consultants.
Change Management
Role is essential because it prepares for changes to how business is done. In
implementing new systems, communicating, preparing, and setting expectations is as
important as providing training and support.
ERP Vendors
15
SAP
SAP is the recognized global leader among ERP vendors with over 12 million users.
Its solutions are for all types of industries and for every major market. www.sap.com
Oracle/Peoplesoft
As the second largest ERP vendor, Oracle provides solutions divided by industry
category and promises longterm support for customers of PeopleSoft- (acquired in
2004).
Microsoft Dynamics
Formerly Microsoft Business Solutions or Great Plains, Microsoft Dynamics is a
comprehensive business management solution built on the Microsoft platform.
Infor
The world’s third largest provider of enterprise software. It delivers integrated
enterprise solutions in supply chain, customer relationship and suppliers management.
Lawson
Industry-tailored software solutions that include enterprise performance management,
distribution, financials, human resources, procurement, and retail operations.
16
LESSON SUMMARY
Functional silos categorize an organization’s tasks and activities into groups to improve efficiency and
responsibility of work in the organization.
Silos can improve productivity, but they often lead employees to achieve departmental goals rather
than overall organizational goals.
IS over the years have been divided horizontally by functions and vertically by hierarchical levels.
IS architecture has evolved from centralized mainframe architecture to personal computers with
distributed or client–server architecture.
In order for systems integration to be successful, organizations have to focus both on the human or
logical level and on the physical or systems level.
ERP systems thus make the process of systems integration easier, but they are expensive and often
require organizations to start from scratch.
System integration involves the whole organization, requiring top management support and resources
for a long-term period. Management must be ready to face the human and ethical challenges in a
systems integration project.
Whereas the risks for implementing an ERP are greater, the payoff is very high for organizations.
The integration of data helps an organization to better meet the demands of a fast and dynamic
business world.
The use of ERP systems provides for integrated data and business processes, thereby creating
opportunities for organizations to expand and change as their business changes.
ERP components consist of hardware, software, information, process, and people to perform the
fundamental phases of an information system: input, process, and output.
ERP system architecture is a blueprint of the actual ERP system. There are two types of architecture:
physical and logical.
The selection of a system must be based on these needs and how well a vendor meets those needs
now or in the future.
To be successful in implementing an ERP system, an organization and its management must clearly
understand the implementation process.
uiz NO. 1
Visit http://aradman.essu.edu.ph/. Answer quiz no. 1
17
LESSON 2
System Integration Approaches
Systems Integration
Information-Oriented
Example
Moving information between systems may require changing both the content
and schema on the fly
Coupling
– Bind applications together in such a way that they are dependent on each
other, sharing the same methods, interfaces, and perhaps data
– Needs extensive changes in applications
– If source or target system changes, corresponding changes required in
coupled systems as well
– Reusability
18
-Allows common business processes to be reused
Cohesion
– “Act or state of sticking together” or “the logical agreement”
– Applications and databases are independent of each other
– Changes to source or target system should not affect others directly
– Provides flexibility to integration
-Allows addition, changes, and removal of systems without affecting
integrated system
Source and target systems are the entities that produce and consume information
Types of systems that produce and consume information are
– Database (integration using SQL, JDBC)
– Application (API, adapters)
– User interface (screen scraping)
– Embedded devices (temperature sensors, call-counting machines)
These systems are point of integration
– since they are designed to produce and consume information
A successful integration solution requires the enterprise to define both how the
information flows through it and how it does business
19
Information-Oriented: Data Federation
Advantage
– Can integrate different types of databases
Disadvantage
– Interface between application and database
need to be changed
Advantage
– Efficient integration for commercially available software products
API solutions take into account for differences between schema, content, and
application semantics when translating information to move between systems
– Includes screen scrappers as points of integration
Disadvantage
– Little regards to business logic
20
Business Process Integration-Oriented
The goal of business process integration is to allow integration not only by sharing
information but also by managing the sharing of that information with easy to use
tools
– Focuses on coordinating or managing information flow between source and
target applications
– Focuses on process logic while separating application logic
Defined as applying appropriate rules, in an agreed upon logical sequence, in order
to pass information between participating systems, as well as visualize and share
application-level processes
It is the ability to define a common business process model that addresses the
sequence, hierarchy, events, and execution logic and information movement
between systems
– Central management of processes that exist on top of an existing set of
processes and applications
– Mechanism to manage movement of data and invocation of processes in
order
– Support for management and execution of processes that exists between
applications
21
Business Process Integration-Oriented
Application Integration
It is the ability to define a common business process model that addresses the
sequence, hierarchy, events, and execution logic and information movement between
systems
Idea is to provide single logical model that spans many applications and data stores
– Providing the notion of a common business process that controls how
systems and humans interact to fulfill a unique business requirement.
Objective
Provides control mechanism of sorts that defines and executes the movement
of information and the invocation of processes that span many systems
Technology Components
22
Technology Levels
23
Disadvantage
– Need to change application logic
– High cost for implementation
The Basics
Application Services
Application services
Subroutines or methods in applications
• Something you invoke to make something happen
• Remote services that produces or consumes information
Application services are composed together to provide composite applications made
up of local and remote application services
Allows remote services to be invoked as if it is local service
When two or more companies want to share the development costs and the value of
a common application
When the problem domain is small and specialized, and is able to collaborate on a
common application that all companies share
24
Solutions Architecture
Event-driven
– Refers to those architectures that deal more with information movement that
application service aggregation
– Data moves from system to system in support of a particular business
transaction, but there is also a requirement to access application services
Composite-applications
– Refers to those architectures that require application services to aggregate
into a single instance of an application
Autonomous-distributed
– Refers to those architectures where web services are so tightly coupled that
they appear as a single application
– Binding applications together, inter and intra company, into a single, unified
whole
Allows to view a multitude of systems (both internal and external enterprise systems)
through a single user interface or application
– Most often using web browser
– Avoids back-end integration altogether
Steps to create portal
– Design portal application including user interface and application behavior
Portal application must be able to control user interaction, capturing and
processing errors and controlling the transaction from the user interface
all the way to the back-end systems
Application servers provide the interface development environment
(IDE) for designing the user interface, define application behavior and
back-end connector.
– Determine which information contained within the back-end systems needs
to be shared with portal application
Portal-Oriented
25
Portal-Power
Primary advantage of using portals is there is no need to integrate back-end systems
directly between companies or within enterprises
– Eliminates associated cost and risks
Disadvantages
– Information does not flow in real time, so requires human interaction
• Does not automatically react to business events
– Information must be abstracted through another application logic layer (e.g..:
application servers)
• This adds complexity
– Security is a significant concern when enterprise data is being extended to
users over the web
Portal-Categories
• Single-System Portals
– Single enterprises that have their user interfaces extended to the web
• Approaches: application servers, page servers, and technology for
translating simple screens to HTML
• Multiple-Enterprise-System Portals
– Extending single-system portal architecture to multiple enterprise systems
– Application server architecture
• Users are able to extract information from these systems and update
them through a single web browser interface accessed over an extranet or
over the web
• Enterprise Portals
– Extending multiple-enterprise system portal to include systems that exist
within many companies
– Application servers are a good choice for enterprise, funneling information
from the connected back-end enterprise systems
• Web clients
– PC or any device that runs a web browser and is capable of displaying HTML
and graphics
• Web servers
– Web servers, at their core, are file servers.
– They respond to requests from web clients, then send the requested file
– Double duty
• Serve file content to web clients
• Perform rudimentary application processing
• Database servers
– Respond to requests and return information
• Back-end applications
– Enterprise applications existing either within a single enterprise or across
many enterprises
26
– Example: ERP systems
• Application servers
– Provide middle layer between back-end applications, databases, and the web
server
– Communicates with both the web server and the resource server using
transaction-oriented application development
Next Generation
• Digital economy
– Business runs within and between computers
– Everything automated
– Customers expect instantaneous access to information
• Application Integration
– Competitive advantage
– Ability to do business faster
– Satisfy customer on demand
• Next generation integration
– Integrate all disparate systems with a minimum impact on the applications
and way of doing business
– Adjustable to business needs
– Quick deployment
– Handle most business events electronically and in real time
uiz NO. 1
Visit http://aradman.essu.edu.ph/. Answer quiz no. 1
27
LESSON 3
Middlewares
What is Middleware
Middleware is any type of software that facilitates communication between two or
more software systems
– Can be simple communication connection between applications
– Can be as sophisticated as information sharing and logic execution
mechanisms
Middleware is a technology that allows us to move information between multiple
enterprises
Middleware Models
There two types of middleware models
– Logical middleware model
Depicts how information moves throughout the enterprise conceptually
– Physical
Depicts both the actual method of information movement and the
technology employed
Point-to-Point Middleware
Point-to-point middleware uses a simple pipe to allow one application to link to another
application
– Provides point-to-point connection between a source and a target application
Disadvantages
– Inability to bind more than two applications
– Lacks ability to house application logic
– Lacks ability to change messages as they flow through the pipe
Many-to-many Middleware
Links many applications to many other applications
– Can deal with more than two source or target applications
Synchronous vs Asynchronous
Asynchronous middleware moves information between one or many applications in an
asynchronous mode
– i.e., the middleware software is decoupled from the source or target
applications
28
– Applications are not dependent on other connected applications for
processing.
– Application can always continue processing, regardless of the state of the
other applications
Communication Models
Connection-oriented communication
– Two parties connect, exchange messages and then disconnect
– Typically synchronous process, but it can be asynchronous
Connectionless communication
– Calling program does not enter into a connection with the target process
– Receiving application simply acts on the request, respond if required
Direct communication
– Middleware layer accepts the message from the calling program and passes
it directly to the remote program
• Usually synchronous in nature
Fire and forget
– This model allows the middleware user to “fire off” a message and then
“forget” about it,
• without worrying about who receives it or even if the message is ever
received
– The purpose of this model is to allow a source or target application to broad
cast specific type of messages to multiple recipients
29
Communication Model: Publish/subscribe
Frees an application from the need to understand anything about the target application
Publisher does not need to understand anything about applications that are interested
in the information
Includes any middleware that can facilitate a response from a request between
applications, such as integration servers or application servers
Types of Middleware
• RPC
• Message-oriented middleware (MOM)
• Distributed objects
• Database-oriented middleware
• Transactional middleware
• Integration servers
Remote Procedure Calls (RPC)
30
• They also require more bandwidth than other types of middleware
• Advantage of RPC is its simplicity for mechanism and programming
• Disadvantage is are its huge performance cost and inability to scale
Managing are easy to manage using MOM as it has structure (schema) and content
(data)
– MOM can be thought as one-record database that move between
applications through message-passing mechanisms
Distributed Objects
Small application programs that use standard
interfaces and protocols to communicate with
one another
31
Database-Oriented Middleware
Facilitates communication with a database, whether from an application or between
databases
Can be used as mechanism to extract information to extract from either local or remote
databases
Transaction-Oriented Middleware
Provides mechanism for coordination information movement and method sharing
between many different resources
– Provides tightly coupled integration
• Requires changes with source and target applications
Based on concept of transaction
– A unit of work with a beginning and an end
– Application logic is encapsulated within a transaction
• Transaction either completes or is rolled back completely
• Two types of transaction-oriented middleware
– TP monitors
– Application servers
TP Monitors
Provide mechanism to facilitate the communication between two or more applications
as well as a location for application logic
Once connected these resources are integrated into the transaction and leveraged as
part of the transaction
– As a result, can recover, if failure occurs
32
– As demand increases, the transaction manager launches more serve
processes to handle the load even as it kills processes that are no longer
required
Application Servers
• Provide application logic sharing and processing and for connections to back-end
resources
– Resources such as databases, ERP applications and even traditional
mainframe applications
Integration Servers
uiz NO. 1
Visit http://aradman.essu.edu.ph/. Answer quiz no. 1
33
Lesson 4
ERP Systems and Processes
Introduction
The key role of an ERP system is to provide support for business functions
ERP Modules
34
Marketing and Sales
The Marketing and Sales functional area exchanges data with customers and with
the Human Resources, Accounting and Finance, and Supply Chain
Management functional areas
Inputs for M/S
– Customer data
– Order data
– Sales trend data
– Per-unit cost
– Travel expense company policy
Outputs for M/S
– Sales strategies
– Product pricing
– Employment needs
35
– Receiving goods and raw materials
– Transportation and logistics
– Scheduling production of products
– Plant maintenance
Needs information from various functional areas
Production plans based on information about product sales (actual and projected) that
comes from Marketing and Sales
– Sales forecasts: Analyses that attempt to predict the future sales of a product
With accurate data about required production levels:
– Raw material and packaging can be ordered as needed
– Inventory levels can be kept low, saving money
Supply Chain Management data and records can:
– Provide data needed by Accounting and Finance to determine how much of
each resource was used
– Support the M/S function by providing information about what has been
produced and shipped
Supply Chain Management interacts in some ways with Human Resources
The Supply Chain Management functional area exchanges data with suppliers and with the Human
Resources, Marketing and Sales, and Accounting and Finance functional areas
Raw data: Numbers collected from those operations, without any manipulation,
calculation, or arrangement for presentation
36
Data from Accounting and Finance used by Marketing and Sales and Supply Chain
Management
– Sales records are important component of sales forecast
– Sales forecast is used in making staffing decisions and in production planning
– Records from accounts receivable used to monitor the overall credit granting
policy
A/F personnel:
– Record company’s transactions in the books of account
– Record accounts payable when raw materials are purchased and cash
outflows when they pay for materials
– Summarize transaction data to prepare reports about company’s financial
position and profitability
The Accounting and Finance functional area exchanges data with customers and with the Human
Resources, Marketing and Sales, and Supply Chain
Management functional areas
37
HR uses sales forecasts developed by the individual departments to plan personnel
needs
Systems integrated using ERP software provide the data sharing necessary between
functional areas
Tasks related to employee hiring, benefits, training, and government compliance are
all responsibilities of HR
HR needs to know what skills are needed to perform a particular job and how much
the company can afford to pay employees
The Human Resources functional area exchanges data with the Accounting and
Finance, Marketing and Sales, and Supply Chain Management functional areas
• Inputs for HR
– Personnel forecasts
– Skills data
• Outputs for HR
– Regulation compliance
– Employee training and certification
– Skills database
– Employee evaluation and compensation
Other ERP Modules
Production
– Helps in the planning and optimizing of the manufacturing capacity, parts,
components, and material resources using historical production data and sales
forecasting.
Purchasing
– Streamlines the procurement process of required raw materials and other
supplies.
38
Inventory Management
– Facilitates the processes of maintaining the appropriate level of stock in a
warehouse.
Miscellaneous Modules
– Nontraditional modules such as business intelligence, self-service, project
management, and e-commerce.
Potential inputs and outputs for each functional area described next
Note the kinds of data needed by each area and how people use the data
Information systems maintain relationships between all functional areas and processes
Significant amount of data is maintained by and shared among the functional areas
Timeliness and accuracy of these data critical to each area’s success and to
company’s ability to make a profit and generate future growth
Functional
– Defines the ERP modules that support the various business functions of the
organization. Examples include:
• Accounting
• Human Resources
• Procurement
• Fulfillment
• Etc.
System
– Defines the ERP architecture through the physical components of hardware,
software, and networking angle.
39
Enterprise Systems Architecture
Provide a visual representation of the complex system interfaces among the ERP
application and databases, operating systems, legacy applications, and networking.
Management can develop a better IT plan if the requirements for system infrastructure,
training, change management, and business process reengineering are clarified.
Three-Tier Architecture
Most of the current ERP implementations follow a three tiered architecture, which
consists of a Web tier, an application tier, and a data tier.
Benefits
– Scalability - Easier to add, change, and remove applications.
– Reliability - Implementing multiple levels of redundancy.
– Flexibility - Flexibility in partitioning is very simple.
– Maintainability - Support and maintenance costs are less on one server.
– Reusability - Easier to implement reusable components.
– Security - IT staff has more control system to provide higher security.
Limitations
– Can be very expensive and complex.
Tiers
40
Example of Architecture of ERP at Large University
41
SAP - Sales and Distribution
uiz NO. 1
Visit http://aradman.essu.edu.ph/. Answer quiz no. 1
42
Lesson 5
Solving Integration Problems using Patterns
Middleware - Recap
Middleware is any type of software that facilitates communication between two or more
software systems
– Can be simple communication connection between applications
– Can be as sophisticated as information sharing and logic execution
mechanisms
Middleware is a technology that allows us to move information between multiple
systems that may reside within and outside an organization
Tight Coupling
The call is immediate, i.e. the called method starts processing immediately after the
calling method makes the call.
Meanwhile, the calling method will only resume processing when the called method
completes (meaning the invocation is synchronous).
All these assumptions make it very easy to write well-structured applications that break
functionality into individual methods to be called by other methods.
43
To perform this function, the front-end Web application has to be integrated
with the back-end financial system that manages fund transfers. The easiest
way to connect the two systems is through the TCP/IP protocol.
– Operating system or programming library include a TCP/IP stack.
TCP/IP is the ubiquitous communications protocol that transports data between
the millions of computers connected to the Internet and local networks.
Code opens a socket connection to the address www.boa.com and sends two
data items (the amount and the customer’s name) across the network.
When we run this code it tells us: “7 bytes sent”.
This minimalist integration solution is fast and cheap, but it results in a very brittle
solution because the two participating parties make the following assumptions about
each other:
– Platform Technology – internal representations of numbers and objects
• 32 bit vs 64 bit internal representation
• A system using 64 bits would be inclined to read 8 bytes off the
network and would end up interpreting the whole message (including
the customer name) as a single number.
– Location – hard-coded machine addresses
• Remote functions and machine location are hard-coded. Any change
in anything, we would have to change code. If we use a lot of remote
functions this could become very tedious.
– Time – all components have to be available at the same time
• Establishing a TCP connection requires that both machines and the
network are all available at the same time.
– Data Format – the list of parameters and their types must match
• If we want to insert a third parameter, e.g. the name of the currency,
we would have to modify both sender and receiver to use the new data
format.
Coupling is a measure of how many assumptions parties make about each other when
they communicate. Our simple solution requires the parties to make a lot of
assumptions. Therefore, this solution is tightly coupled.
44
Loosely coupled solution
In order to connect two systems via an integration solution, a number of things have to
happen.
Message Construction
Message intent
– Command Message: invoking a function or method on the receiver
– Document Message: enabling the sender to transmit one of its data
structures
– Event Message: notifying the receiver of a change in the sender.
Returning a response
– Request-Reply: The request is usually a Command Message, and the reply
is a Document Message containing a result value or an exception.
– Return Address: The requestor specifies what channel to use to transmit the
reply.
45
– Correlation Identifier: Responder specifies which request this reply
corresponds to.
Huge amounts of data
– Message Sequence: break the data into more manageable chunks and send
them as a sequence of messages, so that the receiver can reconstruct the
original data structure.
Slow messages
– Message Expiration: the sender can specify an expiration date. If the
messaging system cannot deliver a message by its expiration, it should discard
the message. If a receiver gets a message after its expiration, it should discard
the message.
We need a communications channel that can move information from one application
to the other. This channel could be a series of TCP/IP connections, a shared file, or a
shared database.
– A channel is a logical address that both sender and receiver can agree on
the same channel without being aware of each other’s identity.
The application selects a particular channel to send the data knowing that the receiver
will be one that is looking for that sort of data on that channel.
Messaging Channels
46
Things that make up Middleware:
Translation
Message Transformation
• Envelope Wrapper: wrap message payload data into an envelope that is compliant
with the requirements of the messaging infrastructure.
• Content Enricher: when the target system requires data fields that the originating
system cannot supply. It has the ability to look up missing information or compute it
from the available data.
• Content Filter: removes unwanted data from a message.
• Claim Check: removes data from a message but stores it for later retrieval.
• Normalizer: translates messages arriving in many different formats into a common
format.
• Canonical Data Model: Design an independent data model from any specific
application. Require each application to produce and consume messages in this
common format
47
Message Routing
Integration solutions can quickly become complex because they deal with multiple
applications, data formats, channels, routing and transformation.
– All these elements may be spread across multiple operating platforms and
geographic locations.
In order to have any idea what is going on inside the system we need a systems
management function.
– This subsystem monitors the flow of data, makes sure that all applications
and components are available and reports error conditions to a central location.
System Management
• Control Bus: provides a single point of control to manage and monitor a distributed
solution
• Detour: route messages through additional steps, such as validation or logging –
with ability to switch on or off these additional steps
• Wire Tap: inspect the contents of a message without affecting the primary message
flow.
• Message History: great aid to know where a specific message has been
• Message Store: can provide a complete account of every message that traveled
through the system
• Smart Proxy: track messages sent to request-reply services
48
• Test Message: actively verifying that the running messaging system is functioning
properly
• Channel Purger: remove all remaining messages from a channel so that the
components under test do not receive 'leftover' messages.
Most packaged and legacy applications and many custom applications are not
prepared to participate in an integration solution.
– As they were designed to perform specific functionality with specific
input/output
We need a message endpoint to connect the system explicitly to the integration
solution.
– The endpoint can be a special piece of code or an Adapter provided by an
integration software vendor.
Messaging Endpoints
Widgets & Gadgets ‘R Us (WGRUS) an on-line retailer that buys widgets and gadgets
from manufacturers and resells them to customers.
49
WGRUS IT Infrastructure
• Take Orders
– Customers can place orders via Web, phone or fax
• Process Orders
– Processing an order involves multiple steps, including verifying inventory,
shipping the goods and invoicing the customer
• Check Status
– Customers can check the order status
• Change Address
– Customers can use a Web front-end to change their billing and shipping
address
• New Catalog
– The suppliers update their catalog periodically. WGRUS needs to update its
pricing and availability based in the new catalogs.
• Announcements
– Customers can subscribe to selective announcements from WGRUS.
• Testing and Monitoring
– The operations staff needs to be able to monitor all individual components
and the message flow between them.
50
Take Orders and Process Orders
Take Orders
Identified Requirements:
• Interactions between
– 1 and 4
– 2 and 5
– 3 and 6
Identifying Integration Requirements: Look for
change in Performers. Performers are application
that are supporting a specific activity within a
process – 4, 5, 6 and 7
First Requirement
51
Second Requirement
Third Requirement
Fourth Requirement
52
Develop Integration Solutions for Process
Orders
53