It Sia01 System Integration and Architecture
It Sia01 System Integration and Architecture
FOREWORD
2
TABLE OF CONTENTS
3
LESSON 1
OVERVIEW OF SYSTEMS INTEGRATION: CHALLENGES AND
DRIVERS
INTRODUCTION
As the world continuously advance, business and organizations must keep pace
and immediately adopt to these changes in order to take advantage of the benefits that
technological advancement brings. In this lesson, you will be introduced to important
concepts relating to systems integration, enterprise resource planning, silos in business
and IT solutions, different information system applications in organizations, the benefits
and limitations of system integration and its implications to management. This lesson also
covers the different roles of ERP, its benefits and limits, as well as the types of vendors
of ERP. An assessment will be conducted at the end of this lesson to assess the level of
your understanding on the topic discussed.
LESSON OBJECTIVES
DISCUSSION
4
Figure 1-1: Systems Integration Paradigm
Image Source: https://srutatechnologies.com/system-integration/
Lehtonen defined system integration, in its broadest sense, as the act of linking
several sub-systems (components) into a cohesive bigger system that functions as a
whole. When it comes to software, system integration is often understood as the practice
of connecting disparate IT systems, services, and/or software to make them all operate
together operationally. (Lehtonen, 2018).
System integration involves combining all of the organization’s physical and virtual
components. Machine systems, computer hardware, inventories, and other physical
components make up the physical components. Data stored in databases, software, and
5
apps make up the virtual components. The major emphasis of system integration is the
process of integrating all of these components so that they operate as a single system.
Integration of systems is a critical problem for an organization's growth. This is a
problem that management must pay particular attention to. System developers and
integrators face several obstacles as the intricacy of systems integration grows. The
integration aspect of the process becomes exceedingly tough as the project has become
more complicated, with more users, suppliers, internal corporate procedures, and
functions and subsystems. System integration refers to the interoperability and
compatibility of items from many sources / firms in a system.
According to Silva & Loureiro (2011) in an article published during the IEEE
International Conference on Industrial Engineering and Engineering Management held in
2011, the following causes of problems in systems integration.
A. Management
1. Poor Configuration Management
2. Establishment of inadequate testing philosophy
3. Improper organization and assignment of responsibilities
4. Deficient interrelationship of assembly, integration, and test in the project
development
5. Test strategy and integration plan is not developed in time
6. Test tools and test infrastructure not available for system tests
7. Insufficient time for testing
B. Technical
1. Maturity of process
2. Incomplete requirements
3. Development of testing software
4. Deficient test tools at subsystem level
6
5. Lack of standardization of engineering data
6. Deficient project design
7. Use of technology that requires complex integration project
ERP stands for enterprise resource planning, and it is a sort of software that
businesses often use to handle day-to-day operations including project management,
accounting, supply chain operations, procurement, risk management, and compliance.
Numerous ERP software systems are critical to businesses because they assist
them in implementing resource allocation by combining all of the activities necessary to
manage their businesses into a centralized platform. (Manifera.com, nd). Some of the
advantages of ERP include focused IT cost, total visibility, improved reporting and
planning, and improved efficiency. On the other hand, disadvantages of ERP include the
cost of the ERP software, the cost of implementation and maintenance, and the
customization process. The general types of ERP include custom ERP and the off-the-
shelf ERP.
7
Figure 1-5: Example of ERP Contents
Image Source: https://www.manifera.com/nl/custom-enterprise-resource-planning-erp-system/
FUNCTIONAL SILOS
A silos is an airtight pit or tower for preserving foodstuffs, according to Webster's
definition. Silos are simply segregated functioning units that are cut off from the rest of
the environment. In a firm, functional silos are groups of personnel organized by function
that operate independently of one another and without cross-collaboration. (Monday.com,
nd). Classification of functional silos include horizontal silos and vertical silos.
HORIZONTAL SILOS
Henry Fayol, a management philosopher, was the first to separate
functionalized organizations into five fundamental areas: planning, organizing,
coordinating, commanding, and controlling in the early 1900s. Luther Gulick
expanded and theorized Fayol's categorization in the 1930s, resulting in the
POSDCORB functional model (planning, organizing, staffing, directing,
coordinating, reporting, and budgeting). Starting in the late 1930s, the
POSDCORB category became increasingly popular, resulting in a set of formal
organization roles such as control, management, supervision, and administration.
The language of organizational functions evolved over the following 50 years, for
example, from planning to management to strategy, but the principle of organizing
complicated tasks into structured functions persisted for control and coordination
purposes.
8
Figure 1-6: Horizontal Silo
Image Source: Adapted from Bernard, C. (1938). The Functions of the Executive. Cambridge: Harvard University
Press.
VERTICAL SILOS
In the late 1960s, Harvard University's Robert Anthony discovered that
businesses split responsibilities in hierarchical stages, from strategic planning
through managerial control and operation control. Most institutions, for instance,
have upper executives such as CEOs and presidents who manage long-term
strategic plan, so although middle level leadership (e.g., vice presidents or general
managers) concentrates on strategic concerns and the implementation of
company's strategy to ensure that the company meets its organizational plans.
The job of middle positions (for example, supervisors) is to concentrate on the
business's daily operations functions. Although not independent organizational
roles, this vertical category does entail a different set of activities.
9
As businesses get larger and more complicated, they prefer to split operations
down into manageable units and give responsibility for these tasks to employees, allowing
them to manage complexity while focusing on tasks that boost productivity and efficiency.
10
Figure 1-8: Functional Silos
Image Source: Motiwalla & Thompson, 2012
11
INFORMATION SILOS AND SYSTEMS INTEGRATION
Over time, corporations developed a jumble of unconnected, non-integrated
systems, which resulted in bottlenecks and slowed production. Organizations must be
nimble and adaptable, and their information systems must include data, applications, and
resources from several departments. A data silo system is inefficient, incorrect, and
costly. Everyone has bottlenecks as a result of the system, and information is not
available in real-time. Organizations must be customer-centric in order to compete
effectively. This necessitates cross-functional collaboration between the company's
accounting, marketing, and other divisions. People and resources from diverse functional
areas can collaborate and share information at a certain level of the organization through
cross-functional integration. By allowing information to flow freely from one unit to
another, the cross-functional organizational structure breaks down functional silos.
12
Figure 1-10: Integrated Systems - ERP
Image Source: Motiwalla & Thompson, 2012
13
Figure 1-11: ERP and example systems
Image Source: https://www.digitalcorn.com/erp-application/
14
EVOLUTION OF ERP
E-Business ERP
Focuses on linking a business with its Focuses on integrating the internal
external partners and stakeholders functional silos of the organization into an
enterprise application
Disruptive technology—Totally Adaptive technology—Merged the early
transformed the way a business operates data processing and integration efforts
in terms of buying and selling, customer within an organization
service, and relationships with suppliers
15
ERP SYSTEMS COMPONENTS
An ERP System is composed of Hardware (servers and peripherals), Software
Process (operating systems and database), Information (organizational data from internal
and external sources), Process (business processes, procedures, and policies), and
people (end-users and IT Staff).
ERP ARCHITECTURE
The budget, operation, and the use of an ERP system are all influenced by the
system's architecture. The ERP architecture aids the deployment team in developing the
institution's ERP system. When ERP is acquired, the vendor is frequently in-charge of the
architecture (Package-Driven Architecture). There are two types of architectures.
(1.) Logical focuses on the supporting needs of the end-users.
(2.) Physical focuses on the efficiency of the system.
16
TIERED ARCHITECTURE EXAMPLE OF ERP SYSTEM
1. Presentation Logic Tier
2. Business Logic Tier
3. Data Tier
17
3. ERP system installations are extremely dangerous, and employing a well-defined
project plan with a tried-and-true methodology can help mitigate those risks.
4. To make the switch from existing information systems/applications to an ERP
system, there must be a compelling and well-communicated requirement.
18
6. Total cost of ownership
7. IT infrastructure requirements
8. Third-party software integration
9. Legacy systems support and integration
10. Consulting and training services
11. Future goals and plans for the short and long term
ERP VENDORS
1. SAP
SAP is the world's most popular ERP software, with over 12 million users
worldwide. Its products are suitable for a wide range of industries and markets.
2. Oracle/Peoplesoft
Oracle, the second largest ERP provider, offers solutions categorized by
industry and pledges long-term support for PeopleSoft users (acquired in 2004)
3. Microsoft Dynamics
Microsoft Dynamics, formerly known as Microsoft Business Solutions or
Great Plains, is a complete business management system based on the Microsoft
platform.
4. Infor
The world's third largest corporate software vendor. It provides integrated
supply chain, customer relationship, and supplier management solutions.
5. Lawson
Enterprise performance management, distribution, financials, human
resources, procurement, and retail operations are all examples of industry-specific
software solutions.
ASSESSMENT
The faculty may conduct their assessment based on the contents of the lesson in
different platforms like Google Forms, Schoology, and the like.
19
LESSON 2
TYPES OF SYSTEM INTEGRATION
INTRODUCTION
LESSON OBJECTIVES
DISCUSSION
A. INFORMATION-ORIENTED
The convergence of two or more systems by permitting easy data flows across
applications is known as information-oriented, a system integration approach. Some of
its sample activities are: connecting databases, dealing with basic data transfers between
two or more applications, and migrating data from source database to destination
database. While this kind of approach allows seamless transfer of data, all connected
systems must be thoroughly understood by designers. This is a disadvantage of an
information-oriented system integration approach.
20
Figure 2-1: Information-Centered Approach
Image Source: Next Generation Application Integration Textbook
Moving data across systems, for example, may necessitate changes to both the
content and the schema on the fly.
2. Cohesion
The term “cohesion” refers to the “act or state of sticking together” or “logical
agreement.” Applications and databases are distinct of one another in
cohesiveness. Modifications to the origin or target system should not have a
significant effect on others. Integration benefits from cohesion since it allows for
more flexibility. It enables the installation, modification, and removal of systems
without impacting the overall system.
21
STEPS TO APPROACH INFORMATION INTEGRATION
1. Identify the data
2. Catalog the data
3. Build the enterprise metadata model – this model will be used as master guide for
integrating the various information stores that exists within the enterprise.
1. Data Replication
The process of shifting data across two or more databases is known as data
replication. By deploying software between databases, data replication may be
performed. Data is extracted from the source database and placed in the target
database by software. Data replication has the advantages of being low-cost
and simple to implement. Data replication, on the other hand, is not suited for
integrating functionalities in applications. That is, if data is linked to methods or
if data is shared with methods. It also necessitates modifications to the source
and destination apps.
2. Data Federation
The practice of combining various databases into a single virtual database
is known as data federation. The program makes use of virtual databases. The
data gathering and dissemination to the physical database is handled by
integration software. Data federation has the benefit of being able to combine
many types of databases. In data federation, however, the interface between
the application and the database must be altered.
22
Figure 2-4: Data Federation
Image Source: Next Generation Application Integration Textbook
3. Interface Processing
Integrating packaged and bespoke programs is part of interface processing.
Enterprise Resource Planning is one example (ERP). This is the most often
used method of integration. The benefits include easy connection with
commercially available applications and the use of screen scrapers as
connection points. When converting information to transfer between systems,
API solutions accommodate for variations in schema, content, and application
semantics. However, there is a disadvantage in terms of business logic.
23
logic flow, as well as automating duties formerly handled by people. On the other hand, it
has the drawback of focusing solely on process flow and integration. It doesn’t focus on
user interface, updating databases, or executing a transaction.
APPLICATION INTEGRATION
It's the capacity to build a common business process model that takes into account
the sequence, hierarchy, events, execution logic, and data flow between systems. The
goal is to create a single logical model that spans several applications and data stores by
introducing the concept of a common business process that governs how computers and
humans interact to meet a specific business need. Support for information and control
logic flow, as well as the automation of human functions are some of the advantages of
this model. Focusing solely on process flow and integration procedures is a disadvantage.
Objective
Provides a control method that describes and implements information flow and the
invocation of processes across multiple systems.
24
Figure 2-7: Common business process models
Image Source: Next Generation Application Integration Textbook
Technology Components
1. Graphic modeling tool – This is where business model is created and defined.
2. Business process engine – It controls the execution of the multi-steps business
processes and maintains state and the interactions with the middleware
3. Business process monitoring interface – Allows end-users to monitor and control
execution of a business process in real time and optimize where needed
4. Business process engine interface – Allows other applications to access the
business process engine
5. Integration technology (middleware) – Connects the source and target system
25
Figure 2-8: Technology Components
Image Source: Next Generation Application Integration Textbook
26
to achieve the aforementioned aim is web services. The future of application integration
is Web services.
Service-Oriented
Service-oriented integration allows apps to share business logic and procedures,
allowing them to work together. One example of this is the web services. Application
reusability is enabled via service-oriented architecture. However, it is necessary to update
the application logic, and the implementation cost is substantial.
Application Service
Sub-routines or procedures in applications are known as application services. It
must be called in order for something to happen in the application. Remote services that
create or consume data are known as application services. Composite applications
made up of local and remote application services are created by combining application
services.
27
.
Figure 2-10: Application Service
Image Source: Next Generation Application Integration Textbook
Solutions Architecture
1. Event-Drive - Refers to designs that focus on data mobility rather than application
service aggregation. Data is sent from one system to another in support of a
specific business transaction, but application services must also be accessed.
2. Composite-Application - Describes architectures that require application
services to be aggregated into a single application instance.
3. Autonomous-distributed - Refers to web service architectures that have been so
closely interwoven that they seem to be one application. Binding inter- and intra-
company apps into a single, coherent entity.
28
- From the user interface to the back-end systems, the portal program must be
able to govern user interaction, capture and handle errors, and control the
transaction. The interface development environment (IDE) for creating the user
interface, defining application behavior, and connecting to the back-end is
provided by application servers.
2. Specify which data from the back-end systems should be exchanged with the
portal application.
Portal-Oriented
Portal-Oriented integration combines programs through a single user interface or
application, which is often accessed via a web browser. It consolidates data from several
apps into a single application. No back-end connectivity and ease of usage are some of
its advantages (browser user interface). On the other hand, there is no such thing as real-
time integration on this type of integration.
29
real time, necessitating human contact; information must be abstracted through another
application logic layer (e.g., application servers); and security is a major problem when
extending company data to consumers over the internet.
Portal Categories
1. Single-System Portals - Single-system portals are businesses that have
extended their user interfaces to the web. Application servers, page servers, and
technologies for converting basic displays to HTML are all options.
2. Multiple-Enterprise-System Portals - Multiple Enterprise System Portals
expands the design of a single-system gateway to multiple enterprise systems.
Application server architecture is used. Users may pull data from these systems
and update it using a single web browser interface that may be accessible via an
extranet or the internet.
3. Enterprise Portals - Enterprise Portals broaden the scope of a multi-enterprise
system portal to include systems from multiple companies. Application servers are
a good choice for businesses because they funnel data from connected back-end
systems.
ASSESSMENT
The faculty may conduct their assessment based on the contents of the lesson in
different platforms like Google Forms, Schoology, and the like.
30
LESSON 3
SYSTEMS INTEGRATION TECHNOLOGIES
INTRODUCTION
Middleware bridges the gap between applications, tools, and databases to provide
a unified service and optimize solutions to every user. In this lesson, you will be introduced
to different systems integration technologies to fully understand how system integration
works taking middleware in consideration. This lesson will also inform you of the different
integration models and types of middleware.
LESSON OBJECTIVES
DISCUSSION
WHAT IS MIDDLEWARE?
Any form of software that allows communication between two or more software
systems is known as middleware. It might be as basic as an application-to-application
communication link or as complex as information exchange and logic execution methods.
Middleware is a technology that enables us to transfer data across different businesses.
POINT-TO-POINT MIDDLEWARE
To connect one program to another, point-to-point middleware employs a simple
pipe. It establishes a direct link between a source and a target application. The inability
to link more than two apps, the lack of capacity to house application logic, and the inability
to modify messages as they travel through the pipe are all drawbacks of point-to-point
middleware.
31
Figure 3-1: Point-to-Point Middleware
Image Source: Next Generation Application Integration Textbook
MANY-TO-MANY MIDDLEWARE
Many-to-many middleware connects a large number of applications. It can handle
many sources or target apps. As a result of this capabilities, it is the ideal choice for
application integration. It has a wide range of applicability and flexibility in the application
integration sector.
32
processing of other linked applications. Regardless of the condition of the other apps, the
application can always continue processing.
Applications and synchronous middleware are inextricably linked. Applications rely
on synchronous middleware to handle one or more function calls at a distant application.
To wait for the remote application to reply, the calling application must pause processing.
Asynchronous application integration is recommended over synchronous
application integration. When synchronous middleware encounters issues such as
network or remote server issues, the application must halt processing. Furthermore,
synchronous middleware consumes bandwidth since multiple network calls are required
to enable a synchronous function call.
Direct Communication
The middleware layer takes the message from the caller application and sends it
straight to the remote application in direct communication. With synchronous processing,
either direct or deferred communication is employed. Direct is often synchronous,
whereas queued is typically asynchronous. The direct communication paradigm is used
by the majority of RPC-enabled middleware.
Queued Communication
In most cases, queuing communication necessitates the use of a queue manager
to place a message in a queue. The message is then retrieved by the remote application
either immediately after it has been sent or at any point in the future (barring time-out
restrictions). The information travels back through the queuing mechanism if the caller
application demands a response (such as a verification message or data). Queued
communication is used by the majority of Message-Oriented Middleware products.
33
Figure 3-3: Queued Communication
Image Source: https://flylib.com/books/en/2.672.1.52/1/
The benefit of queuing communication over direct communication is that the distant
program does not need to be running in order for the calling program to send it a message.
Furthermore, queuing communication middleware generally does not prevent the calling
or remote applications from completing their tasks.
Publish/Subscribe
Publish/subscribe (pub/sub) removes the requirement for an application to know
anything about the destination application. All it needs to do is transmit the data it wants
to share to a destination within the pub/sub engine, sometimes known as a broker. The
information is subsequently redistributed by the broker to any apps that are interested.
For instance, if a financial application wants to make all accounts receivable data
available to other apps, it would notify the pub/sub engine. The engine would then let
everyone know that this data was accessible, and any application could subscribe to that
subject to get accounts receivable data.
34
In Figure 3-4, the publisher is the information supplier. Publishers provide
information on a topic, but they are not required to know anything about the applications
that are interested in the data. The subscriber is the information's receiver or consumer.
When the material is published, the publisher defines a topic. The subscriber chooses a
subject that interests them. Only accounts receivable information is sent to the subscriber
in this case.
Request Response
The request-response approach does exactly what it says on the tin. Request
response middleware is used to send a request to an application, and the application
responds. Any middleware that may support a response from a request between
applications, such as integration servers or application servers, are examples of request
and response middleware.
35
Fire and Forget
The fire-and-forget approach enables a middleware user to "fire off" a message
and then "forget" about it, without having to worry about who gets it or even if it is ever
received. Another instance of an asynchronous method is this. The goal of fire and forget
is to let a source or destination application sends out particular sorts of messages to a
large number of people while avoiding auditing and response features. It also enables
central servers to send messages out.
TYPES OF MIDDLEWARE
A. RPC
B. Message-oriented middleware (MOM)
C. Distributed objects
D. Database-oriented middleware
E. Transactional middleware
F. Integration servers
Figure 3-6: RPCs allow local function calls to execute on remote computers.
Image Source: https://flylib.com/books/en/2.672.1.53/1/
36
makes it simple to maintain since it has a structure (schema) and content (data). MOM
may be viewed as a single-record database that is shared among apps. Message-passing
methods are used to send and receive information. Point-to-point and message queuing
are the two communication models supported by MOM (MQ).
Figure 3-7: Message-oriented middleware does not stop the application from processing
Image Source: https://flylib.com/books/en/2.672.1.53/1/
C. Distributed Objects
Small application programs that interact with one another using common interfaces
and protocols are known as distributed objects. It provides methods for application
development, as well as enterprise-wide method sharing and supporting technologies. In
today's market, there are two sorts of dispersed items: Common Object Request Broker
Architecture (COBRA), and Component Object Model (COM).
37
D. Database-Oriented Middleware
Database-oriented middleware makes it easier for an application or two databases
to communicate with each other. It may be used as a technique to extract data from both
local and distant databases. Call-level interfaces (CLI) and native database middleware
are the two types of databases with which it interacts. CLIs are standard APIs that cover
a wide range of database formats, allowing users to access several databases through a
single, well-defined interface (Example: Open Database Connectivity (ODBC)).
E. Transaction-Oriented Middleware
Transaction-oriented middleware (TOM) provides a framework for coordinating
information flow and sharing methods across many resources. It enables integration that
is strongly linked. It necessitates modifications to the source and target apps.
Transaction-oriented middleware is built on the notion of a transaction, which is a discrete
unit of work with a start and end date. A transaction is a container for application logic.
The transaction either completes or is entirely turned back. TP monitors and application
servers are two forms of transaction-oriented middleware.
TP Monitors
TP monitors serve as a hub for communication between two or more
applications as well as a repository for application logic. It enables scalability by
allowing other connected TP monitors to share and execute transactions.
Connectors to databases, other programs, and queues are also available through
TP monitors. In order to interface with these diverse resources, these connectors
require some application development. These resources are incorporated into the
transaction and are used as part of the transaction once they are linked. As a
consequence, if a failure happens, the system may recover.
TP monitors services
1. Guarantee the integrity of transactions
2. Resource management and run-time management services
The load-balancing functionality of TP monitors provides the most benefit in
terms of performance. It enables them to smoothly respond to a bombardment of
transactions. As demand grows, the transaction manager adds new server
38
processes to accommodate the load while shutting down those that are no longer
needed.
F. Integration Servers
Integration Servers allow data to flow between two or more resources while
accounting for variations in application semantics and platforms without requiring any
application to comprehend the other applications with which it shares data.
39
Figure 3-11: Integration Servers
Image Source: Next Generation Application Integration Textbook
ASSESSMENT
The faculty may conduct their assessment based on the contents of the lesson in
different platforms like Google Forms, Schoology, and the like.
40
LESSON 4
ENTERPRISE RESOURCE PLANNING SYSTEMS AND
BUSINESS PROCESS MODELS
INTRODUCTION
LESSON OBJECTIVES
DISCUSSION
Business processes are a set of actions that take an input and turn it into a useful
output for the client. An ERP system's primary job is to assist business functions. To
comprehend ERP, one must first comprehend how a firm operates. It's usually broken
down into operational and business process functional categories.
Marketing and sales, supply chain management, accounting and finance, and
human resources are all functional areas of operation. Business functions, on the other
hand, include activities specific to a functional area of operation.
ERP Modules
ERP vendors such as SAP, Oracle, and Microsoft offer modules that support a
company's major functional areas. The ERP software incorporates best business
practices that use business rules to implement the organization's policies and procedures.
41
Figure 4-1: Example of ERP Modules
Image Source: Next Generation Application Integration Textbook
42
customer, taking customers’ orders, helping create a sales forecast,
customer support, and customer relationship management.
The Marketing and Sales module needs information from all other
functional area. Customers communicate orders via Marketing and Sales
in person or by telephone, e-mail, fax, the web, etc.
2. Supply Chain Management
The functions within supply chain management includes making the
product (manufacturing/production), buying raw materials(purchasing),
receiving goods and raw materials, transportation and logistics, scheduling
production of products, and plant maintenance.
3. Accounting and Finance
Accounting and finance module includes recording raw data about
transactions (including sales), raw materials purchases, payroll, and
receipt of cash from customers, planning & budgeting, cost allocation &
control.
4. Human Resources
Human resources functions include recruit, train, evaluate, and
compensate employees, benefits, and government compliance. HR uses
data from other modules to plan personnel development path. Systems
integrated using ERP software provide the data sharing necessary
between functional areas.
5. Production
Helps in the planning and optimizing of the manufacturing capacity, parts,
components, and material resources using historical production data and
sales forecasting.
6. Purchasing
Streamlines the procurement process of required raw materials and other
supplies
7. Inventory Management
Facilitates the processes of maintaining the appropriate level of stock in a
warehouse
8. Miscellaneous Modules
Nontraditional modules such as business intelligence, self-service, project
management, and e-commerce.
43
Enterprise Systems Architecture
The architecture aids implementation teams in fully comprehending the enterprise
system's features and components. It depicts the intricate system interfaces that exist
between the ERP program and databases, operating systems, legacy applications, and
networking. If the needs for system infrastructure, training, change management, and
business process reengineering are clear, management may design a stronger IT plan.
Three-Tier Architecture
A three-tiered design, consisting of a Web Tier, an Application Tier, and a Data
Tier, is used in the majority of modern ERP installations. Benefits include:
1. Scalability – Easier to add, change, and remove applications.
2. Reliability – Implementing multiple levels of redundancy
3. Flexibility – Flexibility in partitioning is very simple
4. Maintainability – Support and maintenance costs are less on one server
5. Reusability – Easier to implement reusable components
6. Security – IT staff has more control system to provide higher security
TIERS
1. The Web Tier
Web-based portal allows users the ability to access and analyze information
through their web browser.
2. The Application Tier
The application tier consists of a web browser and reporting tool where
business processes and end-users interact with the system. It shields the
business users from the inner workings of an ERP system, but still provides
the information relevant to their job and business process.
3. The Data Tier
Data tier focuses on structure of all organizational data and its relationship
with both internal and external systems.
44
Figure 4-2: Three Tier Architecture
Image Source: https://www.softwaretestingclass.com/what-is-difference-between-two-tier-and-three-tier-architecture/
45
ASSESSMENT
The faculty may conduct their assessment based on the contents of the lesson
using different platforms like Google Forms, Schoology, and the like.
46
LESSON 5
INTEGRATION METHODOLOGIES
INTRODUCTION
In order to come up with a more feasible solution when dealing with business
system or application integration projects, it is critical to follow appropriate processes and
procedures. Students will apply their working knowledge of method-level, data-level,
application interface-level, and user interface-level Enterprise Application Integration
(EAI) in this course to propose a high-level approach, or methodology, that can be applied
to most enterprise application integration projects.
LESSON OBJECTIVES
DISCUSSION
Several techniques and actions must be completed and considered in EAI.
Organizations have used many processes and procedures over time, and the following
are the most typical actions, according to Linthicum (1999).
47
Step 2: Making Sense of the Data
Data must be the starting point for everything in EAI. Typically, EIA
initiatives are simply data-driven. This fact alone warrants the effort to figure out
what's in the many databases spread around an organization. Another point to
consider is that databases must be understood even if the EAI project is focused
on methods, application interfaces, and user interfaces.
Finally, identifying where data exists, obtaining information about the data
(i.e., schema information), and using business principles to determine which data
goes where and why is the key to implementing data-level EAI.
48
understand what they do and, as a result, how to combine them at the method
level through a composite application.
49
Step 7: Mapping Information Movement
After the preceding stages have disclosed all of the information accessible,
it's time to map the information movement from system to system, identifying which
data element or interface the information is traveling from and where it will
eventually go.
For example, the customer number from the sales databases must be sent
to the credit-reporting system, where it will eventually be stored in the credit
system's customer table. This knowledge allows the team to chart the flow of
information from the source systems, sales systems, credit systems, and target
systems. It's important to notice where the data is physically stored, what security
measures are in place, what supporting technology is in place (e.g., relational
tables), and how data is removed on one side and deposited on the other. It's also
important to keep track of the event that's linked to the information flow. What
additional criteria (such as data time, real time, or state changes) drives the flow
of information from the source to the destination if no event is required?
50
challenging, a test strategy is very necessary. The majority of source and target
systems are mission-critical; hence, cannot be shut down. As a result, evaluating
these systems might be difficult.
51
When dealing with the requirement for continuous maintenance, it's a good
idea to list all of the tasks that must be completed and assign individuals to
complete them.
Remember that an EAI solution is the beating heart of an organization,
transporting crucial data between mission-critical systems. As a result, it is a
potential point of failure that may bring the company to its knees. With that pleasant
idea in mind, now could be a good time to think about disaster recovery problems
like redundant servers and networks, as well as the possibility of moving the EAI
system in the event of a disaster.
ASSESSMENT
The faculty may conduct their assessment based on the contents of the lesson in
different platforms like Google Forms, Schoology, and the like.
52
LESSON 6
DESIGNING SYSTEMS INTEGRATION SOLUTIONS AND
ENTERPRISE INTEGRATION PATTERNS
INTRODUCTION
In the previous lessons, you were able to understand what middleware is. It is any
type of software that facilitates communication between two or more software systems. It
can be simple communication connection between applications. It can also be as
sophisticated as information sharing and logic execution mechanisms. In this lesson, you
will further understand how to design systems integration solutions and the different
integration patterns.
LESSON OBJECTIVES
DISCUSSION
Tight Coupling
A great example of tight coupling is a local method invocation. Invoking a local
method inside an application is based on a lot of assumptions between the called and the
calling routing. Both methods have to run in the same process (e.g., a virtual machine)
and be written in the same language (or at least use a common intermediate language or
byte code). The calling method has to pass the exact number of expected parameters,
each using the correct type.
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).
The communication between the methods is immediate and instantaneous, so neither the
53
caller nor the called method have to worry about security in the form of eavesdropping 3rd
parties. All these assumptions make it very easy to write well-structured applications that
break functionality into individual methods to be called by other methods.
54
b. Queueing channels – removes location and time dependencies as team do not
have to pay attention to computer’s identity and location or whether the other
computer is ready to accept requests or not.
Removing these dependencies between the systems makes the overall solution
more tolerant to change, the key benefit of loose coupling.
1. Message Intent
a. Command Message – invoking a function or method on the receiver
b. Document Message – enabling the sender to transmit one of its data
structures
c. Event Message – notifying the receiver of a change in the sender
2. Returning a response
a. Request-Reply – the request is usually a command message, and the
reply is a document message containing a result value or an exception
b. Return Address – the requestor specifies what channel to use to transmit
the reply
c. Correlation Identified – responder specifies which request this reply
corresponds to
3. Huge amounts of data
a. 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
4. Slow messages
a. 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.
Channel
Data needs to be transported, usually across a network. Communication channels
are needed to 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
55
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
1. Point-to-point channel – To send the data to a single point (1-to-1 interaction)
2. Publish-Subscribe channel – In this channel, the channel effectively copies the
data for each of the receivers (one to many interaction)
3. Datatype channel – all of the data on a channel has to be the same type (many to
one interaction)
4. Invalid Message channel – when receiver receives a message that doesn’t meet
these expectations
5. Dead Letter channel – for messages which are successfully sent but ultimately
cannot be successfully delivered
6. Guaranteed Delivery – makes channel persistent so that their messages are stored
on disk
7. Channel Adapter – can be used to connect a channel (or set of channels) to the
application without having to modify the application
8. Messaging Bridge – connecting two message systems, effectively connecting
them into one composite messaging system
9. Message Bus – a backbone providing access to all the enterprise’s various and
ever-changing applications and functionality
Translation
Middleware needs to provide some mechanisms to convert one application’s data
format in the others. Internal data format of an application can often not be changed. For
example, one data format may store the customers’ name in two fields, called
FIRST_NAME and LAST_NAME, while the other system may use a single field called
CUSTOMER_NAME.
56
Figure 6-3: Translation
Message Transformation
1. Envelope Wrapper – wrap message payload data into an envelope that is
compliant with the requirements of the messaging infrastructure
2. 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
3. Content Filter – removes unwanted data from a message
4. Claim Check – removes data from a message but stores it for later retrieval
5. Normalizer – translates messages arriving in many different formats into a
common format
6. Canonical Data Model – design an independent data model from any specific
application. Require each application to produce and consume messages in this
common format.
Routing
Middleware needs to take care of sending messages to multiple systems. As the
number of systems increases, it becomes very tedious and requires the sending system
to have knowledge about all other systems. For example, if the customer’s address
changes in the customer care system, that system can be responsible for sending the
data to all other systems that store copies of the customer address. It is expected that
each application specific the target system/s for the data it is sending over the channel.
57
Figure 6-4: Message Routing
Systems Management
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, it is essential that systems management
function be recognized. This subsystem monitors the flow of data, makes sure that all
applications and components are available, and reports error conditions to a central
location.
1. Control Bus – provides a single point of control to manage and monitor a distributed
solution
58
2. Detour – route messages through additional steps, such as validation or logging –
with ability to switch on or off these additional steps
3. Wire Tap – inspect the contents of a message without affecting the primary
message flow
4. Message History – great aid to know where a specific message has been
5. Message Store – can provide a complete account of every message that traveled
through the system
6. Smart Proxy – track messages sent to request-reply services
7. Test Message – actively verifying that the running messaging system is functioning
properly
8. Channel Purger – remove all remaining messages from a channel so that the
components under test do not receive ‘leftover’ messages.
Endpoint
Most packages 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. Message endpoint is needed 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.
59
7. Message Dispatcher – consumer messages from a channel and distribute them to
performers
8. Selective Consumer – filters messages delivered to a channel so that it only
receives the ones that match its criteria
9. Durable Subscriber – to make the messaging system save messages published
while the subscriber is disconnected
10. Idempotent Receiver – can safely receive the same message multiple times
11. Service Activator – connects the messages on the channel to the service being
accessed.
ASSESSMENT
The faculty may conduct their assessment based on the contents of the lesson in
different platforms like Google Forms, Schoology, and the like.
60
LESSON 7
XML AND APPLICATION INTEGRATION
INTRODUCTION
LESSON OBJECTIVES
DISCUSSION
61
XML Elements
XML Schema
In the same way as database schema provide a structural model for the data they
represent; XML Schema governs what can and cannot be done with XML data.
62
XML Schema and XML Document
XML Parsers
XML parsers read XML documents and extract the data so that another software
can access it. The Document Object Model (DOM) is a tree-based API, whereas SAX
(Simple API for XML) is an event-based API.
XML Namespaces
A namespace is a set of names that may be used as element or attribute names
in an XML document. It's critical to associate names with a specific domain and minimize
repetition. XML namespaces allow the same term to have many meanings. A Uniform
Resource Indicator (URI) is used to identify namespaces, allowing each one to be distinct.
63
For example, there can be three elements known as “account” (e.g., frequent-flyer
account, bank account, customer account at hotel). Each account name is associated
with a particular domain (e.g., Airline URL https://www.airline.org).
The capacity of XML namespaces to create shared application semantics amongst
trading partners is critical in the context of application integration.
What is XSLT?
Extensible Stylesheet Language Transformations (XSLT) is a programming
language that allows you to change the structure and content of an XML document. It is
a text processing system at its most basic level. Other standard markup languages can
be generated. XSLT is an XML document transformation standard that uses a stylesheet
as the processing engine.
XSLT Mechanism
Transforming an XML document using XSLT requires two main steps
1. Structural transformation
Data is transformed from the input structure to the output structure. It
involves selecting data, grouping it, sorting it, or aggregating it.
2. Formatting the text to new characteristics
Information is placed in a particular type of text structure. Examples include
XML, HTML, PDF, etc.
64
Figure 7-6: XSLT Mechanism
Image Source: Next Generation Application Integration Textbook
XSLT Processors
While staying consistent with the way processors handle XML through trees, XSLT
processors apply an XSLT style sheet to an XML source document and generate a
resultant document. Three trees must be processed by XSLT: the input tree, the
stylesheet tree, and the output tree. The transformation to be performed is defined in the
stylesheet document. The stylesheet tree is used by the XSLT processor to transform the
input tree to the output tree.
65
Figure 7-8: XSLT for B2B
Image Source: Next Generation Application Integration Textbook
XSLT can establish a standard data transport format within and between
application tiers.
66
Figure 7-10: XML in integrated environments
Image Source: Next Generation Application Integration Textbook
67
Figure 7-12: Dynamic Structural Transformation
Image Source: Next Generation Application Integration Textbook
ASSESSMENT
The faculty may conduct their assessment based on the contents of the lesson in
different platforms like Google Forms, Schoology, and the like.
68
LESSON 8
SERVICE-ORIENTED ARCHITECTURE AND WEB SERVICES
INTRODUCTION
LESSON OBJECTIVES
DISCUSSION
Over the course of many years, most businesses have made significant
investments in system resources. Because such businesses have a large quantity of data
stored in outdated enterprise information systems (EIS), it is not viable to replace them.
Evolving and improving EIS is more cost-effective. A cost-effective option is Service
Oriented Architecture (SOA).
The notion of service-oriented architecture (SOA) is not new. Sun used the term
SOA in the late 1990s to characterize Jini, a network-based environment for dynamic
discovery and usage of services. Web services have taken Jini technology's notion of
services and turned it into web-based services utilizing technologies like XML, Web
Services Description Language (WSDL), Simple Object Access Protocol (SOAP), and
Universal Description, Discovery, and Integration (UDDI) (UDDI).
In today's complex and diverse computer environment, SOA is emerging as the
primary integration and architectural framework. Previous initiatives depended on
proprietary APIs and needed a high level of coordination between parties, rather than
enabling open interoperable solutions. SOA enables the software as a service idea by
helping businesses simplify operations so they can do business more effectively and react
to changing requirements and competition. For example, eBay is making its web services
API available for its online auction. The objective is to encourage developers to use the
eBay platform to generate money. Developers may use the new APIs to create bespoke
applications that connect to the online auction site and allow them to submit things for
69
sale. Because consumers must still go to ebay.com to bid on products, such apps are
generally geared for sellers (Mahmoud, 2005).
Figure 8-1 depicts the find-bind-execute paradigm used by SOA. Service providers
register their services in a public registry in this model. Consumers use this register to
locate services that meet specific requirements. If the registry offers such a service, the
customer is given a contract as well as the service's endpoint address.
70
SOA-based applications contain presentation, business logic, and persistence
layers and are distributed multi-tier applications. SOA applications are built on the
foundation of services. While any functionality may be turned into a service, the issue is
defining the proper level of abstraction for the service interface. The functionality of
services should be coarse-grained.
Supporting Interactions
The purpose of systems integration is to support each of the following: Human to
Human Interactions, Human to Machine (Applications) Interactions, and Machine
(Application) to Machine Interactions.
71
Web Services
Application-to-application communication is supported through web services. It
allows for integration that is "loosely linked." It reduces the amount of time and effort
needed to create interconnected apps. Web services allow applications or programmers
to locate cooperating programs to complete a given job, allowing programming to quickly
construct applications by just putting application modules together. Web services are
intended to allow application modules (objects) to communicate with one another. Service
apps provide transactional computing services once they are linked.
72
Figure 8-3: SOA
Image Source: Next Generation Application Integration Textbook
73
Figure 8-4: Relationship between key Web Services Standards
74
Web-Based Application Development Architecture
Application Integration
75
Application Integration as Services
76
WSDL documents representing Web Services to Applications
77
1. Abstract – the description of a web service interface, independent of
implementation details. Abstract interface definition is made up of interface and
message elements.
2. Concrete – specifies location and implementation information about a web
service. Concrete interface definition is made up of binding, endpoint, and
service elements.
78
Figure 8-12: SOAP
79
Universal Description, Discovery, and Implementation (UDDI)
Fundamental of SOA is a mechanism for service descriptions to be discovered by
potential requestors. UDDI is a central directory that hosts service descriptions (including
WSDL). UDDI specifies a registry that stores service descriptions within a directory. UDDI
registry can be public registry, a global directory of services or a private registry, a
repository of services hosted within an organization.
80
Accessing UDDI Registry
UDDI provides inquiry and publishing APIs allowing applications to interface
programmatically with a registry. Registries are expected to provide interface for humans
as well.
ASSESSMENT
The faculty may conduct their assessment based on the contents of the lesson in
different platforms like Google Forms, Schoology, and the like.
81
LESSON 9
SELECTING COMMERCIAL-OFF-THE-SHELF PRODUCTS
INTRODUCTION
LESSON OBJECTIVES
DISCUSSION
82
d. Vendor-detailed demonstration
e. Contact references
f. Develop a total cost of ownership
7. Vendor/s negotiation
a. Contract review and change
b. Pricing – software, maintenance, and consulting support
c. Purchase system
Vendor Research
The first step in selecting an ERP system is generally to research vendor ERP
systems in the market to identify a short list of vendors who will help to shape business
requirements. This process is especially helpful for companies moving from aging legacy
systems and technology to current and state-of-the-art technology. A state-of-the-art ERP
system purchase will likely mean the replacement of the current hardware and software
infrastructure. Identifying and researching all aspects of a vendor package and the
platform that the hardware and software runs on will assist companies in determining the
total cost of ownership (TCO).
In general, identifying vendors today is not overly difficult. Using current web
search engines is a good starting point. It is also help in determining what packages the
competition uses. An exhaustive list of vendors, even if you do not research them
completely is important for a successful implementation. Another strategy to identify
vendors is to ask department managers and subject matter experts if they know of
vendors that should be considered. It will be said many times, “the process is important”,
so including end users will help with change management issues later in the project. It
will also help to gain and secure trust for later in the implementation.
Some ERP vendor systems (e.g., SAP) are designed for and can scale to a large
number of users, whereas other systems (e.g., Great Plains) are geared for a small
number of users. Many ERP vendors have similarly geared their application for a specific
industry. For example, PeopleSoft has historically focused on government and
educational organizations, whereas SAP has focused on the manufacturing industry.
Oracle PeopleSoft is also known for human resource (HR) application, whereas SAP is
well known for production and supply chain management (SCM) applications.
83
In the recent years these large vendors have tried to diversify their systems by
expanding their application modules through acquisition of other software companies.
Oracle now owns the PeopleSoft ERP along with its own e-Business Suite. Nonetheless,
they still focus on certain industries and are known for applications in certain functional
areas of business. It is therefore important for business evaluating ERPs to pay close
attention to these criteria before selecting the software.
IT Infrastructure Criterion
The IT infrastructure criterion is important because a company not having the
resources to invest in new infrastructure may want to acquire an ERP application that will
work on an existing platform. Some ERP vendors have structured their applications to
work on specific platforms with specific database and third-party software. In that case,
having the vendor install a “sandbox” application for demonstration purposes on the
company’s existing infrastructure can be very helpful.
Resource
The resource question is the most important issue that has to be resolved before
moving to the next phase of ERP implementation. That is, what organization resources
will be needed to implement and support the product? Senior management must be
involved in making this decision. If they are not committed to the project for the long run,
both in terms of resources and time commitment, the implementation is doomed for
disaster. The majority of ERP vendor relationships with organizations are long term.
Vendors are constantly upgrading or releasing new application requiring a business to
remain close to what is happening with the system. This requires long-term resource
commitment from the organization.
84
Vendor Direction This information should be tracked through the vendor history
of change and upgrades to the system along with a statement
of direction from each vendor. The ability to implement a stated
direction is important; hence, knowing the history is critical to
understanding the hype versus the reality
Currency of Like legacy systems, a vendor’s software is often written in
Technology older technology. In some sense every vendor goes through
this because technology is changing rapidly, but the ability to
migrate to new technology must be understood and
documented during the research process.
Release Strategy How often these releases to the system, and what are is
included in the releases? Are fixes timely and minor upgrades
included periodically? What is the timing for major releases,
and re the defined upgrade paths? Are there vendor costs
related to upgrades?
Development and This is an area that sometimes requires some exploration. It is
Maintenance Staff difficult to compare apples to apples because the “size” of the
ERP vendor system will have an effect on the development and
maintenance staff. One should really look for a disproportionate
number within an ERP vendor and across ERP vendors.
System Update This is a key are. It helps to understand how much your
Process company’s direction and long-term needs will be met by the
vendor. A company’s involvement in further defining the
functional direction of an ERP system is important to
understand and document in the vendor research process.
ASSESSMENT
The faculty may conduct their assessment based on the contents of the lesson in
different platforms like Google Forms, Schoology, and the like.
85
REFERENCES
86