Date post: | 08-Jan-2018 |
Category: |
Documents |
Upload: | zoe-farmer |
View: | 219 times |
Download: | 2 times |
Chapter 6: Using Middleware
TextbookIT Architectures and Middleware, Second Edition
Chris Britton and Peter Bye
AIT 600Jeff Schmitt
October 20, 2008
Questions to explore
● What is middleware for?● How do we split application functionality among
the tiers?● How do we assemble applications into a wider
architecture?
What is middleware for?
● Transaction technology – as used in the implementation of business processes and services
● Information retrieval technology – as used to support management oversight and analysis of business performance
● Collaborative technology – for helping people work together, email, discussion forum, wiki
● Internal IT service technology – software distribution, remote system operation
How do we split application functionality among the tiers?
● How do we split
Distributed Architecture patterns
● How do we assemble applications into a wider architecture? Middleware bus (or ring) – tightly coupled Hub and spoke – medium coupling Loosely coupled – as in Web Services No plan – ad hoc – solve each crisis as it occurs
Middleware Bus● Primary aim: separate presentation channels
from the business services● Advantages
Fast – network hardware and software tailored for production workload
Secure – barriers against breaking Flexible – new channels added easily
● High-discipline architecture strict standards for service interface, security,
system management and failover
Hub Architecture● Messages go through hub giving opportunities for
functionality Reouting the message Multicasting the message (broadcast) Reformatting or splitting the message Adding information to the message Perform workflow rules Monitor message flow
● Useful in bridging networks, and in legacy systems where you cannot adapt the application
Hub Disadvantages
● Another link in the chain● Another point of failure● Potential bottleneck● Need backup hub and failsafe software
Web Services Architecture● Loosely coupled distributed system● Dependencies between distributed programs
Protocol Configuration Message format Message semantics Session state Security Business process Business object
Dimensions of coupling dependencies
● Technological dimension Protocol Configuration Message format
● Application dimension Message semantics Session state
● Wider concerns Security Business process Business object
Summary
● Communication among applications Real-time (request and response) Deferrable (send and forget)
● Business processes, collaboration, intelligence● Tiers – useful concept for program design
Presentation tier – support multiple external channels – clear cut
Processing and data tier – less clear cut delineation
Summary
● Application coupling (loose or tight) has technical dimension and application dimension Technical dimension – example web services Application dimension – example complex dialog to
exchange information● Distributed architecture styles
Middleware bus architecture Hub architecture Web services architecture
Summary● Middleware bus architecture
Tightly coupled Best performance, resiliency and security but difficult to
deploy and change● Hub architecture
Moderately coupled Useful when there is a need to route service requests
or to multicast service requests● Web services architecture
Loosely coupled