本教程操作环境:windows10系统、java8,本文适用于所有品牌的电脑。
1.定义
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信,也可以定义为网络环境下处于操作系统、数据库等系统软件和应用软件之间的一种起连接作用的分布式软件,主要解决异构网络环境下分布式应用软件的互连与互操作问题,提供标准接口、协议,屏蔽实现细节,提高应用系统易移植性。
2.作用
立即学习“Java免费学习笔记(深入)”;
中间件通过提供简单、一致、集成的开发和运行环境,简化分布式系统的设计、编程和管理
3.分类
中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产品。从功能性外延来看,中间件包括交易中间件、消息中间件、集成中间件等各种功能性的中间件技术和产品
4.产品分类
三大类产品:应用服务类中间件、应用集成类中间件、业务架构类中间件。
为应用系统提供一个综合的计算环境和支撑平台,包括对象请求代理(ORB)中间件、事务监控交易中间件、JAVA应用服务器中间件等
应用集成类中间件是提供各种不同网络应用系统之间的消息通信、服务集成和数据集成的功能,包括常见的消息中间件、企业集成EAI、企业服务总线以及相配套的适配器等。
作为共性的凝练,中间件不仅要从底层的技术入手,将共性技术的特征抽象进中间层,还要更多地把目光投向到业务层面上来,根据业务的需要,驱动自身能力的不断演进,即,不断出现的新的业务需要驱动了应用模式和信息系统能力的不断演进,进而要求中间件不断地凝练更多的业务共性,提供针对性支撑机制。
业务架构类中间件包括业务流程、业务管理和业务交互等几个业务领域的中间件
5.java 中间件
1.Java中间件的定义
在Java web开发的演进与进化中,我们对于消息系统,数据库,服务化接口的抽象等,涉及数据分离的过程中,在分离过程中,就会涉及到分离后系统间,数据库间的交互。java中间件就是处理我们数据间交互,连接数据分离后两个系统间的通信,中间件不属于任何一个开发项目,就是让我们对应系统间或者数据库间数据流通无感知。有点像Linux下的管道。
2.中间件应用的基本领域与代表
上面说到java是数据间的中间件,在java web开发中适用的范围主要应该是下面三个领域:
远程过程调用和对象访问中间件
主要解决分布式环境下应用的互相访问问题,这也是支撑应用服务化功能的基础;
例如:RPC:Remote Process Call(远程过程调用中间件)
消息中间件:解决应用之间的消息传递、解耦、异步的问题。
例如:ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。
数据访问中间件
主要解决应用访问数据库的共性问题的组件
例如:数据访问中间间就是我们使用数据库指定的数据驱动,例如:ODBC JDBC,以 JDBC 为例,数据库本地维护了一个数据访问中间件,我们在访问数据库的时候,配置的地址其实是直接连接到JDBC这个数据访问中间件,如果我们执行查询数据,或者对数据库的操作都是通过JDBC来连接数据库,然后通过JDBC查询完成数据库以后再返回给我们应用程序。作为中间件,查询过程对于我们是不可知的。