本文为您提供关于 eclipse 平台的概述,包括其起源和体系结构。本文首先简要讨论 eclipse 的开放源代码性质及其对多种编程语言的支持,然后通过一个简单的程序例子展示 java 开发环境。本文还将考查以插件扩展形式可用的一些软件开发工具,并展示一个用于 uml 建模的插件扩展。
eclipse 是什么?
eclipse 是一个开放源代码的、基于 java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,eclipse 附带了一个标准的插件集,包括 java 开发工具(java development tools,jdt)。
虽然大多数用户很乐于将 eclipse 当作 java ide 来使用,但 eclipse 的目标不仅限于此。eclipse 还包括插件开发环境(plug-in development environment,pde),这个组件主要针对希望扩展 eclipse 的软件开发人员,因为它允许他们构建与 eclipse 环境无缝集成的工具。由于 eclipse 中的每样东西都是插件,对于给 eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于 java 开发工具。尽管 eclipse 是使用 java 语言开发的,但它的用途并不限于 java 语言;例如,支持诸如 c/c++、cobol 和 eiffel 等编程语言的插件已经可用,或预计会推出。eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
基于 eclipse 的应用程序的突出例子是 ibm 的 websphere studio workbench,它构成了 ibm java 开发工具系列的基础。例如,websphere studio application developer 添加了对 jsp、servlet、ejb、xml、web 服务和数据库访问的支持。
eclipse 是开放源代码的软件
开放源代码软件是这样一种软件,它们在发布时附带了旨在确保将某些权利授予用户的许可证。当然,最明显的权利就是源代码必须可用,以便用户能自由地修改和再分发该软件。这种用户权利的保护是通过一种称为 copyleft 的策略来完成的:软件许可证主张版权保护,除非明确授予用户这样的权利,否则用户不得分发该软件。copyleft 还要求同一许可证涵盖任何被再分发的软件。这实际上倒置了版权的目的——使用版权来授予用户权利,而不是为软件的开发者保留版权——copyleft 经常被描述为“保留所有版权”。
曾经四处蔓延的对开放源代码软件的许多恐惧、担忧和疑虑,都与某些 copyleft 许可证的所谓“病毒”性质有关——如果使用开放源代码软件作为您开发的程序的一部分,您将失去自己的知识产权,因为该许可证将“传染”您开发的专有部分。换句话说,该许可证可能要求与开放源代码软件一起打包的所有软件,都必须在相同的许可证之下发布。虽然这对最著名的 copyleft 许可证(即 gnu 通用公共许可证,例如 linux 就是在该许可证之下发布的)来说可能是事实,当时还有其他许可证在商业化和社区考虑之间提供了较好的平衡。
开放源代码计划(open software initiative)是一家非营利机构,它明确定义了开放源代码的含义及满足其标准的认证许可证。eclipse 是在 osi 认可的通用公共许可证(cpl)1.0 版之下被授予许可证的,cpl“旨在促进程序的商业化使用……”(欲获得指向通用公共许可证 1.0 版完整文本的链接,请参阅本文稍后的 参考资料)。
为 eclipse 创建插件或将 eclipse 用作软件开发应用程序基础的开发人员,需要发布他们在 cpl 下使用或修改的任何 eclipse 代码,但是他们可以自由决定自己添加的代码的许可证授予方式。与出自 eclipse 的软件一起打包的专有代码不需要作为开放源代码来授予许可证,该源代码也不需要提供给用户。
尽管大多数开发人员不会使用 eclipse 来开发插件,或创建基于 eclipse 的新产品,但是 eclipse 的开放源代码性质所意味的,并不只是它使得 eclipse 免费可用(尽管便于商业化的许可证意味着插件可能要花钱)。开放源代码鼓励创新,并激励开发人员(甚至是商业开发人员)为公共开放源代码库贡献代码。对此存在许多原因,不过最本质的原因或许是为这个项目作贡献的开发人员越多,这个项目就会变得对每个人都越宝贵。随着这个项目变得更加有用,更多的开发人员将会使用它,并围绕它形成一个社区,就像那些围绕 apache 和 linux 形成的社区一样。
eclipse 是什么机构?
eclipse.org 协会管理和指导 eclipse 正在进行中的开发。在据说 ibm 花了 4000 万美元开发 eclipse,并把它作为一个开放源代码项目发布之后,eclipse.org 协会吸收了许多软件工具提供商,包括 borland、merant、rational、redhat、suse、togethersoft 和 qnx。从那以后还有其他公司相继加入,包括 hewlett packard、fujitsu、sybase。这些公司分别向理事会派了一名代表,这个理事会负责确定 eclipse 项目的方向和范围。
在最高层,项目管理委员会(project management committee,pmc)管理着 eclipse 项目。这个项目被划分为多个子项目,每个子项目都有一名负责人。大型子项目又被划分为组,每个组也有一名负责人。目前,这其中的大多数管理角色都由最初开发 eclipse 的 ibm 子公司 object technology international (oti)的人担任,但是作为一个开放源代码的项目,它欢迎任何人的参与。任何特定部门的职责是通过该部门对项目的贡献来争取的。
现在我们已经考察了 eclipse 背后的一些理论、历史和管理,下面让我们考察该产品本身。
eclipse 工作台
在第一次打开 eclipse 时,首先看到的是下面的欢迎屏幕:
图 1. eclipse 工作台