首页 > 代码库 > Weblogic的架构

Weblogic的架构

WebLogic管理控制台  WebLogic服务器提供了一个健壮的基于Web 的工具——管理控制台,它是执行上述任务的主要工具。通过管理控制台,你可以访问WebLogic管理服务。管理服务实现了 Sun的Java管理扩展标准(JMX),它是WebLogic 资源管理的基础。 你可以用管理控制台来配置资源的属性,分发应用及组件,监控资源的使用情况(如服务器负载,Java虚拟机的内存使用情况以及数据库连接池的负载),查看日志消息,终止服务器,以及执行其它管理任务。 域、管理服务器与受管服务器  作为一个单元来管理的并相互关联的一组WebLogic服务器资源被称为域。一个域可以包含一或多个WebLogic服务器,还可以包含WebLogic服务器集群。域的配置使用扩展标记语言(XML)定义。install_dir/config/domain_name 目录中的config.xml 文件定义了域的配置,install_dir是WebLogic Server软件的安装目录。 域是一个完备的管理单元。向域里分发应用的时候,该应用的各组成部分只能分发到域之内的服务器上。如果域中包含集群,那么集群中的所有服务器都必须属于同一个域。

运行管理服务的WebLogic服务器称为管理服务器。管理服务集中管理并监控域的所有资源。 如果要对某个域执行管理操作,该域的管理服务器必须处于运行状态。  一 个包含多个WebLogic服务器的域只能有一个管理服务器,其它服务器称为受管服务器。每个WebLogic受管服务器都会在启动时从管理服务器得到各 自的属性配置。管理服务器和WebLogic 受管服务器启动时都运行webLogic.Server 类。 没有作为受管服务器启动的WebLogic服务器就是管理服务器。

下图为域的运行机制

技术分享

J2EE的架构  J2EE应用是一个组件集合,这些组件被组织成一个部署单元,例如EAR(企业级应用或web服务),WAR(WEB应用)或JAR(EJB)文件。应用所需要的各种组件——EJB或Web应用,服务器或集群,JDBC连接池等等都定义在一个域配置中。将这些资源组合在一个单一的、完备的域中使我们可以以统一的方式来看待或访问这些相互关联的资源。

常见组件: Servlet :一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

JSP :(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

EJB :sun的服务器端组件模型,设计目标与核心应用是部署分布式应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。

Session Bean:用于实现业务逻辑,它可以是有状态的,也可以是无状态的。每当客户端请求时,容器就会选择一个Session Bean来为客户端服务。Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。   Entity Bean是域模型对象,用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。 

下图为J2EE的架构

技术分享 在生产环境中,系统的典型配置是这样的:应用及业务逻辑组件被分发在多个受管服务器上,而管理服务器则负责配置及监控受管服务器。管理服务器的作用是配置与监控受管服务器。如果管理服务器宕机了,部署在受管服务器上的应用不受影响,可以继续处理客户端的请求;这种情况下,当管理服务器被重启后,可以重新获得对活动域的控制 把应用或应用组件分散到一组受管服务器上能带来一些好处。将EJB以及其它组件分布到一组服务器上可以保证主应用的可用性。如不同的组件完成不同的功能可以提高系统的性能,例如将数据库访问与帐单事务分在不同的受管服务器上处理。象EJB这种可以实现各种功能的组件或应用是可以被隔离开的,从而使它的可用性不依赖于其它组件的状态。多个应用可以部署在一个域中。当管理服务器使用这样的配置启动以后,我们说该域是活动(active)的。

在管理服务器运行期间,只有管理服务器才可以修改配置文件 。管理控制台及命令行管理工具提供了访问管理服务器的手段,你可以通过它们来修改域的配置。一个域被激活后,可以通过管理控制台监控或配置整个域的资源。  配置存储库(configuration repository)还保存了其它非活动的配置文件,你可以通过管理终端来编辑这些文件。配置存储库由位于/config 目录下的一系列子目录构成。任何域都是由位于一个与该域同名的子目录下的config.xml唯一定义的。你可以通过管理控制台在启动时出现的欢迎页面上的Configuation链接来访问非活动的配置文件。

运行时对象与配置对象  管理服务器中有许多类似于JavaBean 的Management Beans(MBeans)对象。Mbeans遵循Sun的Java管理扩展标准(JMX)。这些对象提供了对域资源的管理访问。  管理服务器包含了配置Mbeans 与运行时Mbeans。管理Mbeans提供了配置属性的SET(写)与GET(读)访问。  运行时Mbeans提供了域资源信息的快照,例如当前HTTP会话的信息与JDBC连接池的负载信息。如果域的某个资源(例如Web应用)被实例化,那么服务器会创建一个Mbeans的实例来收集这个资源的信息。 当你从管理控制台访问某一资源的监控页面时,管理控制台执行GET操作获取当前的属性值。

技术分享

管理服务使域资源的属性可以被动态修改,即使WebLogic服务器正在运行,也可以修改属性。许多属性改变不需要重启服务器就能生效。这时,修改后的属性不仅表示当前属性值,还会被保存到配置文件中。 除了基于Web 的管理控制台外,WebLogic服务器还提供了命令行工具来访问域资源配置及监控属性。可以用命令行工具创建 script,使系统的管理自动化。 日志消息的集中访问  通过管理服务器提供的域日志,你可以集中地访问所有服务器的关键系统消息。通过JMX提供的基本功能,消息可以转发到订阅该消息的实体。订阅实体通过设置过滤器来选择感兴趣的消息。本地服务器在启动时发向其它网络实体的信息称为一个布告。JMX布告使域内所有服务器的关键日志消息都被转发给管理服务器。在WebLogic受管服务器启动时,管理服务器会进行注册以便接受关键日志消息。这些消息被存储在域日志中。管理服务器向域里的每一个 

 

参考至:《Weblogic管理员手册》

             http://wenku.it168.com/d_000397386.shtml

             http://baike.baidu.com/view/25169.htm

             http://baike.baidu.com/view/3387.htm

             http://baike.baidu.com/view/3542.htm

本文转载请注明出处http://czmmiao.iteye.com/blog/1611771

Weblogic的架构