{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

EAI II (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 Email: [email protected] [email protected] [email protected] 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 Application Interface Level EAI Level Application Interface Overview Application Application Interfaces are interfaces that Application developers expose from a packaged or custom application to gain access to various levels or services of the application services This interfaces allow access to business This processes; sometimes directly to the data; sometimes to both sometimes This interface makes available business This processes and data through an interface exposed by the packaged or custom Application Interface Why? Application To provide access to business processes and To data encapsulated within the applications without forcing other developers to invoke the user interface or directly to database user To provide a mechanism that allows To encapsulated information to share encapsulated Application Interface API Application APIs are well defined mechanism that are built APIs to connect to some sort of resource such as application server, middleware layer or database database APIs allow developers to invoke the services APIs of these entities in order to obtain some value of APIs now use such standard mechanism as APIs Java’s RMI, COBRA, IIOP, DCOM etc. Java’s Application Interface API Application Application APIs Resources Data Application Logic Middleware Application Interface API Application In order to integrate the old and new application, the In natural point of integration be the application interface interface APIs works within C, C++, Java environments Example: GetInvoiceInformation(“12345”) API call is generated by invoking and passing an invoice number. Information would be placed in an array or intermediate state. The middleware layer i.e., message broker transmit the same to other system broker Application Interface Limitation Application Many Packaged applications does not provide Many interface for external interaction interface Obsolescing: Few packaged applications Obsolescing: became obsolete as the vendor could not sustained the enhancement and the other support required by the customer support Application Technology Architecture Architecture Centralized architecture places both data Centralized application logic and user interface within the same machine same Advantages Data, Processing Logic and user interface are in Data, the same machine leads to easier maintenance the Easy integration as within control Two-tier Architecture Two-tier Application is decomposed into three Application component – Data layer, Business logic layer, User interface layer User These three layers are put into two tier in twotier architecture Flat Client – GUI + Logic Data Thin Client – GUI Logic + Data Three-tier Architecture Three-tier Client deals with user interface Middle-tier or Application Server deals with Middle-tier processing of logic processing service processing Database only deals with processing of data Three-tier Architecture Three-tier Tier 1 Tier 2 Tier 3 GUI Logic Data • Three-tier provide three separation between GUI, Business logic and Data logic • Application Server is normally multiplex the database connection – known as Database Funneling or Connection Pooling • Middle Tier is used as application Server for most implementation • Interfaces allowed at various layers 2-Tier Vs 3-Tier 2-Tier Parameter 2-Tier 3-Tier System Admin Complex Less Complex Security Low High Performance Poor Good Application Poor Reuse Heterogeneous Less database Excellent More Flexible 2-Tier Vs 3-Tier 2-Tier 2-Tier Architecture ost to Develop nd aintain 3-Tier Architecture Application Complexity and Length of Application Life When to use 3-Tier When Many application services or classes more than 50 Applications programmed in different languages or Applications written by different organization written Two or more heterogeneous data sources Longer application life A high volume workload – more than 50,000 high transactions/day or more than 300 concurrent users transactions/day Application will grow significantly over time Significant inter-application communication Transaction Processing Monitors Monitors TP Monitors TP Monitors TP TP Monitor were born to manage processes TP and to orchestrate programs and It was done by breaking complex applications It into pieces of code call service into TP monitors have become associated with the TP two-phase commit protocol to ensure the application integrity application TP Monitors TP TP Monitor Apps Client Client Database RPC Or MOM Apps Database Apps Database Client Tier 1 GUI Tier 2 Application Logic Tier 3 Data TP Monitors – What it does TP TP Monitor runs classes of applications that could TP service thousand of clients service Providing the environment that interject itself Providing between clients and server resources between TP Monitor can manage transaction, route them TP across systems, load-balance their execution and restart them after failure restart Improve overall system performance TP Monitor manages transactions from their point of TP origin – typically client – across one or more server and then back to the originating clients and It ensures that the transactions are completed It accurately accurately TP Monitors – What it does TP TP Monitors control all the traffic that links hundred TP (or thousand) of clients with application programs and the back-end resources and It means one can distribute them across machine and It networks networks TP Monitor is the overseer of all aspects of a TP distributed application, regardless of the systems or resource managers used resource It can manage resources on a single server or multiple It server server It can cooperate with other TP Monitors TP Monitors - How it works TP TP Monitor provide excellent platform for developing TP robust, high-performance client/sever applications robust, The TP Monitor introduces an event-driven The programming on server site by letting one associate services with event handler services The TP Monitor also lets one mix resource manager, The so one can start with one resource manager and then move to another and so on move The TP Monitor guarantees that unrelated services The work together in ACID work ACID ACID ACID stands for Atomicity, consistency, ACID isolation and durability isolation Atomicity states that database modifications Atomicity must follow an “all or nothing” rule. Each transaction is said to be “atomic.” If one part of the transaction fails, the entire transaction fails. It is critical that the database management system maintain the atomic nature of transactions in spite of any DBMS, operating system or hardware failure. operating ACID ACID ACID stands for Atomicity, consistency, isolation ACID and durability and Consistency states that only valid data will be written Consistency to the database. If, for some reason, a transaction is executed that violates the database’s consistency rules, the entire transaction will be rolled back and the database will be restored to a state consistent with those rules. On the other hand, if a transaction successfully executes, it will take the database from one state that is consistent with the rules to another state that is also consistent with the rules. state ACID ACID ACID stands for Atomicity, consistency, isolation ACID and durability and Isolation requires that multiple transactions occurring at the Isolation same time not impact each other’s execution. For example, if user A issues a transaction against a database For at the same time that Mary issues a different transaction, both transactions should operate on the database in an isolated manner. The database should either perform user A’s entire transaction before executing Mary’s or vice-versa. This prevents user A’s transaction from reading intermediate This data produced as a side effect of part of Mary’s transaction that will not eventually be committed to the database. ACID ACID ACID stands for Atomicity, consistency, ACID isolation and durability isolation Durability ensures that any transaction ensures committed to the database will not be lost. Durability is ensured through the use of database backups and transaction logs that facilitate the restoration of committed transactions in spite of any subsequent software or hardware failures. Application Transaction Application •A transaction is a logical unit of work that either modifies some state, performs a set of operations, or both. •An individual transaction may involve multiple data and logical operations, but these operations always occur as an indivisible atomic unit, or they do not occur at all. •For example, enrolling a patient in a health care plan may involve first acquiring release forms from the patient, verifying the patient's employment, checking her health and insurance history against remote data sources, and so on. All of the activities described can be subtasks of a single transaction, because failure of any one of these subtasks should cause the entire transaction to fail. Application Transaction Application Application Transaction adhere application Application transaction process transaction It is multi stage operation This may lead to blocking of resources temporary to This ensure the consistency ensure This steps some times misleading because releasing This resource for transaction failure resource Multiple application transaction may have common Multiple resource to share resource Application transaction ensure correct information Application availability at the time of initiation of the transaction availability Application Transaction Properties Application Enterprise transactions share the properties of Enterprise atomicity, consistency, isolation, and durability, denoted by the acronym ACID. These properties are necessary to ensure safe data sharing. necessary Atomicity means that a transaction is considered complete if and only if all of its operations were performed successfully. If any operation in a transaction fails, the transaction fails. In the health care example described above, a patient can be enrolled only if all required procedures complete successfully, so enrollment is atomic. successfully, Application Transaction Properties Application Consistency means that a transaction must transition data from one consistent state to another, preserving the data's semantic and referential integrity. For example, if every health care policy in a database requires both a patient covered by the policy and a plan describing the coverage, every transaction in the health insurance application must enforce this consistency rule. While applications should always preserve data consistency, many databases provide ways to specify integrity and value constraints so that transactions that attempt to violate consistency will automatically fail. Application Transaction Properties Application Isolation means that any changes made to data by a transaction are invisible to other concurrent transactions until the transaction commits. Isolation requires that several concurrent transactions must produce the same results in the data as those same transactions executed serially, in some (unspecified) order. In the health plan enrollment example, isolation ensures that updates made to a patient record will not be globally visible until those updates are committed. Application Transaction Properties Application Durability means that committed updates are permanent. Failures that occur after a commit cause no loss of data. Durability also implies that data for all committed transactions can be recovered after a system or media failure. system An ACID Enterprise transaction ensures that An persistent data always conform to their schema, that a series of operations can assume a stable set of inputs and working data, and that persistent data changes are recoverable after system failure. recoverable A Case Case An application that uses transactions is called a An transactional application. In a J2EE application, a transactional application may In consist of multiple servlets, JSP pages, and enterprise beans. A resource manager is an external system accessed by resource an application. A resource manager provides and enforces the ACID transaction properties for specific data and operations. A Case Case Examples of resource managers include a Examples relational database (which support persistent storage of relational data), an EIS system (managing transactional, external functionality and data), and the Java Message Service (JMS) provider (which manages transactional message delivery). A Case Case A transactional application accesses a resource transactional manager through a transactional resource object. For example, a JDBC java.sql.Connection object is For java.sql.Connection used to access a relational database. A resource adapter is a system library that makes the API of a resource manager available to an application server. A Connector is a resource adapter that has an API conforming to the Java Connector architecture, the standard architecture for integrating J2EE applications with EISes. applications Two-phase Commit Two-phase Commit Coordinator (Root) Subordinate (Node) Subordinate (Node) Phase 1 Prepare_to_Commit Record In log Prepare_to_Commit Ready_to_Commit Prepare_to_Commit Ready_to_Commit Phase 2 Commit Complete Commit Complete Commit Complete Two-phase Commit - Limitation Two-phase Performance Overhead Tightly coupled system Hazard windows Transactional Communication Transactional TP Monitor must provide an optimized TP environment for the execution of the transaction transaction This means it must load the server program, This dynamically assign incoming client request to server processes, recover from failure, return the replies to the clients and ensure highthe priority traffic gets through first While doing this it has to maintain the ACID While properties properties Transactional Communication Transactional Typical types of communication – Typical Conversational, RPC, Queued, Publish and subscribe, Batch subscribe, A three way communication between client, three sever and TP Monitor takes place sever Client site specifies the transaction as well as Client the boundaries where as the commit mechanism are usually delegated to one of the server TP Monitor server Distributed Application Transaction Transaction Distributed enterprise systems often need to access Distributed and update multiple transactional resources in order to accomplish some business goal. Consider, for example, a travel agency application. Consider, Creating a typical business travel itinerary with a confirmed and paid plane ticket requires successful completion of user authentication, credit card processing, and flight reservation, as well as local creation of the itinerary itself. Such a transaction, involving independent, Such cooperating transactional systems, is called a distributed transaction distributed Distributed Application Transaction Transaction Transactional programs must be able to start and end Transactional transactions, and be able to indicate whether data changes are to be made permanent or discarded. Indicating transaction boundaries for a program is called transaction demarcation. transaction The most common solution to the problem of The coordinating distributed transactions is to introduce a third participant, called a transaction manager, into the design. The transaction manager acts as a mediator between applications and the multiple resources the applications use. Distributed Transaction Participants Distributed Transaction Demarcation Transaction Application Resource Access Transaction Manager XA Protocol Resource Manager Distributed Application Transaction Transaction Previous Figure shows the three participants in a Previous distributed transaction: the transactional application, the resource manager, and the transaction manager, which coordinates the transactions of multiple resource managers, providing the application with ACID transactions across multiple resources. ACID In many cases, the transaction manager uses the In X/Open XA protocol to communicate with multiple resource managers. In the J2EE platform, the XA protocol is In encapsulated by the JTA XAResource interface. XAResource Two Phase Commit Protocol Two In the first phase of two-phase commit, the In transaction manager tells each resource to "prepare" to commit; that is, to perform all operations for a commit and be ready either to make the changes permanent or to undo all changes. Each resource manager responds, indicating whether or not the prepare operation succeeded. In the second phase, if all prepare operations succeed, In the transaction manager tells all resource managers to commit their changes; otherwise, it tells them all to roll back and indicates transaction failure to the application. application. TP Monitors TP TP Monitors provide robust run-time TP environments that could support large-scale OLTP applications OLTP One can view TP Monitor as an operating One system for transaction processing applications system It is also a framework for running middle-tier It server applications server TP Monitor TP TP Monitor does three things extremely well Process Management includes starting server processes, funneling work to them, monitoring their execution, and balancing their workload execution, Transaction Management means that the TP Monitor guarantee the ACID properties to all programs that run under its protection run Client/server Communications Management allows clients to invoke an application component in a variety of ways like – request-response, conversations, queuing, publish and subscribe, broadcast etc. broadcast TP Monitor as OS TP Process Service Process Service Process Service Sever Class Pools Application Services TP Monitor Clients Database TP Monitor as OS TP The TP Monitor balances the use of resources among The the clients on a demand basis – funneling funneling The “funneling act” is part of a TP Monitor to efficiently manage the server side of an OLTP applications applications The server side of the OLTP application is packaged The as a set of services that contains a number of related as set functions functions Server Classes are the pools of pre started application processes or threads waiting for work processes TP Monitor balances the workload between them TP Monitor as OS TP TP Monitor accepts the client’s request and TP hands it over to available process in the server class pool class Server process oversees its execution and Server returns the results to the client returns If the number of incoming client requests If exceeds the number of processes in a server class, TP Monitor dynamically start new ones – this called Load Balancing Load TP Monitor as OS TP The more sophisticated TP Monitor can The distribute the process load across multiple CPUs in SMP environment CPUs Short running functions are often packaged in Short high-priority server class where as batch and low priority functions are assigned to lowlow priority server class It can also provide dynamic load balancing by It controlling how many processes or threads are available to each process class available TP Monitor as Transaction Management Management TP Monitor ensures the robustness of multiuser applications that ran on the servers TP Monitor is to guarantee the ACID TP properties while maintaining high transaction throughput throughput It must manage the execution, distribution, and It synchronization of transaction workload synchronization TP Monitor ensures that all the update TP associated with an aborted transaction are removed or roll back removed TP Monitor and Transaction Management Management TP Monitor synchronizes all the transaction’s TP update using a two-phase commit protocol update TP Monitor takes care off various aspect of TP application programmers like – Concurrency failure, Broken connection, Load balancing and synchronization of resources across multiple nodes multiple It also provide a framework for running server It application application TP Monitor and Process Management TP TP processes are prestarted and managed as server TP classes classes Server classes run copies of the application’s business Server logic – as they are ready to act on incoming client’s request request Loads are balanced across the server classes If server classes are heavily loaded, more processes If are automatically started with priority scheduling are Server processes have Firewall so that programs Server running do not interfere with other running If the server class process dies, it is restarted or it is If reassigned to another process in the server class reassigned Redirect to other server TP Monitor TP Tuxedo Tuxedo Tuxedo AT&T began development of Tuxedo at Bell AT&T Laboratories Laboratories Developed in UNIX platform In 1996 BEA systems acquired Tuxedo Presently available in 50 different platforms Presently like – NT, OS/400, MVS, Tandem’s NonStop Kernel Kernel Support variety of databases Tuxedo Tuxedo IMS CICS BEA Connect Core Tuxedo Platform Component and Transaction Coordination Jolt Messaging Databases Hardware / OS Internet Tuxedo / WS LAN Tuxedo Tuxedo Tuxedo provides a distributed middle-tier infrastructure that Tuxedo lets one write applications as a collection of services, each implementing a business function implementing Tuxedo manages these services and coordinates their Tuxedo involvement in transactions involvement Services can access a variety of databases and ensured of full Services transactional integrity transactional Tuxedo also provide a variety of communication options that Tuxedo these services can use including – RPCs, Conversation, Queues, Publish-and-subscribe and Broadcast Queues, Tuxedo services and clients can also communicate with IMS Tuxedo and CICS and It caters the needs including – the messaging infrastructure, It mainframe access, Internet support, System Management, Fault-tolerance features etc. Fault-tolerance Tuxedo Tuxedo Clients invoke services by calling the Application-toTransaction Monitor Interface (ATMI) routine in the Transaction Tuxedo communication Library Tuxedo Tuxedo provides a framework that runs multiple Tuxedo services as a single executable program called as Server Classes. Server Tuxedo starts, stops, distributes and monitors these Tuxedo server classes. server It dispatches client’s requests to the appropriate It service within a server class. service It caters the needs including – the messaging It infrastructure, mainframe access, Internet support, System Management, Fault-tolerance features etc. System Tuxedo Manages Self Tuxedo Network Protocols and Computer-specific interface Service Location Programs use logical names to access users, clients, Programs databases and services. One need not worry about where are they located and how to access them are Implementation Nuances Tuxedo can communicate over a variety of networks that Tuxedo uses different protocols uses Services are encapsulated. Client have no idea about its Services implementation. One can modify a service without impacting clients impacting Management Infrastructure Build-in mechanism to address various management issues Build-in like – failure recovery, transaction integrity etc. like Tuxedo Manages Services Tuxedo TP Monitors do for applications what databases do TP for data for To do this , it provides a set of system services that To transparently keeping everything running smoothly transparently These system services includes – Naming, These Application activation and deactivation, Dynamic application configuration, Fault management, Communication Management, Transaction Management and Security Management Naming Services Naming The naming service is responsible for providing The service location transparency service When Tuxedo server classes are activated, it advertise When their services in the Tuxedo Bulletin Board. Bulletin Board maps these logical names to the server class’s physical locations physical Clients ask for a service by name; Tuxedo then Clients consults its name registry in the Bulletin Board to send the request to the appropriate service send The Bulletin Board maintains a memory cache to The obtain ultra fast performance obtain Each computer in a distributed application Each environment has a Bulletin Board environment Naming Services Naming Tuxedo propagates name changes to all of them Tuxedo also provides data-dependent routing Tuxedo can route a client’s request to different Tuxedo services, depending on the contents of specific data fields fields Data-dependent routing is often used to horizontally Data-dependent partition the database and balance loads partition Example – one can split a table’s rows across several Example physical tables on even different computer and assign their management to different server classes their Run-Time Management Run-Time Most OS are designed to start and run longlived processes like – Word Processor, I/O lived Driver etc. Driver OLTP application server requires many quick OLTP transactions with a variety of services transactions The application server must be able to service The large numbers of bursty request in very shortlarge lived conversations Tuxedo was designed to manage these types of Tuxedo applications applications Run-Time Management Run-Time Tuxedo supports high volumes of business Tuxedo transactions on demand transactions Tuxedo does this by acquiring resources from Tuxedo OS at system start up and then reallocating them to meet the requirement of OLTP applications applications It starts all of the components that are part of It an application like – application services, connections and its own System services connections Dynamic Application Configuration Dynamic Change can be only constant attribute in an Change environment where thousands of clients and many distributed server exist distributed New user added, others removed A user’s security authorization changes based on role user’s and responsibilities and Application functions expanded Tuxedo supplies several management tools let one Tuxedo dynamically configure application on-line dynamically One can make these changes through Motif-based One GUI or Java-based web console GUI Fault Management Fault In a distributed client/server environment of In independent processors and processes must cooperate to run the application cooperate Lot of things can go wrong Tuxedo provide various fault management Tuxedo activities activities Fault Management Fault Clients Terminate Clients join and quit application – sometimes Clients voluntarily, sometimes because of failures voluntarily, When clients are part of the application, they use When OS and Tuxedo resources OS Tuxedo keeps track of the status of the clients On clients exit, it releases their resources working On in collaboration with operating system in Fault Management Fault Server processes terminate Server class processes join and quit application too Sometimes abnormally or sometime server crash Server classes can be on different computers also Tuxedo let one define replica server classes that can take Tuxedo over load and reliability over When a server class process fails, Tuxedo cleans up any in When process request and send failure indication to the originator process If server classes queued, the surviving server classes If simply pick up the pending messages simply Sometimes Tuxedo forward request to replica server class Tuxedo also restart server class processes when it Tuxedo abnormally failed abnormally Fault Management Fault Computer Crash When computer crashes, one loses all unsaved When data, open sessions and running processes data, Network failures can make computers appear to Network have failed have Tuxedo monitors the status of all the computers in Tuxedo its domain its One can specify back-up computers for groups of One server classes server When computer failure occurs, Tuxedo reroute When requests to replica server classes in these computers computers Fault Management Fault Maintenance Sometimes one need to take a computer out of service for Sometimes maintenance maintenance Tuxedo can migrate server classes gracefully to a back-up Tuxedo computer so that the primary computer can be turned off without impacting the running applications without Transaction Deadlock Deadlock can occur when two components have locked Deadlock resources while they wait for each other’s lock to release resources Tuxedo times out one of the transactions by rolling it back, Tuxedo thereby releasing the its lock and breaking the deadlock condition condition Fault Management Fault Network Failure Network can fail or it can also be so overloaded that it can Network appear to have temporarily failed appear Network failure can disrupt a distributed application also Tuxedo partition the network into two domain – one on Tuxedo either side of the failure either It then manages each half of the network separately This lets the application continue to run despite the failure When the network is fixed, Tuxedo reintegrates the When distributed environment in itself distributed Communication Management Communication Tuxedo clients and server classes receive Tuxedo requests and send replies through message queues queues It can be private queue or multiple server It classes can share the queue so that free server classes process the request next in line classes This sharing of queues also act as load This balancing balancing Requests are handled on priority basis Transaction Management Transaction Tuxedo is responsible for applying the ACID Tuxedo properties – which guarantee data integrity properties It creates a global transaction identifier when a client It or a service initiates a transaction or It tracks the components that are involved in a It transaction transaction It notifies the resource managers when they are It accessed on behalf of a transaction. Resource manager then lock the accessed records until the transaction end transaction Transaction Management Transaction It provides two phase commit. It coordinate the It commit with any database using X/Open’s XA protocol. All RDBMS support that protocol. It executes rollback procedure when a transaction is It aborted or incomplete aborted It executes a recovery procedure when failure occur. It It determines which transactions were active in the computer at the time of the crash. It then determines whether the transaction should be aborted or committed committed Security Security Tuxedo provides five incremental level of Tuxedo security features security Level 1: No Authentication – Neither client nor servers are authenticated nor Level 2: Application Password – There is single password for entire application single Level 3: End-user Authentication – In addition to the application password, clients must supply a user name and application specific data (their personal password) data Security Security Level 4: Access Control – Some or all of an application’s services may have an access control list (ACL). Tuxedo will deny access to clients that are not part of a service’s ACL. Authenticated clients, however can use any service that does not have an ACL service Level 5: Mandatory Access Control – Clients cannot access services that do not have an ACL – only other services can access them ACL Tuxedo Messaging Tuxedo Request – Response Conversational Application queues Publish-and-subscribe Broadcast Request - Response Request In request-response communications, a client In issues a request to a service and then waits for a response before performing another operation. Service fulfill each request independently Tuxedo offers several variations of the basic Tuxedo request-response protocol request-response Synchronous request-response Asynchronous request-response Fan-out Parallelism Pipeline Parallelism Request – Response Protocols Request Synchronous It allows the client to issue a request and then wait It for the response for Asynchronous It allows the client to issue a request and then It continue doing other tasks while it checks periodically if the response has been received periodically Request – Response Protocols Request Fan-out Parallelism It is an extension of asynchronous communication, It where client can in parallel issue other requests. It may enable multiple requests to be outstanding at the same time the Pipeline Parallelism It enables a server to forward a client’s request to another server. The second server in the pipeline can then respond directly to the client instead of sending the request back through the first server sending Conversational Conversational When a client and a service conduct prolonged When exchanges, it can use conversations exchanges, Unlike request-response, each request in a Unlike conversation goes to the same service conversation The Service maintains information (state information) The about the client between request about The advantages is that client does not have to send The the state information with each request the Its disadvantages is that it lock up a service for the Its duration of the conversation. No other client can access it access So conversations are not as resource-efficient as So request-response request-response Application Queues Application Queues provide time-independent communication for Queues applications that do not need to communicate interactively interactively Clients can use the queues to communicate among Clients themselves – no server need to be involved themselves The order in which the request will process can be The defined as first-in-first-out (FIFO) last-in-first-out (LIFO) by priority by timestamp Forward – it dequeues messages and sends them to a Forward service via request-response communications service Publish - Subscribe Publish The Tuxedo event manager called the EventBroker, The provides a publish-and-subscribe communication mechanism mechanism Any client or service can subscribe to an event and Any any client or service can post an event any Subscription defines which of the following actions Subscription must be done when a particular event occurs must Tuxedo can Send an unsolicited message to the subscriber Send a request to a named service Enqueue the posted data to an application queue Execute an operating system command Broadcast Broadcast Services or clients can send unsolicited Services messages to client programs messages It can either send broadcasts to group of clients It or it can send a notification to a specific client or Packaged Application APIs Packaged Packaged applications expose interfaces or Packaged APIs that allow other applications to access encapsulated services and data encapsulated There are three types of services available to There these interfaces these Business Services Data Services Objects Business Services Business Interface includes any piece of business logic Interface that may exist within the packaged application that Example – APIs to update the customer Example database with a new customer from another application. The request invoke the customer update business service for the activity update Application Interface carries out programmed Application functions functions Business Services Business EAI architect understand what business EAI service does, what information required and what is expected outcome is what Business service provide the virtual gateway to Business the data that reside within packaged application application Example – Sales transaction service provide Example the integrity control for doing data update the Shared service Shared Packaged application information can be Packaged accessed from any tool that communicate using DCOM ( ex- Word, Excel, …) using Packaged applications are trying to function Packaged like distributed object solution. Vendors are wrap the packaged application logic and data with some standard interface like CORBA, COM etc. Data Services Data Direct routes to the logical or physical Direct database or both database This interface is generally for data extraction This however some data service provide update capabilities capabilities EAI architect has the option of going directly EAI to database by utilizing database-oriented middleware middleware Objects Objects Object inside packaged application is the Object encapsulation of both data and methods encapsulation Object ensure the integrity control as data Object accessed after invoking the methods accessed Objects need not be typical standard Objects distributed objects can be proprietary distributed Few vendor expose objects using the standard Few interface interface Type of Interface Type The type of services available through an The interface interface There are three types of broad category of the There interfaces interfaces Full-service Interfaces Limited-services Interfaces Controlled Interfaces Type of Interfaces Type Full-service Interface Limited-service Interfaces It provides access to only one level Controlled Interfaces It provides access to the business service level, the data It services level, and the object level services It provides only bare minimum of features and functions Other Interfaces To provide access to information that may be required from To other remote applications other Vertical market application interface – industry specific Vertical applications – industrial, health care, finance, etc. applications SWIFT SWIFT SWIFT (Society for Worldwide Interbank Financial SWIFT Telecommunications) Telecommunications) It is a message standard and a cooperative organized It under Belgium Law under It provides communication services to the It international banking industries international Most message brokers that support the financial Most community including NEON, SAGA software, Active Software also support SWIFT Software It provides a rapid, cost-effective, secure and reliable It transmission service transmission All Enterprise API All All Enterprise API or a single, well defined All API that is able to access every piece of information and every process that exists within an enterprise within It needs organizational acceptance A layer of abstraction must be created between layer API and the enabling technologies API It is having the ability to get any information It or any business process at any time for any reason using a common interface reason Application Wrapping Application It requires going through the entire application It and exposing its business processes as methods within a distributed object standard such as CORBA or COM such Advantages: Since it requires standard object infrastructure, the Since application can be exposed to many more applications applications The process for taking an existing application and The rebuilding it as a distributed object is well defined rebuilding Application Wrapping Application GUI EAI Process API Object Process Process Process Process Exposing API Data Process Application Wrapping Data ...
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online