分享
 
 
 

CORBA的麻烦事...

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

The Trouble With CORBA

David Chappell - May 1998

I would really like to be a CORBA believer. I spent much of my career working in the open systems world,and I know that multi-vendor standards can do great things for our industry. CORBA has long held out the promise of being this kind of standard, but sadly, it has never met that promise. Even worse, it's becoming clear that it never will.

Cataloging CORBA's Problems: A Short List

Traditionally, standardization has focused on two things: portability and interoperability. The first CORBA specification, completed in 1991, provided neither. It defined very loose programming interfaces, especially on the server side, and left completely unspecified what protocol should be used to communicate between object request brokers (ORBs) produced by different vendors. Under pressure from users, the Object Management Group created the Internet Inter-ORB Protocol (IIOP) as part of CORBA's next major release in mid-1995. More recently, OMG has defined a standard interface for server-side applications, something called the Portable Object Adapter (POA). IIOP and the POA certainly qualify as progress toward the twin goals of interoperability and portability, and both are appearing in today's CORBA-based products. Unfortunately, they're not enough.

First of all, look at the timeline. From its initial release in 1991, it's taken seven years for CORBA to begin to approach the standardization that its creators have touted since that first publication. Even for a standards body, this is a long time. More important, it's not clear that these additions bring true standardization. Implementations of the POA are just beginning to appear, while IIOP interoperability has been problematic. For basic ORB functions, cross-vendor IIOP seems to work reasonably well. But every vendor adds extensions to the base CORBA standards, extensions that can cause interoperability problems when IIOP is used to connect diverse ORBs.

And even if IIOP did offer perfect interoperability, it's not enough. What about security services, directory services, and all the other things required to build an effective distributed environment? True, OMG has defined standards in all of these areas, and some vendors have implemented a subset of those standards. But those standards largely define interfaces, not protocols. Installing ORBs from two different vendors may require installing, say, two different implementations of the CORBA Naming Service, neither of which can interoperate with the other. And in some cases, the standard interfaces defined by the CORBA services leave crucial elements undefined, such as the types of parameters passed in method calls. Since all of these things make it very difficult to build an effective distributed environment using multiple vendor's ORBs, in what sense is this a standard?

What Standards Should Be

True standardization is binary: you're either perfect or you're broken. Suppose, for example, that I want to use two different vendor's ORBs in my organization. Those ORBs need to interoperate seamlessly—every feature in both products must work in the combined environment. If this isn't true, I'll be stuck keeping track of what works and what doesn't, and I'm likely to spend a considerable amount of time making applications that use these "standard" products interoperate.

Portability can be a more forgiving goal, since having even some similarity in programming interfaces eases the burden of moving code from one ORB to another. But if the goal is to create a third-party software market, something analogous to today's large market for ActiveX components on Microsoft systems, those interfaces must be identical. There is essentially no market for shrink-wrapped CORBA applications today because the CORBA standards aren't complete enough to allow this level of portability.

Given CORBA's limited standardization, the most rational approach is to install one vendor's product on all of the systems in an organization. While some brave souls do try to mix ORBs from different vendors, the norm is to stick with a single supplier. And surprise, surprise, every successful CORBA vendor offers their products on a wide range of systems. It's ironic that the major hardware vendors who originally got the CORBA effort off the ground—IBM, Sun, and Hewlett Packard—all seemed to believe their own marketing documents. The products those companies produced could only have been successful if CORBA really was a multi-vendor standard, because each one produced CORBA-based products that ran only on their own systems. Not too surprisingly, all three companies lost money on and eventually killed those products (although IBM is trying again). The successful CORBA vendors were those who, like Iona and Visigenics, realized that a viable CORBA-based product would need to run on multiple systems.

But what kind of standard asks customers to install the same vendor’s product on all their systems? Imagine if TCP/IP were like this, effectively requiring the same vendor's implementation on all systems within an organization. No one would consider it a standard technology at all. Yet CORBA is still viewed this way, even though most customers stick to a single vendor's ORB on all of their systems.

CORBA's Real Benefits

But if CORBA isn't a true standard, then what is it? Most fundamentally, it has been a very effective marketing tool to help vendors sell largely proprietary products. Many of those products are great—Iona's Orbix, Borland's VisiBroker, BEA's ObjectBroker, and others all have substantial numbers of happy users. But at least some of those users no doubt bought those products in part because they supported industry standards (getting upper management's approval is so much easier if you can make this claim). All of the companies that make these products quite truthfully claim to support the CORBA standards, yet each one also encourages you to buy their product for all of your platforms. This is hardly the goal of true standardization.

The fundamental problem is that users love standards, but vendors often hate them. Accordingly, the vendors who control the OMG process have created the appearance of standardization without the reality. They chose to create "standards" that required proprietary extensions. If, in 1991, those vendors had decided to create true, complete standards, we might be facing a very different world today. As it is, we're left with a choice between largely proprietary products from small vendors or entirely proprietary products from Microsoft. For many, perhaps most users, Microsoft is a much safer choice. If CORBA were truly a standard, this would not be true. But it's not, and so Microsoft will probably dominate.

Here’s a larger question, one for which there’s really no answer yet: is it even possible for committees to successfully create new technology? History isn’t encouraging. The Internet Engineering Task Force manages to do it, in no small part because the participants have primarily represented themselves, not the firms they work for. The consensus-oriented process used by OMG allows vendors to simply not standardize those areas in which they can't agree. Too often, the predictable result is specifications that are full of holes.

In fact, OMG has produced more and more specs over the years, but seen less and less implementation of those specs. Confusing the production of paper with the production of products is perhaps the classic error for a standardization body. The most spectacular example of this was the Open Systems Interconnection effort, which crashed and burned after having churned through something like a billion dollars of its sponsors’ money. It’s a shame that, despite all that investment, the OMG’s sponsors—many of whom were active players in OSI—didn’t learn much from it.

Conclusions

From the beginning, CORBA was never a true standard. Instead, the vendors who controlled the OMG process chose to create something that was more a marketing exercise than a complete technology. And ultimately, this is very sad. What could have been a crucially important industry standard has instead become just another marketing tool for selling proprietary products. The opportunity for a true standard, a TCP/IP for distributed objects, has been lost.

OMG and its supporters argue that given time, CORBA will become a true standard. It's been seven years, and we're still waiting. Why should we believe them now?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有