You are on page 1of 36

ENTERPRISE APPLICATION INTEGRATION (PART 1)

ITS580- Introduction to Enterprise Architecture Framework

CHAPTER OUTLINE
Enterprise Applications Evolution of Enterprise Applications Enterprise Application Integration Why EAI? What is EAI Types of EAI
2

Enterprise Applications (1)


Enterprise applications are the applications developed for large organization which will have many, disparate subsystems. The intention for automation is to integrate all subsystems and processes in the systems. Normally Enterprise Applications have distributed architecture and huge in size.
3

Enterprise Applications (2)


Enterprise applications solve business problems. This involves safe storage, retrieval and manipulation of business data. It may have multiple interfaces, like:
Web interface for customers GUI application running on the desktop for the employees.

Enterprise Applications (3)


Enterprise Applications may communicate with remote systems It may have to co-ordinate data in multiple stores. It should follow a set of business rules. If any part of the system fails, the enterprise will start losing money and if the business grows, the application needs to grow with it. These factors make an enterprise application quite complex.

Enterprise Applications (4)


Enterprise Application Integration, or EAI, encompasses the following areas: Opening up ways for the information to flow from one application to another, Letting applications to reach other sources of data outside themselves, and Allowing other programs to peer into the innards of formerly closed programs. Sharing data between divisions or even between separate corporations
6

Enterprise Applications (5)


Examples of enterprise programs that can benefit from EAI include Enterprise Resource Planning Customer Relationship Management Supply Chain Management Human Resources Management

Example

Components of Enterprise Application


An enterprise application will have
Presentation Logic Processing of instruction or routine Required to display/print data Execution of GUI Business Logic Perform data processing of the business Data entry, update, query and report processing Functional algorithm that handle information exchange between database and GUI Data Access Logic
Data repository / Database
9

Evolution of Enterprise Applications- Single Tier


Dumb Terminal

Dumb Terminal

Dumb Terminal

Advantages

Mainframe Business logic, Presentation logic and Data access logic reside on the single layer

Disadvantages

No client side management is required Data consistency is easy to achieve Difficult to maintain and reuse
10

Evolution of Enterprise Applications- Single Tier


Clients to Single tier EAs have only dumb terminals. Presentation logic, Business logic and Data Access logic resides at single place, mostly on mainframes. All these layers are tightly coupled to each other. Any change in them, requires NO change at client side. So, NO client side management is required. But as, all these layers are tightly coupled to each other, any change happening to any of the layers, will affect other layers as well. So difficult to maintain and reuse. Again, for maintenance, we may require people who have skill sets in different areas such as Presentation + Developing Business Logic + Data Access logic; which is difficult to get. As data is stored at single location, integrity and consistency of data is easy to achieve.
11

Example: IBM z10 mainframe computer

IBM z10 mainframe computer offers the computing power of 1,500 PC-style servers, uses 85 percent less electricity, and occupies 85% less floor space. The all-new z10 is IBM's first mainframe purposely built to handle the exploding demand for digital transactions enabled by the Internet, a trend that is creating crowded, over-burdened corporate data centers -- computer rooms that process everything from consumer banking transactions to drivers' license forms. (Feature Photo Service/IBM) 12

Evolution of Enterprise Applications - Two Tier

DataBase Data Layer Business Logic & Presentation Logic

Advantages DB product independence Disadvantages Difficult to maintain and update


13

Evolution of Enterprise Applications - Two Tier


In Two tier EAs, the Data Layer is separated from the Business and Presentation logic, which give app developers flexibility to maintain database independently. Changes or migration in this layer will be independent and can be taken care of efficiently. But as Business and presentation logic resides together at Client side, this applications are difficult to maintain and update. Ex: Consider the app is deployed at 50,000 clients. Any change in Presentation (frequent) or business rules (less frequent) will have to managed/ updated at all 50,000 clients, which is difficult to achieve. And again there would be too much inter-dependence between Presentation and Business logic, which leads to poor maintenance capabilities.

14

Example: VB Application

15

Evolution of Enterprise Applications - Two Tier


Two tier client server architectures is suitable for the following circumstances:
when the number of users is expect to be less than 100 for non-real-time information processing in noncomplex systems that requires minimal operator intervention (Content from SEI website http://www.sei.cmu.edu/str/descriptions/three tier.html)
16

Evolution of Enterprise Applications - Three Tier

DataBase Data Layer

Presentation Logic

Server

Advantages Business logic can change more easily - greater degree of flexibility Increased security, as security can be defined for each service, and at each level Increased performance, as tasks are shared between servers Disadvantages Complexity introduced in middle-tier. 17

Business Logic

Evolution of Enterprise Applications - Three Tier


In 3-tier EAs, Presentation, Business and Data layers are separated and kept at different locations. This will ease maintenance of any of the layers without other layers getting affected. Here, still we need to deploy the presentation logic at each and every client separately, which will be difficult to achieve, once presentation logic changes. (Not a scalable model) Business logic exists at middle-tier also known as application server. There are various system-level issues related to the working of the middleware, such as

1.When is this server supposed to create instance of the servlet? At the startup time or after first request comes in? 2.Can it connect to database with single connection object? No. Then, if we have to create multiple connections, can we keep it as pool of connections? What should be its size? 3.Should it support single thread model or Multi-threading is inherent? 4. In that case, how many threads should be created and kept ready in a threadpool?

So all these issues add up the complexity in the middle tier, which needs to 18 be answered.

Example: ICRESS System

19

Evolution of Enterprise Applications - n Tier

DataBase Data Layer Thin Client


Server Server

Presentation Logic
Advantages
More loosely coupled More reusable Zero client management Complexity in the middle tier

Business Logic

Disadvantages

20

Evolution of Enterprise Applications - n Tier


N-tier EAs, most of the discussed issues are resolved The Presentation, business and data layers are separated and are located on separate server components. Users access the applications using thin clients. Thin clients are the clients, which do not have any application logic residing at the local machine. At client side, no special requirements are needed. Example of thin client : Web browser Now, even if your web sites presentation logic is changing every week (this was happening for yahoo mail sometimes back) , no client side management is required. You can change it at only one place (i.e in your server where your sites presentation logic resides)! But as the middle-tier component exists in this architecture, so issues relating to it will still remain in this model, which can be thought as disadvantage!!!
21

Example: Google Website

22

Role of Application Servers in Enterprise Application


To reduce complexity in the middle tier, enterprise programmers build their applications on top of systems called Application Servers. Application Servers provide the system services to address the non-functional requirement like scalability, performance, and reduces the complexity of the middle tier Application developers can concentrate on the functional requirements by concentrating on the business logic.
23

Resource Pooling Multithreading

DISCUSSION
Give example (s) of an application system for each of these categories:
Single Tier Two Tier Three Tier N-Tier

24

Enterprise Application Integration - Introduction


Enterprise application integration (EAI) enables an enterprise to integrate its existing applications and systems and to add new technologies and applications to the mix. EAI also helps an enterprise to model and automate its business processes. Enterprise application integration has always focused on a companys IT department integrating new software modules or applications with its existing systems.

25

Enterprise Application Integration Introduction (2)


Enterprise organizations also must weigh the cost of replacing existing systems with new systems with the cost of merging existing systems with new systems. Discarding existing systems is never an easy choice In addition to retaining the existing systems, companies can integrate them with new applications to enhance functionality. The key with this option is the cost of integrating the separate applications and systems
26

27

28

29

Why EAI?
In the past, enterprise system architectures have been poorly planned. Many organizations built systems based on the cool technology of the day without realizing how these systems would somehow, someday, share information . Another important factor that is driving enterprises toward the promised land of EAI is the broad acceptance of packaged applications, such as Enterprise Resource Planning (ERP) application
30

Why EAI? (2)


As organizations begin to realize the necessity of interconnection of disparate systems in order to meet the needs of the business, the significance of integration technology is being simultaneously felt. Thus it becomes a very important milestone for every enterprise to effectively architect, design, an develop systems based on EAI technology. It needs a steep learning curve to acquire the knowledge and wisdom to identify when to apply EAI technology, selecting appropriate technology, architect a solution, and they applying it successfully to the problem.
31

What is EAI
EAI is the unrestricted sharing of data and business processes among any connected applications and data sources in the enterprise. The demand of the enterprise is to share data and processes without having to make sweeping changes to the applications or data structures. Only by creating a method of accomplishing this integration can EAI be both functional and cost effective.
32

What is EAI (2)


EAI is the solution to the unanticipated outcome of generations of development undertaken without central vision or strategy. A number of stovepipe systems are in your enterprise-for example, inventory control, sales automation, general ledger, and human resource systems. Packaged applications such as SAP, Baan, and PeopleSoft- which are natural stovepipes themselves- have only compounded the problem.

33

Types of EAI
1. Data-level EAI is the process and the techniques and technology of transferring data between data stores 2. Application interface level EAI refers to the leveraging of interfaces exposed by custom or packaged applications
34

Types of EAI
3. Method level EAI is the sharing of the business logic that may exist within the enterprise. Applications can access methods on any other application 4. User interface level EAI is a more primitive approach. Architects and developers are able to bundle applications by using their user interfaces as a common point of integration
35

DISCUSS
Concept of EAI what do you understand? Prepare for next class

36

You might also like