Attached is an interesting observation on COS services. Konstantin
-- BEGIN included message
- To: comp-object-corba@omg.org
- Subject: Re: CORBA services
- From: Jonathan Biggar <jon@floorboard.com>
- Date: Sun, 30 Aug 1998 13:26:05 -0700
- Newsgroups: comp.object.corba
- Organization: http://www.supernews.com, The World's Usenet: Discussions Start Here
- References: <35DD74E6.9147A5B3@phys.uu.nl> <35DD7B69.F8C@is.twi.tudelft.nl> <35DD88A6.256308F3@phys.uu.nl> <35e98253.5639858@news.dial.pipex.com>
- Sender: owner-comp-object-corba@omg.org
- Xref: news.sydney.apana.org.au comp.object.corba:21528
Mike Holligan wrote: > I'm having a lot of trouble understanding how these services are meant > to be used. When I first encountered Corba COS, I sort of took it > for granted that they represented an essential toolkit and that we > really would expect to be able to buy some sort of ORB + services > package and start creating applications. > > It doesn't seem to be working out that way. The industry seems to be > delivering up "solutions" which take only minimal function from Corba > and "leverage" existing parts such as Object databases (and new > "better" Java ideas which don't suffer from the already-legacy Corba > understanding already!) > > One problem with this is that unless one fully grasps the > architectural implications, all sorts of difficulties can later emerge > from incompatibilities between the objects "inside" the database (OO > - database would be my temptation) and the objects "outside". > > I haven't found that any of the Corba books really help me with this. > > This is especially the case with query, relationships and associated > services. Either the ideas behind the proposals are trade secrets > or they are too dimly understood to be clearly explained. Its the > classical "cockup or conspiracy" question. ( I reject utterly the idea > that it is all in some sense obvious and that I must be stupid not to > understand it. ) > > I notice that the O2 database claims that it implements these > services. It seems to me that the expectation that it would only be > ORB vendors who would supply these services isn't correct. > > Otherwise, is it possible that the intention of these services is that > one should implement these interfaces as features of some application > or service in order to provide a standard way of querying and of > manipulating relationships within the application? In general, you are right. Some of the services are delivered as standalone "applications" by ORB vendors or third parties, some can be considered toolkits that help you build applications, while other services are more "design patterns" that should be reused by applications to improve the interoperability of CORBA applications, but must be implemented mostly by the end user. Here is a list of the services and my position on what category they are: Naming: Standalone. Event: Standalone. Persistent Object: Obsolete. It was underspecified and too complex. The OMG is working on a replacement. LifeCycle: This one is a design pattern. There are some practical difficulties with the move() operation, but ORB vendors could provide some support to help make it easier to implement. Concurrency: Pretty closely tied to the transaction service, and difficult to use in a distributed environment without it. Externalization: Not portable enough to be really useful, since there is no standard for how an object lays out its data. You have to externalize and internalize using the same implementation. Relationship: Could be standalone, but would be more efficient when used as a library bound into the application. There doesn't seem to be a huge demand for this service. Transaction: Toolkit. Very complex to implement. Requires integration with the ORB using internal, non-standard interfaces. Query: Design pattern. There isn't much here that can be implemented independent of the specific application. Licensing: Underspecified and non-portable. I know of one commercial implementation but there isn't much call for it. Time: Toolkit. Appropriate as a library along with a standalone application to deliver timestamps. Security: Must be implemented by the ORB vendor, since the replacable interfaces are not sufficiently standardized. Trading: Standalone. Collection: Toolkit. Could be a standalone application, but would be more efficient as a library of object implementations (or design patterns) that are bound into the end-user's application. -- Jon Biggar Floorboard Software jon@floorboard.com jon@biggar.org
-- END included message