J2EE核心技术-JMS和JDBC
2012-01-03 20:49
288 查看
《J2EE核心技术--JSP和Servlet》和《J2EE核心技术--EJB分类》两片博文从比较浅层次的阐述了MVC架构中,包含各自核心组件的功能,但是要实现J2EE所说的分布式架构,还需一个非常重要的东西,就是三层之间的服务调用和信息交换,这就扯出了下面要写的东西:JMS、RMS、JDBC和JNDI。
JMS、RMS、JDBC及JNDI都是为了满足在远程或本地不同的服务调用和信息交换而产生的,按照老规矩还是一个一个的来解析他们各自的用途和范围。
JMS:在说JMS前要先提一下相关的背景,jms既Java消息服务(Java Message Service),何为消息,是指动态的、可流动或者说是可传递的,这个过程就是Messaging,jms的消息传递和常用的通信协议适用的场景是不一样的。Jms有着自己定义的消息格式和消息传递的模式,消息的格式由10个头字段、property的可选头字段和消息体组成,如下图:
Header和properties都是键值对,body是具体要传递的内容,properties可以放一些自定义的附加信息。消息需要由生产者产生,同样的道理,消息也需要传递到需要它的消息消费者手中,其实,这其中还有一个叫jms Server的东西,也称为Destination,它专门在生产者和消费者中间中转和保存消息,这样就构成了3点结构,和咱们学过的MVC非常相似。
消息传递的模式分为两种point to point(点对点),意思就是生产者产生一条消息,只能传递给一个消费者,就好像一个苹果只能给一人一样,前提当然是苹果不可再分了。
但是ptp的传递方式不能达到消息的共享,因此publish/subscribe模式出现了,他可以达到多人共享消息,消息的发送者叫发布者,拿到消息的人叫订阅者,发布者发出消息后,暂存在中间服务器上,供订阅者接收,达到了消息的异步,就好像我说了一句,XXX是泡妞高手被大家听到了一样。
除了传递消息,还要保障消息的可靠性和高效性。因此,JMS引入了确认和事务,就像JDBC那样,一次会话过程,可以手动完成事务,处理完成后,提交,确认所有的消息,但是发送不支持事务,这只能交给消息中间件来完成了。
JDBC:有些编程基础的童鞋一看JDBC就基本明白它是干什么的,怎么干的,下面简单介绍一下,JDBC是sun公司的一个商标,但外界大多数人不这么认为,仍然认为JDBC是Java Database Connectivity的首字母简写,它不仅和微软的ODBC形似还有几分神似,用来完成应用程序和数据的交互,也就是MVC中M层和数据库之间的联系。
从下图可以看出JDBC的体系结构,他也是利用MVC的思想,JDBC API给上层应用(也就是程序员)提供统一的接口,下层再各自去管理不同的数据库。
JDBC工作流程:
1.注册JDBC驱动程序:JDBC-ODBC桥驱动模式、本地接口与Java驱动程序相结合的驱动模式、面向数据库中间件的驱动模式、直接连接的驱动模式。
2.获取数据库连接:DataSource和DriverManager
3.生成数据库语句:Statement、prepareStatement和CallableStatement。
4.在数据库语句中嵌入SQL语句并执行
5.关闭数据库语句和数据库连接
(接下篇)
JMS、RMS、JDBC及JNDI都是为了满足在远程或本地不同的服务调用和信息交换而产生的,按照老规矩还是一个一个的来解析他们各自的用途和范围。
JMS:在说JMS前要先提一下相关的背景,jms既Java消息服务(Java Message Service),何为消息,是指动态的、可流动或者说是可传递的,这个过程就是Messaging,jms的消息传递和常用的通信协议适用的场景是不一样的。Jms有着自己定义的消息格式和消息传递的模式,消息的格式由10个头字段、property的可选头字段和消息体组成,如下图:
Header和properties都是键值对,body是具体要传递的内容,properties可以放一些自定义的附加信息。消息需要由生产者产生,同样的道理,消息也需要传递到需要它的消息消费者手中,其实,这其中还有一个叫jms Server的东西,也称为Destination,它专门在生产者和消费者中间中转和保存消息,这样就构成了3点结构,和咱们学过的MVC非常相似。
消息传递的模式分为两种point to point(点对点),意思就是生产者产生一条消息,只能传递给一个消费者,就好像一个苹果只能给一人一样,前提当然是苹果不可再分了。
但是ptp的传递方式不能达到消息的共享,因此publish/subscribe模式出现了,他可以达到多人共享消息,消息的发送者叫发布者,拿到消息的人叫订阅者,发布者发出消息后,暂存在中间服务器上,供订阅者接收,达到了消息的异步,就好像我说了一句,XXX是泡妞高手被大家听到了一样。
除了传递消息,还要保障消息的可靠性和高效性。因此,JMS引入了确认和事务,就像JDBC那样,一次会话过程,可以手动完成事务,处理完成后,提交,确认所有的消息,但是发送不支持事务,这只能交给消息中间件来完成了。
JDBC:有些编程基础的童鞋一看JDBC就基本明白它是干什么的,怎么干的,下面简单介绍一下,JDBC是sun公司的一个商标,但外界大多数人不这么认为,仍然认为JDBC是Java Database Connectivity的首字母简写,它不仅和微软的ODBC形似还有几分神似,用来完成应用程序和数据的交互,也就是MVC中M层和数据库之间的联系。
从下图可以看出JDBC的体系结构,他也是利用MVC的思想,JDBC API给上层应用(也就是程序员)提供统一的接口,下层再各自去管理不同的数据库。
JDBC工作流程:
1.注册JDBC驱动程序:JDBC-ODBC桥驱动模式、本地接口与Java驱动程序相结合的驱动模式、面向数据库中间件的驱动模式、直接连接的驱动模式。
2.获取数据库连接:DataSource和DriverManager
3.生成数据库语句:Statement、prepareStatement和CallableStatement。
4.在数据库语句中嵌入SQL语句并执行
5.关闭数据库语句和数据库连接
(接下篇)
相关文章推荐
- J2EE核心技术-JMS和JDBC
- J2EE的核心技术之JDBC简介篇
- j2ee 13种核心技术
- j2ee的13种核心技术(转载)
- J2EE的13种核心技术 [转]
- J2EE的13种核心技术
- J2EE 的十三种核心技术
- J2EE的13种核心技术
- J2EE的13种核心技术 概述
- J2EE的13种核心技术规范
- J2EE的13种核心技术(二)
- Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa j2ee分布式架构核心技术
- J2EE的13种核心技术简介
- J2EE的13种核心技术
- 【转贴】J2EE的13种核心技术(一)
- J2EE核心技术构成
- J2EE的13种核心技术简介
- J2EE的13种核心技术
- J2EE的13种核心技术简介
- J2EE的13种核心技术简介