闲的蛋痛,复习下。
1.java web应用的缺陷
2.什么是企业级应用
3.javaee体系平台核心思想
4.ejb组件和容器
5.pojo与轻量级框架
javaweb应用的缺陷
分布式应用环境下,客户组件能访问订单组件吗?
web应用系统缺乏对分布式组件对象的访问支持。
jdbc能够跨数据库实现事务处理吗?
jdbc无法解决类似的企业问题。
什么是企业级应用
现代企业级应用应当具有如下需求
并发支持
事物支持
交互支持
集群支持
安全支持
分布式支持
web支持
这些企业级应用需求如何解决?
sun公司(现被oracle公司收购)的解决方案
javaee(java enterprise edition)
javaee技术平台的核心思想是“容器”加“组件”
EJB组件
业务逻辑放在系统的什么地方最合适?
Java Web应用中我们使用JavaBean来实现业务逻辑
JavaEE中使用EJB组件实现业务逻辑
这些EJB组件能够解决复杂的企业级应用需求吗?
Java EE规范采用EJB容器来解决复杂的企业级应用,为EJB组件提供服务
1.目录服务
2.web服务
3.持久存储
4.消息传递
5.远程访问
6.并发处理
7.资源管理
8.事物管理
9.邮件处理
EJB容器与EJB组件协同工作
EJB容器会介入到客户和EJB组件之间,插入一些“服务”
Java EE核心技术简介
JavaEE规范为企业级应用提供了一整套服务、应用程序接口API和协议技术:
JavaMail(邮件服务)
RMI(Remote Method Invoke) 远程方法调用
Java事务API(JTA)和Java事务服务(JTS)
JPA(Java Persistence API)java持久性api
IDL(Java Interface Defilation Language)接口定义语言
JMS(Java Message Service) java消息服务
STAX (Stream api for xml)
Web Service web服务
JNDI(Java Name and Directory Interface) java命名和目录接口
JavaEE标准结构的缺陷
EJB设计缺陷
面向过程
EJB开发的问题
编辑、编译、调试周期长
编码冗长、繁琐
必须编写数据传输对象
有这么多的问题,那Java EE真正的强大之处在哪里?
Java EE真正的强大之处在于服务,如:JNDI、JTA等等
没有EJB我们照样可以使用JavaEE提供的服务
使用POJO(Plain Old Java Objects)简单的Java对象替代EJB
POJO如何实现企业级应用需求呢?
替代方案就是采用目前流行的“轻量级”框架。
这些“轻量级”框架与JavaEE的某些部分结合在一起提供
重要的企业服务 。
POJO与对象
POJO可以采用面向对象设计围绕对象模型编写而不是去围绕方法编程
轻量极框架
例如 spring, ibatis等
spring 核心思想是IOC(控制反转,依赖注入)和AOP(面向切面编程)
ibatis相对与hibernate在于ibatis 提供了sql文件。可以优化sql配置文件,达到系统优化的功能。
hibernate则固定死了。ibatis一般可以用于不知道数据库表结构的系统。列如*局什么的。保密性强的。