Design Patterns for Developing and Using Real-time CORBA Object Request Brokers Douglas C. Schmidt
[email protected] Washington University, St. Louis www.cs.wustl.edu/schmidt/TAO4.ps.gz Sp onsors Bellcore, Bo eing, CDI, DARPA, Ko dak, Lucent, Motorola, NSF, OTI, SAIC, Siemens SCR, Siemens MED, Siemens ZT, and Sprint High-p erformance, Real-time ORBs Douglas C. Schmidt Motivation: the Distributed Software Crisis Symptoms DX IMAGE STORE { Hardware gets smaller, faster, cheap er ATM LAN { Software gets larger, slower, DIAGNOSTIC re exp ensive STATIONS mo Culprits ATM MAN Accidental and inherent CLUSTER { ATM IMAGE y LAN STORE complexit Solutions MODALITIES CENTRAL Middleware, frameworks, (CT, MR, CR) IMAGE { STORE and patterns comp onents, 1 y, St. Louis Universit Washington Douglas C. Schmidt High-p erformance, Real-time ORBs Sources of Complexity for Distributed Applications PRINTER Inherent complexity COMPUTER { Latency FILE Reliability CD ROM SYSTEM { { Partitioning (1) STAND-ALONE APPLICATION ARCHITECTURE { Ordering TIME NAME SERVICE CYCLE Accidental Complexity SERVICE SERVICE DISPLAY SERVICE { Low-level APIs FI LE Poor debugging to ols NETWORK SERVICE { Algorithmic PRINT { SERVICE CD ROM decomp osition Continuous re-invention PRINTER FILE SYSTEM { (2) DISTRIBUTED APPLICATION ARCHITECTURE 2 Washington University, St. Louis High-p erformance, Real-time ORBs Douglas C. Schmidt Techniques for Improving Software Quality and Pro ductivity Proven solutions APPLICATION NETWORKING Comp onents SPECIFIC { LOGIC INVOKES MATH ADTS Self-contained, \pluggable" EVENT USER DATA ADTs LOOP INTERFACE BASE { Frameworks (A) CLASS LIBRARY Reusable, \semi-complete" ARCHITECTURE applications NETWORKING USER Patterns MATH { INTERFACE Problem/solution pairs in a APPLICATION CALL INVOKES SPECIFIC BACKS LOGIC EVENT context LOOP Architecture S { ADT DATABASE Families of related patterns (B) APPLICATION FRAMEWORK ARCHITECTURE and comp onents 3 y, St.