Communications Server 是兼容 Java EE 5 平台的服务器,用于在大规模生产环境中开发和部署 Web、SIP 及聚合应用程序和基于 Java 技术的 Web 服务。
本章包括:
除支持 Sun GlassFish Enterprise Server 中可用的所有功能之外,Communications Server 还拥有下列新功能。有关 Sun GlassFish Enterprise Server 中功能的列表,请参阅《Sun GlassFish Enterprise Server 发行说明》。
遵循 JSR 289 — Communications Server 包含一个遵循 RFC 3261、3262、3265、3311、3515 和 3903 等的 SIP 堆栈。它还可提供 JSR 289 定义的 SIP Servlet Java API。
升级 — Communications Server 支持从 Communications Server 1.5 升级到 Communications Server 2.0。
聚合 SIP 和 HTTP 会话 — Communications Server 支持按 JSR 289 定义聚合的 HTTP 和 SIP 会话功能。
DCR 插件支持 — Communications Server 支持使用 Java 类插件来配置数据导向规则。
过载保护 — Communications Server 支持基于 CPU 和基于内存的过载保护。
SIP 会话复制 — Communications Server 提供可靠的 SIP 会话故障转移。
滚动升级 — Communications Server 以服务和会话损失最少的方式支持应用程序或服务器的升级。
多宿主支持 — Communications Server 支持两个或更多不同子网间的 SIP 通信,并可提供同一子网中的冗余网络连接。Communications Server 可用于具有多 NIC 的环境。
集成 SIP Servlet 容器 — SIP Servlet 容器提供下列功能:
提供用于侦听 SIP 请求的网络端点;
提供托管和管理 SIP Servlet 生命周期的环境。
SIP Servlet 容器与 Web 容器协同工作,提供按 SIP Servlet API 规范 (SSA) 定义的聚合应用程序支持。
轻松管理 — Communications Server 借助 CLI 和 GUI 使得 SIP 容器和已部署 SIP 应用程序的管理变得容易。
安全性 — 对 HTTP 和 SIP 协议均支持摘要验证。对 SIP 协议支持 P-Asserted-Identity。SIP 容器支持 SIPS over TLS。
聚合负载平衡器 — 聚合负载平衡器 (Converged Load Balancer, CLB) 是一种软件负载平衡组件,可通过在服务器实例群中分发应用程序请求来帮助实现聚合应用程序的高可用性。CLB 提供以下功能:
将 SIP 和 HTTP 请求转发到服务器实例群。
使用连续散列/循环策略来平衡负载请求。
在群集中启用和禁用服务器实例。
监视服务器实例的运行状况。
支持部署 SIP 和聚合应用程序 — Communications Server 支持使用 GlassFish 中的扩展模块机制来部署纯 SIP 应用程序和聚合应用程序。它还支持将 sun-sip.xml 用作 SIP 应用程序的 SUN 专用部署描述符。
NetBeans 工具 — Communications Server 在 NetBeans 6.0 上提供基于 JSR 289 的 SIP Servlet 应用程序支持。可使用测试代理创建简单 SIP 客户端来测试 SIP Servlet。此插件位于 as-install-dir/lib/tools 下。
应用程序路由器部署 — Communications Server 支持使用扩展模块机制来对应用程序路由器归档(JAR 文件)进行热部署。默认情况下,提供的应用程序路由器会按照简单的字母顺序规则来路由请求。
打包和文件布局 — Communications Server 以基于文件的安装程序形式交付。
在 Sun Connection 中注册 — 可以使用安装程序、管理控制台 GUI 或更新中心在 Sun Connection 中注册产品。在 Sun Connection 中注册 Communications Server 后,您可以获得以下好处:
修补程序信息和错误更新
截屏视频 (screencast) 和教程
新闻和事件
支持和培训服务
SuSe Linux 64 位支持
Java EE 5 平台支持-Sun GlassFish Communications Server 实现了 Java EE 5 规范,可以为下一代企业应用程序和 Web 服务提供最佳的应用程序运行时。Communications Server 实现了以下 Java EE 标准:
Enterprise Java Beans 3.0
JAXB 2.0
Java Persistence
Java Server Faces 1.2
Java Server Pages 2.1 (JSP 2.1)
Java Server Pages Standard Tag Library (JSTL) 1.2
Streaming API for XML (StAX)
Web Services Metadata
Java API for XML based Web Services 2.0 (JAX-WS 2.0)
Common Annotations for the Java Platform 1.0 (CAJ 1.0)
Java Servlet 2.5
本说明的后面部分提供了完整的 Java EE 5 平台技术列表。
Web 服务互操作性技术 (Web Services Interoperability Technologies, WSIT) 支持 – Sun 与 Microsoft 密切合作,以确保 Web 服务企业技术(例如消息优化、可靠的消息传送和安全性)的互操作性。WSIT 的初始发行版便是这一通力合作的产品。WSIT 是多个开放式 Web 服务规范的实现,用以支持企业功能。除了消息优化、可靠的消息传送和安全性之外,WSIT 还包括引导和配置技术。从当前 Java 平台上内置的核心 XML 支持开始,WSIT 使用或扩展了现有的功能,并添加了新的对可互操作 Web 服务的支持,其中包括:
引导和配置
消息优化技术
可靠的消息传送技术
安全性技术
JBI 支持-JBI 使用业务集成服务提供者接口 (Service Provider Interface, SPI) 对 Java EE 进行了扩展。开发者可以使用这些 SPI 为 WSCI、BPEL4WS 和 W3C Choreography Working Group 等规范创建或实现 Java 业务集成环境。 JBI 实现由 Communications Server 安装程序直接安装,通常安装在 as-install/jbi 目录中。此目录包含 JBI 的所有通用 JAR 文件和系统组件,其中包括在 Communications Server JVM 中启动 JBI 框架的 lifecycle 模块。
使用情况配置文件-每个管理域都与一个使用情况配置文件关联,此配置文件指定该域的功能。Communications Server 提供以下配置文件:
开发者-如果正在开发环境中运行域,并且应用程序不需要群集功能(例如负载平衡、高可用性和会话复制),请使用此配置文件。请注意,此配置文件的实际名称为 "developer"(区分大小写)。
群集-如果要创建向已部署的 Java EE 应用程序分配可伸缩性和高可用性的应用服务器实例的群集,请使用此配置文件。应用程序的状态持久保存在内存中。请注意,此配置文件的实际名称为 "cluster"(区分大小写)。
开放源代码和 SailFin 社区 — SailFin 社区的宗旨是开发可实现 Java EE 5 平台的最新功能和相关企业技术的免费开放源代码的商业级通信服务器。
更新中心支持-Communications Server 更新中心提供了自动 Communications Server 更新,并允许用户轻松访问其他组件。
本节列出了在安装 Sun GlassFish Communications Server 产品之前必须满足的要求。
下表列出了 Sun GlassFish Communications Server 所兼容的操作系统。
表 2–1 支持的操作系统
操作系统 |
最小内存 |
建议的内存 |
最小磁盘空间 |
建议的磁盘空间 |
JVM |
部署类型 |
---|---|---|---|---|---|---|
Sun Solaris 10 (x86)(32 位和 64 位) |
512 MB |
512 MB |
250 MB 可用空间 |
500 MB 可用空间 |
J2SE 5.0 - 32 位 Java SE 6 - 32 位和 64 位 |
生产 |
Sun Solaris 10 (SPARC)(32 位和 64 位) |
512 MB |
512 MB |
250 MB 可用空间 |
500 MB 可用空间 |
J2SE 5.0 - 32 位 Java SE 6 - 32 位和 64 位 |
生产 |
Red Hat Enterprise Linux 3.0 Update 1、4.0 和 5.x(32 位和 64 位) |
512 MB |
1 GB |
250 MB 可用空间 |
500 MB 可用空间 |
J2SE 5.0 - 32 位 Java SE 6 - 32 位和 64 位 |
生产 |
SUSE Linux Enterprise Server 10(32 位和 64 位) (也支持 SP1 和 SP2) |
512 MB |
1 GB |
250 MB 可用空间 |
500 MB 可用空间 |
J2SE 5.0 - 32 位 Java SE 6 - 32 位和 64 位 |
生产 |
Windows XP Windows Vista Windows 2008 |
1 GB |
2 GB |
500 MB 可用空间 |
1 GB 可用空间 |
J2SE 5.0 - 32 位 Java SE 6 - 32 位和 64 位 |
开发 |
Windows 7 |
1 GB |
2 GB |
500 MB 可用空间 |
1 GB 可用空间 |
J2SE 5.0 - 32 位 Java SE 6 - 32 位和 64 位 |
开发 |
Macintosh OS 10.4、10.5 |
512 MB |
1 GB |
250 MB 可用空间 |
500 MB 可用空间 |
J2SE 5.0 - 32 位 Java SE 6 - 32 位 |
开发 |
OpenSolaris 2009.06 |
512 MB |
1 GB |
250 MB 可用空间 |
500 MB 可用空间 |
J2SE 5.0 - 32 位 Java SE 6 - 32 位和 64 位 |
开发 |
在 UNIXTM 上,可以使用 uname 命令查看操作系统版本。可以使用 df 命令查看磁盘空间。
在任一 Windows 平台上运行 Communications Server 时,建议使用 NTFS 文件系统,而不是 FAT 或 FAT32。
建议 Solaris 10 (x86, SPARC) 用户安装“Sun 推荐的修补程序群集”。可在 SunSolve Web 站点上的“推荐的修补程序和安全修补程序”下找到该修补程序群集。
Communications Server 需要的最低(并且经过认证)JDK 版本是 1.6.0_7。
如此处所述,可以通过编辑 asenv 文件切换到支持的 Java SE 版本。
如果尚未这样做,请在系统上安装新的 Java SE 版本。
可以从 http://java.sun.com/javase 下载 Java SE SDK
停止 Communications Server 域。
编辑 as-install/config/asenv.conf 文件(在 Windows 上是 asenv.bat),将 AS_JAVA 的值更改为指向新的 Java 主目录。
编辑 as-install/samples/common.properties 文件,将行首 com.sun.aas.javaRoot... 更改为引用新的 Java 主目录。
重新启动 Communications Server。
SailFin JAR 安装捆绑的 Ant 版本为 1.6.5。要构建自定义的“应用程序路由器”应用程序,则需要 Ant 1.7,该版本需另行下载。
表 2–2 列出了满足 Java EE 兼容性要求的数据库和驱动程序。所有受支持的 Sun GlassFish Communications Server 配置必须至少包含一个来自此表的数据库/驱动程序组合,例如捆绑的 Java DB 数据库和驱动程序。此外,Communications Server 支持使用相应的 JDBC 驱动程序与任何其他 DBMS 进行 JDBC 连接。
表 2–2 兼容 Java EE 的 JDBC 驱动程序
JDBC 驱动程序供应商 |
JDBC 驱动程序类型 |
支持的数据库服务器 |
---|---|---|
Derby Network Client |
类型 4 |
Derby 10.2 |
DataDirect 3.6.x, 3.7.x |
类型 4 |
Oracle 10g Oracle 9i Sybase ASE 12.5, 15 MS SQL 2000、2005 DB2 9.1 DB2 8.1、8.2 |
MySQL Connector/J Driver 5.1.6 |
类型 4 |
MySQL 5.0 |
Oracle 10g、11g |
类型 4 |
Oracle 10g、11g -RAC |
PostGres |
类型 4 |
8.2.x |
一般情况下,Communications Server 支持符合 Java EE 规范的所有 JDBC 驱动程序。
对于基于文件的安装,Message Queue 4.4 随 Communications Server 一起提供。
(通常)只参照同等版本的 Message Queue 代理对作为 Communications Server 一部分提供的嵌入式 Sun GlassFish Message Queue 代码进行测试和认证。这意味着,不支持使用所提供的嵌入式 Message Queue 代码来连接到运行其他版本的 Message Queue 代码的远程(不是由 Communications Server 管理)Message Queue 代理。
本节列出了 Sun GlassFish Communications Server 2.0 所支持的浏览器。
表 2–3 支持的 Web 浏览器
浏览器 |
版本 |
---|---|
Mozilla |
1.7.12 |
Internet Explorer |
6.0 Service Pack 2, 7.0 |
Firefox |
2.x、3.x |
Safari |
3.x、4.x |
Netscape |
8.0.4, 8.1, 9.0, 9.0.x |
安装 Sun GlassFish Communications Server 软件之前,必须满足以下附加要求。
可用空间:临时目录必须至少有 35MB 可用空间,才能安装 Sun GlassFish Communications Server。
使用卸载程序: 如果需要从系统中删除 Communications Server,必须使用此软件中包含的卸载程序。如果尝试使用其他方法,则在试图重新安装同一版本或安装新版本时将出现问题。
可用端口: 必须有七个未使用的可用端口。安装程序将自动检测使用中的端口,并为默认域推荐当前未使用的端口。默认情况下,初始默认端口如下:
8080(用于 HTTP) ;8181(用于 HTTPS)
3700(用于 IIOP);3820(用于 IIOP/SSL) ;3920(用于具有相互验证的 IIOP/SSL)
4848 (HTTP)(用于 Administration Server)
8686 (RMI) 端口(用于纯 JMX 客户机)
关闭防火墙 (Microsoft Windows)-在安装 Sun GlassFish Communications Server 软件之前,必须停止所有防火墙软件,因为默认情况下某些防火墙软件会禁用所有端口。安装程序必须能够准确确定哪些端口可用。
Sun GlassFish Communications Server 2.0 支持 Java EE 5 平台。下表列出了 Java EE 5 平台上可用的增强 API。
表 2–4 Java EE 5 平台上的主要 API 更改
API |
JSR |
---|---|
Java EE 5 |
|
Web 服务技术 |
|
Implementing Enterprise Web Services | |
Web Service Metadata for the Java Platform | |
组件模型技术 |
|
管理技术 |
|
其他 Java EE 技术 |
|
Common Annotations for the Java Platform | |
更新中心提供自动的 Communications Server 更新,使用户可以轻松访问其他组件。
更新中心启用后,便会执行自动软件更新。在此自动更新过程中,更新中心将收集以下数据并将其传送给 Sun Microsystems(或其服务提供者):
唯一安装 ID (Unique installation ID, GUID)
IP 地址
操作系统信息(名称、版本、体系结构、语言环境)
JDK 版本
模块下载信息(模块名称、日期、时间、状态、下载时间、已下载的字节数)
将不会跟踪个人识别信息。也不会将个人识别信息与其他任何数据关联,或用于生成报告。
为确保明确同意使用自动更新,默认情况下禁用更新中心。要启用更新中心以执行定期检查和自动更新,请执行以下操作:
启动更新中心。
在 Unix 上:<installdir>/updatecenter/bin/updatetool
在 Windows 上:<installdir>\updatecenter\bin\updatetool.bat
选择“首选项”选项卡。
在“更新计划”窗口中,将“检查更新”下拉框的值从“从不(手动)”更改为所需的值。例如,每天或每周。
指定需要在每周的哪天以及每天的什么时间进行更新。
选择“保存”按钮以保存更改。
更新中心现在将根据指定的计划,自动检查 SailFin 或 Communications Server 组件的更新。当更新可用时,更新中心将启动,并通知您可进行更新的组件。
有关 WSIT 状态的详细信息,请参阅 WSIT 状态注释页。