This document discusses integrative programming and application integration. It covers various integration models including presentation, data, and functional integration. The key challenges of integration are network unreliability, distributed systems, slow networks, and heterogeneity. Common integration techniques include file transfer, shared databases, remote procedure calls, and messaging. Middleware provides standard interfaces for application integration and common integrative architectures include CORBA, DCOM, and RPC.
2. Course Content
Introduction
Integrative programming and integration techniques
Methods and models used in enterprise application
integration
The need for application integration
Challenges in integration.
3. 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
4. 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
5. 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.
6. 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.
7. 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.
8. 1.1.Overview of inter system
communication
Inter-system communication
is the communication between a set of
heterogeneous systems that are integrated
together.
9. System integration
Given two or more systems, subsystems or
components, each of which function properly
(satisfying their requirement within their
environment).
10. 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.
11. Incremental engineering
A software system can be developed and delivered using available technologies
and with less functionality than it is intended to finally provide.
12. Modification
Sometimes an existing and properly functioning software system must be
decomposed and integrated to carry out modification.
13. 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.
14. 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
15. 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
16. 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.
17. 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.
18. 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.
19. 1.4.Fundamental Challenges of Integration
Some of the challenges of integration are;
Network unreliability
Distributed systems
Slow networks and
Heterogeneity
Modification complexity
20. 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.
21. 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.
22. Networks are slow
Sending data across a network is multiple
orders of magnitude slower than making a
local method call.
23. Any two applications are different
Integration solutions need to transmit information
between systems that use different programming
languages, operating platforms, and data formats.
24. Heterogeneous
each application implements its own data model.
Concepts may be shared, but representation
mismatches are to be expected. Mappings and
transformations are required.
25. 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.
26. 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.
27. 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.
28. 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?
32. 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.
33. 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.
34. 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
35. 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.
36. 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.
37. 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.
38. 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.
39. 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.
40. 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.
42. 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.
43. 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.