- 论坛徽章:
- 0
|
点评主流中间件技术平台z
希望有实际用过的,可以讨论讨论,并且比较比较!
续========================================
业务逻辑层
多层应用模型中的业务逻辑层被用于封装应用业务逻辑,包括独立于应用界面的业务组件,通过应用服务器中的组件容器提供运行时环境。 Enterprise JavaBeans™(以下称EJB)是J2EE™应用中的业务逻辑层的组件模型。
Apusic应用服务器2.0版本提供了对EJB2.0规范的完全实现,同时提供了相关的增值特性,以简化对J2EE应用逻辑层的开发、部署、管理和维护。
2.2.1. 对规范的实现
Apusic应用服务器中的EJB容器提供对EJB的生存周期管理、缓存、持久性和事务管理等服务。 目前,J2EE规范中最新的EJB规范为2.0版本。
EJB2.0规范中定义了三种类型的EJB:Session Bean、Entity Bean和Message-driven Bean。 同时定义了相关的一些特性,如CMR、EJB QL等,为提高应用执行的效率,还定义了新的Local接口。Apusic2.0提供了对以上内容的完全实现。
• Entity Bean
Entity Bean被用于表示应用中的业务实体,通常与数据库或传统应用中的业务数据实体保持映射关系,可以理解为数据库或传统应用中的业务数据实体在内存中的对象表示方式。
Entity Bean的实例可由任何客户端的请求生成实例,且不因客户连接中断、系统失效等原因而消失,其状态被持久保留在数据库或传统应用中。
EJB2.0规范中对Entity Bean定义了新的容器管理关系模型(CMR)和Entity Bean的查询语言EJB QL。
• Session Bean
Session Bean通常被用于实现业务过程逻辑,通过对Entity Bean的操作完成业务过程并封装过程逻辑。 尽管在需要的情况下,Session Bean可以有保持数据到持久存储机制的能力,如数据库,但Session Beans不是持久的。
• Message-driven Bean
Message-driven Bean 是EJB2.0规范中新增的一个enterprise bean 类型,通常被用于异步接收从客户端发送的消息,触发相应的业务处理过程。
作为Enterprise Bean,Message-driven Bean具有一些与Session Bean 和Entity Bean 相同的接口方法,但由于Message-Driven Bean 本身不处理客户端调用,也无会话状态,客户只能通过向与Message Driven Bean 关联的队列或主题发送消息从而与Message Driven Bean 进行交互,另外,Message–Driven Bean 异步地处理队列(Queue)或主题(Topic)中的消息,而非方法调用。
2.2.2. 增值特性
除了对EJB2.0规范的实现,Apusic应用服务器中的EJB容器和相关系统服务还提供了一些高端增值特性,通过这些增值特性,使得面向Apusic应用服务器的业务逻辑层的开发、部署、运行和维护变得更加方便、高效和可靠。
• 实例池
通过图形化的配置工具或简单修改组件配置文件,Apusic应用服务器可以预先装载指定数量的对象实例到实例池中,使对客户请求进行响应的过程更加高效。
• CMP Entity Bean自动升迁
对于一个按照EJB1.1规范编写的CMP Entity Bean,应用服务器在运行时将其自动升级到EJB2.0,使按照EJB1.1规范编写的EJB可以使用EJB2.0规范中提供的Lazy Loading和Smart Update技术以提高应用执行的效率,同时降低已有应用在维护上的成本。
• 热部署
为提高企业应用开发、调试和维护的效率,Apusic应用服务器提供了热部署的功能。在运行时,可以动态地部署和修改应用中的应用程序,无需停止和重新启动服务器即可应用新的改动。
• 自动迁移及部署
不同的应用服务器厂商提供的基于J2EE™规范实现的应用服务器的不同,使得多数企业应用在不同的服务器之间迁移时,需要改动一些配置,提高了应用移植的成本,Apusic应用服务器提供了自动迁移和部署的能力,对于面向其他非Apusic应用服务器开发的企业应用,可以不改动应用程序,而由应用服务器自动完成移植的工作并部署到应用服务器,大大降低了应用移植的成本。
目前对于面向Weblogic6.0和J2EE™RI开发的企业应用,可以直接使用这项功能,Apusic应用服务器还将在此项功能上添加对当前其他主流应用服务器的支持。
• 自动生成查询
为提高面向CMP Entity Bean的开发效率和降低开发的难度,Apusic应用服务器可为CMP Entity Bean自动生成缺省的finder query。
2.3. 数据层
Apusic应用服务器模型中的数据层提供企业应用对关系型数据库和传统企业应用数据的高效而可靠的访问。使得企业应用可以通过JDBC实现对关系型数据库安全、可靠而且高效的访问。目前Apusic应用服务器提供了对最新的JDBC3.0版本的支持。任意合法的J2EE™编程模型都可以从Apusic应用服务器数据库连接池中获得对关系型数据库的连接。
按照J2EE™的规范,Entity Bean被设计为与数据库直接交互的最佳模型,但在实际的企业运用开发中,任何一种编程模型都有可能直接与数据库进行交互,针对这种情形,Apusic应用服务器提供了很多功能或特性,使对数据层访问的开发更为简单同时达到更为高效而安全的目标。
• JDBC结果集缓存
对于Session Bean、JSP、Servlets为主的J2EE应用中,频繁访问数据库而缺少对应的数据缓存等机制,往往会成为企业应用的瓶颈。因此,Apusic应用服务器提供了JDBC结果集缓存技术,通过将数据库返回的结果集保存在内存中可以大幅提高应用系统的性能,同时,使用结果集缓存对应用开发者是完全透明的,保证了应用的可移植特性。
• JDBC语句缓存
对于Session Bean、JSP、Servlets为主的J2EE应用中,频繁访问数据库而缺少对应的数据缓存等机制,往往会成为企业应用的瓶颈。因此,Apusic应用服务器提供了JDBC语句缓存技术,同时使用预编译的查询语句,提高应用程序访问数据库的效率。
• 连接池
对于复杂的企业应用而言,对数据库连接池的可靠、效率,成本都有着极高的要求,Apusic应用服务器提供了对连接资源的优化,使有限的数据库连接资源得到最大程度的利用,同时,对于应用错误使用连接造成的死锁或阻塞,提供了死锁检测的技术,而以上的特性对于用户而言是完全透明的。
3. 系统服务
Apusic应用服务器提供了针对多层的分布式企业应用的诸如安全、事务等系统服务方面的核心构架。
3.1. 安全
对于企业应用而言,应用服务器所能提供的安全方面的功能是保证企业应用数据完整、逻辑完整和减少被入侵可能的 重要特性,针对多层的分布式企业应用的安全要求,Apusic应用服务器提供了可靠高效的安全构架。同时,为应用程序的加密需求提供了一个安全、强壮、高效的JCE提供者。
• 身份鉴定
Apusic应用服务器提供了面向用户、调用过程和客户端调用等方式的身份鉴定,通过使用用户名和密码、证书等等方式,将合法的应用用户和调用程序区别于非法的入侵者。
• 授权
授权是使企业应用的完整性和安全性得以保证的重要因素,Apusic应用服务器对企业应用的授权策略提供了易于配置和修改的方法与工具,同时提供了可靠安全的授权机制。
• 加密
对于企业应用中的敏感数据的保存和交换,Apusic提供了高效可靠的加密机制。
• 安全数据存储
对于系统中的关键数据,如消息、用户信息等等,Apusic提供了极安全的内部保护存储机制。
3.2. 事务
为保证应用数据和业务逻辑的的完整性,除了提供完全符合规范和强壮的事务管理器之外,Apusic应用服务器对Entity Bean中特别是CMP类型的组件,提供了强壮而灵活的事务构架。
• 死锁检测
能够根据资源等待图自动检测出死锁状态,当事务发生死锁时将其中一个事务回滚,以释放事务所占用的资源,使其他事务能够继续执行。
• 并发控制
提供了灵活和强壮的EJB并发控制机制,单独分离出了并发控制部分,可以使用插件的形式同时提供多种并发控制协议。
• JMS全局事务
提供了一个作为事务性资源管理器的JMS 提供者(Provider),允许从JSP,Servlet, EJB 等应用组件中对JMS 进行事务性的访问。同时,从一个单一事务边界中允许多个应用组件访问JMS 提供者。 |
|