前言
过去几年,Sun Microsystems 最让同业『津津乐道』的事情,莫过于Sun
运用其优越的技术能力研发了Java 技术,可是却从来没有能从Java 身上获取
庞大的利益。最具市场价值的企业级应用程序服务器(Application Server),分
别由Bea System 的WebLogic 与IBM 的WebSphere 独大;而开发工具的市
场,则以Borland 的JBuilder 为大宗。曾经有朋友这样问笔者:『Sun 在Java
这项技术上,到底靠什么赚钱呀?』,其实,Sun 在Java 这个技术上,除了赚取
微薄的技术授权费,或者协助其它厂商做技术咨询之外,还真的从未在Java 技
术上有过什么丰厚的营收。或许这是一家过去皆以硬件为基础的公司都会有的毛
病 - 认为软件只是硬件的附属品。现在,Sun 要开始全力以『Java 元祖』的身
分,告诉大家,不管是企业级的服务器或是开发工具,只有Sun 所出品的,才
是正宗的Java 产品。
Sun 在Java 的品牌策略
Sun 将旗下的所有软件产品,区分成Java 与Java System 两大类。
品牌
网址
Java
Java 开发者入口网站 http://java.sun.com/
应用入口网站 http://www.java.com(有繁体中文)
开发社群入口网站 http://www.java.net
Java System
http://wwws.sun.com/software/javasystem/index.html
其中,Java 这个品牌,所代表的是具有公开业界规格(JCP,Java Community
Process,http://www.jcp.org)以及开放原始码的免费开发工具与产品。而
Java System 所代表的是符合企业需求,具有效能以及稳定性的付费开发工具
与产品。
Java 品牌
在Java 的品牌底下,区分成J2EE(Java 2 Enterprise Edition)、J2SE(Java
2 Standard Edition)、J2ME(Java 2 Micro Edition)、Java Card 四种平台。
J2SE(http://java.sun.com/j2se/index.jsp)是所有Java 技术的基础,细
部区分成Core Java (http://java.sun.com/j2se/corejava/index.jsp)与
Desktop Java (http://java.sun.com/j2se/desktopjava/index.jsp)。
不管开发人员要开发任何平台的Java 应用程序,都必须先从J2SE 的Core
Java 学起,因为Core Java 所代表的是Java 技术的核心知识。当开发者对
Core Java 所包含的技术有所认识之后,接下来如果要开发桌上型平台的应用
程序,就可以学习Desktop Java 技术。Desktop Java 包括底下几种技术:
技术属性 技术名称
组件技术 JavaBeans
GUI 程序开发 AWT(Abstract Window Toolkit)
JFC(Java Foundation Class,包括Swing、Java 2D、
Accessibility、Internationalization)
多媒体 Java Sound API
JMF(Java Media Framework)
Java 3D
JAI(Java Advance Imaging)
其它 Java Speech API
Java Help System
在J2SE 部分,Sun 提供免费的开发工具Java 2 SDK,此工具目前提供Windows
32-bits/64-bits、Java Desktop System(Linux) 32-bits/64-bits、Solaris Sparc
32-bits/64-bits、Solaris x86 32-bits 八种平台的版本。
注意
其它平台也会提供自己的Java 2 SDK,例如IBM 的AIX、HP 的HP-UX、MacOS X、FreeBSD等,都会有非官方提供,但是却兼容于标准Java 2 SDK 的Java 2 SDK。
由于Java 2 SDK
提供的是命令列环境下的开发工具,对大多数的开发者来说,
使用难度太高。因此,需要免费高阶开发工具的开发者,可以采用
NetBeans(http://www.netbeans.org)这套开放原始码的高阶开发工具,目前
提供Windows、Solaris x86、Solaris Sparc、OpenVMS、MacOS X、Java
Desktop System(Linux)六种平台的版本。
注意
NetBeans 使用纯Java 撰写而成。上述所列的平台,NetBeans 官方网站都提供各平台的安装程序。但是并不是只有上述平台才能执行NetBeans。基本上只要该平台提供与标准Java 2SDK 兼容的Java 2 SDK,就可以执行NetBeans。
Sun 官方网站也提供NetBeans 与Java 2 SDK 合并在一起的版本。以方便开发
者。J2EE(http://java.sun.com/j2ee/index.jsp)技术着重于企业端(伺服端)的
应用,所包含的技术包括:
技术属性 技术名称
网络服务 JAXP(Java API for XML Processing)
JAXR(Java API for XML Registries)
JAX-RPC(Java API for XML-based RPC)
SAAJ(SOAP with Attachments API for Java)
展示层 Servlet
JavaServer Pages
JavaServer Faces
企业逻辑层 Enterprise JavaBeans
管理 J2EE Deployment
J2EE Management
J2EE Client Provisioning
J2EE Authorization Contract for Containers
其它 Java Message Service
J2EE Connector Architecture
Sun 官方提供的标准J2EE 开发工具为J2EE SDK,官方提供Windows、Java
Desktop System(Linux)、Solaris Sparc 三种版本。
如果您需要开发符合J2EE 1.3 规格的J2EE 应用程序,那么您可以使用J2EE
1.3 SDK,或是下载Sun 的企业级应用程序服务器Java System Application
Server 7 Platform 版。如果您需要开发符合J2EE 1.4 规格的J2EE 应用程序,
那么您可以使用J2EE 1.4 SDK。过去J2EE SDK 与Java System Application
Server 是两套独立的产品,造成Sun 需要花费两倍的人力来维护,从J2EE 1.4 开
始,J2EE 1.4 SDK 指的就是Java System Application Server 8 Platform 版。
如果您对效能和稳定度的需求更高,可以另外下载需要收费的Java System
Application Server 8 Standard/Enterprise 版。
J2ME(http://java.sun.com/j2me/index.jsp)主要针对嵌入式系统,包括
手机、PDA 等。J2ME 细分成CDC(Connected Device Configuration)与
CLDC(Connected Limited Device Configuration)两种。CLDC 针对CPU
较弱、内存较少、电力资源较少的硬件装置而设计。CDC 则使用在硬件条件
较佳的装置上。Sun 针对J2ME 的每项技术都提供阳春的SDK,针对手机应用程
式的开发,则提供免费的J2ME Wireless
Toolkit(http://java.sun.com/products/j2mewtoolkit/index.html),J2ME
Wireless Toolkit 与其它标准SDK 都可以在Windows、Java Desktop
System(Linux)、Solaris Sparc 三种平台下执行。
注意
J2ME Wireless Toolkit 提供繁体中文版。
Java Card(http://java.sun.com/products/javacard/index.jsp)技术
用来开发可以植入在IC 智能卡之中的应用程序(Card Applet)。Sun 官方的开
发工具只提供简单的开发工具与仿真工具,如果要开发真正的Card Applet,
开发者最好购买IC 卡制造商所提供的商业开发套件。
NetBeans
NetBeans(http://www.netbeans.org)是一套完全以Java 撰写而成、并
且开放原始码的开发工具。就算NetBeans 官方网站不提供某个操作系统的
NetBeans 安装程序,只要在操作系统中有Java 2 SDK(不管官方版本的或是其
他厂商的兼容版本),就能够执行NetBeans。NetBeans 还提供超过11 国语言
的版本(有简体中文版,没有繁体中文版)。
对大多数来说,NetBeans 是一套整合开发环境(IDE),但实际上NetBeans
分成两大部份,分别是NetBeans Platform 与NetBeans IDE。NetBeans
Platform 是一套函式库,里面提供了各种开发IDE 所需要的底层基础建设,
NetBeans 的开发团队都是先开发NetBeans Platform,然后才根据这个基础建
设来发展NetBeans IDE。所以我们可以说,NetBeans Platform 是一个用来开
发整合开发环境的平台,任何人都可以使用这个基础建设来发展自己的整合开发
环境,而一般程序设计师所使用的NetBeans IDE,只是根据NetBeans Platform
所发展出来的一个整合开发环境实作品而已。
NetBeans
NetBeans Platform
NetBeans IDE
有许多不习惯使用NetBeans 的人质疑为何Sun 选择NetBeans 作为官方
Java 标准开发工具的基础,而不是其它厂牌的开发工具。其实Sun 的研发团队
在选择官方开发工具的时候,花了很多心思研究到底哪一个开发工具最能展现
Java的本质,只有NetBeans 赢得了Visual Java 2 SDK(可视化的Java 2 SDK)
的美名,这是因为NetBeans 的开发完全是以Java 的观点来看世界,而其它开
发工具还是留有Visual Basic、Delphi 等开发工具所遗留下来的操作观念。因
此选用NetBeans 有好有坏,坏处是过去习惯于Visual Basic、Delphi 等开发
工具的人,很难容入NetBeans 所造出来的开发世界,也因而比起Borland
JBuilder,NetBeans 的普及程度稍为弱了些。但是好处是,NetBeans 强化了
『Java 是一个平台』、『Java 本身就是一个操作系统』的观念。当开发者看到
NetBeans 左上方的Explorer 窗格,再看到 『Mount』这个动词时,有没有更
深刻的体会『Java 是一个全新开发平台』这样的想法呢?
对NetBeans 有兴趣的朋友,请参考O’Reilly 所出版的NetBeans: The
Definitive Guide 一书。
Java System 品牌
在Java System 的品牌底下,商用的J2SE 平台叫做Java Desktop
System。而商用J2EE 平台则称作Java Enterprise System。J2ME 的商用对应
产品是Java Mobility System。Java Card 的商用对应产品则命名为Java
Card System。在撰写本文时,只有Java Desktop System、Java Enterprise
System 有具体的产品。其余两者都还在酝酿之中。这些商用Java 平台的官方
开发工具,统称Java Studio,Java Studio 针对J2SE、J2EE、J2ME 都有对应
的版本。整个Java System 的架构如下图所示:
N1
SolarisTM on SPARC/x86 Linux
接下来,我们分别针对现有的Java Desktop System、Java Enterprise System
以及Java Studio 做讨论。
Java Desktop System
Java Desktop
System(http://wwws.sun.com/software/javadesktopsystem/index.html)
是一套以Suse Linux 与Gnome 桌面系统为基础的操作系统。其主要目的是要
取代Windows,成为企业里稳定、低价的操作系统。
在Windows 上有的杀手级软件,在Java Desktop System 上面一样有。包括
内建Java 2 SDK,让终端使用者不用再另外安装Java 执行环境就能执行Java
应用程序;内建Mozilla 浏览器,让习惯使用IE 浏览器的使用者可以享受速度更
快的浏览器;内建StarSuite 7(也称作StartOffice),提供一个MS Office 的替
代品。
Java Enterprise System
Sun 的企业级软件产品,过去叫做iPlanet,后来再改名为Sun ONE(Sun
Open Network Environment),现在全面统一名称,在所有的软件产品前都加
上Java System 两个字。然而,这些产品之前有一些相依性,使得在过去要安
装与使用这些软件,都必须有一定的基础知识。
现在,Java Enterprise System
(http://wwws.sun.com/software/javaenterprisesystem/index.html)整合
了过去Sun 旗下所有的服务器产品,变成一个单一的软件产品。所有的企业级
软件都有一致的安装接口,安装者只要顺着安装程序的指示,就能一次装好所有
的软件,并设定好这些软件之间的相依关系。
Java Enterprise System 十几种服务器软件,我们整理如下:
分类 软件名称
网络识别服务 Java System Directory Server (5.2)
Java System Identity Server (6.1)
Java System Directory Proxy Server (version 5.2)
Java System Administration Server (version 5.2)
Web 应用程序服务 Java System Application Server (7 update 1, PE
and SE)
Java System Web Server (version 6.1)
Java System Message Queue (version 3.0.1 SP2)
整合与通讯服务 Java System Messaging Server (version 6.0)
Java System Calendar Server (version 6.0)
Java System Instant Messaging (version 6.1)
Portal 服务 Java System Portal Server 6.2
(S1AS7 or Java System Web Server. WebLogic and
WebSphere)
Java System Portal Server, Secure Remote Access
丛集服务 Sun Cluster Server (version 3.1.0)
Sun Cluster Directory Agent
目前最新Java Enterprise System 的版本为2004Q4 版(也叫做Release 1),
只提供Solaris Sparc 与Solaris x86 两种版本。未来Release 2 版将会提供Linux
版,并整合Portal Server, Mobile Access 这套产品进来。到了Release 3 版,
将加入Java System Application Server Enterprise Edition 与Active Server
Pages 服务。再来的版本也将提供Windows 平台的版本。欲参考未来的发展,
请参考
http://wwws.sun.com/software/javaenterprisesystem/roadmap.html
高阶Java 开发工具
Sun 官方的Java 开发工具,统称Java Studio
(http://wwws.sun.com/software/javasystem/javastudio/index.html)。
这套开发工具换过很多名称,最早以前叫做Forte for Java,后来改名叫Sun
ONE Studio,一直到现在终于统一名称叫做Java Studio。目前最新的版本为
Java Studio 5,是直接从Sun ONE Studio 5 而来,如果读者看到Sun ONE
Studio 7 与8 这两个版本,请不要搞混了,Sun ONE Studio 7、8 是 用来开发
C/C++应用程序的版本,与Java 无关。往后与Java 相关的官方开发工具只有
一个名称,就是Java Studio。Sun 官方分别提供Java Studio 的Solaris / Linux
/ Windows 三种版本。
目前,Java Studio 共分成几种层级,分别是:
Java Studio Micro Edition(提供Solaris Sparc、Linux、Windows 三种版本)
(http://wwws.sun.com/software/sundev/jde/studio_me/index.html)
Java Studio Standard Edition(提供Solaris Sparc、Linux、Windows 三种版
本)
(http://wwws.sun.com/software/sundev/jde/index.html)
Java Studio Enterprise Edition(提供Solaris Sparc、Solaris x86、Windows
三种版本)
(http://wwws.sun.com/software/javastudioenterprise/index.html)
Java Studio Creator(提供Solaris Sparc、Linux、Windows 三种版本)
http://wwws.sun.com/software/products/jscreator/
四种版本。Java Studio Creator 就是传说中的Project Rave。
Java Studio Micro Edition 大致上是把NetBeans IDE 和J2ME Wireless
Toolkit 结合在一起的产品。可以方便J2ME 应用程序的开发者更容易追踪问题
与除错。至于Standard、Enterprise、Creator 三种版本,都能够用来开发J2SE
与J2EE 应用程序,这三者最大的差别就在于所针对的开发族群以及对于Sun 企
业级Java 产品的支持程度。
Creator 和Standard 两种版本是同一种等级的产品,除了J2SE 应用程序
的开发之外,它们与NetBeans IDE 的最大差别就在于J2EE 应用程序开发的支
援。Creator 和Standard 两种版本在安装后都会附带安装J2EE SDK(Java
System Application Server),并提供专门的Plug-in,让开发者可以直接在整
合环境中进行开发、除错、整合、部署、测试这些工作。而Enterprise 版所针
对的目标更大,除了上述两种版本所拥有的功能之外,Enterprise 版针对需要开
发Java Enterprise System 应用程序的开发人员所设计,所以不只涉及了J2EE
应用程序的开发,还包括了如何开发Portal Server 上的应用程序、整合Web
Server、Directory Server、与Identity Server。所以三者所针对的开发范围如
下图所示:
Java Enterprise System
Java System
Application Server
Java Studio Standard Java Studio Standard
Java Studio Enterprise Java Studio Enterprise Java Studio Creator Java Studio Creator
(Project Rave) (Project Rave)
虽然Creator 和Standard 属于同一种等级,所能做到的功能类似,但是他们
针对的开发者族群不同。Standard 针对的是传统的Java 开发者;Creator 则
是针对过去使用过Visual Basic或Delphi 这类开发工具的使用者,冀望Creator
可以降低Java 程序开发的门槛,并提供一个更简单的开发环境。
我们把Java Studio 的四种版本做个整理,如下图所示:
接下来我们针对Standard、Creator、与Enterprise 三种版本做细部说明。
Java Studio Standard Edition
Java Studio Standard Edition 根植于NetBeans IDE,并在J2EE 应用程
式的开发上与以加强,如下图所示:
Java Studio Standard
NetBeans IDE
J2EE Support
Plug-in for Java System Application Server
Sun ONE Application Framework
Java Studio Standard Edition 在J2EE 的加强方面,包括加入了可以与Java
System Application Server 整合的Plug-in,让J2EE 开发者不用离开整合环
境,就能够直接部署、除错、与测试J2EE 应用程序。
另外,Java Studio Standard Edition 还加入了对Sun ONE Application
Framework 的支持。
Sun ONE Application Framework
(http://wwws.sun.com/software/products/application_framework/hom
e_app_framework.html)是一套企业级的J2EE 应用程序框架,其目的是为了
让系统开发者能够用更简单快速的方法融入J2EE Design Pattern 于所开发的
系统之中。因此Java Studio Standard Edition 对于Sun ONE Application
Framework 所提供的可视化组件有非常良好的支持。对Sun ONE Application
Framework 有兴趣的朋友可以参考文章:
Introducing Sun ONE Application Framework in Sun Java Studio Standard
http://developers.sun.com/tools/javatools/articles/afintro.html
Java Studio Creator
Java Studio Creator 并非直接使用NetBeans IDE,而是采用NetBeans
Platform 为基础,所发展出来的一套全新整合环境。因此在外观上,不会像Java
Studio Standard Edition 一般与NetBeans IDE 极为相似。其架构如下图所示:
为了让过去习惯于Visual Basic、Delphi 开发环境的开发者能够快速进入Java
程序设计领域,Java Studio Creator 除了加入了对J2EE SDK 的整合之外,在
Web 应用程序的开发上,特别加强对JavaServer
Faces(http://java.sun.com/j2ee/javaserverfaces/index.jsp)的支持,让开
发者可以用随拖即放的方法来开发Web 应用程序:
图:拖放Web 应用程序外观的开发画面
图:根据所设计的画面,Java Studio Creator 自己所产生的JSP 原始码
图:填写事件处理函式的开发画面
另外一个开发者最重视的问题,就是如何能够让应用程序与资料来源快速地
结合,毕竟资料才是应用程序的核心,在.net 的世界里,存取资料最重要的技
术就是ADO.net,在Java 的世界里,对等的技术为JDBC Rowsets
(http://java.sun.com/products/jdbc/index.jsp)。Java Studio Creator 加
强了对JDBC Rowsets 的支持。
Java Studio Creator 将使得Java 应用程序的开发迈向一个新的里程碑。
Java Studio Enterprise Edition
Java Studio Enterprise Edition 根植于Java Studio Standard Edition,
其目的是为协助开发者开发以Java Enterprise System 为平台的应用程序。除
了具有Java Studio Standard Edition 所有的功能之外,Java Studio
Enterprise Edition 将Java System Connector Builder 与Java System
Portlet Builder 两项开发工具整合进来,其架构如下图所示:
在安装Java Studio Enterprise Edition 时,除了既有的
Java System Application Server 之外,还会自动帮我们安装
Java System Directory Server
Java System Identity Server
Java System Web Server
Java System Portal Server
这几项服务器软件。Java Studio Enterprise Edition 的安装程序提供我们一个
整合的安装程序,开发者不必额外安装这些重要的服务器软件。
Java System Connector Builder
http://wwws.sun.com/software/products/connector_builder/home_co
nnector_builder.html 的主要功能是拿来建立以SOAP 为基础、并符合J2EE
Connector Architecture (J2EE CA)的Connector 软件。而Java System
Portlet Builder 则用来开发符合JSR-168 Portlet 规格之Portlet 的开发工具。
Java Studio Enterprise Edition 可以让开发出来的Portlet 轻易地部署到Java
System Portal Server 之中,并进行测试工作。对Java Studio Enterprise
Edition 有兴趣的朋友可以参考文章:
Sun Java Studio Enterprise
http://developers.sun.com/prodtech/javatools/reference/techart/jseintro.html
结语
在Java 的世界里,Sun 刻意地只定义技术规格,实作的部份给予每家厂商
极大的自由度,使得Java 技术发展的多采多姿。就拿整合开发环境(IDE)来讲,
从便宜且较简单的UltraEdit,中型轻量级的如JCreator、Gel、NetBeans,
大型且功能超强的Eclipse、IntelliJ,到商业开发工具如Borland JBuilder、
Oracle JDeveloper、Sun Java Studio、BEA WebLogic Workshop,林林总
总简直令人眼花撩乱。如此自由发展的局面,从坏的角度来看,会让初学者无所
适从,而且每种特定开发工具的操作经验,很难平顺地转移到其它开发工具上。
但是往好的角度看,这是一个讲究自由的社会,如果某种技术只有一两家厂商提
供专属的开发工具,那么开发者等于被这些厂商掐住脖子,一旦这些开发工具有
了重大缺陷,开发者才会知道什么叫做求助无门。此时Java 阵营多样化的特色
就变成了很有价值的优点。
目前Sun 对Java 的既定政策之ㄧ,就是让Java 程序更容易开发(Easy of
Development)。为了破除一般工程师普遍认为『Java 进入门槛过高』、『Java
只有高阶开发人员才能够使用』的迷思,Sun 将在开发工具上更加努力,让更多
人可以利用Java 更容易地开发出各种类型的应用程序。为了顾及已经习惯传统
开发方式的使用者,Sun 持续维护Java Studio Standard / Enterprise 这条产
品线;而针对过去习惯Visual Basic 与Delphi 这类开发工具的开发者,Sun 硬
是卯足全力开发Java Studio Creator。另外,Java 的爱好者也将在2004 年
看到期待已久的Java 2 SDK 1.5,这个版本的Java 2 SDK 家将入许多有趣的新
功能,例如泛型(Generic)、Metadata、Static Import、Boxing / Unboxing
等重大功能,这些功能不但对开发人员本身具有魔力,也能够强化开发工具的设
计,相信2004 年开始,将是Java 开发工具有重大突破的元年。请大家拭目以
待。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Silencewind/archive/2005/02/06/282624.aspx