GlassFish和敏捷

GlassFish和敏捷

相关ppt, 好看簿OSGeo的开源讲座

 

互联网时代改变了许多规则,其中重要的一条是“大鱼吃小鱼”变成了“快鱼吃慢鱼”。

敏捷是每个企业、每个开发人员都追求的目标。 

GlassFish和敏捷有着怎样的关联?对于开发人员来说,GlassFish对我的Web应用开发有着怎样特别的帮助?如何通过GlassFish做到敏捷地开发Web应用?

首先来了解什么是GlassFish? 先从名字上来了解GlassFish所想做到的:水晶一样透明开放,鱼儿一样自由自在。GlassFish概括起来是3句话:企业品质的应用服务器,迅速增长的开源社区, Java EE的参考实现 。 

GlassFish首先是一个应用服务器。应用服务器处于整个Java企业应用的核心地位,作为各类Web应用的基石和支撑,拥有一个高效的应用服 务器如同让你的应用拥有一颗强劲的心脏,从而也使得应用服务器对于敏捷的Web开发举足轻重。而GlassFish另外两个特征开源社区和JavaEE标 准的实现则是GlassFish敏捷的保障,可以说:

透明开放的开源模式和快速严格地遵循JavaEE标准正是GlassFish的两大敏捷之道
 

开源和敏捷 

  • 开源正在得到越来越多的响应和拥护,开源得到发展最为根本的原因是其能够大幅降低整个产业链条的成本。这是开源最硬的道理。 
  • 开源可以使得用户更早地得以使用和评估特性,开发设计人员更早地得到用户的反馈。因为错误或Bug被发现地越晚,相应修改和维护的成本就将越高。
  • 敏捷的一个重要理念就是尽可能在上游发现错误并改正,所以有所谓结对编程,极限编程。在这一点上开源和敏捷的理念不谋而合。

GlassFish的开源模式
  • GlassFish采用了更加透明的开源模式。GlassFish的企业版的核心代码和开源的社区版核心代码是完全一致的。这样做的一个重要原因就是保证更快的提交特性。
  • GlassFish社区遵循的是非常透明的开发策略。其所开放的不只是源代码,还开发了产品的开发过程,包括产品路线图,项目日程表,会议记录、设计架构的特性,面向开发这和用户的论坛,甚至测试案例和测试计划。
  • GlassFish的盈利通过3个途径:订阅技术支持,增值插件,和定制化开发

增长迅速的GlassFish社区

  • GlassFish是Google Trends上唯一处于上升趋势的主流应用服务器;目前的社区成员超过7000个;在过去的12个月中有450万次下载;
  • GlassFish的博客(TheAquarium水族馆)每天点击逾万;每天350名用户注册;遍布全球的GlassFish使用者

FishCAT项目

  • FishCAT 项目是GlassFish品质社区推出的,有GlassFish社区成员完成的Beta测试。社区成员可以通过FishCAT,在早期对产品特性提交反馈和施加影响,更多来自FishCAT的声音 请看Judy的博客:http://blogs.sun.com/judy
  • 在2008年8月进行的针对GlassFish V3 prelude的FishCAT的测试中,来自18国家的36社区成员参加了为期5周的Beta测试,共报告125个Bug和RFE,发出千余封邮件,所 有Bug均在V3 prelude正式发布(2008年11月6日)前被fix。FishCAT充分说明社区的活力和对GlassFish的期望。
  • 敏捷方法的主导思想之一就是将问题暴露在上游、发现在上游、解决在上游,让产品随时可交付测试,然后持续改进,然后持续集成。在计划09年5月发布GlassFish V3刚刚推出3个Prompt Build,已经有2为FishCAT成员报出了2个Bug。
  • 我们经常会做各种各样的比较,试图得出结论谁是最好的应用服务器。 如果你通过FishCAT和开发团队进行了深入的沟通并体现出自己的意愿和影响,你也许愿意这么回答:最好的是下一个版本的GlassFish!

GlassFish和Java EE标准

  • Java有3个平台,其中开发应用最为活跃的是Java EE和Java ME平台。尤其代表企业应用的Java EE平台的迅速发展,不断给Java平台带来新鲜的技术和活力。
  • 随着08年12月JBoss 5社区版的推出,目前所有主流的Java应用服务器都已经宣布支持Java EE 5标准,这标志着Java企业应用已经由J2EE进入Java EE时代。
  • 如果说Java EE是整个Java应用的前沿阵地,那么GlassFish就是这个前沿阵地上的排头兵 。
  • GlassFish V1是和Java EE5规范在2006年5月同时发布,并且作为Java EE5规范的参考实现,是第一个实现Java EE5的应用服务器(比JBoss5社区版整整早了2年半)。V2改进并扩展了V1的功能,增加了更多企业化的特性。V3将全面实现Java EE6标准中的特性,并计划在2009年5月和Java EE6同时发布。GlassFish V3 Prelude是GlassFish V3的前奏版,基于OSGi重新进行了架构实现,并提前推出了许多重要的新特性。
  • Java EE 5
    • Java EE 5.0是J2EE 1.4的下一个版本。它标志J2EE标准的结束和Java EE标准的开始。Java EE 5的主题是简化开发,而做到这点采用的最重要的技术就是Annotation(标注)。通过对Java 代码中原先被JavaDoc所使用的@以标准的方式重新约定和解析,尤其是以标准的方式来约定时,达到了很好的简化效果并衍生出一些新的概念和技术,比如 POJO和资源注入。 
    • Java EE 5中拥有众多的亮点,突出的包括:
    • JSF1.2: 第一个成为标准的Web架构,基于组件快速的可视化开发;EJB3.0: 集中体现Java EE5简化开发的思想;JPA: Java ORM标准,Hiberate, Toplink, OpenJPA等遵循的统一接口;以及JSP2.1, StAX,  JAXB, JAX-WS2.0
  • Java EE 5
    • Java EE 6的主题是整合,而支撑这一主题的是以下 关键字:灵活,专注,继续简化
    • Java EE 6重点特性包括 :Profiles,Pruning,Servlet 3.0,JSF 2.0, RestFul Web Service,  WebBean, 

对敏捷的追求涵盖了开发的各个阶段,包括了如何尽快让你学习掌握一门技术,如何尽快地设计评估和架构,如何尽快地完成开发任务,如何尽快地找到并解决代码中的缺陷,如何所开发的应用在生产环境中稳定快速地运行,如何尽快地完成移植升级和扩展。。。

下面将就开发人员所主要经历开发过程分为以下5个阶段:

  • 阶段1:学习评估,设计选型
  • 阶段2:应用开发,构建集成
  • 阶段3:测试调试,反馈沟通
  • 阶段4:管理监控,维护移植
  • 阶段5:性能调优,扩展升级

下面就这5个阶段,来分别介绍GlassFish带来的敏捷体验

阶段1:学习评估,设计选型

  • 对于初学者来说,好的参考文档和学习资源至关重要。
  • GlassFish提供有详尽的文档和学习资源 。此外GlassFish可以快捷地下载安装,可以及时获取最新的Build。GlassFish V3 prelude只有26M,相当于JBoss 5(105M)的1/4。GlassFish还可以通过安装Java EE SDK,NetBeans来获取。
  • 对于设计师来说,在架构设计和评估选型时需要统筹考虑平台的扩展升级,不同架构和应用之间的兼容。
  •  GlassFish全面支持Java EE规范,这使得在GlassFish架构和设计的选择非常丰富,并且依附某具体厂家的产品。目前有大量流行Web架构和应用的成功部署和实践在 GlassFish上,这其中包括Spring , Seam, Struts, Hibernate, Tapestry, Equinox, IBatis,OpenJPA, OpenESB, JMaki, jBPM, OpenCMS, Facelets, WebDev…此外,GlassFish V3系列还支持所有流行的动态脚本语言,包括Ruby&Rails, Groovy&GRails, Python/Jython, Django、PHP等

阶段2:应用开发,构建集成 

  • 具体担当Web开发人员最关心的是称手的开发工具。
  • 提速Web应用开发。GlassFish与主流IDE工具的集成,包括于NetBeans,Eclipse,IntelliJ的集成。 尤其可以NetBeans无缝集成,做到不脱离IDE,完成管理和配置,保存即部署,在重新部署期间保留Session。GlassFish V3的启动时间可与Tomcat媲美,快速部署。
  • 对于团队的开发,GlassFish提供有丰富的工具,比如Husdson来完成Web团队开发。

阶段3:测试调试,反馈沟通

  • GlassFish V3的Embedded特性使得基于GlassFish应用的测试和调试更加方; Embedded GlassFish将GlassFish的核心特性通过一个Jar的方式提供,并提供有各类API来管理GlassFish,开发人员可以在自己的代码中 启动/关闭实例、部署应用。
  • Java EE规范中也提供了众多方便测试的特性:比如POJO ,EJB 3.1。这使得我们可以以类似桌面应用方式进行测试。 
  • GlassFish Quality社区是专门为提供GlassFish品质而设置的社区。GlassFish应用开发人员可以在这个社区里得到广泛及时的支持。
  • GlassFish社区为在开发人员的进阶和实践提供有丰富参考。这包括邮件列表和讨论组,dev@ glassfish.dev.java.net, user@ glassfish.dev.java.net, quality@ glassfish.dev.java.net; 
  • 面向中国GlassFish开发人员的GlassFish China技术论坛水族馆Miles to Go

阶段4:管理监控,维护移植

  • 系统管理维护人员关心的是对如何是管理监控的日常操作更加轻松,并且可以对特定的管理需求进行快速的响应。
  • GlassFish提供了强大易用的管理工具,来帮助管理员轻松进行管理监控。这其中包括基于浏览器的管理控制台和命令行工具 asadmin。因为GlassFish的管理内核是基于JMX构建,从而可以通过多种方式来管理GlassFish:除了自带的管理工具,还可以通过 AMX接口或  标准JMX开发接口进行编程,或者通过第三方的JConsole进行管理。
  • GlassFish V3完全基于OSGi 构建,可方便地定制和增加GlassFish插件,并实现更多动态配置,无需频繁重启服务器
  • GlassFish提供对日志细粒度的定制、查看和管理 
  • GlassFish不仅可以适合用作开发环境,还可以担当应用在关键的生产环境上。在GlassFish上开发应用可以实现统一的生产 和开发环境,避免额外开发和测试。此外,GlassFish的Update Center为实现组件的个性化配置和实时更新,减小移植升级中的负担和风险。

阶段5:性能调优,扩展升级

  • GlassFish提供有提供多层次的调优手段:包括部署、日志、Web容器和EJB容器,事务、HTTP服务、JDBC调优;以及针对Java虚拟机;数据库MySQL, 操作系统Solaris的调优
  • GlassFish通过Grizzly(纯Java的高效Http服务器)高效地处理Http请求和连接。
  • 此外,Sun将为付费订阅的GlassFish用户提供7天*24小时的支持和咨询服务;
  • 提供监控和调优的插件(Add-ons)
  • GlassFish可以由开发人员模式升级到集群模式,实现更好的可伸缩性。
  • 由于GlassFish采用了Grizzly,Metro: 最快的 Web Services Stack
  • HADB:保证高达99.999%的可靠性
  • 此外,Sun提供有基于GlassFish的丰富的产品线,为应用的扩展做好准备。这其中包括MySQL, OpenMQ, OpenSSO, GlassFishESB, OpenDS, OpenPortal。

GlassFish上的成功案例

总结

  • 敏捷开发对于每个企业和开发人员都至关重要,开源和标准都在不同的方式为更加敏捷创造着的机会和可能。GlassFish拥有大量为敏捷的web 开发所提供的特性,同时采用这最为开放透明的开源模式,并对Java企业标准进行了最全面最快速的实现,这些都使得GlassFish成为敏捷Web开发 的最佳平台。

家常咖啡   2009年1月

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值