Java 语言和平台的可伸缩性非常强。在低端,现有的应用程序可以很容易地适应内存资源有限的设备。这种语言是进行服务器端 Web 编程的理想框架。因为它被设计为按照一种安全的方式通过网络运行,在通过互联网进行操作时,它提供了一定程度的安全性。在本质上,Java 技术将用户的计算能力从桌面扩展到了 Web 资源。Web 组件由称为Web 容器(Web container) 的运行时平台支持,Web 容器的服务包括请求分派、安全性、并发性、生命周期管理以及对命名、事务和电子邮件等 API 的访问。在高端,Java 应用服务器(application server) 作为 Java 组件、XML 和 Web 服务的 Web 容器,可以与数据库进行交互并提供动态的 Web 内容;它们还为企业应用程序提供应用程序开发环境,具有事务管理、安全性、集群、性能、可用性、连接性和可伸缩性等功能。
Java 语言是第一批支持企业开放标准的技术之一,支持使用 XML 和 Web 服务跨业务线共享信息和应用程序(参见下面的 Java 技术与 SOA/Web 服务的关系)。Java 技术是许多 IBM 产品和技术咨询服务的核心(参见下面的 Java 程序员可用的 IBM 工具和产品),是 IBM 发展计划的重要部分:
了解关于 IBM 的面向服务架构(SOA) 计划的更多信息,以及 SOA 如何帮助用户构建复合应用程序,从而将来自多个来源的功能组合在企业中以支持横向业务流程。
IBM Business Innovation and Optimization 为战略性调整提供一种基于组件的全面的方法。提供的解决方案基于一个灵活、可扩展、基于开放标准的软件(包括 Java 技术)和硬件基础结构。
Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。大多数 Java 开发人员使用 Java SE 5,也称为 Java 5.0 或 “Tiger”(2006 年 6 月,Java SE 6 或 “Mustang” 发布了 beta 版。)
Merlin 的魔力 系列讨论了以前的 Java SE 平台版本,J2SE 1.4 或 “Merlin”。许多现有的 Java 应用程序基于 J2SE 1.4,而且这个系列中的大多数概念是与 Java SE 5 编程相关的。
Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。
J2EE 探索者 专栏提供关于 Java EE 的知识。
走上开放之路:迁移到 Java 平台 文章系列帮助 .NET、Windows 客户机/服务器和 ASP 应用程序的开发人员迁移到 Java EE 平台。
Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
这个全面的 分四部分的系列 包含两个教程和两篇配套文章,它们集中介绍 J2ME 和 Mobile Information Device Profile(MIDP)。
Java API for XML Processing(JAXP)允许 Java 应用程序独立于特定的 XML 处理实现对 XML 文档进行解析和转换,允许灵活地在 XML 处理程序之间进行切换,而不需要修改应用程序代码。Java API for XML Binding(JAXB)允许在 XML 文档和 Java 对象之间进行自动的映射。(参见分三部分的教程 “利用 Java 技术进行 XML 编程”;还可以阅读 “JAXP 全面介绍,第 1 部分” 和 “JAXP 全面介绍,第 1 部分” 来进一步了解 JAXP; 实用数据绑定 文章系列提供了更多信息;还可以访问 developerWorks XML 专区。)
SOAP with Attachments API for Java(SAAJ)使开发人员能够按照 SOAP 1.1 规范和 SOAP with Attachments note 生成和消费消息。(参见 “技巧: 使用SAAJ发送和接收SOAP消息”;“Java Web 服务进阶” 会帮助您掌握 Java Web Services Developers Pack。)
JavaServer Pages(JSP)允许 Web 开发人员快速地开发和轻松地维护动态的独立于平台的 Web 页面,并将用户界面和内容生成隔离开,这样设计人员就能够修改页面布局而不必修改动态内容。这种技术使用类似 XML 的标记来封装为页面生成内容的逻辑。(参见教程 “JSP 技术入门”;还请参考 JSP 最佳实践 系列,以及 JavaServer Pages 技术专题。)
Standard Tag Library for JavaServer Pages(JSTL)是一个定制标记集合,它以一种标准化的格式启用许多常见的 Web 站点功能。(参见 “使用 JSTL 来更新 JSP 页面” 和分四部分的文章系列 “JSTL 入门”。)
Java Servlets 提供一种基于组件的独立于平台的方法,可以构建基于 Web 的应用程序,同时避免 CGI 程序的性能限制,从而扩展并增强 Web 服务器的功能。(教程 “Java Servlet 技术简介” 可以帮助您了解 Java Servlets。)
J2EE Connector Architecture(JCA)为将 J2EE 平台连接到各种结构的 Enterprise Information Systems(EIS)定义了一个标准的体系结构,它定义了一套可伸缩的安全的事务性机制,使 EIS 厂商能够提供标准的资源适配器,可以将这些资源适配器插入应用服务器中。(参见 “理解 JCA 事务”、“为 EAI 选择 JCA、JMS 或 Web 服务”、“Integrate remote enterprise information systems with JCA, JMS, and Web services” 和教程 “Introduction to the J2EE Connector Architecture”。)
J2EE Management Specification(JMX)为 J2EE 平台定义了一个信息管理模型。根据其设计,J2EE Management Model 可与多种管理系统和协议进行互操作;包含模型到 Common Information Model(CIM)的标准映射,CIM 是一个 SNMP Management Information Base(MIB);还可以通过一个驻留在服务器上的 EJB 组件 —— J2EE Management EJB Component(MEJB) —— 映射到 Java 对象模型。(参见 “从黑箱到企业,第 1 部分: 管理,JMX 1.1 样式”。)
Java Transaction API(JTA)是一个独立于实现和协议的高级 API,它使应用程序和应用服务器可以访问事务。Java Transaction Service(JTS)指定了 Transaction Manager 的实现,它支持 JTA 并在这个 API 之下的层上实现 OMG Object Transaction Service(OTS) 1.1 规范的 Java 映射。JTS 使用 Internet Inter-ORB Protocol(IIOP)传播事务。(参见 “Understanding JTS -- An introduction to transactions”。)
J2ME 中的技术:
Connected Limited Device Configuration(CLDC)是组成资源有限的移动信息设备的 Java 运行时环境的两种配置之一。CLDC 描述最基本的库和虚拟机特性,所有包含 K 虚拟机(K virtual machine,KVM)的 J2ME 环境实现中都必须提供这些库和特性。(参见 “Know no limits: Approaches to mobile device constraints”。)
Mobile Information Device Profile(MIDP)是组成资源有限的移动信息设备的 Java 运行时环境的两种配置之一。MIDP 提供核心应用程序功能,包括用户界面、网络连接、本地数据存储和应用程序生命周期管理。(参见教程 “Implementing Push technology with J2ME and MIDP”;阅读 “Better MIDlets by design”、“Custom GUI development with MIDP 2.0” 和教程 “MIDlet development with the Wireless Toolkit”。)
Mobile 3D Graphics API for J2ME(M3G)是一种轻量的交互式 3D 图形 API,它作为可选的包与 J2ME 和 MIDP 结合使用。(参见分两部分的文章 “针对 Java 移动设备的 3D 图形”。)
developerWorks 无线技术专区 包含许多关于 J2ME 相关技术的文章和教程。
Java 技术与 SOA/Web 服务的关系
面向服务体系结构是一种组件模型,它通过服务之间定义良好的接口和合约将应用程序的功能性单元(称为服务,或 Web 服务)联系在一起。定义接口的方式独立于硬件、操作系统和用来实现服务的编程语言,这使在不同系统上构造的服务可以以统一的通用的方式相互进行交互。SOA 是一种松散耦合的模型,可以替代更传统的紧密耦合的面向对象模型。
产生的 Web 服务可以用 XML 定义业务规则和过程,使软件应用程序可以按照一种独立于平台和编程语言的方式进行通信。XML 技术使数据具有可移植性并促进消息的创建,而 Java 技术使代码具有可移植性。XML 和 Java 语言能够很好地结合在一起,这使它们成为构建和部署 Web 服务的理想组合。
可以通过以下参考资料了解关于 SOA 的更多信息:
developerWorks 上的 SOA and Web services 新手入门 和 XML 新手入门 页面会帮助您开始学习这些复杂的技术。
“Java Web 服务,第 1 部分: Java Web 服务在未来一年内的发展” 启动一个文章系列,这个系列介绍新的 Java Web 服务框架和在 Web 服务上构建的新的功能层。
“SCA application development, Part 1: An overview of Service Component Architecture” 提供了一个关于 Service Component Architecture (SCA) 的文章系列,SCA 是一个规范,它描述一个使用 SOA 构建应用程序和系统的模型。
“服务数据对象简介” 介绍了 Service Data Objects (SDO) 框架,这个框架简化了基于 SOA 的应用程序的 Java EE 数据编程模型。
可以在 IBM Global Services 提供的各种在线、课堂和基于多媒体的 Java 课程 中进行选择。
认证培训
如果您正在考虑对自己的 Java 技能进行认证,那么要参加几个考试。为了帮助您准备考试,我们在 Whizlabs 的朋友编写了分四部分的教程 “Java 认证成功之路”,这些教程讨论了 Sun Certified Java Programmer(SCJP)1.4、Sun Certified Web Component Developer(SCWCD)、Sun Certified Business Component Developer(SCBCD)和 Sun Certified Enterprise Architect(SCEA)。对于 SCJP exam for Java SE 5 的更新,请阅读文章 “Are you SCJP 5 certified?”。“Preparing for the Mobile Application Developer Certification” 帮助您准备 Sun Certified Mobile Application Developer(SCMAD)。
IBM 在 WebSphere 开发(用于企业 Java 应用程序)、IBM Rational 软件、DB2、XML 和 SOA 等相关技术领域提供 专业人员认证。
作为主要的创新者之一,IBM 处于 Java 技术的最前沿。本节介绍 IBM 为 Java 开发人员提供的工具和产品。
免费下载:
Java 应用开发源动力 (IBM J2EE 开发三剑客)套件 —— DB2 Express-C、WebSphere Application Server Community Edition 和 Eclipse IDE —— 这个套件包含了构建和运行简单 Java Web 应用程序和 Web 服务所需要的所有东西。
Java Developer Kits 是 IBM 提供的开发人员工具包,用来在流行的平台上创建和测试 Java SE applet 和应用程序以及 Java ME 应用程序,这些平台包括 Windows、Linux 和 AIX。
IBM Development Package for Eclipse 是一个无支持的基于 Eclipse 开发工具,它使开发人员能够利用开箱即用的开发环境构建和运行 Java 应用程序。
Branch Transformation Toolkit for WebSphere Studio 是一个应用程序框架和一套基于 Eclipse 的专用工具,可以加快多层前端事务性应用程序的构建过程。
WebSphere Message Broker 提供一个高级的 Enterprise Service Bus,为标准和非标准应用程序和服务提供了连接能力和统一的数据转换,使其能够参与 SOA。
IBM Information Management 软件是一个强大的关系数据库管理系统(RDBMS)服务器系列,还包括用于数据仓库、数据分析、数据挖掘、媒体资产管理、企业内容管理和信息集成的软件。IBM Information Management 软件 支持 Java 编程,包括客户机应用程序、服务器端功能以及简化开发和部署的工具:
DB2 UDB 非常适合开放的基于标准的业务。
IBM Cloudscape 是一种轻量的关系数据库引擎(由开放源码的 Apache Derby 数据库支持),它支持复杂的 SQL 事务、容易使用而且不需要用户管理。