领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Srini Penchikala 译者 张龙 发布于 2011年3月25日
最新版的GlassFish应用服务器支持JavaEE 6 Web Profile和完整的平台、改进了OSGi支持、集群与高可用性(HA)等特性。近日,Oracle发布了该应用服务器的3.1版,分为商业版本(Oracle GlassFish Server)和开源版本(GlassFish Server Open Source Edition)两种。新的发布还提供了中心化的管理与改进的JDBC监控等功能。目前的IDE工具支持包括NetBeans与Eclipse插件扩展,同时下一版本的Oracle Enterprise Pack for Eclipse也将得到升级以包含新的GlassFish 3.1服务器插件。
集群与HA支持包括可以通过基于Web的Admin Console或是命令行界面CLI为每个域创建多个集群,每个集群可以有多个实例,每个域最多可以有100个实例。HTTP、EJB、IIOP、SSO、Web Services Reliable Messaging与Secure Conversation会话状态会在集群中得到均匀的复制。所有的管理与监控数据都可以通过RESTful Web services公开出来。基于Web的管理控制台也使用了同样的RESTful后端,这样开发者就可以使用同样的API将类似的功能集成到工具集或是IDE当中了。此外,现在可以同时部署一个应用的多个版本,并且可以在不同版本间变更。
OSGi支持:运行时已经绑定了Apache Felix,它用作默认的shell,但GlassFish也能在Equinox和Knopflerfish之上运行良好。OSGi支持可以实现混合应用开发以利用OSGi模块化和Java EE编程模型所带来的好处。开发者可以在Java EE应用中使用OSGi服务,反之亦然。该支持还包含了将Apache Felix运行时升级到了3.0.8版,该版本包含了Apache Gogo shell。
Active Redeploy:新版本扩展了GlassFish Server 3.0 Active Redeploy特性,包含了Stateful EJB与EJB Timer组件。当使用redeploy命令重新部署应用时,GlassFish服务器会维护HTTP session与EJB状态。在其Embedded API中还完整地支持EJB特性。
JDBC监控:改进的JDBC监控可以检测statement泄漏、实现自动的监控、日志,当应用失败时可以自动回收数据库光标。该特性还包含了追踪SQL查询、应用数据库连接池的监控以及针对JDBC连接池的客户化验证模板。
应用范围内的资源:开发者可以使用该特性指定资源,如JDBC资源等,以在应用部署时创建这些资源。这样,开发者就可以将资源的范围限定为某个部署的应用,因此无需外部的部署脚本就能实现应用在多个GlassFish实例间的移植了。
单元测试:GlassFish服务器可以使用Maven插件运行在嵌入式模式下以进行单元测试。开发者可以进行生命周期操作、以编程的方式部署应用并执行运行期配置,从而无需显式安装和启动应用服务器了。
除了上述特性,商业版的应用服务器还在GlassFish Server Control中提供了如下的附加特性:
InfoQ有幸采访到了Oracle的Java EE与GlassFish开发者Arun Gupta以深入了解此次发布的应用服务器的详细信息。
集群特性使用到Shoal框架了么?与传统的集群实现相比,GlassFish服务器的集群有何不同之处呢?
GlassFish集群以管理域为中心,然后可以创建单独的服务器实例或是使用遍布在分布式机器上的多个实例创建集群。每个域可以创建多个集群,每个集群可以创建多个实例,每个域最多可以有100个实例。可以通过SSH配置与管理多台机器。每个集群中实例的配置都是一样的,这样就可以一键将Web应用部署到集群中了。GlassFish High Availability还为HTTP、EJB、IIOP、SSO,、Web Services Reliable Messaging和Secure Conversation提供了会话复制能力。既可以针对整个会话,也可以仅针对修改的会话配置会话复制。
GlassFish的商业版(Oracle GlassFish Server)也带有一个附加特性,可以使用Oracle Coherence替换掉内存中的会话复制,这样就可以将复制迁移到单独的层次上了。这还可以独立于会话复制层扩展应用层。
没错,GlassFish使用了Shoal(运行时的动态集群框架),它也作为内存复制模块的根基。Shoal GMS(Group Management Service)用于生命周期事件通知,现在使用了Grizzly,而之前的版本使用的则是JXTA,相对于GlassFish v2来说,性能提升了33%。
能否详细谈谈GlassFish 3.1中的OSGi支持呢?
凭借GlassFish 3.1,你可以轻松部署基于OSGi的Java EE应用,能够充分享受到OSGi所带来的好处,比如模块化、依赖管理、服务动态化以及Java EE的优势,如持久化、安全、事务以及其他服务。在GlassFish 3.1中,我们实现了OSGi R4.2 Enterprise Specifications中的几个RFC。因此,OSGi客户端可以轻松调用Web应用,Web应用也可以通过标准的Java EE API和一些样板代码调用OSGi服务。
能否详细介绍一下Active Redeploy?这与WebLogic 10.3中的“FastSwap”特性是否如出一辙呢?
Active Redeploy特性是IDE(NetBeans或Eclipse)与GlassFish的联合体,可以提升开发周期中开发者的生产力。当创建或保存了项目中的任何文件时,IDE都可以将Web应用重新部署到底层的GlassFish服务器中。无论是JSP这样的静态文件,还是EJB或是Servlet类这样的动态文件都能得到很好的处理。该特性主要面向开发,我们并不建议在产品阶段中使用。注意:这是应用的完整部署,与“FastSwap”不同,后者的做法是监控,然后只重新加载改变的类文件。
对于开发、管理和监控来说,新版本提供了哪些支持工具呢?
NetBeans、Eclipse和IntelliJ都已经围绕着Java EE 6提供了广泛的工具支持。除此以外,带有GlassFish插件的NetBeans 7.0和Eclipse 3.6都集成了GlassFish 3.1。这样就可以使用这些IDE在GlassFish Server 3.1上开发、部署和调试Java EE 6应用了。
所有的管理与监控数据都通过RESTful Web service公开出来,这样就能与你所使用的工具无缝集成了。甚至连GlassFish基于Web的管理控制台也使用了这些RESTful API。“asadmin” CLI提供了你所选择对象的监控快照,比如Web容器,这是通过查询预先定义的试样(probe)实现的。我们可以通过基于Web的管理控制台或是RESTful Web Services在浏览器中获取到监控数据。还可以在Solaris 10+上通过DTrace查看这些事件。甚至你自己的应用也可以生成监控数据,就像GlassFish一样,因为底层框架具有良好的可扩展性。如果你需要一些通用的内容,那么可以编写JavaScript程序搜集并处理数据。
中心化的Web管理控制台为集群的CRUD、应用版本化、密码混淆等特性提供了完善的功能。
GlassFish v3.2未来的路线图如何,会有哪些新特性呢?
GlassFish 3.2会将精力放在虚拟化与PaaS功能上。GlassFish 4.0的目标是实现Java EE 7的功能。总的来说,GlassFish是Oracle应用服务器战略的重要棋子,因此将会长期发展下去。
感兴趣的读者可以试用GlassFish Server Open Source Edition,如果觉得好,可以向Oracle购买商业支持。可以从Oracle GlassFish Server网站上下载GlassFish的商业版与开源版(包括API、指南和示例)。
读者可以参加“GlassFish 3.1新特性”与“GlassFish 3.1集群”在线研讨会以深入了解GlassFish Server 3.1。
查看英文原文:GlassFish Server 3.1 Supports JavaEE 6 Web Profile & Full Platform, Clustering and High Availability
译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
论道WP第三篇专栏,以应用程序栏的使用为中心,包括了软键盘带来的问题、应用程序栏介绍、如何绑定应用程序栏的属性等几个方面的具体话题,为开发者顺利使用应用程序栏开发提供了具体指导。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
2 条回复
关注此讨论 回复