Dave, You are right. CORBA is wonderful, and you can do everything with it. Certainly many successful SOA projects have been done using CORBA. No problem, no question, and certainly CORBA performance is unrivaled in standards based systems and it is proven and reliable technology that has succeeded in enterprise applications better than any other standards based technology.
But other technologies are equally, or close to equally, wonderful, including MQ Series, Tibco, Tuxedo, CICS, IMS, COBOL, PL/I, JEE, .NET, and not to mention the Web. I would say looking back at history two major innovations post-CORBA contributed to its insufficient adoption (when it was proposed initially the goal was for CORBA to be used as the single and only distributed computing platform): the Web and Java. CORBA was never adapted well to either, and you could say the success of a small company called IONA provoked the larger companies to change the game and focus on Java instead to the extent that it was never well adpated to CORBA, despite JEE incorporating many CORBA technologies such as IIOP, JNDI, CSI_V2, and OTS. There has never been a good IDL-EJB mapping, despite successful IDL-C++, COBOL, PL/I, Python etc. And although I believe IIOP was once proposed to the IETF for adoption as an Internet protocol, it is not as scalable as HTTP because of its persistent sessions mechansim - which of course is a benefit in many non-resource constrained environments. On the Web however even the small amount of resource required is detrimental. This is more than just the argument that Web services are more widely adopted than CORBA. It is also the recognition that HTTP is more widely adopted than IIOP will ever be, and the world of distributed computing needed to adapt to it rather than vice versa (i.e. the Web was not going to adapt to IIOP). It is also the fact that XML is a text based data typing system, which provides better independence than specific language data type mappings - you can more easily express common data types in XML than IDL since IDL's design requires binary serialization to a specific set of languages. Sure, you can say this is a disadvantage compared to CORBA and certainly if you are working in the world of a single distributed computing technology and a single programming language, CORBA is the best thing to use. But if you end up working in a world of multiple languages and distributed computing technologies, something more abstract is a better solution to that problem, despite its ugliness. Eric ----- Original Message ---- From: David Forslund <[EMAIL PROTECTED]> To: [email protected] Sent: Friday, June 15, 2007 10:13:39 AM Subject: Re: [service-orientated-architecture] Ends of SOA Eric Newcomer wrote: > Yes, I think OO is too complex, and it's simpler and better to model the > world using services. > I don't get it. I use OO specifically to model the world using services. This has also been the thrust of the work in the OMG for nearly 20 years. The work there has basically been serviced oriented architecture for a very long time, properly leveraging OO where it is appropriate. OO doesn't make things more complex. It is one of the tools that can significantly simplify complex problems, if used wisely. > OO doesn't map well to things like procedures and asynchronous message queues. > This is certainly not true in my experience. Procedures and asynchronous message queues work quite nicely with OO. In fact, OO makes the use of procedures and asynchronous message queues much easier in most cases. Perhaps you could give an example of what you are talking about? Dave > Eric > > > > ----- Original Message ---- > From: David Forslund <[EMAIL PROTECTED] com> > To: service-orientated- architecture@ yahoogroups. com > Sent: Thursday, June 14, 2007 7:32:40 PM > Subject: Re: [service-orientated -architecture] Ends of SOA > > Eric Newcomer wrote: > >> Yes but WSDL is not object oriented. You can use it with procedures and >> message queues. Also it is not tied to any particular data type system or >> transport. You could say CORBA was transport independent because GIOP allows >> multiple transports, and I believe implementations exist that are >> multi-protocol. However CORBA also defines language bindings, which WSDL >> does not. >> >> > This seems quite the opposite of my experience. The WSDL typically has > all kinds of transport artifacts in it including ports. IDL is quite > transport independent. Defining language bindings is quite helpful > because it assists in portability and interoperability. Do you consider > it an advantage that WSDL is not object-oriented? Object-oriented does > not remove capabilities for software but adds to them. Certain things > can be expressed much more clearly with OO techniques, but one doesn't > have to use them. So I consider the fact that WSDL doesn't "support" an > object-oriented syntax is a deficiency which limits expression and can > make the expression of systems much more complex. > >> These are the ways in which I think WSDL is more abstract than CORBA. I >> realize it's a lot uglier and complex but it is not tied to any particular >> implementation environment the way CORBA is. With CORBA you need an ORB on >> both sides of a communication. With WSDL one side can be CORBA and the other >> can be Tuxedo. Or MQ Series. >> >> WSDL can be RPC oriented or document oriented. I also think XML is more >> abstract than CORBA because its text, not binary. >> >> > I don't understand this last point. It is the binary capability of > CORBA that makes it much more efficient. IDL is much more abstract that > WSDL, which is all I was saying. The communication layer is technology > specific and isn't abstract. Simply saying something is more abstract > because it uses XML is a statement without content. Computer generated > XML is at least as complicated as any binary layer (and probably more so). > > Dave > >> Eric >> >> >> ----- Original Message ---- >> From: David Forslund <[EMAIL PROTECTED] com> >> To: service-orientated- architecture@ yahoogroups. com >> Sent: Thursday, June 14, 2007 10:53:17 AM >> Subject: Re: [service-orientated -architecture] Ends of SOA >> >> >> >> Web services are certainly not more abstract than CORBA. At best, they >> are equivalent as Web services >> also specifies a technology in an even more intrusive way than does >> CORBA. This is best illustrated >> by comparing IDL with WSDL. IDL is really quite abstract and says >> nothing about transport, while >> WSDL typically has many more specifics about transport (port numbers, >> etc.). WSDL is a very >> poor way of expressing architectural abstractions. That is what UML is >> for. IDL is a little better >> for architectural abstractions, primarily because it is somewhat higher >> level than WSDL. The equivalent >> expression in WSDL of an IDL file will typically be more than 10 times >> longer. Some of this is because >> WSDL has no way of expressing the semantics of objects (which frequently >> translate nicely into services). >> The details of objects have to be expressed explicitly in WSDL, while >> they are part of the IDL language. >> For architecture use UML. For technological deployment utilize IDL or >> WSDL. This has been a well >> defined procedure in the OMG for decades. The process is well >> documented and doesn't have to be reinvented. >> Stay away from a company that says it is expressing an architecture in >> WSDL. It is not intended for human >> consumption >> >> Dave Forslund >> >> >> ____________________________________________________________________________________ Get the free Yahoo! toolbar and rest assured with the added security of spyware protection. http://new.toolbar.yahoo.com/toolbar/features/norton/index.php
