You are on page 1of 53

Introduction to

INTEGRATED SYSTEM DEVELOPMENT


(Phát triển Hệ thống tích hợp)
GV: TS. Trần Thị Minh Khoa
Integrated Applications

ttmkhoa@iuh.edu.vn 2
3
ttmkhoa@iuh.edu.vn
Integrated Website Development
Integrated IoT Smart Home System

ttmkhoa@iuh.edu.vn 4
ttmkhoa@iuh.edu.vn 5
Phần cứng
Hệ thống tích hợp
(Integrated System)

Phần mềm
ttmkhoa@iuh.edu.vn 6
Tích hợp phần cứng
:: Giải pháp kết nối
• Mạng (LAN/WAN)
• Hệ thống tính toán, lưu trữ
• Các phương án bảo mật

ttmkhoa@iuh.edu.vn 7
Tích hợp phần cứng
:: Giải pháp kết nối
• IoT vs M2M
• Wearables
• Smart Home
• Industrial IoT
• Energy
• Smart Agriculture
• Transportation
• Smart Cities

ttmkhoa@iuh.edu.vn 8
Tích hợp phần mềm
:: Microservices (Kiến trúc các dịch vụ nhỏ)

Ý tưởng:

Chia nhỏ ứng dụng lớn ra thành các dịch vụ nhỏ kết nối với
nhau

(Amazon, eBay, Netflix, Grab, Uber,…)

ttmkhoa@iuh.edu.vn 9
ttmkhoa@iuh.edu.vn 10
ttmkhoa@iuh.edu.vn 11
ttmkhoa@iuh.edu.vn 12
Grap, Uber
- Giao diện người dùng
- Tốc độ
Hành khách
- Tương thích
Phần
- Chức năng
mềm

Notification Server
Giao diện (UI services)
Cách gọi:
Tài xế - REST (tập lệnh gửi qua HTTP để truy vấn, thao tác dữ liệu. Kiểu dữ liệu
XML, JSON, JSONb) 🔑
- RPC (remote procedure call -lệnh gọi từ xa. Kiểu dữ liệu binary, Thrift,
Protobuf, Avro)
ttmkhoa@iuh.edu.vn
- SOAP (Simple Object Access Protocol) 🔑 13
- Đăng kí thành viên khi chưa có tài khoản
- Đăng nhập khi đã là thành viên
- Xem thông tin cá nhân
Phần - Xem Kết quả học tập
Xem Thời khóa biểu học tập
mềm
-
- Cập nhật thông tin cá nhân
- Reset mật khẩu
- Xem Thông tin về:
+Thời tiết
+Tỷ giá
+Tin tức
- Sinh mã QR theo text có sẵn
- Tools cho quản trị viên
+Thêm, sửa, xóa user
+Tìm kiếm user theo username và theo địa chỉ email
- Chatbox
ttmkhoa@iuh.edu.vn 14
Hk1_2023-2024
(30LT+30TH)

ttmkhoa@iuh.edu.vn 15
Overview of inter system communication

The need for integration

Integration models

Overview
Fundamental Challenges of Integration

Integrative Technologies/methods for


integration

Middleware and Integrative architectures

ttmkhoa@iuh.edu.vn 16
Introduction to Integrative Programming &
Technologies

Definition:

Integration of software refers to techniques for combining existing


software components to form a complete system . However, the software
integration includes at least one existing software system, developed in
the past with no plan for its symmetric integration with another
component in the future.

ttmkhoa@iuh.edu.vn 17
• 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.

ttmkhoa@iuh.edu.vn 18
• 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.

ttmkhoa@iuh.edu.vn 19
• 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. 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

ttmkhoa@iuh.edu.vn 20

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. Integration is the process of combining
separate applications into cooperating collections of application.

ttmkhoa@iuh.edu.vn 21
1. Overview of inter system communication

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.

Integration includes one or more of the following.

1. System integration

2. Functional integration or technology integration

3. Incremental engineering

4. Modification

ttmkhoa@iuh.edu.vn 22
• System integration

Given two or more systems, subsystems or components, each of which


function properly (satisfying their requirement within their environment).
The problem is to integrate them into one larger system satisfying the
combined requirements within the newly formed environment.

ttmkhoa@iuh.edu.vn 23
• 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.

ttmkhoa@iuh.edu.vn 24
• 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.

ttmkhoa@iuh.edu.vn 25
• Modification

Sometimes an existing and properly functioning software system must be


decomposed and integrated to carry out modification.

ttmkhoa@iuh.edu.vn 26
2. The need for integration

• 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

ttmkhoa@iuh.edu.vn 27
3. 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;

1. Presentation integration

2. Data integration

3. Function integration

ttmkhoa@iuh.edu.vn 28
• 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.

ttmkhoa@iuh.edu.vn 29
• 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.

ttmkhoa@iuh.edu.vn 30
• 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.

ttmkhoa@iuh.edu.vn 31
4. Fundamental Challenges of Integration

1. Network unreliability

2. Distributed systems

3. Slow networks

4. Heterogeneity

5. Modification complexity

ttmkhoa@iuh.edu.vn 32
• Network is unreliable.

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, 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.

ttmkhoa@iuh.edu.vn 33
• 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.

ttmkhoa@iuh.edu.vn 34
• 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.

ttmkhoa@iuh.edu.vn 35
• 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. Heterogeneous– each application
implements its own data model. Concepts may be shared, but
representation mismatches are to be expected. Mappings and
transformations are required.

ttmkhoa@iuh.edu.vn 36
• Change is inevitable.

Applications change over time. An integration solution has to keep pace


with cha nges 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 by using loose
coupling between applications. Autonomous –applications update their
state independently without coordinating with each other. The systems to
be integrated are maintained independently and upgraded at different
times.

ttmkhoa@iuh.edu.vn 37
5. Integrative Technologies /methods for
integration

Application integration is an integration framework composed of a


collection of Technolo gies and ser vices which form a middleware or
“middleware framework” to enable integration of systems and applications
across organizations . There are four methods used in application
integration, which are discussed in the section below:

1. File Transfer

2. Shared Database

3. Remote Procedure Invocation

4. Messaging

ttmkhoa@iuh.edu.vn 38
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.

ttmkhoa@iuh.edu.vn 39
Shared Database—multiple
applications share the same database
schema, located in a single physical
database. Because there is no
duplicate data storage, no data has
to be transferred from one
application to the other

ttmkhoa@iuh.edu.vn 40
Remote Procedure Invocation — one
application exposes some of its
functionality so that it can be
accessed remotely by other
applications as a remote procedure.
The communication occurs real -time
and synchronously

ttmkhoa@iuh.edu.vn 41
Messaging —one application publishes a message to a common message
channel. Other applications can read the message from the channel at a
later time. The applications must agree on a channel as well as the format
of the message. The communication is asynchronous. All of the four
approaches solve essentially the same problem in integration; each style
has its distinct advantages and disadvantages. In fact, applications may
integrate using multiple styles such that each point of integration takes
advantage of the style that suits it best.

ttmkhoa@iuh.edu.vn 42
Messaging—

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.

ttmkhoa@iuh.edu.vn 43
Messaging—

ttmkhoa@iuh.edu.vn 44
Messaging—

This diagram also illustrates two important messaging concepts:

1) Send a nd 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
conf ident that the receiver will eventually receive the message
and does not have to wait until that happens.

ttmkhoa@iuh.edu.vn 45
Messaging—

This diagram also illustrates two important messaging concepts:

2) Store and for ward — 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
repea ted many times, as the message is moved from one
computer to another, until it reaches the receiver ’s computer.

ttmkhoa@iuh.edu.vn 46
6. Middleware and Integrative architectures

1. Middleware

2. Integrative architectures

• Common Object Request Broker Architecture

• DCOM

ttmkhoa@iuh.edu.vn 47
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.

ttmkhoa@iuh.edu.vn 48
There are three types of middleware. These are, transaction -oriented,
object-oriented and message-oriented 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.

ttmkhoa@iuh.edu.vn 49
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.

ttmkhoa@iuh.edu.vn 50
Common Object Request Broker
Architecture

CORB A is a sof tware 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 heterogenous
environment, where objects can be
implemented in different programming
language and /or deployed on different
platforms.

ttmkhoa@iuh.edu.vn 51
Distributed component object model- extends the COM to support
communication between objects. DCOM is a sof tware architecture or
remote protocol that def ines a binar y standard for component
interoperability.

DCOM is a sof tware architecture that allows applications to be built from


binar y sof tware components. Is binary interface standard for sof tware
components, that allows inter-process communication . Binar y interface is
a program interface between binar y program modules of ten one of the
module is librar y or operating system and the other is user program
module. Def ines how computational routines are called in machine code or
low-level which is hardware independent.

ttmkhoa@iuh.edu.vn 52
Review Questions
1) Define integrative programming?

2) Explain the architectures used in application integration?

3) Describe interoperability?

4) What are the challenges in application integration describe the


solutions to overcome the challenges?

5) Describe the difference between CORB A and RMI or remote method


invocation?

6) Explain integrative technologies or methods used in application


integration?

7) What is the difference between data level and function level


integration model? Which model is more complex and why?

8) What is heterogeneity?

9) Describe different types of middleware and describe how the


middleware solves problem of heterogeneity?
ttmkhoa@iuh.edu.vn 53

You might also like