EAI IV (2)

EAI IV (2) - Enterprise Application Integration – An...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Enterprise Application Integration – An Inside Integration By Dr. Atanu Rakshit EAI – Course Outline EAI EAI – An Overview Data Level EAI Application Interface Level EAI Method Level EAI User Interface Level EAI The EAI Process Methodology EAI and Middleware EAI – Course Outline EAI Transactional Middleware and EAI Messaging Oriented EAI Distributed Objects and EAI Database Oriented Middleware and EAI Java Middleware and EAI XML and EAI E – Business and EAI Process Automation and EAI Future Trends in EAI EAI Process Methodology EAI It builds on a working knowledge of method-level, It data-level, application interface-level and user interface-level EAI to suggest a high-level process or methodology or Its goal is to provide workable checklist to be Its considered within the context of any given EAI Project Project EAI Process Methodology EAI The set of activities should be considered The when approaching EAI project when There are 12 steps to follow in the EAI project Understanding the enterprise and problem domain Making sense of data Making sense of process Identifying the application Interfaces Identifying the business events EAI Process Methodology EAI There are 12 steps to follow in the EAI project Identifying the data transformation scenarios Mapping information movement Applying technology Testing Considering Performance Defining the value Creating the maintenance procedures 1. Enterprise and Problem Domain 1. Understanding the corporate objective of the Understanding organization organization The organizational structure and the role and The responsibility responsibility Understanding the system and procedure Understanding the various information systems, Understanding information flow, interaction scope information Man-machine interface definition It requires interfacing with papers, people, processes It and systems to determine the information that will allow the EAI problem to be defined correctly so that it can be analyzed, modeled and defined it 2. Making Sense of the Data 2. To understand the sense of data for an To enterprise, one has to know where data exists, gathering information about data (schema, etc.) and to determine which data flows where and why and To know the better sense of data look into To three aspect of data utilization three Identifying the data Cataloging the data Building the enterprise metadata model Identifying the data Identifying First to create the list of candidate systems To determine which databases exist for those systems To determine who owns those databases and where it To physically reside physically Data Dictionary The reason for the existence of particular data element Ownership Format Security Parameters The role both within logical and physical databases Identifying the data Identifying Integrity Issues Data Latency (the characteristic of the data that Data defines how current the information needs to be) defines It is important to understand the rules and regulations that It were applied to the construction of the database were Real time Near time One time Data Format Length, data type, type of information stored Different structures and schemas existing within the Different enterprise must be transformed as information is moved from one system to another from Cataloging the Data Cataloging It is the process of gathering metadata and It other data throughout the problem domain other It is possible to create an enterprise-wide It catalog of all data elements catalog Creation of enterprise metadata model Define all the data structures existing in the Define enterprise as well as those data structures helps in interacting within the EAI solution domain interacting It is the enterprise’s database repository, the master It directory for the EAI solution directory Cataloging the Data Cataloging Logical Model Physical Model It will allow the architects and the developers to make It objective data-level EAI decision, moving from high-level requirements to implementation details requirements It is the Entity Relationship Diagram (ERD) CASE tools also provide the facility for the same Create a physical model that maps down to object-oriented, Create multidimensional, hierarchical, flat file and relational databases all at the same time databases Normalization 3. Sense of the Process 3. Once the enterprise data is understood, the Once enterprise metadata model is created enterprise One has to define the approach for enterprise One business model business To do that it is required to understand the EAI To problem domain in tern enterprise at the process or methods level process Traditional process-modeling techniques such Traditional as UML used to create business processes as Sense of the Process Sense Process Integration Analyze the problem domain of the proposed Analyze application application Identify all the processes Identify the process ownership Get inside into the process details Most of the times application features are Most documented but not the processes and their modification approaches modification Sense of the Process Sense Process Cataloging It is the list of all business processes that exist within an It enterprise or application domain enterprise The catalog in addition to the list of process will also The contain the purpose of the process, the corresponding metadata model and the database that it interact with metadata It will also contain the other information like – pseudo It code, data flow diagram and the state diagram to indicate the logic flow of the process the The other support information contains in the catalog are The variables used within the process, object schema, security requirement, performance criteria requirement, Sense of Process Sense Common Business Model It is the aggregation and high-level model of all objects, It methods, properties, procedural logic, batch processing etc. methods, It is the high-level understanding of the processes in the It enterprise along with their functions and features enterprise The ultimate goal is to move beyond the simple integration The of applications to the more complex integration of business process flow analysis and design process Thus it provides the basis of understanding that allows for Thus the creation of a proper business process flow necessary within enterprise within It is not an application development problem, it is an It application integration problem application Patterns Patterns In the 1990s, the computer science discipline codified In a set of approaches and techniques as Patterns set The intent of the Pattern movement is to develop a The common vocabulary and set of approaches to design problems that are encountered in a broad range of application application Patterns describe common solution features while Patterns suppressing details of solution that are specific to a particular problem particular Patterns capture what is common to the solutions in a Patterns form that is useful for solving newly arising problems within the class within Patterns Patterns Initial Pattern work primarily focused on the design Initial of specific components rather than the application level level Business domain components required by the Business application may or may not have been previously developed developed The architect should carefully review the The application’s specifications as they related to new components and ensure that other applications that are expected to use those components are represented in their specification in A set of architectural-level patterns also exists in the set industry industry Patterns for EAI Patterns It enables the EAI architect to identify common It business processes among the many business processes existing in the enterprise processes It helps to identify the new processes in need of It integration integration Patterns formalize and streamline the idea of EAI to Patterns build once at the application level and reuse it throughout the solution domain throughout It helps in identifying problem, reasons and remedies Patterns schema have three parts – Context, Problem, Patterns Solution Solution Patterns for EAI Patterns Context Problem Describes the circumstances of the situation where the Describes problem arises or conditions for patterns to be valid problem The problem is what is addressed by the pattern and as it The appears again and again in the context appears The main challenge is to capture the essence of the The problem or what issues define the problem problem Solution The solutions for the concerned problems are wellproven and consistent resolution Types of Patterns Types The patterns some times assist the architects in The structuring a system into subsystems, to refine the subsystems and applications the way they interact, in determining design aspects using pseudocode or a programming language, address the domain-independent subsystems or components or domain-dependent issues like business logics business There are three type of Patterns – Architectural There Pattern, Design Pattern, Idioms Pattern, Types of Patterns Types Architectural Patterns It is the complex pattern that tend to link to particular It domains domains It provides EAI architect with the basic system structure – It subsystems, behavior and relationship subsystems, It is difficult to define the templates for the same Design Patterns It provides application architect with a means of refining It the subsystems, components, the relationship between them the It helps one to find a common structure that solves a It particular problem particular Idioms It is a low-level pattern coupled with specific programming It language language It describes how to code the objects at a low level Pattern use in EAI Pattern Patterns, as recurring phenomena, provide EAI Patterns, architect with a methodology for defining and solving recurring problems recurring It allows application architects to create reusable It solutions that can be applied to multiple applications solutions Patterns does good job for documenting the design Patterns experience across the development group experience EAI and application architects may create a database EAI of architecture patterns with search features and links to code and models to Pattern use in EAI Pattern Patterns also provide a standard vocabulary and a Patterns base set of concepts for EAI and application architecture architecture Patterns allow EAI and application architect to build Patterns complex architectures around predefined and proven solutions because it provides predefined components, relationships and responsibilities relationships It does not provide all design detail necessary to solve It any problem any Using pattern, EAI architects can manage the Using software complexity as it provides predefined methods to solve a problem methods The task is simply to find the pattern that describes The the problem and then implement the solution the The value of Patterns The It adds value to the EAI architecture and the It software development life cycle software It simply formalizes the process, filling the It gaps and providing a consistent approach gaps It increases the quality of most system It development and to provide effective integration without increasing cost integration Patterns provide an opportunity for reuse Patterns within the EAI problem domain within 4. Identifying Application Interface 4. It is important to take note of the available It application interface in support of application interface-level EAI, or integration with application interface and other EAI levels interface Application Interface Directory – It is the list of Application business processes that are available from an application. The application interface Directory expands on the enterprise metadata model, tracking both data and methods that act on the data. To obtain the same the following can be preserved – Application Semantics and Business Processes Application 4. Identifying Application Interface 4. Application Semantics It establishes the way and form in which the It particular application refers to properties of the business process business Understanding the semantics of an application Understanding guarantees that there will be no contradictory information when the application is integrated with other applications other 4. Identifying Application Interface 4. Business Processes It is the listing of functions or methods provided It by the application by In some it is simple as the business processes are In well documented well It is possible to determine the particular It combination of processes to invoke in order to carry out a specific integration requirement carry 5. Identifying Business Events 5. Identification of all relevant business events that occur within Identification an enterprise an This means when something happens – an event – then there is This a resulting reaction resulting The implementation of such events might leads to execution of The chain of events chain These events are generally asynchronous in nature but can be These synchronous in some instances synchronous It is important to understand what invoked a business event, It what takes place during the event and any other evens invoked as a consequence of the initial event as In EAI solution, all these events will be automated across In systems, eliminating the manual processing entirely systems, 6. Identifying the Schema and Content Transformation Scenarios Content It is better to know about how schema and It content of the data moving between systems will be transformed will It is necessary for Data existing in one system would not make sense Data to another until the data and content is reformatted to It will assure the maintenance of consistence It application semantics form system to system application 7. Mapping Information Movement 7. Once all the information available, there is Once need to map the information movement from system to system – what data element or interface the information is moving from and to where that information will ultimately move to It is also necessary to note the event that It bound to the information movement. If not the other condition causes the movement other 8. Applying Technology 8. Select proper enabling technology to solve the EAI Select problem problem There are many technologies available for the same Application Servers Distributed Objects Message Broker The choice of technology will likely be a mix of The products and vendors, that meet the needs of the EAI solution solution Creation of selection criteria for technology and Creation products products 9. Testing 9. Testing ensures the desire behavior of the system or Testing systems systems Testing: Application Unit Module System Integration Applications Integration Data-level Method-level Application-level User Interface-level 9. Testing 9. Functional Testing Load Testing Volume Testing Stress Testing Performance Testing Compatibility Testing 10. Performance Issues 10. EAI solution should provide desire latency EAI with technology, information movement, invocation of common business processes, The EAI solution should provide the same The response time under increasing users and the processing load i.e., scalability processing Performance can be ensured through testing Performance but it is more of design and implementation problem problem Define performance testing criteria 11. Defining the Value 11. To define the value of the EAI solution and the To integrated systems integrated The value of the system can be – Tangible or The Intangible Intangible Tangible To redefine the application business processes To redefine the enterprise business processes To To redefine the common business processes Eliminate costly processes through automation Enhancing faster service cycle 11. Defining the Value 11. Intangible Increase productivity Increase in retention rate due to user oriented Increase interactive system interactive Customer Satisfaction Customer Relationship Management 12. Creating Maintenance Procedures Procedures Ensuring the minimum up time of the EAI solution as Ensuring it is critical for the business it Preventive Maintenance Define the periodic maintenance check list Application-wise Performance issues – Applications, Software, Hardware Database oriented User Interface issues Identifying the minor and major bottleneck in using the Identifying system on ongoing manner and derive the scope for enhancement or versioning enhancement Creation and providing adequate resource pool to achieve Creation the same the 12. Creating Maintenance Procedures Procedures Breakdown Maintenance Identify the problem EAI level Application level Method level Object level Database level Creation of knowledge base for the same Identify the most frequently occurred problems Identify Effect software design and implementation approach Effect system design issues EAI and Middleware EAI Middleware provide a mechanism that Middleware allows one entity (application or database) to communicate with another entity or entities entities Middleware Middleware Middleware is basically any type of software that Middleware facilitates communications between two or more software systems software It is raw communication pipe running between It applications applications It is as sophisticated as information sharing and logic It execution mechanism execution Middleware able to hide the complexities of the Middleware source and target systems source The common APIs hide the complexities of both the The entities connected and the platform they reside on entities To facilitate the middleware there is need for some To changes in the source and the target system changes Types of Middleware Types Remote Procedure Call (RPC) Message Oriented Distributed Objects Database Oriented Transaction Oriented TP Monitor Application Servers Message Broker Type of Middleware Type Remote Procedure Call (RPC) It provides the developers the ability to invoke a function It within one program and have that function actually executed within another program executed RPCs are synchronous The most advantages of RPCs are simplicity of the The mechanism and ease of programming mechanism RPC stops execution of the program in order to carryout a RPC remote procedure call. This makes RPC as ‘Blocking Middleware’ Middleware’ RPC requires more bandwidth than other type of RPC middleware middleware RPC now becomes commodity product Type of Middleware Type Remote Procedure Call (RPC) Most UNIX systems ship RPC development Most libraries and tools as part of OS libraries Noblenet sells RPC best known as Distributed Noblenet Computing Environment (DCE) from the Open Software Foundation (OSF) Software DCE provide sophisticated distributed RPC DCE mechanism with many layer of services such as security services, directory services, application integrity etc. integrity RPCs require more processing power, hence leads RPCs to performance issue to Types of Middleware Types Message Oriented Message Oriented Middleware (MOM) is created to Message address few shortcomings of RPC address Traditional MOM is typically queuing software, using Traditional messages as a mechanism to move information from point to point to MOM uses the notion of messages to communicate MOM between applications, direct coupling with the middleware and the application is not required and MOM uses an asynchronous paradigm The asynchronous model helps an application to continue The processing after making a middleware service request processing Types of Middleware Types Message Oriented The asynchronous paradigm is more convenient The for developer as it does not block the application from processing from The message is dispatched to queue manager, The which in turn ensure the delivery to the final destination using sophisticated mechanism such as message persistence message The use of message is advantages as it is little, The byte-sized units of information, having a structure (a schema), and content (data) (a Types of Middleware Types Message Oriented There are two model supported by MOM – point-to-point There and message queuing (MQ) and MQ has several advantages over standard MOM MQ lets each participating program proceed at its own pace MQ without interruption from the middleware layer without MQ can broadcast the same message to many remote MQ programs without waiting for the remote program to be up and running and Queue Manager ensure performance optimization using Queue prioritization, load balancing, thread pooling prioritization, MQ software – IBM’s MQSeries, MS’s MSMQ Types of Middleware Types Message Oriented MS’s MSMQ important features MS’s One-time, in-order delivery Message routing services Notification services Message Priorities Journaling IBM’s MQSeries It provides all the features as indicated in MSMQ It also provide the coomon APIs for multiple It development environment on varied platforms development Types of Middleware Types Distributed Objects Distributed Objects technology creates an infrastructure to Distributed share methods by providing an additional location for application processing and for interoperability among processes processes It provides a standard mechanism to access shared objects It that need not run on a single of server that It also provides access to any number of shared objects Distributed objects give EAI architects and developers the Distributed ability to create portable objects that can run on a variety of servers and can communicate using a predefined and standard messaging interface standard Types of Middleware Types Distributed Objects They are also mechanism for application They development, providing enabling technology for enterprise-wide method sharing enterprise-wide There are two types of distributed objects in the There market – CORBA and DCOM market Developer can create CORBA-compliant Developer distributed object that runs in UNIX, NT also uses standard communication protocols like IIOP etc standard The objects should be able to exchange The information and carry out functions by invoking each other’s methods each Types of Middleware Types Distributed Objects The CORBA specification came in two parts – The Interface Definition Language (IDL) and the Dynamic Invocation Interface (DII) Dynamic IDL – defines object’s structure and provide the IDL developers with an APIs to access the object services during runtime services DII – provides developers with dynamic DII construction of object invocation. One can do the same while the objects run same Types of Middleware Types Database Oriented It facilitates communication with a database, whether from It an application or between databases an Developers uses it as a mechanism to extract information Developers from either local or remote databases from It is also become a layer for placing data within the context It of a particular common database model or format, known as ‘Virtual Database’ as It provides a number of benefits An interface to an application The ability to convert the application language into something The understandable by the target database understandable The ability to send a query to a database over network Types of Middleware Types Database Oriented The ability to process a query on the target database The ability to move a response set back over the The network to the requesting application network The ability to convert a response set into a format The understandable by the requesting application understandable Database oriented middleware works with three Database basic types – Call-level Interface (CLI), at-native database middleware and Database Gateway database CLIs provide access to any number of databases CLIs through a well defined common interface and are common APIs that span several types of databases common Types of Middleware Types Database Oriented Microsoft’s Open Database Connectivity (ODBC) ODBC exposes a single interface in order to ODBC facilitate access to database facilitate It provides simultaneous, multiple database access It to the same interface, a driver manager loads and unloads drivers to facilitate communication between the different databases like – Oracle, SQL Server Informix, DB2 etc. Server ODBC Driver Manager ODBC Application Application Call – Level Interface Driver Manager Service Provider Interface Driver Driver Driver Network Database Database Database Types of Middleware Types Database Oriented Another CLI is JavaSoft’s JDBC is an interface Another standard that uses a single set of java methods to facilitate access to multiple databases facilitate OLE DB is MS’s future database middleware OLE DB also provide access to other than OLE databases like – Excel sheets, flat files databases OLE DB OLE OLE DB OLE DB OLE DB Excel Notes OLE DB SQL Serv OLE DB Oracle OLE DB Sybase JDBC Driver API JDBC Java Application JDBC API JDBC Drivr Manager ODBC Bridge Driver Driver Database Database Database Types of Middleware Types Database Oriented Native Database middleware accesses the features Native and functions of a particular database, using only native mechanism native The ability to communicate with one type of The database is prime disadvantages database The advantages is the performance and access to The the low features of a type of database the Types of Middleware Types Database Oriented Database Gateway (also known as SQL gateway) are APIs Database that use a single interface to provide access to most databases residing on any different types of platforms databases Database Gateways translate the SQL calls into a standard Database format known as the Format and Protocol (FAP), the common connection between client and the server common A number of database gateways are available such as number Information Builders’ Enterprise Data Access/SQL (EDA/ Information SQL), IBM’s Distributed Relational Data Access (DRDA), SQL), ISO/SAG’s Remote Data Access (RDA) etc. ISO/SAG’s Types of Middleware Types Transaction Oriented Transaction middleware such as TP Monitor and Transaction Application Servers to coordinate information movement and method sharing between different sources sources Transactional middleware typically creates a Transactional tightly coupled EAI solution tightly The source or target applications will have to The change to take advantages of transactional middleware middleware Types of Middleware Types Transaction Oriented The fastest growing middleware marketplace many The new products known as Application Servers new There are few additional features in application There servers like: servers Most application servers are employed as web-enabled Most middleware. Processing transaction from web-enabled applications applications Application server not only provide for the sharing and Application processing application logic but also provide connection to back-end resources like – databases, ERP, traditional mainframe application etc. mainframe Types of Middleware Types Message Broker A message broker is a software system based on message asynchronous, store-and-forward messaging asynchronous, It manages interactions between applications and other It information resources, utilizing abstraction techniques information It simply works as an application puts (publishes) a It message to message broker. Another application gets (subscribes) the message (subscribes) It can route information across applications It can provide hosting business functions that build on the It existing business functions of the entities they connect existing Types of Middleware Types Message Broker Message brokers provides ‘message Message transformation’ engine – allowing the message broker to alter the way information is represented for each application for Message broker provides rules-processing Message capabilities – the ability to apply rules to the transformation and routing information transformation It also provides intelligent routing – ability to It identify the message as well as ability to route them to appropriate location them Types of Middleware Types Message Broker A complete message brokering solution demands complete an underlying message system, a broking layer (rule engine), a connectivity framework, design and development tools and system manager and Message brokers can be put into several categories Message – Message Transformation, Rules processing, Intelligent Routing, Message Warehousing, Repository Services, Directory Services, Management and Adapters Management Types of Middleware Types Message Broker Message broker provides the ‘message transformation’ engine, allowing message broker to alter the information the way application accepts the The message transformation layer understands the The format of all messages being passed among the applications and changes those messages on the fly applications It is the ‘Rosetta stone’ of the system. It provides a It common dictionary that contains information on how each application communicates outside itself each Message transformation layer generally contain parsing Message and pattern-matching methods that describe the structure of any message format like – Schema conversion, Data conversion conversion, Types of Middleware Types Message Broker It provides rule processing capability for It rule transformation and/or routing. transformation It provides ability to create the rules to control the It processing and distribution of messages processing A rule engine is to provide the logic for sharing rule information information It relies on scripting languages through rule editor or It wizard and interpreter wizard Each rule engine solves an intelligent routing and Each transformation problem differently transformation It also provides the intelligence routing capabilities It intelligence Types of Middleware Types Message Broker It provides ‘Message Warehousing’ It provides the warehouse for all the messages those It flow through the message broker flow It provides the message persistence Message mining Message integrity Message archiving Auditing Types of Middleware Types Message Broker It provides ‘Repository Services’ It is database of information about the source and terget It application, which includes data element, inputs, processes, outputs, and the inter-relationship among application application It provides information pertaining to Location of System Security Parameter Message schema information Metadata Transformation information Rules and logic for message processing Types of Middleware Types Message Broker It provides ‘Directory Services’ It provides information to locate , identify, use and It authorize network resources for those systems authorize It can intelligently locate resources anywhere on the It network network It classify the resources on the network Example – Domain Name System (DNS), Novell Example Netware’s Directory System and Directory Services Netware’s Types of Middleware Types Message Broker It provides ‘Management’ It provides management tools to monitor message It traffic, message integrity, performance and the coordination of distribution of messages among target applications applications It provides ‘Adapter’ Adapters are layers between the message broker Adapters interface and the source or target application interface Thin Adapter Thick Adapter Static and Dynamic Adapters Types of Middleware Types Message Broker A complete message-broking solution demands an complete underlying messaging system, a broking layer ( or rule engine), a connectivity (adapter) framework, design and development tools, system management and administration tools and There are many message broker service provider There vendors vendors New Era of Network (NEON), TSI Software, New SAGA Software SAGA Middleware Models Middleware There are two types of middleware models – There Logical middleware model and Physical middleware model middleware Logical Middleware Model depicts how the Logical information moves throughout the enterprise conceptually conceptually Physical Middleware Model depicts how Physical information actually move and the technology it employs it Middleware Models Middleware Logical Middleware Model Point-to-Point Middleware It allows one application to link to one other application There are many examples including MOM products like There MQSeries and RPCs like DCE MQSeries Many-to-Many Middleware It links many applications to many applications There are many examples including Message Broker, There Transactional Middleware like – TP Monitor, Application Servers and even distributed objects Application Synchronous Vs Asynchronous Middleware Java Middleware Java Database-Oriented – JDBC Interprocess - Java Remote Method Invocation Interprocess (RMI) (RMI) Message-Oriented – Java Message Service Message-Oriented (JMS) (JMS) Application Hosting – WebSphere, Weblogic Distributed Object Technology - CORBA ...
View Full Document

This note was uploaded on 07/15/2011 for the course ECO 2023 taught by Professor Mr.raza during the Summer '10 term at FAU.

Ask a homework question - tutors are online