Application Integration Technology IT 490. Middleware Basics  Middleware provides a mechanism that allows one entity (application or database) to communicate.

Slides:



Advertisements
Similar presentations
MQ Series Cross Platform Dominant Messaging sw – 70% of market Messaging API same on all platforms Guaranteed one-time delivery Two-Phase Commit Wide EAI.
Advertisements

DISTRIBUTED COMPUTING PARADIGMS
Welcome to Middleware Joseph Amrithraj
Agents & Mobile Agents.
Database Architectures and the Web
Chapter 18 – Message Brokers The Preferred EAI Engine Message brokers bridge many different platforms and development solutions than until now have been.
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Chapter 6: Client/Server and Intranet Computing
Technical Architectures
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Middleware Technologies compiled by: Thomas M. Cosley.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
Chapter 11 – Database-Oriented Middleware & EAI Database access is the key element to EAI, especially data-level EAI. Database oriented middleware is not.
The Architecture of Transaction Processing Systems
Chapter 9: The Client/Server Database Environment
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
EAI. 2/31 Example: a simple supply chain purchase order deliver goods write invoice order atricle check availability document customer-contact not available.
Transactional Middleware Transactional middleware, which includes TP monitors and application servers, provide benefits to distributed computing and EAI.
1 © Prentice Hall, 2002 The Client/Server Database Environment.
Lecture The Client/Server Database Environment
The Client/Server Database Environment
Messaging Technologies Group: Yuzhou Xia Yi Tan Jianxiao Zhai.
B2B Application Integration COSC643 Sungchul Hong.
SOA, BPM, BPEL, jBPM.
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
Message Brokers and B2B Application Integration Chap 13 B2B Application Integration Sungchul Hong.
Integration Broker PeopleTools Integration Broker Steps –Introduction & terminologies –Application Server PUB/SUB services (Application Server)
Java-Based Middleware IT 490 Stan Senesy IT Program NJIT.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Asynchronous Communication Between Components Presented By: Sachin Singh.
Messaging is an important means of communication between two systems. There are 2 types of messaging. - Synchronous messaging. - Asynchronous messaging.
National Institute of Science & Technology Architecture of Message Oriented Middleware Anindya Kumar Jena [1] Architecture of Message Oriented Middleware.
Architecture of Message Oriented Middleware [1]
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
A service Oriented Architecture & Web Service Technology.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
The Middleware By Jiraphat Wattanapateepgorn Jearanai Muangsuwan.
MQ Series Cross Platform Dominant Messaging sw – 70% of market
Internet and Distributed Application Services
The Client/Server Database Environment
Software Connectors.
Distribution and components
The Client/Server Database Environment
Chapter 9 – RPCs, Messaging & EAI
Chapter 9: The Client/Server Database Environment
CORBA Within the OS & Its Implementation
Chapter 3: Windows7 Part 4.
Ch > 28.4.
Inventory of Distributed Computing Concepts and Web services
Inventory of Distributed Computing Concepts
MQ Series Cross Platform Dominant Messaging sw – 70% of market
Types of Application Integration
Presentation transcript:

Application Integration Technology IT 490

Middleware Basics  Middleware provides a mechanism that allows one entity (application or database) to communicate with another entity or entities.  Middleware is the best hope for moving information between applications and databases. Unfortunately, traditional middleware as it exists today (Remote Procedure Calls – RPCs, Message Oriented Middleware-MOM) can provide connections between applications, but in order to facilitate the use of middleware, changes to the source and target systems become unmanageable and inflexible.

Middleware Basics  New types of middleware came into play, including application servers and message brokers.  As a definition, middleware is basically any type of software that facilitates communications between two or more software systems.

Types of Middleware: - RPCs  the oldest type of middleware but they are the easiest to understand and use. Basically RPCs provide developers with the ability to invoke a function within one program and have that function actually execute within another program or another remote machine

- RPCs are synchronous. They stop the execution of the program in order to carry out remote procedure calls. Because of this, RPCs are also knows as blocking middleware. - Because carrying out a remote procedure call requires a lot of overhead in the systems, RPCs require more bandwidth than any other types of middleware. Fig. 7.2 RPCs: Local Functions Executing on Remote Machines

- The best known type of RPC is Distributed Computing Environment (DCE) from Open Software Foundation (OSF). It provides a very sophisticated distributed RPC mechanism with many layers of services (such as security services, directory services, and the ability to maintain integrity between applications). - DCE requires a lot of overhead so the performance of such system is very poor. - The main RPC advantage is the simplicity of the systems and integration. The main disadvantage is their requirement for more processing power. - RPCs require anywhere from 10,000 to 15,000 instructions in order to process a remote request. All these add to the cost of the overhead.

- Message-Oriented  MOM was created to address some shortcomings of RPCs through the use of messaging. Traditional MOM is typically queuing software, using messages as a mechanism to move information from point to point. - Because MOM uses the notion of messages to communicate between applications, direct coupling with the middleware mechanism and the application is not required.

- MOM products use an asynchronous paradigm and because it’s decoupled from the application, they allow the application to function independently. - The asynchronous paradigm is much more convenient for developers and users because it does not block the application from processing, although the model is a bit more complex than the synchronous model.

- MOM is able to ensure delivery of a message from one application to the next through several sophisticated mechanisms, such as message persistence. - The use of messages is also an advantage because messages are small byte-sized units of information that move between applications.

- Messages have a schema (structure) and data (content). - There are two models supported by MOM: 1. Point-to-Point 2. Message Queuing (MQ)  this has several advantages over standard RPCs. First of all MQ lets each participating program proceed at its own pace without interruption from the middleware layer. Another benefit to MQ is that the program can broadcast the same message to many remote programs without waiting for the remote programs to be up and running.

- Distributed-Objects  are also considered middleware because they facilitate inter- application communications. But at the same time they are also mechanisms for applications development, providing enabling technology for enterprise-wide method sharing. - Distributed Objects are really small application programs that use standard interfaces and protocols to communicate with one another

- There are 2 types of distributed objects on the market today: CORBA (created by OMG in 1991 is more of a standard than a technology) and COM (created by Microsoft, is a distributed object standard). Just like CORBA, COM provides rules for developers when creating COM-enabled distributed objects.

- Database-Oriented  is any middleware that facilitates communications with a database, whether from an application or between databases. Developers use them as a mechanism to extract information from either local or remote databases.

- They work with 2 basic database types: a) call-level interface (CLI) b) at-native database middleware - While CLIs provide access to any number of databases through a well defined common interface and are common APIs that span several types of database, they work most typically with relational databases (for example Microsoft’s ODBC) Fig. 7.6 Microsoft’s OLE DB

- Transaction-Oriented  (for example TP monitors and application servers) do a pretty good job at coordinating information movement and method sharing between many different resources. Typically it creates a tightly coupled EAI solution, where messaging solutions are more cohesive in nature. In addition, the source and target applications will have to be changed to take advantage of this transactional middleware. - TP Monitors  are the first generation applications servers and a transactional middleware product. They provide a location for application logic in addition to a mechanism to facilitate the communication between 2 or more applications - TP monitors are based on the premise of a transaction  is a unit of work with a beginning and an end. The reasoning is that if application logic is encapsulated within a transaction, then the transaction either completes or is rolled back completely.

- An advantage of using transactions is the ability to break an application into smaller portions and then invoke those transactions to carry out the binding of the user or another connected system. - TP monitors provide connectors that allow them to connect to resources such as databases, other applications and queues. - TP monitors provide queuing, routing and messaging features all of which enable distributed application developers to bypass the TP monitor’s transactional features. As a result priorities can be assigned to classes of messages, letting the higher messages receive server resources first. - TP monitors’ real performance value is in their load- balancing feature, which allows them to respond gracefully to a barrage of transactions.

- Application Servers  is not new but is the fastest growing segment of the middleware marketplace and it’s defined by the many new products calling themselves applications servers. - Most Application Servers are employed as Web-enabled middleware, processing transactions from web-enabled applications. They also employ Java rather than traditional procedural languages like C or COBOL (which are common with TP monitors) - Application Servers are servers that not only provide for the sharing and processing of application logic, but they also provide connections to back-end resources. - These resources include databases, ERP applications and even traditional mainframe applications. They also provide user interface development mechanisms.

- Message Brokers  can facilitate information movement between two or more resources (source or target applications) and can account for the difference in application semantics and platforms. Message Brokers can also join many applications using common rules and routing engines. They can transform the schema and content of the information as it flows between various applications and databases.

Middleware Models - The Logical Middleware Model  depicts how the information moves throughout the enterprise conceptually. - The Physical Middleware Model  depicts how the information actually moves and the technology it employs. - There are a few messaging models we will look at in order to understand the physical middleware model: - One-to-One vs Many-to-Many  Middleware can work in a point-to-point as well as many-to many configurations - 1. Point-to-Point Middleware  allows one application to link to one other application via a simple pipe. When communication is desired, the two applications communicate via the pipe using a procedure call or message (see Fig. 7.10)

- While it is possible at this time to connect together more than 2 applications using traditional point-to-point middleware, doing so will generate a chaos inside the network because of the redundant point to point connections

- Many-to-Many Middleware  links multiple applications to many other applications. That’s why this is the best fit for EAI and is the current trend in the EAI world. It is also the most powerful logic middleware model in that it provides both flexibility and applicability to the EAI problem domain.

3. Synchronous vs. Asynchronous: - Asynchronous Middleware moves information between one or many applications in an asynchronous mode-that is, the middleware software is able to decouple itself from the source or target applications and the applications are not dependent on the other connected applications for processing. A major advantage is that the middleware will not block the application for processing. - Synchronous Middleware is tightly coupled to applications and the applications are dependent on the middleware to process one or more function calls at a remote application. As a result the calling application must halt processing in order to wait for the remote application to respond  this is called “blocking” middleware.

4. Connection-Oriented and Connectionless - Connection-oriented communications  two parties connect, exchange messages and then disconnect. This is a synchronous process usually but sometimes can be asynchronous. - Connectionless communications  the calling program does not enter into a connection with the target process.