glassfish特性介绍

36
1 GlassFish 特特特特 Sun 特特特特特特特 特特 [email protected] 1

Upload: jim-jiang

Post on 01-Nov-2014

4.281 views

Category:

Documents


11 download

DESCRIPTION

 

TRANSCRIPT

Page 1: GlassFish特性介绍

1

GlassFish 特性介绍

Sun 中国工程研究院蒋健

[email protected]

1

Page 2: GlassFish特性介绍

2

日程

● GlassFish 概述– GlassFish 产品路线图– GlassFish 社区介绍– Java EE 平台– GlassFish V2 和 V3 概述

Page 3: GlassFish特性介绍

GlassFish 是什么?水晶一样透明开放,鱼儿一样自由自在

活跃且迅速增长的开源社区 Java EE 的参考实现 企业品质的应用服务器

Page 4: GlassFish特性介绍

Tomcat

2005.6 2006.5

GlassFish 发布v2v1 v3

2007.9 2009.6

UR1

v2.1UR2

V3 Prelude

GlassFish 的产品路线图

2008.10 2008.12

获取最新 GF V3 的 Build: http://download.java.net/glassfish/v3/promoted

Page 5: GlassFish特性介绍

5

GlassFish 增长迅速的开源社区

• GoogleTrends 上唯一处于上升趋势的主流应用服务器

• 超过 7000 个成员

• 12 个月 450 万次下载

• 水族馆博客每天点击逾万

• 每天 350 名用户注册

FY06 FY07 FY08 FY09g

0

1000000

2000000

3000000

4000000

5000000

6000000

7000000

8000000

9000000

10000000

GlassFish Downloads

Page 6: GlassFish特性介绍

6

遍布全球的 GlassFish 使用者

Over 14 million downloads in three years and targeting 9 million this year

中国的下载数量仅次于美国

Page 7: GlassFish特性介绍

7

GlassFish – https://glassfish.dev.java.net/

Page 8: GlassFish特性介绍

GlassFish 和 JBoss 的下载对比

Page 9: GlassFish特性介绍

FishCAT获取早期对产品特性提交反馈和施加影响的机会

来自 18国家的 36社区成员参加了为期 5 周的 GlassFish V3 prelude的 Beta测试,共报告 125个 Bug和 RFE,发出千余封邮件,所有 Bug均在被 fix。 FishCAT充分说明社区的活力和对GlassFish的期望。

Page 10: GlassFish特性介绍

来自 FishCAT 的声音你所喜欢的 GlassFish v3 Prelude 特性?

I really appreciate the embedded capabilities and the availability of EJB 3.1 support - this is important for my projects. The monitoring capabilities look promising as well.

你怎样评价 FishCAT 项目?I really appreciated the instant, amazingly short feedback cycle and the short line to the engineers. It was a pleasure for me to participate.

是否愿意继续参加 FishCAT 并推荐给你的朋友?Absolutely ! Not only friends, but family as well :-)

Page 11: GlassFish特性介绍

GlassFish 和 JavaEE 平台● GlassFish v1, v2 -- Java EE 5 的参考实现

– 第一个通过 Java EE 5 认证的应用服务器● GlassFish v3 -- Java EE 6

Page 12: GlassFish特性介绍

Java EE 5.0 = (J2EE 1.4).next

广泛使用标注 POJO 资源注入

简化开发

Xml, DD Container Interface New, lookup

• JSF1.2: 第一个成为标准的 Web 架构,基于组件快速的可视化开发• EJB3.0: 集中体现 Java EE5 简化开发的思想• JPA: Java ORM 标准, Hiberate, Toplink, OpenJPA 等遵循的统一接口• 更多: JSP2.1, StAX, JAXB, JAX-WS2.0,

Page 13: GlassFish特性介绍

EJB 使用 Annotation 来简化开发

import javax.ejb.Stateless;

@Stateless

public class GreetingBean implements Greeting{public String sayHello(String s) {

return "Hello " + s;

}

}

NEW! Java EE 5

Page 14: GlassFish特性介绍

Context initial = new InitialContext();

Context myEnv = (Context)initial.lookup("java:comp/env");

Object objref = myEnv.lookup("ejb/SimpleConverter");

ConverterHome home =

(ConverterHome)

PortableRemoteObject.narrow(objref,

ConverterHome.class);

Converter currencyConverter = home.create();

对 EJB 引用的简化

NEW! Java EE 5

OLD! J2EE 1.4

@EJB Converter currencyConverter;

Page 15: GlassFish特性介绍

15

JPA 中的 Entity Manager 实体的操作 数据库的增删查改

@PersistenceContext EntityManager entityManager;

public Order createCustomer(String name) {Customer cust = new Customer(); // 创建实体cust.setName(name); // 对实体属性赋值entityManager.persist(cust); // 实体数据写入数据库return cust;

}

@Entity@Table(name=”CUSTOMERS”) // 表名public class Customer { @Id // 键值 int id; String name; @Column(name=“CREDIT”) // 字段名 int c_rating;}

Page 16: GlassFish特性介绍

16

Java EE 6 的主题:整合关键字:灵活,专注,继续简化

● 延展性 (Extensibility)– 边界 , 层次– 可插拔性

● Profiles– A = Servlet container– B = A+ EJB Lite, WebBeans , JTA and JPA– C(full platform) = B+ JMS, JCA,JAX-xxx…

● 剪裁 (Pruning)– “pruned now, optional in next release”– Pruning 备选 : JAX-RPC, EJB Entity Beans…

● SOA 的支持 – SCA (Service Component Architecture)

Page 17: GlassFish特性介绍

重点期待的标准和特性● Servlet 3.0

– 支持异步 (Suspend/Resume , Comet)– 广泛使用 annotation ,不再依赖 web.xml

● JSF 2.1– Ajax 支持, Facelets 的 Page declaration language (PDL) ,– 简化配置,更好的 JSF 组件之间的兼容性

● JAX-RS 1.0– Restful 的 Web Service

● EJB 3.1– EJB Lite ,本地测试, No interface for Session Bean

● 其他– JPA 2.0 , JAX-RS 1.0 , WebBeans 1.0 , Connector Architecture 1.6

Page 18: GlassFish特性介绍

GlassFish V3 Prelude● 基于 OSGi 构建● 小巧快速( 26M )、可伸缩、可插拔● 缺省不含 EJB Container● 嵌入特性● 借助 Update Center 提供产品更新和插件安装● 提供商业支持

Page 19: GlassFish特性介绍

19

日程

● 从各个开发阶段体验 GlassFish 独到特性– 学习实践– 设计选型– Web 应用开发– 测试调试– 管理监控– 升级移植

Page 20: GlassFish特性介绍

详尽的文档和学习资源● 正式文档 (http://docs.sun.com)

– GlassFish v3 prelude(15), Sun App Server 9.1 (21) ,中文 (5)– QuickStart, Installation, Admin Guide, Development Guide,

Deployment guide, Troubleshooting…● Wiki

– http://wiki.glassfish.java.net– 大量的 ScreenCasts, 每周一次的 GlassFish TV

● Java EE 规范– 最快最全面地结合标准– Java EE Tutorial , Java EE SDK, JavaDoc

Page 21: GlassFish特性介绍

进阶和实践的丰富参考● 邮件列表和讨论组

– dev@, user@, quality@ glassfish.dev.java.net– GlassFish China 论坛

● 博客– 水族馆, Miles to Go

● 透明开放的社区– RoadMap, Design doc , Meeting Minutes, Test Case/Test Plan

Page 22: GlassFish特性介绍

快捷地下载安装● 下载

– 无需注册,直接下载– GlassFish V3 prelude(26M),– Java EE SDK , NetBeans 自带

● 安装– 基于 OpenInstaller 的 GUI 安装– 通过 UpdateCenter 下载所需组

Page 23: GlassFish特性介绍

为架构设计提供众多选择● 全面支持 Java EE 规范

– EJB 3.0, JSF 1.2, JAX-WS 2.1…● 流行 Web 架构和应用的成功部署和实践

– Spring , Seam, Struts, Hibernate, Tapestry, Equinox, IBatis,OpenJPA…

– OpenESB, JMaki, jBPM, OpenCMS, Facelets, WebDev…● 支持所有流行的动态脚本语言

– Ruby and Rails, Groovy and GRails, Python/Jython, Django– PHP

• Mod-JK, 纯 Java 的 php 引擎, Native 的 php 引擎– http://glassfish-scripting.dev.java.net

Page 24: GlassFish特性介绍

提速 Web 应用开发● 与主流 IDE 工具的集成

– NetBeans , Eclipse , IntelliJ 的集成– 持续集成工具 Hudson

● 与 NetBeans 结合 Web 开发的最佳体验– 不脱离 IDE ,完成管理和配置– 保存即部署

● 快速部署– 可与 Tomcat 媲美的启动时间– 在重新部署期间保留 Session

● 测试和调试– 嵌入特性– 对日志细粒度的定制、查看和管理

Page 25: GlassFish特性介绍

轻松进行管理监控● 强大易用的管理工具

– 管理控制台和命令行– OSGi 构建,可方便地定制和增加插件– 动态配置,无需频繁重启服务器– JMX 管理内核构建,提供多种方式管理

• 命令行 asadmin, 基于浏览器的管理控制台,• AMX, 标准 JMX 开发接口, JConsole

● 不再需要前置 Apache– 纯 Java 的 Http 服务器 Grizzly 具有和 Apache 一样的性能

● 扩展的管理监控功能– 自管理,自行定制个性化的管理任务 – CallFlow

● 升级工具– 定制、个性化配置– 基于 IPS 的版本管理

Page 26: GlassFish特性介绍

减小移植升级中的负担和风险● 移植工具和指南

– Verification 工具– 提供移植指南和参考移植工具– 众多参考实例– 支持 Tomcat-style valves

● 升级– 统一的生产环境和开发环境,避免额外的开发和测试– Update Center

Page 27: GlassFish特性介绍

27

日程

● 企业品质,开源费用– GlassFish 提供的企业级特性– GlassFish 的关联产品– 业务模式

Page 28: GlassFish特性介绍

担当企业关键应用● 集群

– 简单升级到集群模式– 节点管理

• 拓扑结构随实例增减动态调整– 状态共享

• HTTP session state , Stateful EJB session state , Single Sign-On state , Container state (timers, ...)

• 基于 JXTA(Peer to Peer)• 内存复制 (in-memory replication)

● 高性能– Grizzly– Metro 最快的 Web Services Stack

• 快于 Axis. 被 BEA, IBM 和 JBoss采用– 与商业应用服务器的比较

● HADB– 保证高达 99.999% 的可靠性

Page 29: GlassFish特性介绍

与主流商业应用服务器性能对比在权威的 SpecjAppServer 2004 评测中,GlassFish V2 在 T2000上获得第一高分

Sun BEA IBM JBoss

0

100

200

300

400

500

600

700

800

900

1000

SPECjAppServer 2004 Results

?

测试结果参见:http://www.spec.org/jAppServer2004/results/jAppServer2004.html

Page 30: GlassFish特性介绍

GrizzlyGlassFish 提升性能的秘密武器

• 纯 Java的高效 Http服务器• 替代 Apache处理静态页面• 第一个将 NIO技术扩展到应

用服务器• 非阻塞,异步 IO• 支持 Comet(长时间 Http连

接 )

04/25/1901 08/28/1902 12/29/190704/10/1901 08/07/1902 11/09/190703/11/1901 04/17/1902 07/28/190704/09/1900 04/09/1900 04/09/1900

0

20

40

60

80

100

120 2 CPU 6 CPU 16 CPU2 CPU 6 CPU 16 CPU2 CPU 6 CPU 16 CPU2 CPU 6 CPU 16 CPU

% o

f Tra

ditio

nal I/

O S

core

Page 31: GlassFish特性介绍

Slide 31

Sun 企业软件产品线

应用容器•Ent. App Server•Telco App Server•SailFin, OpenMS, Web Server

数据管理•单一用户视图•数据匹配和索引•MDM, IEP, Mashups

集成和 SOA•ESB, 工作流程•GlassFish ESB, JavaCAPS, FuJi

目录服务•Virtual directory, Security/failover,Data distribution services•OpenDS, Directory Server

身份验证•单点登录、访问管理•OpenSSO, IDM

用户交互平台•Portal, SNS, Wiki, blogs• WebSynergy, SocialSite, Comms Suite

GlassFish 的关联产品

Page 32: GlassFish特性介绍

Slide 32

Open Source

增值特性

增值咨询 增值服务

ArchitectureConsulting

PerformanceTuningService

SNMPMonitoring

PerformanceVisibility Performance

Optimization

SelfManagementRules

24x7Support

HotFixes

CumulativePatches

GlassFish 的商业模式

MigrationServices

Page 33: GlassFish特性介绍

Slide 33

企业级别的品质 开源产品的费用• 2% 花费 Dell, 5% 花费 HP (Oracle)

• 高出 13 倍的性价比

http://www.sun.com/servers/x64/x4150/benchmarks.jsp#3

Page 34: GlassFish特性介绍

Slide 34

blogs.sun.com/stories

Page 35: GlassFish特性介绍

Slide 35

Sailfin GlassFish Communications Server

• 始自 Ericsson 捐赠的源代码• 基于 SIP 协议为 Web 应用提供

电信级的多媒体服务• 为企业会议和呼叫中心提供基

于 Java EE 的解决方案• 活跃的 GlassFish 社区子项目

> 200+ 成员 , 45+ 开发人员• 2009 年 1 月发布 1.5 版

Page 36: GlassFish特性介绍

36

谢谢大家 !

36

家常咖啡http://blogs.sun.com/jiangjian