1. Introduction Report (1)
1. Introduction Report (1)
TECHNOLOGIES
Darwin Alvin I. Sunga
CHAPTER 01: Lesson 1
Integrated Programming
TECHNOLOGIES
(Overview)
1. Learn what is
▪ Integrated Programming Technologies
▪ Overview of Inter System Communication
▪ The Need for Integration
▪ Models of Integration
▪ Fundamental Challenges of Integration
▪ Methods for Integration
▪ Middleware and Integrative Architectures
The Internet of Things (IoT) describes the network
of physical objects—“things”—that are
embedded with sensors, software, and other
technologies for the purpose of connecting and
exchanging data with other devices and systems
over the internet.
https://www.oracle.com/ph/internet-of-things/what-is-iot/
What is
Integrated
❑ combining or coordinating separate elements so as to provide a
harmonious, interrelated whole
https://www.dictionary.com/browse/integrated
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Integrative programming
deals with an integration approaches and techniques
that connect different components of IT infrastructure-
people, applications, platforms and databases to
enable a secure, intra and inter application
collaboration.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
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.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
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.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Hence, 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.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Most of the applications that run in organizations’
hardly live in isolation.
Whether the registrar application must interface with
the finance application, the human resource
management application must connect to each other.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
It seems like any application can be made better
by integrating it with other applications.
Integration of multiple, independently developed, managed
and maintained applications components that may
normally use incompatible technologies and heterogeneous
platforms enables transmission of information between
applications, automates flow of data between applications
that make up the business process flow.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
2
Inter-System Communication
Overview
Inter-system communication is the
communication between a set of
heterogeneous systems that are integrated
together.
(These integrated systems which put together many
heterogeneous set of subsystems and the produced objects
are extremely different, yet should contribute to the same
process)
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Software integration includes one or more of the
following.
❑ System integration
❑ Functional integration or technology integration
❑ Incremental engineering
❑ Modification
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
System integration
Given two or more systems, subsystems or components,
each of which function properly.
The problem is to integrate them into one larger system
satisfying the combined requirements within the newly
formed environment.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Functional integration
Technology Integration
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Incremental engineering
A software system can be developed and delivered
using available technologies and with less functionality
than it is intended to finally provide. New technologies
and or more functions then can be integrated within
the system.
The problem is to design the system with such future
integration in mind.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Modification
Sometimes an existing and properly functioning
software system must be decomposed and integrated
to carry out modification
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Integration
The Need
3
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.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
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
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
4 Integration
Models
Integration model defines how applications will
be integrated by defining the nature of and
mechanisms for integration.
Some of the methods used for application
integration are discussed in the following section.
These models include;
❑ Presentation integration model
❑ Data integration model
❑ Functional integration model
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
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
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
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.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
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.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
5
Integration
Fundamental Challenges
✓ Network unreliability
✓ Distributed systems
✓ Slow networks
✓ Heterogeneity
✓ Modification complexity
To support common business processes and data
sharing across applications, applications need to be
integrated. Application integration needs to provide
efficient, reliable and secure data exchange
between multiple enterprises applications.
Challenges of integration span far across business and
technical issues. All integration solutions have to deal
with a few fundamental challenges:
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Network unreliability
Integration solutions have to transport data from one computer
to another across networks. Compared to a process running on
a single computer, distributed computing has to be prepared
to deal with a much larger set of possible problems. 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. Each of these steps can cause delays or
interruptions.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
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.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Networks are slow
Sending data across a network is multiple orders of magnitude
slower than making a local method call. Designing a widely
distributed solution the same way you would approach a single
application could have disastrous performance implications.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Any two applications are different
Integration solutions need to transmit information between
systems that use different programming languages, operating
platforms, and data formats. An integration solution needs to
be able to interface with all these different technologies.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Change is inevitable
Applications change over time. An integration solution has to
keep pace with changes in the applications it connects.
Integration solutions can easily get caught in an avalanche
effect of changes – if one system changes, all other systems
may be affected. An integration solution needs to minimize the
dependencies from one system to another.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
6
Integration
Methods
✓ File Transfer
✓ Shared Database
✓ Remote Procedure Invocation
✓ Messaging
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
✓ Shared Database
✓ Remote Procedure Invocation
✓ Messaging
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
File Transfer
One of the possible solutions to allow these applications to be integrated
is allowing each application produce files containing information that
other applications need to consume. Integrators take the responsibility of
transforming files into different formats. Produce the files at regular
intervals according to the nature of the business, which can be consumed
or read by another file.
An important decision with files is what format to use. Very rarely will the output of one
application be exactly what's needed for another, so you'll have to do a fair bit of
processing of files along the way. Not just do all the applications that use a file have to
read it, you also have to be able to use processing tools on it.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Shared Database
A common data base can be used for integrating applications. A single
physical data base can be shared by different applications running on
different platforms. This method integrates applications by having them
store their data in a single shared database.
If a family of integrated applications all rely on the same database, then we can be
pretty sure that they are always consistent all of the time. If we do get simultaneous
updates to a single piece of data from different sources, then we have transaction
management systems that handle that about as gracefully as it ever can be managed
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Remote Procedure Invocation
This method develops each application which is required to be integrated
as a large-scale object or component with encapsulated data. And it
provides an interface to allow other applications to interact with the
running application
Remote Procedure Invocation applies the principle of encapsulation to integrating
applications. If an application needs some information that is owned by another
application, it asks that application directly. If one application needs to modify the data
of another, then it does so by making a call to the other application. Each application
can maintain the integrity of the data it owns. Furthermore, each application can alter its
internal data without having every other application be affected.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Messaging
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
In essence, a 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.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
7 Middleware
Integrative Architectures
Middleware
is a software programming running at the top of operating
system and below the applications. It connects applications or
software components.
Middleware 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
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
There are three types of middleware
✓ Transaction-oriented middleware: supports distributed computing
involving database applications.
✓ Message-oriented middleware: supports reliable, asynchronous
communications between distributed components or applications.
✓ Object-oriented middleware: systems are based on object-oriented
paradigm, and primarily support synchronous communications
between distributed objects or software components.
(eg. CORBA, DCOM and RMI)
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Integrative Architectures
Integrative architectures are 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
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
✓ Common Object Request Broker Architecture CORBA is a software
standard that is defined and maintained by the Object Management
Group (OMG). The Common Object Request Broker Architecture
(CORBA) is a standard architecture for a distributed objects system.
CORBA is designed to allow distributed objects to interoperate in a
heterogeneous environment, where objects can be implemented in
different programming language and/or deployed on different platforms.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
✓ Distributed component object model. DCOM 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. Is binary
interface standard for software components, that allows inter-process
communication. 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.
https://pdfcoffee.com/integrative-programming-and-technologies-chapter-1-pdf-free.html
Advance Lesson :
Chapter 2 :
✓ Web Services and Middleware