A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.
-
Upload
monica-francis -
Category
Documents
-
view
218 -
download
0
Transcript of A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.
![Page 1: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/11.jpg)
![Page 12: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/13.jpg)
MOM Server
Senders Receivers
MOM Server
ApplicationQ
ApplicationQ
![Page 14: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/14.jpg)
MOM Server
Senders Receivers
MOM Server
ReplayQ
RequestQ
![Page 15: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/21.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/22.jpg)
![Page 23: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/23.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/24.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/25.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/26.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/27.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/28.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/29.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/30.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/31.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/32.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/33.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/34.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/35.jpg)
![Page 36: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/36.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/37.jpg)
No free lunch … Just relocates the spaghetti
message broker
![Page 38: A Guide to Middleware Architectures and Technologies By Eng. Mohanned M. Dawoud.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/38.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062518/56649ed55503460f94be62bb/html5/thumbnails/39.jpg)
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