+ All Categories
Home > Documents > A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Date post: 16-Jan-2016
Category:
Upload: monica-francis
View: 218 times
Download: 0 times
Share this document with a friend
Popular Tags:
39
A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud
Transcript
Page 1: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

A Guide to Middleware Architectures and

TechnologiesBy

Eng. Mohanned M. Dawoud

Page 2: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Middleware is the plumbing or wiring of IT applications provides proven ways to connect the various software

components in an application. can be used to wire together numerous components in

useful, well-understood topologies. From the application user’s perspective, middleware is

completely hidden. As long as it works, and works well, middleware is invisible infrastructure.

• The only time application users are ever aware of the role middleware plays is when it fails.

Page 3: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Business Process Orchestrators

Message Brokers

Application Servers

Transport Message-Oriented Middleware, Distributed Objects Systems

J2EE, CCM, .NET

BizTalk, WebSphere Message Broker, SonicMQ

BizTalk, TIBCO StaffWare, ActiveBPEL

Page 4: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Common Object Request Broker Architecture (CORBA)

Message-oriented middleware J2EE Message brokers Business process orchestrators

Page 5: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Venerable distributed object technology Many different implementations

Network

Client

Object Referencerequest

Server

Servantreply

client ORB server ORB

Page 6: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Requests to servants are remote calls, and hence relatively expensive (slow).

Like any distributed application, servers may be unavailable due to network or process or machine failure.

If a servant holds state concerning an interaction with a client and the servant fails, the state is lost.

State management in server objects creates ‘interesting’ recovery issues

Page 7: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Basic Message Oriented Middleware (MOM) provides features like: Asynchronous communications between

processes, applications and systems Send-and-forget

Delivering messages despite failures Transactional Messaging

Deliver all messages in a transaction, or none Persistence

Messages can be logged at the server and hence survive server failure

Page 8: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Send (queue, message) Put message onto queue

Receive (queue, message) Get message from queue

No dependency on state of receiving application on message send

receivesend

queue

Page 9: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Best effortThe MOM server will do its best to deliver the message.

PersistentThe MOM layer guarantees to deliver messages despite system and network failures

Transactional Messages can be bunched into “all or nothing” units for delivery.

Page 10: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Receipt of message at queue implies message is written to disk log

Removal of message from queue deletes message from disk log

Trade-off performance versus reliability

Page 11: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.
Page 12: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Sender and receiver do *not* share a transaction Rollback on receiver does not affect the sender

(already committed) ‘Synchronous’ operations are not atomic

Request/response is 3 transactions not 1 Put to request queue Get from request queue, put to response queue Get from response queue

receivesend

Request queue

Response queuesendreceive

Page 13: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

MOM Server

Senders Receivers

MOM Server

ApplicationQ

ApplicationQ

Page 14: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

MOM Server

Senders Receivers

MOM Server

ReplayQ

RequestQ

Page 15: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Highly attractive asynchronous technology

Supports loosely-coupled, dynamic applications

Scales well, high throughput possible Many implementations, various qualities

of service

Page 16: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Extension of MOM to provide 1-to-N, N-to-1, and N-to-N communications

Messages are ‘published’ to logical subjects or topics Subscribers receive all messages from subjects they

subscribe to

Pub Subject

Sub

Sub

SubCreate/Publish Register/

Subscribe

Page 17: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

rvd

rvd

Publisher

Subscriber

rvd

Subscriber

rvd

Subscriber

rvrd

rvd

Subscriber

rvd

Subscriber

rvrd

Based on TIBCO Rendezvous

Page 18: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

0100200300

400500600700

10 20 30 40 50No. Of Subscribers

Milliseconds

MC1

MC2

QB

Page 19: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Sydney

DevGroup SupportGroup

InformationInformation

work gossip work gossip

SydneySydney/DevGroupSydney/DevGroup/InformationSydney/DevGroup/Information/workSydney/DevGroup/Information/gossipSydney/SupportGroupSydney/SupportGroup/InformationSydney/SupportGroup/Information/workSydney/SupportGroup/Information/gossip

Sydney/*/InformationSydney/DevGroup/*/*Sydney/DevGroup/**

Page 20: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Highly decoupled messaging style Publishers don’t know about subscribers Subscribers don’t know who is publishing Publishers and Subscribers can dynamically

appear and disappear Issues –

Reliability Transactions Security Performance

Page 21: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

There are many definitions for application servers, but all pretty much agree on the core elements.

An application server is a component-based server technology that resides in the middle-tier of an N-tier architecture,.

It provides distributed communications, security, transactions and persistence.

Page 22: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.
Page 23: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Client Tier: In a web application, the client tier typically comprises an Internet browser that submits HTTP requests and downloads HTML pages from a web server.

Web Tier: The web tier runs a web server to handle client requests.

Page 24: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Business Component Tier: Receive requests from the web tier, and satisfy requests usually by accessing one or more databases, returning the results to the web tier.

Enterprise Information Systems Tier: This typically consists of one or more databases and back-end applications like mainframes and other legacy systems.

Page 25: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

WebComponent

Legacy System #1

Legacy System #2

Legacy System #3

Legacy System #4

In-format

In-format In-format In-format In-format

Key:Message =

In-format

Message Transform Legacyformat

APIcall

QueueRead

Page 26: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

the common In-format message format changes?

any legacy system API changes? any of the transformations needs

modifying?

Page 27: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

WebComponent

Legacy System #1

Legacy System #2

Legacy System #3

Legacy System #4

In-format

L1-format L2-format L3-format L4-format

Key:Message =

MessageBroker

Transformations in broker

Simplified endpoints

Decouples Web and legacy components

Page 28: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Developed specifically for Enterprise Application Integration (EAI)

Add new layers of functionality to MOM Message transformation Rules engine Intelligent routing Adapters

Typically (but not necessarily) built on top of a MOM layer

Page 29: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Message transformation – transform between different source/target formats Graphical message format definition and mapping

tools High performance transformation engines Message format repositories

Intelligent routing Route messages based on message content

Rules Engine Scripting language, built-in functions

Page 30: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Transformation

Routing

Rules Processing

Input Messages Output Messages

Hub and Spoke Architecture

Page 31: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

An adapter is a component that resides between the message broker and the source/target systems

Simplify complexity of end system interface through an abstraction layer

Thin adapters - simple wrappers Thick adapters

Programmable Abstract representation of services and meta-data

Centralized adapters co-located with broker Distributed adapters execute in own process

and may be located with source/target system

Page 32: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Embeds transformations/routing in broker Can get complex

Possible scaling issues Need to replicate brokers

Failure handling Lightweight, rarely designed to recover from

failure Often proprietary technology

Page 33: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Commonly known as workflow Aim is to automate business processes which

need to access data and business logic across disparate back-end applications

Builds on EAI to ensure business processes are executed in the defined order using the required data

Builds on middleware providing: Process execution engine Visual process definition tools Process monitoring tools

Page 34: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Business process automation

CustomerPurchasing

SAPCustomerReceiving

Siebel

Sales deskShipping

CreditValidation

AccountsPayable

AccountsReceivable

Oracle

Page 35: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.
Page 36: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Point-to-Point evolution Spaghetti architecture, hard to modify potentially (N2-

N) interfaces

1 business process = 4 interfaces

5 business processes = 20 interfaces

Page 37: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

No free lunch … Just relocates the spaghetti

message broker

Page 38: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Source sends message to target with common message format as payload.

Target receives message and transforms common format into its own local data representation.

2xN transformations, no broker needed Getting agreement is the tough bit …

Enterprise Data Model

Page 39: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.

Middleware: makes building complex, distributed, concurrent

applications simpler. institutionalizes proven design practices by

supporting them in off-the-shelf middleware technologies.

Architect’s job is to ‘mix n’match’ technologies to create appropriate solutions Analyze trade-offs Open-minded (no hammer/nail thinking) No good/evil, its just technology


Recommended