Date[ May 27, 1998 ] Recordnr[ 1 ] Stored[ Composition Who[ Scott M. Lewandowski Title[ Frameworks for Component-Based Client/Server Computing Published[ ACM Computing Surveys, Vol.30, No.1, March 1998 Keywords[ CORBA, compound document, DCOM, JAVA, business object Comment[ Summary[ General impression: very pro CORBA, does not mention RMI, paper tries to cover a large area with doubtful success Middleware is defined to include the APIs used by clients to request a service from a server, the physical transmittion of the request to the network, and the rewulting transmission of data for the client back to the network. Middleware is run on both the client and server ends of a transaction. Three different kinds of middleware: - database middleware (ODBC, SQL, Oracle Glue) - groupware middleware (Lotus Notes, Microsoft Exchange) - inernet middleware (HTTP, secure socket layer) - object middleware (CORBA, DCOM) Furthermore: fundamental/generic middleware against domain-specific middleware. Fundamental: distributed file system, RPC, authentication... Various kind of systems: - fat servers versus fat clients: data on server, UI on client - is the application logic on the server or the client? - three-tier systems: application logic is separate ==> new level of autonomy for applicatino logic. Ex: web-applications with browser, applets or cgi-scripts, database - four-tiers: e.g. with additional second tier for unifying view of the data of the databases of first tier, (CHAIMS with new architecture would also be 4 tier system) CORBA is great!!!?? - "Technologies such as Java and object request brokers (ORBs) promise to provide seamless integration among all platforms within a few years." - "only CORBA and DCOM provide viable long-term solutions to the challenge of a standardized framework for object-based client/server systems, others do not have enough features or as great an installed base..." - yet CORBA is much better, because in DCOM e.g. no real objects (objects have no state, they are just procedures ==> handles to objects are arbitrary and only garuantee interface not object-state, no unique object identifier, no persistency supported) - also DCOM objects cannot automatically support multiple interfaces, - also clients cannot request for a specific given server, - also only using WindowsNT security model and no own universal security mechanism like CORBA - CORBA and Java are made for each other and together will win (???) ==> platform for universal network computing can be created using Java as mobile code systems and CORBA as integration technology Claims (not really true in my view): - java-interfaces and CORBA-IDL's are very similar (RMI transports code and methods, not just data!! ==> totally different kind of distributed programming) - CORBA allows parameters of any type (yes, it allows more than CGI, but not "any") Selfmanaging objects: - take responsibility for their own resources, work across networks, interact with other objects - smallest ones are components like activeX controls - ===> solid event model necessary that allows objects to broadcast specific messages and generate certain events (events = synchronisation objects) - ===> transparency of location and implementation is important (as offered by CORBA) BOMSIG (Business Object Model Special Interest Group), as example for framework on top of CORBA - no references given - promotes three-tier framework for buisness objects, consisting of business object logic, business proces objects, presenation object (differences not clear to me) Compound document framework (another example of a framework on top of CORBA)