InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Java模式框架Jt 2.6:改进的JtWizard、增强的Jt组件

作者 Srini Penchikala 译者 张凯峰 发布于 2008年8月5日

领域
语言 & 开发
主题
Java ,
架构
标签
设计模式 ,
Java EE ,
框架

自由软件最近发布了Jt 2.6(Java模式框架) ,这个面向模式的开源框架在最新版本中改进了JtWizard,增强了Jt组件(Jt Components)。JtWizard是构筑于Jt框架之上的自动向导应用的参考实现,可用于产生基于设计模式的Java应用,这些设计模式包括四人帮(GoF)、数据访问对象(DAO)、模型-视图-控制器(MVC)和诸如业务代理(Business Delegate)、会话外观(Session Facade)、服务定位器(Service Locator)和值对象(Value Object)之类的J2EE设计模式

Jt框架体系架构基于消息传递设计模式,框架对象通过发送、接收和处理消息实现信息交换和执行计算。消息传递API封装良好,耦合松散,因此可以很容易的以“拼装/消息传递(lego/messaging)”形式将框架组件组合进应用中。Jt框架支持一些GoF设计模式 ,包括Memento、Command、 Composite、Decorator、Prototype、Iterator、Adapter和Flyweight。

当前的JtWizard实现提供与StrutsHibernate框架的集成,它可以自动产生这两个框架必需的典型文件,例如Hibernate映射文件、Struts配制文件、视图(JSPs)和Java类等。Jt框架创建的应用也可用资源文件定制,通过该文件可以自动加载对象属性。

Jt框架提供一些现成的组件(Jt Components) ,其中比较重要是JtThread、JtList、JtCollection和JtHashTable。另外还有其它一些可重用的框架组件,例如 JtFile、JtDirectory、JtURL、JtInputStream、JtKeyboard等等,可以很方便的组合进新的应用。J2EE应用中常见的客户端和服务器端技术都可同Jt框架进行很好的集成。

客户端:

  • 在客户层,Jt已经和JSP、MVC和AJAX (JtAjaxServlet)等技术进行了集成。通用框架组件和适配器为Jt框架和这些客户端技术之间提供了透明接口。
  • 通过提供JavaMail适配器JDBC适配器分别实现与JavaMail API和数据访问API(JDBC)的集成。

服务器端:

  • 在服务器端,Jt框架支持J2EE设计模式、EJB和Web服务。通过实现适配器(adapter)、代理(proxy)和外观(facade)等设计模式,Jt能同EJB进行集成,使EJB客户可以轻松透明的访问远程框架对象。
  • 与Web服务的集成是通过使用Web服务适配器和代理实现的。Jt框架的消息传递架构有助于Web服务模块的开发。
  • 还有使用JNDI适配器(JtJNDIAdapter)实现与JNDI的集成,通过JMS适配器实现与Java消息服务(JMS)的集成,这里框架消息的发送和接收都是通过JMS适配器进行的。

Jt通过实现命令(Command)模式提供请求日志、排队机制和撤销操作功能。它还支持与XML的集成,提供日志、异常管理、测试和调试能力。它的测试功能具有独立组件测试的能力(每个组件就是一个单元),仅通过发送消息和验证回复(输出)消息操作就可实现。

带有业务流程管理(BPM)需求的J2EE应用可以使用Jt与jBPM的集成,jBPM是来自JBoss的业务流程建模框架。Jt框架中提供了一个jBPM适配器以支持jBPM。构筑于框架上的应用可以用流程图模型化表示,它赋于用户以图形化的方式进行业务流程建模的能力。

按照项目的未来发展规划,Jt开发团队将继续致力于Jt Wizards自动化和集成BPM的工作。要实现的目标之一是在BPM流程图中可以很轻松添加框架组件;另一个目标则是整合UML设计图、基于应用的框架消息传递和必要组件的实现,使得直接从UML设计图生成应用成为可能。

Jt框架可与Eclipse IDE环境整合使用,并可运行在任何与J2EE兼容的应用服务器上。它是java.net上的一个项目,最新版本可从Jt的网站上下载 。用户可以阅读他们的在线文档,也可通过提供e-mail地址和用户名信息订阅他们的邮件列表

查看原文:Java Pattern Framework Jt 2.6 Supports JtWizard and Enhancements to Jt Components

译者 张凯峰 InfoQ中文站编辑,有多年软件开发和测试经验,热衷参与技术社区与技术传播。

深度内容

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。

解析JDK 7的动态类型语言支持

随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8可以顺利实现Lambda表达式做技术准备。在这篇文章中,我们将去了解JDK 7这项新特性的出现前因后果和它的意义。

Java Remoting远程服务(下)

随着互联网应用的发展,Java分布式远程服务技术受到越来越多的关注,本文将对各种相关实现以示例的形式逐一介绍,并总结其中的优缺点,使读者能够在技术选型时有所准备。这是文章的下篇。