ISH 4 B 3 Enterprise Application Integration EAI
[ISH 4 B 3] Enterprise Application Integration (EAI) Rahmat Fauzi, S. T. , M. T
Outline 1. Introduction 2. EAI Methode Level 3. Conclusions
Overview • User interface-level EAI is similar to application interfacelevel EAI in that both make available business processes and data through an interface exposed by the packaged or custom application – API can be exploited as well-defined mechanisms that are built to connect to some sort of resource, such as an application server, middleware layer or database • There are three types of services available to these interfaces: business service, data service and objects • Types of Interfaces: full-service, limited-service and controlled interfaces
Learning Objectives • Understand the basic concepts of user interface-level EAI • Identify enabling technology of user interface-level EAI
Introduction • Doesn’t require any changes to the source or target application • In the context of user interface-level EAI, the user interface is the EAI interface • Use “screen scraping” or accessing screen information through programmatic mechanism, middleware drives a user interface in order to access both processes and data
User Interface-Level EAI • One of many techniques and technologies that can be used to access, or place, information in an application • In user interface-level EAI, a user interface that was never designed to serve up data is being used for precisely that purpose • The last recommended solution than the other solutions • Advantage: – Can extract information from existing applications and as a mechanism to invoke application logic • Disadvantages: – It’s unable to handle more than a few screen interfaces at any given time – Unstable if the mechanism is not set up carefully by the EAI architect and developer
User Interface-Level EAI [2] • Using user interface-level EAI may require running hundreds of instances of the source, or target application’s, user interface
Presentation Integration Model Common Presentation Legacy Application Data • Web browser • Java • Windows GUI Presentation Packaged Application Data
When to Use It? • Put a PC-based user interface on an existing terminal-based application in order to provide an easier-to-use application for an end user • Present an interface that the user perceives to be a single application but is, in fact, the composite of several application • Integrate with an application whose only useful and implementable integration point is through its presentation
Going to the User Interface • Used when there is no well-defined application interface (e. g. BAPI) • Bypass the restrictions of closed proprietary systems
Understanding the Application • In order to implement user interface-level EAI, it is necessary to understand the application: – Data storage schema – Application logic – How the information is presented to the user interface – How they exist within the application • Read application documentation and source code
Creating the Screen Catalog • Once the database schema and application logic contained within the source or target application is understood, a catalog of all the information that appears on the user interfaces must be created – Requires capturing each screen image and then cataloging each data element that appears on each screen • Screen are typically cataloged by screen name, data element, description, database reference and any applicable business logic
Mapping Screens • In addition to the creation of a screen catalog of the information found in the user interface, it’s necessary to map the positions of that same information – Screen mapping: determines the location of each data element on each screen, the number of positions it holds and any other relevant information – ex. In order to find accounts receivable information, it would be necessary to know both its exact position on the screen where it appears and how to process that information according to the information contained in the screen catalog
Extracting Techniques of Mapping Screens • Static screen extraction – Whichever technology is being used, the information is being accessed from a static point on the screen – Advantage: simple – Disadvantage: if the application interface changes for any reason (e. g. by adding more information) then the position where the data element once resided may not continue to be the position where it resides
Extracting Techniques of Mapping Screens [2] • Dynamic extraction – More sophisticated process than static extraction because it gives EAI architects and developers the ability to look at a screen using conditional logic • Rather than going directly to a fixed position when looking for accounts receivable information, this technique would search for the “accounts receivable” label and would use that as a reference point – Advantages: • Ability to automatically adapt to changes within an application and react to changes in the structure of the screen • Ability to place specific logic sequences in the extraction process, such as a logic to flag errors if a particular label is not found, or one that determines if a data element does not make sense
Error Processing of Mapping Screens • Both the dynamic and the static extraction techniques must go through a rudimentary error-checking routine in order to ensure that only valid data is extracted • Goal: alert the appropriate person to a problem, so that it can be corrected before bad data is extracted
Approaches • Using screens as raw data (screens-as-data) – Involve looking at a screen as a simple stream of text – Text is parsed, identified, converted, and processed within the program that is responsible for processing the user interface information (e. g. message broker or adapter) – Advantage: simple • Using screens as objects (screens-as-objects) – More sophisticated than the screens-as-data scenario – Requires translating the information gathered from a user interface into an application object such as Java object (CORBA), etc – Translating the information into objects requires adding the methods needed to interact on the data – Advantage: objects can be placed into other environments that support objects, among them application servers and message brokers
Enabling Technology • Middleware • Software Development Kit (SDK) – Allows for the creation of applications for a certain software package, software framework, hardware platform, etc • Terminal emulator software – Allows the user access to a text terminal and all its applications such as command line interfaces (CLI) and text user interface applications
Summary • User interface-level EAI: one of many techniques and technologies that can be used to access, or place, information in an application • Used when there is no well-defined application interface (e. g. BAPI) • Techniques: understanding the application, creating the screen catalog, mapping screens • Approaches for getting information from application interfaces: screens-as-data and screens-as-objects
References • Lithicum, David S. Enterprise Application Integration. Addison-Wesley, 2000 • Ruh, Maginnis, and Brown. Enterprise Aplication Integration. Wiley, 2001. • Ruh and Bernstein. Enterprise Integration: the essential guide to integration solutions, Addison-Wesley, 2005. • Linthicum, David S. , Next Generation application integration: from simple information to web services, Addison-Wesley, 2004 • James Fenner, Enterprise Application Integration Techniques. http: //www. cs. ucl. ac. uk/staff/ucacwxe/lectures/3 C 05 -02 -03/aswe 21 essay. pdf. Last Accessed 13 rd January 2010
- Slides: 20