Java平台——具备可扩展GlassFish应用服务器v3的JavaEE6的架构师Jerome Dochez和工程师Mahesh Kannan详细介绍了即将推出的GlassFish v3,该产品现在可作为预览版下载。
对于那些过去四年里一直处于沉睡状态的人来说,GlassFish是由Sun公司赞助开发的JavaEE开源应用服务器。GlassFish v3是对v2版本的主要性能的重新诠释。它操作简单,具有基于OSGi的可扩展核心,带有一个网页和脚本容器以及一个用于配置和管理的控制台。你可以在来自NetBeans 6.7的GlassFish v3上进行开发和部署。GlassFish v3应用服务器与JavaEE6一道组成了服务器端Java平台的基石。
GlassFish是JavaEE引用执行,Douchez一开始就解释了JavaEE 6的性能怎样一步步引导他们走向了GlassFish。
配置文件
配置文件主要是有关JavaEE技术中最重要开发性能的内容。第一类就是Web Profile。未来的配置文件将在Java Community Process中定义。目的是推动同类程序员的工作效率——也就是说提高使用服务应用内部注释的能力而不是编写复杂的XML文件。
由于GlassFish是引用型执行,它必须用JavaEE 6为不同的配置文件提供不同版本的GlassFish。这种制约增加了为GlassFish3采用模块化结构的倾向。
简化开发
业界一直关注如何通过JavaEE简化开发过程。JavaEE 6通过使用所有网络API,减少或消除部署描述符的需求,允许第三方库自主注册,简化数据包,提供用于RESTful网络服务的JAX-RS以及从整合各个技术这几个方面来解决大家在开发方面的顾虑。
嵌入性
你可以使用简单的EJB容器作为JavaEE 6应用内部的嵌入式容器。此外整个GlassFish v3应用都是可嵌入的,因此我们可以通过其API启动或停止GlassFish。
GlassFish v3向所有的Java虚拟机技术开放,特别是JRuby/Rails。Ruby程序员的一个优势在于他们不需要将Ruby应用部署成WAR File。相反,GlassFish v3可以直接援引JRuby注释并在无需修改的情况下,本地部署Rails应用。除了具备多个运行时的部署选项以外,GlassFish v3还提供JRuby运行时池的动态调整。因此,GlassFish能在高负荷的时候运行良好,而在低负荷的时候能以最少的资源消耗运行。
有了这个新版本,你就可以通过其API扩展GlassFish的功能,并通过Admin 控制台发布这些功能。此外,你还可以以动态的方式向平台添加功能而不需要重启。扩展性可以通过API来获得,它可以替代或扩展性能。OSGi也提供了能用来扩展OSGi运行时的扩展性能。
GlassFish v3中模块化设计的一个方面就是基于服务的架构。服务由协议定义,协议的执行相对而言容易一些。基于服务的架构也允许基于使用模式的延迟加载。
模块性
为GlassFish v3扩展功能要求有新的,模块化的架构。GlassFish v3的模块化性能基于OSGi。OSGi基于服务的架构使得这些组件可以动态发现彼此并进行协作。新架构的微内核是很小的。因此GlassFish v3是轻量级的部署平台,它可以快速被启动且占用的资源很少,因为它会使用延迟加载来启动那些仅仅被要求使用的服务。例如,如果你的应用不使用EJB容器,它就不会被加载。
许多小模块可以被视为大量的机动部件,而GlassFish v3按照170束的量传输。即便是拥有这样数量的模块,GlassFish的启动也是很快的。技术人员希望能将数量从170减少到100。
开发项目的时候需要强大的创建工具,这主要考虑到传输的复杂性。GlassFish团队使用的是Maven来简化创建过程,该工具是Apache用于Java项目的创建管理器。
嵌入式API
GlassFish v3具备嵌入式API,可以用它们来启动和配置应用服务器。这意味着你可以用Java平台,JavaSE应用来启动和停止GlassFish容器。开发团队对GlassFish应用进行测试的时候,他们使用的是Maven中的技巧,Maven本身就是一个JavaSE应用。可以用Maven制造一个GlassFish v3插件来进行测试。
运行时
170个GlassFish v3数据包被分成三种类型:内核,服务和容器。内核提供了 启动/关机 序列,以及基本服务,如部署和配置读取等。内核数据包组成了中心分布:最不可能出现的GlassFish分布。它没有容器,也没有任何运行程序的能力,所占空间约3M大小。
核心数据包上的是服务数据包,它们能提供垮容器的功能,如安全性,命名管理器和Admin控制台。
容器数据包在位于前两者之上。容器数据包提供了独立的容器,这些容器可以控制用户程序。例如,Web容器可以运行Web程序,EJB容器可以运行EJB程序。独立的容器对于执行配置文件很重要,后者可以单独指定不同数量的容器。粘接代码用于容器,内核,OSGi和基本服务间的相互联系。
根据所部署程序的不同要求,GlassFish v3可以确定所要求的容器是哪一个,还可以自动启动这些容器。每个容器都有自己的配置,这些配置保存在中心配置文件中。组织好中央配置文件的配置数据能简化执行过程。应用程序容器能够接受来自命令行或REST调用的命令。
基于服务的架构
用来分配GlassFish的模块只是一些能指定输入和输出内容的Jar文件。作为一名程序员,你的主要编码责任就是程序服务,它可以分为两类:OSGi和HK2。HK2概括了OSGi API,且提供了OSGi所没有的服务。
为了创建一个HK2服务,你要依照@Contract说明进行陈述,并依照@Service 说明进行执行。创建系统会自动生成元数据。不要求使用复杂的XML文件。
服务查找
服务查找是依赖驱动型,可以生成自动级联。请求一个服务或许会导致该服务要求贡献服务,依此类推。如果你拥有不能管理的对象,你可以使用API,用名称查找服务,使用哈希表格方法。
应用容器运行时
配有粘接代码的内核组件接受Deployment,Configuration,Grizzly,Monitoring和Admin GUI连接。一个容器必须提供匹配的粘接代码。内核或容器都不需要对彼此内部情况有所了解。它们通过服务协议来进行互动。你可以用四个接口编写粘接代码:Sniffer,用来识别应用;Container;Deployer;Application Container。
配置
所有的配置接口都由单独的类执行。这个类使用注释来创建集中的XML配置文件。配置自动聚集用于配置数据的支持,Mbeans生成,REST接口以及访问转变数据的处理。虽然GlassFish v3似乎是由零碎的部件组成,但其实它是一个很好的集成产品。
REST
你可以使用JAX-RS来提供用于配置数据,命令调用和监控的REST接口。你甚至可以使用REST客户作为管理控制台的替代物。
监控
GlassFish v3中的监控是以探测为基础的。探测由每个模块定义,且会默认关闭以节约开支。探测是动态激活的。当监控者注册时,探测执行会进行动态重写以启动触发事件。
这一策略执行的是轻量级执行,因为只有需要的才会被激活。探测策略使用Btrace,因此可以实现所有平台的监控。但是GlassFish v3是DTrace 激活的,只要用于Solaris操作系统。模块定义了探测点,而且有了开放的API后,任意模块都可以定义探测点。
分享到:
相关推荐
通过深入学习和实践Java EE 6与GlassFish 3的组合,开发者能够构建高效、可扩展的现代企业级应用。《Apress - Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional》和《Beginning Java™ ...
通过开源的方式,GlassFish促进了Java EE技术的发展,也为开发者提供了一个强大、灵活且高度可扩展的应用服务器选择。未来,随着Java EE不断演进,GlassFish将继续扮演重要角色,推动企业级应用程序开发的进步。
Java EE 6,全称Java Platform, Enterprise Edition 6,是Java平台上用于构建企业级Web应用的一套标准规范。这个`javaEE6.zip`压缩包包含了开发基于Java EE 6的Web应用程序所需要的一些核心库和组件。以下是这些库的...
GlassFish是Oracle提供的开源Java EE应用服务器之一,具有高度可配置性和扩展性。 - **部署示例**: 通过详细的步骤指导读者如何在GlassFish 3上部署Java EE 6应用,并介绍了一些基本的管理和监控操作。 #### 四、...
通过以上内容,我们可以看出《Sun Glassfish v3 Administration 2009/12 PDF》是一份全面介绍了如何管理和配置Glassfish v3应用服务器的专业指南,涵盖了从基础安装到高级调优的各个方面,对于Java EE开发者来说具有...
Sun GlassFish V3 是一个高度可扩展、可靠且功能丰富的平台,支持最新的 Java EE 规范。 #### 二、jMaki 技术预览 **技术预览版本 2** 的发布标志着 jMaki 在 Sun GlassFish V3 上的应用取得了显著进展。这个版本...
文件"javaee-glassfish-7b6bb74"可能包含了GlassFish Server的一个特定版本或分支的源代码、文档、示例应用或其他相关资源。这些资源对于深入理解GlassFish Server的工作原理、自定义配置或扩展功能非常有价值。...
Java EE(Java Platform, Enterprise Edition)6是Java平台的一个版本,专为开发企业级应用程序而设计。这个平台定义了一系列标准和API,使得开发者能够构建分布式、多层的Web应用程序。Java EE 6引入了许多改进,...
- **定义与背景**:GlassFish v3是一款由Sun Microsystems开发的企业级应用服务器,它基于Java平台标准(Java Platform, Enterprise Edition,简称Java EE)构建。该版本作为GlassFish系列中的一个重要里程碑,在...
2. **轻量级容器**:JavaEE6引入了GlassFish v3作为参考实现,它是一个轻量级的应用服务器,降低了部署和运行JavaEE应用的复杂度。 3. **Java Persistence API (JPA) 2.0**:JPA 2.0提供了更强大的ORM(对象关系...
这个平台包含了多个服务、APIs和协议,旨在帮助开发者构建可扩展、高性能、安全且可管理的网络应用程序。JavaEE期末复习模拟题通常会涵盖这个领域的核心概念和技术,以帮助学生准备考试。下面,我们将深入探讨JavaEE...
随着学习的深入,你还可以探索更多的领域,如微服务架构、云计算平台上的Java应用部署、大数据处理等,不断拓宽你的JavaEE知识体系。记得实践是检验真理的唯一标准,理论学习的同时,要多动手编写代码,参与项目实战...
JavaEE6是Java企业版的一个重要版本,它提供了一套标准的API和框架,用于开发分布式、企业级的Web应用程序。这个压缩包“javaee6 jar”包含了开发JavaEE6项目所需的一些核心库,适用于在MyEclipse10及其以下版本的...
《Glassfish集群搭建完全...通过理解并掌握上述步骤,你将能够成功构建一个高效、可靠的Glassfish集群,实现应用的高可用性和可扩展性。在实际操作中,应根据具体的业务需求和硬件环境灵活调整配置,以达到最佳性能。
JavaEE 7是Java平台企业版的一个重要版本,它为开发企业级应用程序提供了全面的框架和API。apidoc通常指的是API文档,它是开发者理解和使用JavaEE 7的关键资源。在这个特定的压缩包中,可能包含了JavaEE 7的所有主要...