100% found this document useful (4 votes)
5K views

INTEGRATIVE PROGRAMMING Lesson1

This document discusses integrative programming and application integration. It covers various integration models including presentation, data, and functional integration. Some key challenges of integration are network unreliability, systems being distributed, slow networks, and heterogeneity between applications. Common integration methods include file transfer, shared databases, remote procedure calls, and messaging. Middleware acts as the software layer between operating systems and applications to enable interoperability and connection between independently developed applications.

Uploaded by

jad be
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
100% found this document useful (4 votes)
5K views

INTEGRATIVE PROGRAMMING Lesson1

This document discusses integrative programming and application integration. It covers various integration models including presentation, data, and functional integration. Some key challenges of integration are network unreliability, systems being distributed, slow networks, and heterogeneity between applications. Common integration methods include file transfer, shared databases, remote procedure calls, and messaging. Middleware acts as the software layer between operating systems and applications to enable interoperability and connection between independently developed applications.

Uploaded by

jad be
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 44

INTEGRATIVE

PROGRAMMING
Course Content

 Introduction
 Integrative programming and integration techniques
 Methods and models used in enterprise application
integration
 The need for application integration
 Challenges in integration.
Integration of Software

 refers to techniques for combining existing software


components to form a complete system.

 includes at least one existing software system,


developed in the past with no plan for its symmetric
integration with another component in the future
Integrative Programming

 deals with an integration approaches and techniques to


enable a secure, intra and inter application
collaboration that connect different components of IT
infrastructure such as:
 People
 applications
 platforms and
 databases
Integrative solutions
enable an organization to integrate business
processes internally and externally with business
partners to create dynamic environments that
supports current and evolving business
requirements, thereby creating a global
organization.
Application integration
assists in unlimited sharing of data and
business processes among any connected
applications or data sources in without making
major changes to the applications or data
structures.
Integration

is the process of connecting multiple,


independently developed applications using
incompatible technologies into a single
organization wide system with information
flowing seamlessly among the integrated
systems or components.
1.1.Overview of inter system
communication
Inter-system communication
is the communication between a set of
heterogeneous systems that are
integrated together.
System integration

Given two or more systems, subsystems or


components, each of which function properly
(satisfying their requirement within their
environment).
Functional integration or technology
integration

 Given a software system, this may have been


functioning properly in the field for a significant period.
 The problem is to integrate a new function or a new
technology within the system.
 The integrated system should provide the new
functionality or use the new technology, while preserving
the original system functionality.
Incremental engineering

 A software system can be developed and delivered using available


technologies and with less functionality than it is intended to finally provide.
Modification

 Sometimes an existing and properly functioning software system must be


decomposed and integrated to carry out modification.
1.2.The need for integration

Most of organizations consist of more than one


department, running department specific
applications and those applications interact
with each other to achieve the overall objective
of the organizations.
Some of the reasons for integration are
the following;
 Technology change affects all layers; legacy does not go away so easily.
 The architecture of the organization information system depends on
constraints related to the technology but also to the organization.
 Within an enterprise, each department may have its own IT infrastructure,
systems and databases which are maintained independently. Integrating
them may bring additional value to the company.
 Integration assists in formation of Zero Latency organization - when all
functions within the organization work with the same up-to-date
information, latency between applications is eliminated/ reduced.
 Updating and integrating of applications is possible whenever required.
New applications can be created by integrating real time data from
different parts of the enterprise
1.3.Integration Models

Integration Model
 defines how applications will be integrated by defining
the nature of and mechanisms for integration.

Methods used for application integration


 Presentation integration
 Data integration and
 Function integration
Presentation integration model

allows the integration of new software through


the existing presentations of the legacy
software.
This is typically used to create a new user
interface but may be used to integrate with
other applications.
Data integration model

allows the integration of software through


access to the data that is created, managed
and stored by the software typically for the
purposes of reusing or synchronizing data across
applications.
Functional integration model

allows the integration of software for the


purpose of invoking existing functionality from
other new or existing applications.
The integration is done through interfaces to the
software.
1.4.Fundamental Challenges of Integration

Some of the challenges of integration are;


Network unreliability
Distributed systems
Slow networks and
Heterogeneity
Modification complexity
Network is unreliable

 Integration solutions have to transport data from one


computer to another across networks.
 Often times, two systems to be integrated are separated
by continents and data between them has to travel
through phone-lines, LAN segments, routers, switches,
public networks, and satellite links.
Distributed

in the worst case, every application runs on a


completely separate environment, e.g.,
database storage is not shared among
applications. Message- based communication is
the only possibility to exchange information.
Networks are slow

Sending data across a network is multiple


orders of magnitude slower than making a
local method call.
Any two applications are different

Integration solutions need to transmit


information between systems that use different
programming languages, operating platforms,
and data formats.
Heterogeneous

each application implements its own data


model. Concepts may be shared, but
representation mismatches are to be expected.
Mappings and transformations are required.
Change is inevitable

Applications change over time. An integration


solution has to keep pace with changes in the
applications it connects.
applications update their state independently
without coordinating with each other. The
systems to be integrated are maintained
independently and upgraded at different times.
1.5.Integrative Technologies/methods
for integration
Application integration
 is an integration framework composed of a collection of
technologies and services which form a middleware or
"middleware framework" to enable integration of
systems and applications across organizations.
There are four methods used in
application integration
 File Transfer- one application writes a file that another later reads. The
applications need to agree on the filename and location, the format of the
file, the timing of when it will be written and read, and who will delete the
file.
 Shared Database- multiple applications share the same database
schema, located in a single physical database.
 Remote Procedure Invocation- one application exposes some of its
functionality so that it can be accessed remotely by other applications as a
remote procedure.
 Messaging- one application publishes a message to a common message
channel.
1.5.1.File transfer

How can we integrate multiple applications so


that they work together and can exchange
information and interact with each other?
Figure 1 File transfer method
1.5.2.Shared Database

Figure 2 Shared data


1.5.3.Remote procedure calls

Figure 3 Remote procedure calls


Messaging

 allows interaction between applications possible.


Message passing can be used to transfer packets of
data frequently, immediately, reliably, and
asynchronously, or synchronously using customizable
formats.
Message is transmitted in five steps:

1. Create — the sender creates the message and populates it with


data.
2. Send — the sender adds the message to a channel.
3. Deliver — the messaging system moves the message from the
sender’s computer to the receiver’s computer, making it available
to the receiver.
4. Receive — the receiver reads the message from the channel.
5. Process — the receiver extracts the data from the message.
This diagram illustrates these five transmission steps,
which computer performs each, and which steps
involve the messaging system:

Figure 4 Message Transmissions Step-by-step


Two important messaging concepts:

Send and forget


 in step 2, the sending application sends the message to the
message channel.
 Once that send is complete, the sender can go on to other work
while the messaging system transmits the message in the
background.
 The sender can be confident that the receiver will eventually
receive the message and does not have to wait until that happens.
Store and forward

 in step 2, when the sending application sends the message to


the message channel, the messaging system stores the
message on the sender’s computer, either in memory or on
disk.
 In step 3, the messaging system delivers the message by
forwarding it from the sender’s computer to the receiver’s
computer, and then stores the message once again on the
receiver’s computer.
 This store-and-forward process may be repeated many times,
as the message is moved from one computer to another, until
it reaches the receiver’s computer.
1.6. Middleware and Integrative
architectures

Middleware
 is a software programming running at the top of operating system
and below the applications. It connects applications or software
components.
 provides a standard high level interface to the application developers and
integrators, so that application can easily interoperate.

Interoperability-is the ability of two or more components or systems to


exchange information.
There are three types of middleware

1. Transaction-oriented middleware - supports distributed computing involving


database applications.
2. Message-oriented middleware: supports reliable, asynchronous
communications between distributed components or applications.
3. Object-oriented middleware: systems are based on object-oriented
paradigm, and primarily support synchronous communications between
distributed objects or software components. Examples are CORBA, DCOM
and RMI.
Integrative architectures

 the standard methodologies for application integration.


These architectures include, CORBA, DCOM and RPC.
The architectures act as a middleware, a software
application that mediates between different
applications.
Common Object Request Broker
Architecture
CORBA
 is a software standard that is defined and maintained by the
Object Management Group (OMG).
 is a standard architecture for a distributed objects system.
 designed to allow distributed objects to interoperate in a
heterogenous environment, where objects can be implemented in
different programming language and/or deployed on different
platforms.
CORBA architecture

 Distributed component object model- extends the COM


to support communication between objects.
DCOM

 is a software architecture or remote protocol that


defines a binary standard for component
interoperability.
 DCOM is a software architecture that allows
applications to be built from binary software
components.
Binary Interface

 is a program interface between binary program


modules often one of the module is library or operating
system and the other is user program module.

 Defines how computational routines are called in


machine code or low-level which is hardware
independent.

You might also like