基于EJB的企业级组件的开发
Author:yongtree
1. 前言
Peter 和Oliver在《基于组件的企业级开发》一书中描绘了一个美好的愿景:未来的企业级系统的构建,应该像去超市买东西那样去选择自己合适的组件,构建一个企业级系统就像组装电脑一样简单。这个美好的憧憬的确很诱人。
软件发展到今天,人们一直在追求面向对象、模块化、分布式系统、软件重用,从而解决大规模软件系统开发复杂性的问题。当今社会,人们的职责更加的明晰,分工更加的精细,人们更加关注自己专注的领域,而无法对其他领域触类旁通。在软件系统的构造中,也面临着这样一个问题,人们已经不再追求万金油,取而代之的是人们更加的专注,工作更加的单一,怎样在软件开发中,让不同的人关注其本身而无需关注其他东西便能够建起复杂的系统,组件化软件系统开发就是解决这些问题的一种有效途径。
2. 企业级组件开发的简单模型
《基于组件的企业级开发》一书中向我们阐述了几种组件模型,简化一点可以分为三种组件,从细到粗依次是分布是组件、业务组件、系统组件。组件组成平面图如下:
分布式组件粒度最细,它封装了系统内所有的原子级的操作,主要包括基础工具服务(如代码生成器,事务管理器等),操作底层实体的基本服务。该类型组件不能独立完成业务功能,但是能被更多的业务组件调用,实现不同的业务操作。
业务组件由分布式组件群集而成,用于完成一个业务过程。如生成订单。
系统级组件是一组组装起来针对某个业务问题提供解决方案的相互协同的业务组件。
多个系统级组件按照一定方式进行组装、关联,互操作处理,形成最终的软件系统。
下图为企业级组件层次关系图
在B/S结构中,系统组件、业务组件、分布式组件在技术实现上应该都具备分布式能力。功能层也可以叫用户层,直接面向用户,用户通过浏览器直接操作。功能层运行在web服务器中,通过调用分布式服务来完成相应的功能。功能层和系统组件应该有一个整合平台,能对系统进行服务调用配置和具备一定的二次开发的能力。
3. 基于Java EE的分布式软件系统的模型
上图为Java EE体系下构建分布式应用基本物理架构图。通常使用apache作为负载均衡器,tomcat作为web容器,与用户直接沟通的功能层(用户层),通过tomcat集群处理实现负载均衡。在分布式应用层,上一节介绍的各组件系统运行在此层,因为该层具有分布式的能力,各个组件可以各自运行在自己的JBOSS容器中,共web服务器调用。
分布式应用层是系统中最关键的一层,必须具备高安全、高性能、高稳定性的特性,所以对于用户是黑盒不透明的,用户不能直接访问这一层。同样,对于其他系统,如果需要和该系统集成或交互,分布式应用层对这些系统也应该是隐藏的,其他系统也不能直接访问该层,需要在该层之外建立具有标准接口的web 服务层,通过web service提供的各种服务,可以和OA、网上药店等系统进行交互,和信息的传递。
在web层,可以采用Struts、JSF、Ext+Struts等多种技术方式进行展现。同时该层需要根据用户的需求而不断得变化,一种简单的、解释性、能无缝调用java语言的动态语言作为二次开发的原形语言,在Java体系中可以考虑使用Groovy进行构建。在分布式业务层,EJB是唯一的选择,通过分布式集群的高效的计算能力,处理复杂的业务逻辑。使用JPA的标准可以实现实体操作性的高度可移植和多种数据库的支持能力。
4. 运用EJB进行企业级组件的开发
综合企业级组件开发模型和Java EE分布式软件模型,使用EJB构建具有分布式能力的企业级组件的模型如下:
1、 在垂直方向上,使用本地接口(较多)和远程接口(较少)构件系统级组件,能独立的完成一系列的业务功能。系统级组件之间也交叉调用彼此共同的组件。
2、 在水平方向上,抽取分布式组件、业务组件的共性,对各系统级组件提供公共的分布式服务。
以上是对企业级组件开发一点浅薄的认识,在以后开发的过程中将更加细致的体会基于EJB的企业级组件开发的模式。
分享到:
相关推荐
EJB(Enterprise JavaBeans),是Java EE(Java Platform, Enterprise Edition)的一部分,用于开发和部署面向企业级应用的服务器端业务逻辑组件。EJB通过提供声明式事务管理、安全性、并发控制和持久化等服务来简化...
在当今的IT行业,Java 2 Enterprise Edition(J2EE)以及其相关技术,特别是Enterprise JavaBeans(EJB),是开发企业级应用程序的重要技术。EJB是J2EE平台的核心组件之一,它允许开发者通过定义商务逻辑来创建可...
**企业级JavaBeans(Enterprise JavaBeans,简称EJB)**是一种在Java平台上开发分布式企业级应用程序的技术。EJB规范定义了一种组件模型,允许开发者创建可部署在Java应用服务器中的可复用业务逻辑组件。本讲解将...
2. **J2EE架构**:J2EE提供了多种服务和组件模型,如Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等,用于构建可扩展、可移植和高可用性的企业级应用。开发者可以通过这些组件来处理...
Java EE(Java Platform, Enterprise Edition)是由Sun公司推出的规范,用于开发和部署多层分布式的企业级应用。典型的Java EE应用架构包括以下几层: - **客户层**:包括Web浏览器、Applet等。 - **Web应用层**:...
它基于核心Java平台,并在此基础上增加了对企业级应用开发的支持。J2EE的主要特点包括: - **平台独立性**:“编写一次、随处运行”的特性使得J2EE应用程序可以在任何支持Java的平台上运行。 - **数据库访问**:...
EJB是Java EE(Java Platform, Enterprise Edition)的一部分,由Sun Microsystems(现为Oracle)在1998年推出,旨在提供一个标准的组件模型,以便于开发可部署在服务器端的分布式企业级应用。EJB规范定义了服务器端...
EJB 3.0常用于构建大型的企业级应用,如电子商务系统、CRM(Customer Relationship Management)、ERP(Enterprise Resource Planning)等,提供可靠的服务和数据管理。 通过《EJB3.0實例教程》.pdf,读者将能够...
Java EE企业级应用架构是用于构建大规模、复杂的企业级软件系统的框架,它提供了一整套标准和规范,旨在简化开发过程,提高可伸缩性和可维护性。Java EE(原名J2EE)自1990年代以来不断演进,从最初的1.2版本到现在...
J2EE(Java 2 Platform, Enterprise Edition)是Java平台的企业版,提供了构建分布式、多层架构企业级应用的强大框架。 首先,我们需要了解J2EE的组件和架构。J2EE包括了多个层次,如客户端层、Web层、业务逻辑层...
综上所述,Java EE是一个强大的企业级应用开发框架,它通过标准化的规范和组件模型,促进了高效、可扩展和跨平台的分布式应用的构建。开发者可以利用这些规范和组件,快速开发出适应各种企业需求的复杂系统。
Java作为一种广泛应用于企业级应用开发的语言,尤其是其J2EE(Java 2 Platform, Enterprise Edition)框架和WebServices技术,为解决企业信息系统集成提供了强大的支持。J2EE是一个针对企业级解决方案的平台,它旨在...
J2EE(Java 2 Platform, Enterprise Edition)是一种由Sun公司制定的规范,旨在简化企业级应用系统的开发、部署和管理。它强调基于组件的架构,以提高开发效率,降低成本,并能快速响应商务规则的变化。J2EE的核心是...
JavaEE广泛应用于大型企业级应用,如电子商务系统、银行交易系统、CRM(客户关系管理)系统、ERP(企业资源规划)系统等,尤其在需要高度可扩展性、可靠性和安全性的场景中表现出色。 总结,JavaEE核心技术的掌握...
在实际应用中,组件技术广泛应用于企业级应用,如电子商务、CRM(客户关系管理)和ERP(企业资源规划)系统。例如,EJB在Java EE(Java Enterprise Edition)平台上扮演重要角色,提供持久化、事务管理和安全性等...
2. 企业级Java Beans (EJB):EJB技术是J2EE平台的核心组件之一,它用于构建可伸缩的、模块化的服务器端业务逻辑组件。EJB分为会话Bean和消息驱动Bean,前者通常用于执行业务操作,后者用于处理异步消息。 3. 组件化...
- **定义**:J2EE(Java 2 Platform, Enterprise Edition)是一种基于Java的平台标准,专为开发企业级应用而设计。 - **历史背景**:1993年,James Gosling等人在Sun Microsystems开发了一种称为Oak的编程语言,后...
* Enterprise JavaBeans(EJB):一种基于Java的分布式组件模型,用于开发企业级应用程序。 JavaEE开发工具 JavaEE开发工具主要包括: * Eclipse:一个开源的集成开发环境(IDE),提供了强大的JavaEE开发功能。 ...
总结来说,J2EE 是一个全面的框架,它为企业级应用开发提供了一套完整的解决方案,包括多种类型的组件、层次化的架构模型和丰富的服务支持,旨在提高开发效率、系统稳定性和可维护性。对于初学者而言,理解并掌握...