一.中间件概念:
中间件(middleware)是基础软件的一大类, 属于可复用软件的范畴. 顾名思义,中间件处于操作系统软件与用户的应用软件的中间.
中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件.在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源, 中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信
二.中间件工作机制
中间件是一个用API定义的分布式软件管理框架,具有强大的通信能力和良好的可扩展性。客户端上的应用程序需要从网络中的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着和客户端不同的操作系统服务器中。客户/服务器应用程序中负责寻找数据的部分只需通过调用中间件的API访问一个中间件系统,由中间件完成到网络中找到数据源或服务,进而传输客户请求、重组答复信息,最后将结果送回应用程序的任务。
三.BEA公司简介:
著名的Java 中间件软件公司,美国NASDAQ上市公司,其中间件市场份额一度IBM还要高。2008年初被Oracle收购, 客户选择BEA来帮助其将已有的企业软件应用,从笨拙的、冗余的、遗留的客户机/服务器架构体系,发展成为响应灵敏的、成熟的Web基础结构
四.WebLogic简介:
WebLogic是美国Oracle公司出品的一个application server确切的说是一个基于JAVAEE架构的中间件,BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
WebLogic和Tomcat异同:
Weblogic特点:
(1)WLS全面支持J2EE的标准规范和其他标准规范,Web Service, SSL, xml,EJB等
(2)完善的售后支持
(3)集群机制, 支持分布式的应用
(4)Web控制台进行组件、JDBC、管理和配置
(5)较好的支持热部署(开发模式下)
(6)需要费用
Tomcat特点:
(1)Tomcat 为WEB容器,只支持部分J2EE标准, 应用局限性强,不支持EJB
(2)没有售后支持, 看社区与论坛
(3)需要结合第三方插件/应用
(6)开源免费
负载均衡/故障转移的概念:
在集群系统中. 来自客户的请求可以进行平均分配. 把相应的进程分发给与之共同承担任务的服务器,从而不影响应用进程的运行, 大多数中间件都支持负载均衡,实现负载均衡大大降低了系统的崩溃现象,从而减少对企业带来的损失.
故障转移:软硬件出现故障,能够有其它相关的软硬件设备来承接相关的工作任务,以保障系统正常工作。
分布式:
所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式网络存储技术是将数据分散的存储于多台独立的机器设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性
下载WebLogic
打开Oracle官方网站: http://www.oracle.com/index.html
安装
安装完成, 也可以选择QuickStart方式启动
通过快捷方式找到Weblogic菜单
快速启动webLogic向导
创建一个WebLogic域
选择weblogic域的启动模式
开发模式:该模式启用自动部署
生产模式:该模式关闭自动部署(MyEcipse版本不支持产品模式)
生产模式是为保证速度快放在指定目录下,他的包不会自动更新。开发模式是比较自由的,它保证开发灵活性,随便把它扔哪里都会自动更新,这样会影响速度。一般地开发好的产品,都给客户用产品模式部署
**Weblogic目录结构**
WebLogic基本目录介绍
Coherence:在可靠的、高度可伸缩的对等集群协议之上提供了复制的、分布式的(分区的)数据管理和缓存服务
Logs:系统日志目录
Modules: weblogic运行时需要的jar文件
user_projects:定义域存放的位置
Utils:用户可以存放的第三方工具包
wlserver_10.3:weblogic的主目录
User_projects目录介绍
Autodeploy:当Weblogic服务实例与开发模式运行时,此目录下应用程序(ear, war)等将被自动展开服务
Bin:存放域中的可执行文件
Config:本域相关的配置文件
Console-ext:控制台信息, 只应用于adminServer
Lib:存放库文件
Security:安全相关
Servers:包含域的所有服务
StartWebLogic.cmd 调用bin下面的StartWebLogic.cmd
StartWebLogic.sh:调用bin下面 StartWebLogic.sh (Linux下)
MyEclipse配置WebLogic
开启Weblogic服务
目前Weblogic版本仅仅支持J2EE5.0 因此要把web.xml中的配置文件改成2.5规范
五.Weblogic中的概念介绍:
域Domain
WebLogic Server中的域是逻辑上相关的一组 WebLogic Server 资源,可以作为一个单元进行管理。一个域中包含一台或多台 WebLogic Server,也可以包含 WebLogic Server 群集。域是由单个管理服务器管理的 WebLogic Server 实例的集合
Managed Server
被管理服务器也是一个WebLogic Server的实例,他从Admin Server那里获取配置信息。通常在Managed Server上部署自己的服务、组件或应用。基于性能考虑,Managed Server维护着一份只读的域配置文件,当服务启动的时候,会从Admin Server上同步配置文件信息,如果配置文件发生了改变,Admin Server也会将改变推送到Managed Server上
Administrator Server
管理服务器是控制整个域配置的中心操作节点,管理服务器维护着整个域 Domain 的配置并将配置分配到每个被管理服务器 Managed Server 中,每个域中都必须有一个Administration Server
计算机Machine
是指运行WebLogic Server实例的物理机器,通常与部属在其上的Managed Server相关连。Machine用于Node Manager(一个运行在物理服务器上的进程)
Cluster集群
集群是一组WebLogic Server的组合,集群是为了满足服务的高可用(High Avilability)以及可扩展(Load Balancing)需求而出现的。需要注意的是,集群中的WebLogic Server必须版本号一致。Cluster需要注意的几个问题:不能够跨Domain、Cluster中的服务器必须在同一个域中、Domain中可以有多个Cluster
启动与服务相关配置
1.1.20.启动与服务相关配置
WebLogic的启动是通过启动文件来完成的,不同的服务定义在不通的启动配置文件中,都在域的bin目录中
StartWebLogic:启动管理服务器
StartManagedWebLogic:启动被管理服务器
StopWebLogic:关闭管理服务器
StopManagerWebLogic:关闭被管服务器
系统配置文件config.xml 存放这域内所有的配置信息,该文件的存放在域中的config目录的config.xml中,修改后端口信息就保存在此文件中
WebLogic生命周期
SHUTDOWN 状态下,WebLogic Server 实例已配置但处于非活动状态
STARTING 状态期间,由于执行”启动”、”管理模式启动”或”以待机模式启动”命令,WebLogic Server 实例从 SHUTDOWN 转换为 STANDBY
STANDBY 状态的服务器实例不处理任何请求,它的常用监听端口处于关闭状态。管理端口处于打开状态,可以接受将服务器实例转换为 RUNNING 或 SHUTDOWN 状态的生命周期命令
在 ADMIN 状态下,WebLogic Server 启动并运行,但仅用于管理操作,您可以在此状态下执行服务器级和应用程序级管理任务
在此转换状态中,WebLogic Server 执行将其从 STANDBY 或 ADMIN 状态转换为 RUNNING 状态所需要的操作
在 RUNNING 状态下,WebLogic Server 处于完全工作状态,可以向客户端提供服务并作为一个完整的群集成员运行
六.总结:
中间件技术是伴随网络而发展起来的一种面向对象的技术。以前的计算机系统多是单机系统,多个用户是通过联机终端来访问的,没有网络的概念。网络出现后,产生了Client/Server的计算服务模式,多个客户端可以共享数据库服务器和打印服务器等等。随着网络的更进一步发展,许多软件需要在不同厂家的网络产品、硬件平台、网络协议异构环境下运行,应用的规模也从局域网发展到广域网。在这种情况下,Client/Server模式的局限性也就暴露出来了,于是中间件应运而生。中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足了关键业务的需求。所以将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用软件重复使用。这一技术的思想最终构成了中间件这类软件。