Chapter 6: Using Middleware Textbook IT Architectures and Middleware, Second Edition Chris Britton...

Preview:

DESCRIPTION

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, , discussion forum, wiki ● Internal IT service technology – software distribution, remote system operation

Citation preview

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