首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>java>J2EE>正文

开发J2EE应用时应该遵循的几个基本准则

http://www.oklinux.cn  2008-02-19  赛迪网 陈雅诗  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

J2EE,作为开发mission-critical的企业级应用的一整套规范的整合平台,规范多、内容广,从而给开发J2EE应用带来了很多“麻烦”。比如,为实现内容的RDBMS存储,我们可能的方法有JDBC、Entity Beans、JDO、O/R Mapping工具(TopLink、Hibernate)、XML-DBMS、JAXB等方法(其中一些方法不是J2EE规范所包含的)。因此,为实现J2EE各层(至少有表示层、控制层、商业逻辑层等3层)以及层与层之间的耦合,J2EE系统架构师需要考虑的问题会很多。加上,J2EE本身的快速发展,给架构、开发具有工业强度的J2EE应用带来一些难题。

同时,软件开发技术从来就没有“银弹”,所以J2EE技术也不是万能的。但是,如果我们在结合具体商业需求的基础上,合理的应用好J2EE技术,其结果可想而知。本文试图从本人以往的项目经验入手,来探讨开发J2EE应用时应该遵循的几点准则,希望起到抛砖引玉的作用。本文结合JBoss 3.2.1下的J2EE应用开发为例展开论述。

1. 结合商业需求选择合理的架构

如果脱离商业需求,而单独的讨论技术本身的优势是不够的。各项技术都有产生的特定背景,其中很多都是来自工业需求而触动的。一般而言,企业信息系统(EIS)都要求自己稳定、安全、可靠、高效、便于维护。同时,各个企业信息系统都有自己独特的要求,可能有些时候需要考虑与原有遗留系统的集成,所以了解各个企业信息系统具体的商业需求对于整个系统的架构显得很关键。

比如,如果待开发的J2EE应用系统中使用到的数据大部分来自于外在数据源;而这些数据可能是通过JDBC直接从外在数据源导入到待开发的J2EE系统的Database中。对于这种情形,如果在开发过程中,仅仅使用JDBC来操作数据库,对于小强度(并发访问用户少、数据流量少)的情形,显然是比较合适的;但如果,并发访问用户较多、数据流量大,对Database层使用较为频繁的情形,则显得有些力不从心。因此,对于这种需求,我们可以考虑采用Entity Beans with Caches。打个比方,在JBoss 3.2.1中对于Entity Beans的Cache策略有多种,这时可以考虑使用,,即“Standard CMP 2.x EntityBean”,方式并采用“D”类型的commit-option来保证Entity Beans的内容与数据源的同步,并使得系统的性能得到大大改善(同直接使用JDBC相比)。其中,可以将一些Entity Beans设置为read-only,以改善性能。当然,在这里也可以采用其他一些O/R Mapping技术,比如TopLink。

再比如,考虑这样一种情形:如果待开发的企业信息系统使用到的数据都是由系统本身生成和操作的,则建议采用:CMP Entity Beans技术。Entity Beans给大家的印象很坏,这可能与EJB 1.1给大家留下的坏映象有关吧。但是,EJB 2.0(或者说2.1)得到了很大的改善,Local Interfaces、CMR、Read-Only、Session Fa?ade模式给Entity Beans注入了活力。当然,并发用户多、数据流量很大时才会体现出使用Entity Beans的优势。其中,有一点很关键:要注重Entity Beans技术的性能调优,各个应用服务器都有自己的一套性能调优方案。对于JBoss 3.2.1,配置文件standardjboss.xml提供了Entity Beans技术调优的入口。比如,Bean Lock策略的合理使用对于Entity Beans的调优就显得很重要。这样使得,我们可以更加关注于系统的商业逻辑,而不只是底层的Database(EJB调优处于EJB Container中,因此我们处在J2EE性能的高端,而不是底端,即Database层。同时,Database层的调优使得J2EE系统的数据库移植性大打折扣。)。

简而言之,要结合各个系统的特定需求和状况给出具体的技术架构方案,而不能孤单的论述技术本身的好坏。

2. Framework的合理选用

设计模式在J2EE应用系统中扮演着重要的角色。因此,有一个问题摆在大家面前,是自己来实现具体的设计模式,还是借助于Third-party Framework。如果贵公司不大,或者说公司不想在J2EE基础应用Framework投入很多精力,选用现有的较为成熟的、稳定、与现有J2EE Specification兼容的技术框架会比较明智。

一般而言,Framework本身,或者说J2EE平台本身都是实现并优化了具体的设计模式、规则,比如业务代理、Service Locator(包括Web Tier和EJB Tier各自的服务定位器,起到统一管理有限资源、Cache相关资源的作用,便于系统移植)、Front Controller、DAO等等。现有的J2EE Framework比较丰富。比如:

共3页: 上一页 1 [2] [3] 下一页

上一篇:新闻观察:开放文档格式将促进Linux市场   下一篇:深入讲解提升JSP应用程序的七个实用方法

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·提高J2EE层与数据库层交互操作能力的优势
·J2EE综合:Java EE/J2EE面向对象编程之道
·J2EE综合:开发J2EE应用应遵循的几点原则
·J2EE综合--对Struts中常见错误的汇总
·J2EE综合:介绍编写XML文档的工作经验
·J2EE综合--关于权限设计的详细探讨
·开发方法之--J2EE架构的6个最佳实践
·J2EE综合--J2EE初学者需要理解的问题
·基础:Java/J2EE中文问题终极解决之道
·J2EE综合:深入谈论JSF与Struts的异同
·J2EE综合--java语言不一定就跨平台
·JSP/Servlet:J2EE开发环境配置个人总结
·J2EE综合:Java学习:EJB的专用术语解释
·J2EE综合--j2ee的一些基本问题解答
·J2EE综合--Java企业系统架构的选择考量
·J2EE综合--选择应用服务器的七个标准
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Java GUI中关于布局管理器的使用方法介
·Java编程交互管理工具:SecureJSH新特
·J2SE综合技术:使用Java网络启动部署软
·Java技术社区杂文 J2EE开发框架发展简
·J2EE基础:Java EJB容器存取和实现的说
·Java编程:实例分析J2ME网络编程的两种
·关于Java编程语言中EJB容器存取和实现
·J2EE中用RMI和CORBA进行分布式Java编程
·Java编程技巧 J2ME中应用程序的内存优
·介绍JSP中表单数据存储应用的一种通用
·J2EE中的业务逻辑和数据库访问决策说明
·深入讲解JSP 2.0下的动态内容缓存技术
  阅读排行
·J2EE基础:几种Portal技术的比较与评述
·J2EE 组件开发:什么是消息驱动的EJB
·J2EE综合:Struts上传多个文件的例子
·J2EE综合--关于权限设计的详细探讨
·J2EE综合--JAVA开发工具安装配置心得
·J2EE--关于JAVA的分页查询操作技术
·J2EE基础:在Struts 2中实现文件上传
·数据库相关--Hibernate的事务和并发
·Java源码分析:深入探讨Iterator模式
·J2EE基础:j2ee所包含的13种核心技术
·对J2EE开发中常用开源项目的介绍
·[J2EE] JNDI定义Oracle数据源的方法
·J2EE基础:Weblogic服务器体系结构介绍
·datatable动态添加列应当如何来实现
·J2EE综合--Java企业系统架构选择考量
网摘收藏: