Chapter 5- Eai Part 1

Embed Size (px)

Citation preview

  • 8/2/2019 Chapter 5- Eai Part 1

    1/36

    1

    ENTERPRISE APPLICATIONINTEGRATION (PART 1)

    ITS580- Introduction to

    Enterprise ArchitectureFramework

  • 8/2/2019 Chapter 5- Eai Part 1

    2/36

    2

    CHAPTER OUTLINE

    Enterprise Applications

    Evolution of Enterprise ApplicationsEnterprise Application Integration

    Why EAI?

    What is EAITypes of EAI

  • 8/2/2019 Chapter 5- Eai Part 1

    3/36

    3

    Enterprise Applications (1)

    Enterprise applications are the applicationsdeveloped for large organization which will

    have many, disparate subsystems.The intention for automation is tointegrate all subsystems and processes inthe systems.

    Normally Enterprise Applications havedistributed architecture and huge in size.

  • 8/2/2019 Chapter 5- Eai Part 1

    4/36

    4

    Enterprise Applications (2)

    Enterprise applications solve businessproblems.

    This involves safe storage, retrievaland manipulation of business data.It may have multiple interfaces, like:

    Web interface for customersGUI application running on the desktopfor the employees.

  • 8/2/2019 Chapter 5- Eai Part 1

    5/36

    5

    Enterprise Applications (3)

    Enterprise Applications may communicate withremote systemsIt 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 willstart losing money and if the business grows, theapplication needs to grow with it.

    These factors make an enterprise application quitecomplex.

  • 8/2/2019 Chapter 5- Eai Part 1

    6/36

    Enterprise Applications (4)

    Enterprise Application Integration, or EAI,encompasses the following areas:

    Opening up ways for the information to flowfrom one application to another,

    Letting applications to reach other sources ofdata outside themselves, and

    Allowing other programs to peer into theinnards of formerly closed programs.

    Sharing data between divisions or even betweenseparate corporations

    6

  • 8/2/2019 Chapter 5- Eai Part 1

    7/36

    Enterprise Applications (5)

    Examples of enterprise programs that canbenefit from EAI include

    Enterprise Resource PlanningCustomer Relationship Management

    Supply Chain Management

    Human Resources Management

    7

  • 8/2/2019 Chapter 5- Eai Part 1

    8/368

    Example

  • 8/2/2019 Chapter 5- Eai Part 1

    9/36

    9

    Components of Enterprise

    ApplicationAn enterprise application will have

    Presentation Logic

    Processing of instruction or routine

    Required to display/print dataExecution of GUI

    Business Logic

    Perform data processing of the business

    Data entry, update, query and report processingFunctional algorithm that handle information exchangebetween database and GUI

    Data Access LogicData repository / Database

  • 8/2/2019 Chapter 5- Eai Part 1

    10/36

    10

    Evolution of Enterprise

    Applications- Single Tier

    AdvantagesNo client side management is requiredData consistency is easy to achieve

    DisadvantagesDifficult to maintain and reuse

    Mainframe

    Dumb Terminal

    Dumb Terminal

    Dumb Terminal

    Business logic, Presentation

    logic and Data access logic

    reside on the single layer

  • 8/2/2019 Chapter 5- Eai Part 1

    11/36

    11

    Evolution of Enterprise

    Applications- Single TierClients to Single tier EAs have only dumb terminals.Presentation logic, Business logic and Data Access logicresides at single place, mostly on mainframes. All these layersare 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, anychange happening to any of the layers, will affect otherlayers as well.So difficult to maintain and reuse.

    Again, for maintenance, we may require people who have skillsets in different areas such as Presentation + DevelopingBusiness Logic + Data Access logic; which is difficult to get.As data is stored at single location, integrity and consistencyof data is easy to achieve.

  • 8/2/2019 Chapter 5- Eai Part 1

    12/36

    12

    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)

  • 8/2/2019 Chapter 5- Eai Part 1

    13/36

    13

    Evolution of Enterprise

    Applications - Two Tier

    DataBase

    Data Layer

    Business Logic &

    Presentation Logic

    Advantages

    DB product independence

    Disadvantages

    Difficult to maintain and update

  • 8/2/2019 Chapter 5- Eai Part 1

    14/36

    14

    Evolution of EnterpriseApplications - Two Tier

    In Two tier EAs, the Data Layer is separated from the Businessand Presentation logic, which give app developers flexibility tomaintain database independently. Changes or migration in this layerwill be independent and can be taken care of efficiently.

    But as Business and presentation logic resides together at Clientside, this applications are difficult to maintain and update.Ex: Consider the app is deployed at 50,000 clients. Any change inPresentation (frequent) or business rules (less frequent) will haveto managed/ updated at all 50,000 clients, which is difficult toachieve.And again there would be too much inter-dependence betweenPresentation and Business logic, which leads to poor maintenancecapabilities.

  • 8/2/2019 Chapter 5- Eai Part 1

    15/36

    15

    Example: VB Application

  • 8/2/2019 Chapter 5- Eai Part 1

    16/36

    16

    Evolution of EnterpriseApplications - Two Tier

    Two tier client server architectures issuitable for the following circumstances:

    when the number of users is expect to be lessthan 100

    for non-real-time information processing in non-complex systems that requires minimal operator

    intervention(Content from SEI websitehttp://www.sei.cmu.edu/str/descriptions/threetier.html)

  • 8/2/2019 Chapter 5- Eai Part 1

    17/36

    17

    Evolution of EnterpriseApplications - Three Tier

    Advantages

    Business logic can change more easily - greater degree of flexibility

    Increased security, as security can be defined for each service, and at eachlevel

    Increased performance, as tasks are shared between servers

    DisadvantagesComplexity introduced in middle-tier.

    Server

    DataBase

    Data Layer

    Presentation Logic

    Business Logic

  • 8/2/2019 Chapter 5- Eai Part 1

    18/36

    18

    Evolution of EnterpriseApplications - Three Tier

    In 3-tier EAs, Presentation, Business and Data layers are separated andkept at different locations. This will ease maintenance of any of the layerswithout 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 logicchanges. (Not a scalable model)

    Business logic exists at middle-tier also known as application server. Thereare 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 tocreate multiple connections, can we keep it as pool of connections? What should beits 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 thread-pool?

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

  • 8/2/2019 Chapter 5- Eai Part 1

    19/36

    19

    Example: ICRESS System

  • 8/2/2019 Chapter 5- Eai Part 1

    20/36

    20

    Evolution of EnterpriseApplications - n Tier

    AdvantagesMore loosely coupledMore reusableZero client management

    DisadvantagesComplexity in the middle tier

    Server Server

    DataBase

    Data Layer

    Presentation Logic Business Logic

    Thin Client

  • 8/2/2019 Chapter 5- Eai Part 1

    21/36

    21

    Evolution of EnterpriseApplications - n Tier

    N-tier EAs, most of the discussed issues are resolvedThe Presentation, business and data layers are separated and arelocated 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 localmachine. At client side, no special requirements are needed.Example of thin client : Web browser

    Now, even if your web sites presentation logic is changing everyweek (this was happening for yahoo mail sometimes back) , no client

    side management is required. You can change it at only one place (i.ein your server where your sites presentation logic resides)!

    But as the middle-tier component exists in this architecture, soissues relating to it will still remain in this model, which can bethought as disadvantage!!!

  • 8/2/2019 Chapter 5- Eai Part 1

    22/36

    22

    Example: Google Website

  • 8/2/2019 Chapter 5- Eai Part 1

    23/36

    23

    Role of Application Servers inEnterprise Application

    To reduce complexity in the middle tier,enterprise programmers build their applications ontop of systems called Application Servers.

    Application Servers provide the system servicesto address the non-functional requirement likescalability, performance, and reduces thecomplexity of the middle tier

    Resource Pooling

    MultithreadingApplication developers can concentrate on thefunctional requirements by concentrating on thebusiness logic.

  • 8/2/2019 Chapter 5- Eai Part 1

    24/36

    24

    DISCUSSION

    Give example (s) of an applicationsystem for each of these categories:

    Single Tier

    Two Tier

    Three Tier

    N-Tier

  • 8/2/2019 Chapter 5- Eai Part 1

    25/36

    25

    Enterprise ApplicationIntegration - Introduction

    Enterprise application integration (EAI) enables anenterprise to integrate its existing applicationsand systems and to add new technologies and

    applications to the mix.EAI also helps an enterprise to model andautomate its business processes.Enterprise application integration has always

    focused on a company

    s IT department integratingnew software modules or applications with itsexisting systems.

  • 8/2/2019 Chapter 5- Eai Part 1

    26/36

    26

    Enterprise ApplicationIntegrationIntroduction (2)

    Enterprise organizations also must weigh the costof replacing existing systems with new systemswith the cost of merging existing systems with

    new systems.Discarding existing systems is never an easychoiceIn addition to retaining the existing systems,

    companies can integrate them with newapplications to enhance functionality. The key withthis option is the cost of integrating the separateapplications and systems

  • 8/2/2019 Chapter 5- Eai Part 1

    27/36

    27

  • 8/2/2019 Chapter 5- Eai Part 1

    28/36

    28

    http://aurassystems.com/images/eai.jpg
  • 8/2/2019 Chapter 5- Eai Part 1

    29/36

    29

    http://aurassystems.com/images/eai.jpg
  • 8/2/2019 Chapter 5- Eai Part 1

    30/36

    30

    Why EAI?

    In the past, enterprise systemarchitectures have been poorly planned.Many organizations built systems based onthe cool technology of the day withoutrealizing how these systems wouldsomehow, someday, share information .Another important factor that is driving

    enterprises toward the promised land ofEAI is the broad acceptance of packagedapplications, such as Enterprise ResourcePlanning (ERP) application

  • 8/2/2019 Chapter 5- Eai Part 1

    31/36

    31

    Why EAI? (2)

    As organizations begin to realize the necessity ofinterconnection of disparate systems in order tomeet the needs of the business, the significance

    of integration technology is being simultaneouslyfelt.Thus it becomes a very important milestone forevery enterprise to effectively architect, design,an develop systems based on EAI technology.

    It needs a steep learning curve to acquire theknowledge and wisdom to identify when to applyEAI technology, selecting appropriate technology,architect a solution, and they applying itsuccessfully to the problem.

  • 8/2/2019 Chapter 5- Eai Part 1

    32/36

    32

    What is EAI

    EAI is the unrestricted sharing of data andbusiness processes among any connectedapplications and data sources in the

    enterprise.The demand of the enterprise is to sharedata and processes without having to makesweeping changes to the applications or

    data structures.Only by creating a method ofaccomplishing this integration can EAI beboth functional and cost effective.

  • 8/2/2019 Chapter 5- Eai Part 1

    33/36

    33

    What is EAI (2)

    EAI is the solution to the unanticipated outcomeof generations of development undertaken withoutcentral vision or strategy.

    A number of stovepipe systems are in yourenterprise-for example, inventory control, salesautomation, general ledger, and human resourcesystems.

    Packaged applications such as SAP, Baan, andPeopleSoft- which are natural stovepipesthemselves- have only compounded the problem.

  • 8/2/2019 Chapter 5- Eai Part 1

    34/36

    34

    Types of EAI

    1. Data-level EAI is the process andthe techniques and technology of

    transferring data between datastores

    2. Application interface level EAI

    refers to the leveraging ofinterfaces exposed by custom orpackaged applications

  • 8/2/2019 Chapter 5- Eai Part 1

    35/36

    35

    Types of EAI

    3. Method level EAI is the sharing of thebusiness logic that may exist within the

    enterprise. Applications can accessmethods on any other application

    4. User interface level EAI is a moreprimitive approach. Architects and

    developers are able to bundle applicationsby using their user interfaces as acommon point of integration

  • 8/2/2019 Chapter 5- Eai Part 1

    36/36

    36

    DISCUSS

    Concept of EAIwhat do youunderstand?

    Prepare for next class