- 浏览: 148122 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
415421979:
我也遇到了这个问题 求解啊
JBoss/Tomcat 安装路径带空格时 JNDI 无法初始化的BUG -
ivonxiao:
谢谢楼主的分享
异常管理系统 -
ivonxiao:
谢谢楼主的分享~~
Java对象的强、软、弱和虚引用
VII、组合和配置
组件装配和方案配置在J2EE的开发中是特别重要的。开发和安装的环境可能是完全不同的。如果EJB处在系统中,你需要使用厂家的专门工具来提出产生容器的类,上面我也提到过,Web或者应用组件的配置对于不同的厂家都是不一样的。你还必须考虑要配置的系统是否拥有任何厂家指定的代码实现。在一个可扩展的体系中,系统的结构应该是稳定的,但是应该可以支持增加配置新的或者旧的组件,而无需影响整个系统。
VIII、运作和维护
在最后的阶段,应用交付到用户的手中,你必须为他们提供培训、文档和教育。用户将会发现问题和可能会提出新的改进。你必须通过正确地修改管理过程来处理这些需求。你无需为了配置一个新的组件或者替换一个旧的组件而关闭一个正在工作的系统。
体系开发流程
我们必须做许多体系的决定,因此我们必须整理出一个体系开发的流程。对于一个企业来说,通常有许多应用项目,其中的一些甚至会跨越几年,从而导致系统围绕许多周期而变化。在你的领域中,许多同样的项目中都会出现同样的需求。你应该很容易地重新使用一个扩展的和可重用的体系,它们可能在上个项目周期或者其它的项目中。这样会有一个对普遍架构的需求,可重用的软件架构可为家族式的软件应用提供一个普遍的架构。
如果这是你的首个J2EE项目,你的体系必须被原型化,进行测试、分析,然后再重复。 BluePrint提供了许多好的设计指导方针和最佳的练习,宠物店的例子也是一个很好的参考体系。要很快地提出一个好的并且是高质量的解决方案的有效方法是使用和扩展BluePrint参考体系,然后插入到你自己的商业组件中。
使用参考体系
就我的理解来说,宠物店体系的本质是Model- View-Controller和Command模型。你可以将这些模型应用到以Web-centric和EJB-centric的系统。对于每个域对象,一个视图是用嵌套的JSP表现。一个controller处理与商业相关的事件,而域对象封装商业逻辑、事务和安全。我们使用前台的servlet作为中央的controller,以接收和解释所有用户的操作。它分派商业事件到指定的域对象controllers,这些controllers可调用域对象来改变持续的状态。根据这个事件处理的结果,一个controller选择下一个显示的视图。以下的组件对于体系都是很重要的,我们可以修改并且应用在大部分的J2EE应用:
MainServlet: 前台的组件是Web容器和该架构之间的接口
ModelUpdateListener: 是获取模型更新事件的对象的接口
ModelUpdateNotifier:在更新模型事件发生的时候通知监听者
RequestProcessor: 处理由MainServlet接收的全部请求 RequestHandler:plug-n-play请求处理器组件的接口
RequestHandlerMapping:包含有请求处理器映射规则
RequestToEventTranslator:根据请求处理器的映射规则,中央请求处理器委派请求处理到plug-n-play请求处理组件。到商业事件的透明http请求
EStoreEvent: 商业事件
ShoppingClientControllerWebImpl: Proxy-to-EJB层前台控制器
ScreenflowManager: 控制屏幕流,选择视图
ModelUpdateManager: EJB层模型更新管理器,通报由于一个事件而导致的模型修改 ShoppingClientControllerEJB: EJB层前台,为EJB客户提供远程服务
StateMachine:中央事件处理器,根据状态处理器的映射规则,委派事件处理至plug-n-play处理器组件 StateHandler: EJB层状态处理器接口
StateHandlerMapping: 包含状态处理器映射规则
扩展参考体系
BluePrint的例子应用是一个好的起点,你还应该修改它以配合不同的项目和领域。设计模型是可重用的微体系,你可以使用它来扩展参考体系。BluePrint提供了一个非常有用的J2EE模型目录,而23个“Gang of Four”模型都是极好的资源。例如,如果你想扩展参考体系以支持工作流管理,你可以在配置或者运行时使用中央controller来动态注册事件处理器。中央controller要求每个注册的事件处理器处理一个事件,直到一个处理器返回一个指示已经到达命令串末尾的信息。
插入你的商业组件
J2EE技术对于每个人都是一样的,但是对于不同的领域,我们需要解决的问题都是不同的。一旦你建立了一个基本的J2EE框架,你就必须利用一些use cases来展示该体系可为你的领域工作。你可以通过选择一些情形,最好是该系统的一个重要的功能,或者使用得最多的而且可带来明显的技术上的冒险的情形。由域分析模型开始,然后尝试映射你的域对象到高端和低端的设计模型,就象我们在图5和6中的所示。实现低级别的设计模型,并且测试看它是否真正地运作。如果所有都如设想般运作,你就可以再重复上一步,即找冒险的情形、更多的设想来测试以扩展体系的覆盖。在经过反复的验证后,初始化的体系原型应该就会变得稳定。你可以认识到哪些组件是可以购买的,旧系统的哪些方面是应该保留的,以及如何为它们做接
口。下一步就是软件设计,你可以使用设计指南中指定的类似方法和流程来进行继续的开发。 按部就班
我们使用了一个流程的形式,将一个复杂的问题分解为几个小的部分,以便我们能更容易地理解和解决它们。在这篇文章中,我们将J2EE的开发分解为8个步骤,集中介绍了体系和设计。我这里介绍了重要的体系主题和作出体系决定的一个流程。我还讨论了J2EE体系的角色和可交付。
学习通过这些步骤来开发J2EE的方案就象学习舞蹈一样。你首先需要自觉和坚持不懈地练习基本的舞步。一旦你熟悉了它们,你就会想到将它们放在一起,并且更集中在曲子里每步的大小、速度、流和节奏。不过你不应该被一个流程来限制你的创造力。相反,你应该使用和扩展该流程来满足你的特定需要。要记住,你的最终目标是设计出一个完整的J2EE方案来满足你的客户需求。
组件装配和方案配置在J2EE的开发中是特别重要的。开发和安装的环境可能是完全不同的。如果EJB处在系统中,你需要使用厂家的专门工具来提出产生容器的类,上面我也提到过,Web或者应用组件的配置对于不同的厂家都是不一样的。你还必须考虑要配置的系统是否拥有任何厂家指定的代码实现。在一个可扩展的体系中,系统的结构应该是稳定的,但是应该可以支持增加配置新的或者旧的组件,而无需影响整个系统。
VIII、运作和维护
在最后的阶段,应用交付到用户的手中,你必须为他们提供培训、文档和教育。用户将会发现问题和可能会提出新的改进。你必须通过正确地修改管理过程来处理这些需求。你无需为了配置一个新的组件或者替换一个旧的组件而关闭一个正在工作的系统。
体系开发流程
我们必须做许多体系的决定,因此我们必须整理出一个体系开发的流程。对于一个企业来说,通常有许多应用项目,其中的一些甚至会跨越几年,从而导致系统围绕许多周期而变化。在你的领域中,许多同样的项目中都会出现同样的需求。你应该很容易地重新使用一个扩展的和可重用的体系,它们可能在上个项目周期或者其它的项目中。这样会有一个对普遍架构的需求,可重用的软件架构可为家族式的软件应用提供一个普遍的架构。
如果这是你的首个J2EE项目,你的体系必须被原型化,进行测试、分析,然后再重复。 BluePrint提供了许多好的设计指导方针和最佳的练习,宠物店的例子也是一个很好的参考体系。要很快地提出一个好的并且是高质量的解决方案的有效方法是使用和扩展BluePrint参考体系,然后插入到你自己的商业组件中。
使用参考体系
就我的理解来说,宠物店体系的本质是Model- View-Controller和Command模型。你可以将这些模型应用到以Web-centric和EJB-centric的系统。对于每个域对象,一个视图是用嵌套的JSP表现。一个controller处理与商业相关的事件,而域对象封装商业逻辑、事务和安全。我们使用前台的servlet作为中央的controller,以接收和解释所有用户的操作。它分派商业事件到指定的域对象controllers,这些controllers可调用域对象来改变持续的状态。根据这个事件处理的结果,一个controller选择下一个显示的视图。以下的组件对于体系都是很重要的,我们可以修改并且应用在大部分的J2EE应用:
MainServlet: 前台的组件是Web容器和该架构之间的接口
ModelUpdateListener: 是获取模型更新事件的对象的接口
ModelUpdateNotifier:在更新模型事件发生的时候通知监听者
RequestProcessor: 处理由MainServlet接收的全部请求 RequestHandler:plug-n-play请求处理器组件的接口
RequestHandlerMapping:包含有请求处理器映射规则
RequestToEventTranslator:根据请求处理器的映射规则,中央请求处理器委派请求处理到plug-n-play请求处理组件。到商业事件的透明http请求
EStoreEvent: 商业事件
ShoppingClientControllerWebImpl: Proxy-to-EJB层前台控制器
ScreenflowManager: 控制屏幕流,选择视图
ModelUpdateManager: EJB层模型更新管理器,通报由于一个事件而导致的模型修改 ShoppingClientControllerEJB: EJB层前台,为EJB客户提供远程服务
StateMachine:中央事件处理器,根据状态处理器的映射规则,委派事件处理至plug-n-play处理器组件 StateHandler: EJB层状态处理器接口
StateHandlerMapping: 包含状态处理器映射规则
扩展参考体系
BluePrint的例子应用是一个好的起点,你还应该修改它以配合不同的项目和领域。设计模型是可重用的微体系,你可以使用它来扩展参考体系。BluePrint提供了一个非常有用的J2EE模型目录,而23个“Gang of Four”模型都是极好的资源。例如,如果你想扩展参考体系以支持工作流管理,你可以在配置或者运行时使用中央controller来动态注册事件处理器。中央controller要求每个注册的事件处理器处理一个事件,直到一个处理器返回一个指示已经到达命令串末尾的信息。
插入你的商业组件
J2EE技术对于每个人都是一样的,但是对于不同的领域,我们需要解决的问题都是不同的。一旦你建立了一个基本的J2EE框架,你就必须利用一些use cases来展示该体系可为你的领域工作。你可以通过选择一些情形,最好是该系统的一个重要的功能,或者使用得最多的而且可带来明显的技术上的冒险的情形。由域分析模型开始,然后尝试映射你的域对象到高端和低端的设计模型,就象我们在图5和6中的所示。实现低级别的设计模型,并且测试看它是否真正地运作。如果所有都如设想般运作,你就可以再重复上一步,即找冒险的情形、更多的设想来测试以扩展体系的覆盖。在经过反复的验证后,初始化的体系原型应该就会变得稳定。你可以认识到哪些组件是可以购买的,旧系统的哪些方面是应该保留的,以及如何为它们做接
口。下一步就是软件设计,你可以使用设计指南中指定的类似方法和流程来进行继续的开发。 按部就班
我们使用了一个流程的形式,将一个复杂的问题分解为几个小的部分,以便我们能更容易地理解和解决它们。在这篇文章中,我们将J2EE的开发分解为8个步骤,集中介绍了体系和设计。我这里介绍了重要的体系主题和作出体系决定的一个流程。我还讨论了J2EE体系的角色和可交付。
学习通过这些步骤来开发J2EE的方案就象学习舞蹈一样。你首先需要自觉和坚持不懈地练习基本的舞步。一旦你熟悉了它们,你就会想到将它们放在一起,并且更集中在曲子里每步的大小、速度、流和节奏。不过你不应该被一个流程来限制你的创造力。相反,你应该使用和扩展该流程来满足你的特定需要。要记住,你的最终目标是设计出一个完整的J2EE方案来满足你的客户需求。
发表评论
-
Maven 2.0:编译、测试、部署、运行
2008-01-24 16:55 1312摘要:Maven1.0已经历了几年的时间,并且作为Ant的替代 ... -
使用Jetty和DWR创建伸缩性Comet程序
2008-01-24 16:03 2372异步服务器端事件驱动 ... -
使用MOCK对象进行单元测试
2008-01-24 15:50 11501.出了什么问题? 单元测试的目标是一次只验证一个 ... -
JUnit常用断言方法
2008-01-24 15:35 1177常用的方法如下: assertEquals(a, b) ... -
Java应用利器组合:Ant+JUnit+Cobertura
2008-01-24 15:31 1180看标题就知道,这个是开发一个Java应用的利器组合,使 ... -
Junit 的使用经验总结
2008-01-24 15:19 1481经验一、不要在测试用例的构造函数中做初始化 当我们需要增加一个 ... -
J2EE架构的6个最佳实践
2008-01-24 14:39 1155虽然许多文章曾经讨论过J2EE最佳实践。那么,为什么我还要再写 ... -
开发完整J2EE解决方案的八个步骤5
2008-01-24 13:55 896IV、对象设计 在体系规范的指导下,设计可在技术上扩展和适 ... -
开发完整J2EE解决方案的八个步骤4
2008-01-24 13:53 1001应用体系 应用体系 ... -
开发完整J2EE解决方案的八个步骤3
2008-01-24 13:51 787III、体系规范 经过前面的两个步骤,商业领域的问题和需求 ... -
开发完整J2EE解决方案的八个步骤2
2008-01-24 13:49 808II、面向对象的分析 分析产生问题域模型:类、对象和交互。 ... -
开发完整J2EE解决方案的八个步骤1
2008-01-24 13:47 1196摘要 Java 2企业 ... -
单元测试策略
2008-01-24 13:27 1316本文为作者在使用Junit ... -
junit基本教程
2008-01-24 13:06 1714Eclipse中配置junit 在要使用JUNIT的 ... -
junit教程
2008-01-24 12:50 4977您是怎样编写测试代码的呢? 在调试器中使用表达式也许是最简单 ... -
junit单元测试的意义
2008-01-24 12:29 2836为什么要进行单测试. 1. ... -
HttpServletRequest对象getParameter()方法在各web容器中返回值问题
2008-01-24 10:04 3061Servlet中HttpServletRequest对象的ge ... -
JBoss/Tomcat 安装路径带空格时 JNDI 无法初始化的BUG
2008-01-08 17:55 2046JBoss/Tomcat 安装路径带空格时 JNDI 无法初始 ... -
J2EE项目异常处理
2008-01-05 17:34 912J2EE项目异常处理 ... -
jndi的命名
2008-01-05 11:26 1055jndi是一种通过名字获取对象的一种技术,一般在java中 ...
相关推荐
【开发完整J2EE解决方案的八个步骤】 Java 2 企业版(J2EE)是企业级应用程序开发的重要平台,由规范、参考实现、兼容性测试包和BluePrints四个核心部分组成。J2EE解决方案的开发过程通常遵循一套结构化的方法论,...
此外,Spring还包含数据访问、事务管理、安全控制等多个模块,形成一个完整的开发生态系统。 四、Struts框架 Struts是基于MVC(Model-View-Controller)设计模式的开源Web应用框架。它通过ActionServlet来协调请求...
首先,开发J2EE应用需要一个合适的开发环境,MyEclipse便是这样的工具。它提供了丰富的功能,包括代码编辑、项目管理、数据库连接、服务器配置、部署以及调试等。安装MyEclipse后,我们需要创建一个新的J2EE项目。在...
总的来说,这个开源的J2EE项目开发框架源码是一个完整的Web应用解决方案,它展示了如何利用J2EE技术栈进行开发,包括MVC架构、JavaBean、JSP以及数据库交互等。对于想要深入理解J2EE开发或者希望快速启动新项目的...
针对数据库管理和操作,本章节详细介绍了MyEclipse Database Explorer的功能和使用方法,包括数据库连接、SQL代码编辑与执行、数据库结构浏览等,为开发者提供了一站式的数据库解决方案。 ### 结论 通过...
- **常见问题和解决方法**:列举了一些常见的问题及其解决方案。 - **第三章:企业Bean**: - **企业Bean概述**:概述了EJB的概念和用途。 - **会话Bean**:深入探讨了会话Bean的类型和使用场景。 - **Entity...
这份PDF文档很可能是关于使用RAD进行J2EE开发的详细指南或教程,涵盖了上述各个步骤的技术细节、最佳实践以及常见问题的解决方案。读者可以通过阅读文档来学习如何有效地利用RAD工具进行企业级Java应用程序的开发。
这个描述提及的示例提供了一个完整的解决方案,包括所需的Java类和依赖库(Jar包),帮助开发者实现从Java应用程序将处理后的数据导出到Excel文件。 1. **J2EE基础**: J2EE(Java 2 Platform, Enterprise Edition...
《开发者突击:Java+Web主流框架整合开发》一书涵盖了J2EE、Struts、Hibernate以及Spring这四个在Web开发领域极为重要的技术框架。这些框架的整合使用,旨在提高开发效率,实现企业级应用的快速构建。以下是这些框架...
通过这个J2EE项目开发的Excel导入导出操作组件源代码,开发者可以获得一个完整的解决方案,学习如何在J2EE环境中有效地处理Excel数据。同时,源代码和说明文档的结合,也为自定义和扩展功能提供了便利。
本项目实例开发着重于J2EE技术的实际应用,帮助开发者理解如何将理论知识转化为实际的软件解决方案。 首先,"J2EE专业项目实例开发"这一标题暗示了我们将深入探讨使用J2EE平台进行复杂系统构建的过程。这可能包括了...
#### 二、具体解决方案 针对上述提到的几个方面,我们可以采取以下措施来解决J2EE乱码问题: ##### 2.1 服务器配置(Tomcat) 首先需要检查并修改Tomcat服务器的配置文件,确保其能够正确地处理不同类型的字符集...
- **解决方案体系构建**:UML提供了一套丰富的符号系统,用于表达模型化的软件系统及其构造块之间的复杂关系。 - **实现选择**:借助UML模型,可以更好地识别最佳实现路径,提高软件质量和开发速度。 #### 三、...
9. **EJB(Enterprise JavaBeans)**:虽然现代J2EE倾向于轻量级的解决方案,如Spring框架,但了解EJB的基本概念,尤其是Session Beans和Message-driven Beans,仍然是有益的。 10. **Web.xml配置**:每个J2EE应用...
《J2EE开发的网上书店源代码》是一个深入学习J2EE企业级应用开发的实践项目,它提供了从用户界面到后台管理的全套解决方案。这个系统涵盖了电子商务网站的基本功能,如用户注册、登录、浏览图书、搜索、购物车、订单...
J2EE是一种多层架构,旨在提供企业级的解决方案,包括事务处理、安全性和可扩展性。在这个项目中,我们将深入探讨J2EE的核心组件和技术,以及它们如何协同工作来创建一个综合性的网站。 首先,J2EE的基础是Servlet...