图解 java ee 6

21
蒋蒋 图图 Java EE 6 GlassFish V3 OnePager 图图图图图图

Upload: aimee

Post on 05-Feb-2016

151 views

Category:

Documents


0 download

DESCRIPTION

图解 Java EE 6. 蒋健. GlassFish V3 OnePager 阅读心得分享. Java 企业应用进入 Java EE 时代. 2007.9. Java 企业应用 GlassFish 是 前沿阵地上的排头兵. GlassFish v1/v2 -> Java EE 5 GlassFish v3(V3 Prelude) -> Java EE 6. Java EE6. Java EE5. v3. V3 Prelu d e. v1. v2. UR1. UR2. v2.1. GlassFish 启动. Tomcat. 2009 .6. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 图解  Java EE 6

蒋健

图解 Java EE 6

GlassFish V3 OnePager 阅读心得分享

Page 2: 图解  Java EE 6

Java 企业应用进入 Java EE 时代

Page 3: 图解  Java EE 6

Java 企业应用GlassFish 是前沿阵地上的排头兵

• GlassFish v1/v2 -> Java EE 5• GlassFish v3(V3 Prelude) -> Java EE

6Tomcat

2005.6 2006.5

GlassFish启动v2v1 v3

2007.9 2009.6

UR1

v2.1UR2

V3 Prelude

2008.11 2008.12

Java EE5 Java EE6

Page 4: 图解  Java EE 6

Java EE 规范和GlassFish

Page 5: 图解  Java EE 6

GlassFish V3 One Pager• Overview and Infrastructure

– HK2, OSGi, Grizzly, Admin infrastructure, Logging, File Layout, Extensibility, Embedded Server, L10n

• Containers and Core Services– Naming and Injection Manager, Resource, Security, Transaction

Service , Scripting, Web, EJB , Metro, Web Service Integration, Jersey Integration, Java EE Service Engine

• Management and Monitoring– Command Line, Admin Console, Monitoring, AMX, MBean

Annotation Library…

• http://wiki.glassfish.java.net/Wiki.jsp?page=V3FunctionalSpecs

开源所开放的不只是源代码。。。

Page 6: 图解  Java EE 6

Servlet 3.0 • Ease of development• Pluggability

– <web-fragment> • asynchronous support

– Server push

@WebServlet(name="mytest",  urlPatterns={"/myurl"}, initParams={ @InitParam(name="n1", value="v1") })

public class TestServlet extends HttpServlet { .... }

Page 7: 图解  Java EE 6

NIO Server• Why NIO Server?

– 解决了 Java-based Server的性能问题– Thread, Request, Connection的新玩法

• Grizzly的新进展– 主外也主内的灰熊– 前置于Web Container– Atmosphere : Comet Framework– GrizzlyAdapter

• ServletAdapter,CometAdapter,OSGiMainAdapter

Page 8: 图解  Java EE 6

Servlet 3.0 老树发新芽

Page 9: 图解  Java EE 6

J2EE without EJB …• Complexity• Entity bean• Less portable• Scalability• No Singleton

• 类 Java Bean的轻量级开发• JPA• 所有主流厂家基于标准的一致支持• 集群,走向成熟• 3.1支持 Singleton

Page 10: 图解  Java EE 6

Java EE without EJB 3?•轻量级的开发

– Annotation,支持 DI– 没有部署描述符

• 让 EJB容器来遮风避雨– 可移植性,事务,安全,性能优化– 管理和监控

• EJB 3.1– EJB with Restful– War的形式部署– No interface

将 iphone仅仅用作mp3?

Page 11: 图解  Java EE 6

JSF • JSF in JEE 6

– Ajax– composite components

• JSF in GlassFish– Mojarra - JSF 2.0 RI– JSFTemplate– FaceTester

<h:outputScript name="ajax.js" library="javax.faces" target="head"/> …<h:commandButton id="button1" value="Count"

onclick="javax.faces.Ajax.ajaxRequest(this, event, {execute: this.id, render: 'out1'}); return false;"/>

Page 12: 图解  Java EE 6

JSF- 封装服务器端和客户端的风景

Page 13: 图解  Java EE 6

Restful - JSR311• Restful in JEE 6

– 更轻量的Web Service– URI表示可对其执行确定操作的资源– 和EJB 3.1的结合

• Restful in GlassFish– Jersey是Rest风格的T恤衫– Restful + JMX用于monitoring

@Stateless@Path("ssb") public class HelloWorldEJB {     @GET     public String hello() {         return “Hello World!" ;     } }

Client client = Client.create(); WebResource webResource =

client.resource("http://localhost:8080/helloapp/resources/ssb");

String result = webResource.get(String.class);

将 Session Bean发布成 RestFul的资源 通过 Jersey在客户端访问 URI

Page 14: 图解  Java EE 6

OSGi• OSGi in JEE6

– 为多数 App Server所采用– 模块化 (design time),物理层面上定义依赖– 动态化 (runtime),热插拔,多版本…

• OSGi in GlassFish– 不一样的 HK2– 所有模块都以 OSGi Bundle的形式提供, update center– 直接部署 OSGi bundleasadmin deploy --type osgi simple-service-api.jar

telnet localhost 6666 Trying 127.0.0.1...Connected to localhost. Escape character is '^]'.Felix Remote Shell Console:

Page 15: 图解  Java EE 6

OSGi 的效果图 ( 未必适合每个人的口味 )

Page 16: 图解  Java EE 6

JMX

• JMX in JEE 6–为应用贴上条码–轻量级的标准统一的管理接口– @MBean, @MXBean

• JMX in GlassFish– AMX (Appserver Management eXtensions) – GMBAL(GlassFish MBean Annotation Library)

• @ManagedObject – JMX+Rest

Page 17: 图解  Java EE 6

GlassFish V3的管理界面

Page 18: 图解  Java EE 6

JEE 6的主题和“秘技”• Annotation• Restful• NIO Server• OSGi

Rightsizing =Flexibility, Focus, Simplification

Page 19: 图解  Java EE 6
Page 20: 图解  Java EE 6

社区因人而生动

Page 21: 图解  Java EE 6

谢谢大家 !

21

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