200 likes | 333 Views
Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September 30, 2008. Chapter 3: Objects, Components, and the Web. History of Middleware. Chapter 2 was history of middleware into 1980's
E N D
Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September 30, 2008 Chapter 3: Objects, Components, and the Web
History of Middleware • Chapter 2 was history of middleware into 1980's • Chapter 3 continues at end of 1980s with resurgence in OO programming and a new kind of OO middleware • requestor calls a remote object • like RPC, replaces RPC/transactional • does not replace the two other kinds of middleware: message queue and remote DB • notable example: CORBA
CORBA • Common Object Request Broker • a standard, not a product • developed by Object Management Group (OMG) a consortium of software vendors • influental but seldom seen in implementations, similar situation with ISO 7-layer network model • Problem: its complexity, interoperativity • Rise of component technology made it less important
Component Technology • Key characteristics • code file – can be interpreted or executed • run-time code has its own private data and provides an interface • can be deployed many times and on many different machines (reused) • component object creates one or more objects and makes the interface of these available
Microsoft Components • Microsoft COM (Component Object Model), by end of 1990s • used extensively in windows • called from any language ( C++, Visual Basic) • don't need to know file name – find it in system registry • Middleware Distributed COM (DCOM) • call a COM object on another Windows machine
Java Components • Java emerged as an important language by 1995 • Java component model is called JavaBean • Java runs in Java Virtual Machine (JVM) – macnine independent • Middleware called Remote Method Invocation (RMI)
Transactional Component Middleware • solves some problems of using object component • Microsoft Transaction Server evolved into COM+ • Enterprise JavaBeans (EJB) • issue is management of sessions, discussed later
Using Object Middleware • program must have a reference pointing to the object on the other machine • works like a pointer (to ram) but details are hidden • Two steps • getting pointer to the object • repeatedly calling an operation(s) on the object • give up the reference
Object Interfaces • Interface Definition Language • interfaces more explicit than in OOP • gives flexibility and encapsulation • generates a stub that converts messages into operation calls • marshalling, converting object reference to binary string • interface is not the same as a class – one interface can be used by many classes
OO Middleware compared to RPC • OO middleware is a natural for OOP languages • OO middleware is more flexible • interfaces delinked from the server program – this simplifies deployment by hiding details • changes to an interface can be handled by adding a new interface to an object, rather than creating a new object – eventually old interface can be removed allowing time for rewriting dependent code
Transactional Component Middleware • a term coined by the textbook authors • fills same niche in object middleware as transaction monitors in RPCs • makes transaction processing easier to implement and more scalable • components can be deployed with different settings to behave in different ways • examples: COM+ and EJB
More about TCM • compare COM+ and EJB – which is better solution? Disciples cannot agree • Go with the one your skill level and experience favors • EJB is operating system independent • COM+ is language independent • COM+ is now called Enterprise Services, a part of .NET • New development: SOA and Service Orientation (next chapter)
Summary • TCM is the dominant technology for