weblogic 体系结构

简介:  1. J2EE 的体系结构 在介绍weblogic的体系结构之前,我们需要先明白j2ee的体系结构: 可以分为 4 层,如图 1 所示。 (1)客户端层 这一层直接与用户交互,J2EE支持多种客户端,它既可以是通过Internet访问的Web浏览器客户端,也可以是通过企业Intranet运行的瘦客户端。

 1. J2EE 的体系结构

在介绍weblogic的体系结构之前,我们需要先明白j2ee的体系结构:

可以分为 4 层,如图 1 所示。


(1)客户端层 这一层直接与用户交互,J2EE支持多种客户端,它既可以是通过Internet访问的Web浏览器客户端,也可以是通过企业Intranet运行的瘦客户端。 

(2)Web层 这一层是为基于Web的应用程序服务的,J2EE中的JavaServer Page和Java Servlet技术可以访问封装有商务逻辑的组件,并负责响应Web客户端的请求。 

(3)EJB层 Enterprise Java Bean封装了商务逻辑,完成企业计算。这一层提供了多个层次的服务,比如事务处理、安全性、资源连接等。EJB 层建立在一个强大的分布式计算模式之上,程序员用这种模式编写 EJB,可以不关心诸如组件通信、事务处理等底层工作,而只需把注意力放在商务逻辑的实现上。 

(4)EIS层 EIS(Enterprise Information System)企业信息系统层包括企业已有系统(如ERP系统)、数据库系统、文件系统等。J2EE提供了多种技术来访问这些系统,如利用JDBC技术来访问。 


2. Weblogic的结构 

    一个J2EE 应用程序的核心部分在服务器端,这个服务器端运行环境就是应用服务器。Sun 公司通过联合多家公司制定统一的规范,不同的服务器供应商可以开发不同的应用服务器,比如 BEA公司的WebLogic等,但是每个应用服务器都必须遵循相同的规范,这样同一个J2EE应用程序就可以部署到不同的应用服务器中去。Webligic的结构如图。 



BEA WebLogic Platform 包括以下几个部分。 

    1.BEA WebLogic Workshop 

    BEA WebLogic Workshop是一个开发环境,用于为 BEA WebLogic Platform构建企业级J2EE应用。WebLogic Workshop可以帮助所有开发人员以前所未有的效率快速创建、测试和部署企业级的Web应用、XML Web服务、EJB、门户和业务流程管理(BPM)应用。 

    2.BEA WebLogic Integration 

    BEA WebLogic Integration是一个基于标准的平台,可以用于应用集成、业务流程管理、工作流、Web服务和B2B集成。WebLogic Integration为用户提供统一的业务集成框架、简化的生产和管理,以及新的可扩展架构。该架构可以快速地集成并整合应用、业务流程和商务合作伙伴。 

    3.BEA WebLogic Portal 

    BEA WebLogic Portal为门户开发提供业内领先的企业级门户基础结构。它为门户开发提供丰富的、图形化的环境,并为业务专家提供基于浏览器的集成工具。一旦构建完成,你的门户就可以在业务需求发生变化时快速适应变化。 

    4.BEA WebLogic Server 

    BEA WebLogic Server是J2EE工业强度的应用服务器,它是BEA WebLogic Platform的基础。 

    5.BEA Liquid Data for WebLogic 

    BEA Liquid Data for WebLogic 为实时地从分布资源中快速访问、集成和共享关键业务信息提供了最有效的方式。它为前端办公应用——比如门户和Web应用,以及业务流程处理增强了信息的可视性



3、EJB 是什么?

关于这个概念,参考博客:http://blog.csdn.net/cymm_liu/article/details/7874800

那么EJB与weblogic是什么关系呢?

weblogic是ejb的容器,只有把ejb组件放到了容器里,ejb才能运行;同时,weblogic也是jsp和servelet的容器,所以,weblogic上同时也可以跑jsp和servelet。


4、weblogic 组成的概念


web客户端以Servlets/JSPs通过HTTP协议和WebLogicServer进行交互
web客户端包括:

浏览器

Webservice (SOAP over HTTP)

应用客户端通过JRMP/T3,IIOP,COM和WebLogicServer交互
应用客户端包括:

独立的Java应用

浏览器中的Applet



5、Weblogic的Machine,Server,Domain,Cluster的关系


Machine :Machine 是指运行WebLogic Server实例的物理机器,通常与部署在其上的Managed Server相关连。Machine用于Node Manager(一个运行在物理服务器上的进程,可以远程重启Admin 和 Managed Server)重启失败的Managed Server,以及为集群的Managed Servers选择合适的Session存放位置(Session避免存放在同一台Machine上)。



Server:server是执行在单一Java虚拟机(JVM)中的一个weblogic.Server类的实例。

最多和一个WLS机器关联
占用一定数量的RAM
是多线程的
在weblogic中分管理server和被管理server,一般情况下,都会Listen某一网络地址。

Administration Server :管理server是控制整个域配置的中心操作节点,管理server维护着整个域 Domain 的配置并将配置分配到每个被管理服务器 Managed Server 中,每个域中都必须有一个Administration Server。我们可以通过三个渠道访问管理服务器:Admin Server console、Oracle WebLogic Scripting Tool WLST、JMX客户端(通过WebLogic提供的API来实现),最后我们还可以通过SNMP协议来监控Admin Server的状态。

Admin Server 如果挂了,对于Domain中的Managed Server不会产生影响,如果配置了集群,对于负载均衡和Failover机制也不会产生影响,因为这些都是基于配置文件的(config.xml),而不依赖与Admin Server的实例。Admin Server 不必时刻运行,当我们需要修改配置或者部署应用时,把Admin Server运行起来就行。

Managed Server :被管理服务器是一个WebLogic Server的实例,他从Admin Server那里获取配置信息。通常在Managed Server上部署自己的服务、组件或应用。基于性能考虑,Managed Server维护着一份只读的域配置文件,当服务启动的时候,会从Admin Server上同步配置文件信息,如果配置文件发生了改变,Admin Server也会将改变推送到Managed Server上。


Domains:

域是作为单元进行管理的一组相关的 WebLogic Server 资源。一个域包含一个或多个 WebLogic Server 实例,这些实例可以是群集实例、非群集实例,或者是群集与非群集实例的组合。一个域可以包含多个群集。域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器实例所需的资源和服务。应用程序和服务器实例使用的资源和服务示例包括计算机定义、可选网络通道、连接器和启动类。

Domain 中包含一个特殊的 WebLogic 服务器实例,叫做 Administration Server,这是我们配置、管理Domain中所有资源的核心。通常,我们称加入Domain中的其他实例为 Managed Server,所有的Web应用、EJB、Web Services和其他资源都部署在这些服务器上。

我们可以按照以下的一些标准来组织Domain:程序的逻辑划分,例如一个电商网站,可以将前台作为一个Domain,订单处理作为一个Domain,其他资源作为一个Domain;以物理地域为划分,例如一个跨国公司的网站,每个国家可以建立一个Domain;以尺寸来划分。

为什么用域?

域管理的特征

  • 对应用来说是透明的
  • 可以出于技术或业务的理由来配置、管理

WLS域可以用来分离:

  • 开发/测试/上线的应用
  • 管理和操作的任务
  • 组织或业务分配

MyDomain { Machine {Server1, Server2} }


Cluster :集群是一组WebLogic Server的组合,集群是为了满足服务的高可用(High Avilability)以及可扩展(Load Balancing)需求而出现的。需要注意的是,集群中的WebLogic Server必须版本号一致。Cluster需要注意的几个问题:

不能够跨Domain,Cluster中的服务器必须在同一个域中

Domain中可以有多个Cluster。




Node Manager:运行在物理服务器上的一个进程,用来远程执行Admin Server 和 Managed Server的启动 Start、停止 Stop、挂起 Suspend、重启 Restart 操作。该进程与Domain并不关联但是与Machine相关连,如果你想在Admin Console 中对Server进行控制,则必须安装Node Manager。Node Manager 提供了Java-based和Script-based两个版本,实现的功能一样。





相关文章
|
7月前
|
Web App开发 安全 Java
WebLogic Server 远程代码执行漏洞(CVE-2021-2109)
WebLogic Server 远程代码执行漏洞,攻击者可通过使用恶意Payload对目标服务器实施攻击并接管服务器获取执行权限。
81 1
|
7月前
|
安全 Java 应用服务中间件
WebLogic Server 远程代码执行漏洞(CVE-2023-21839/CNVD-2023-04389)
WebLogic Server 存在远程代码执行漏洞,攻击者通过特定Payload对目标服务器进行恶意利用从而获取服务器控制权限,进一步操作。
148 1
|
7月前
|
XML 安全 Java
WebLogic EJBTaglibDescriptor XXE漏洞(CVE-2019-2888)
WebLogic EJBTaglibDescriptor 在反序列化的同时会进行XML解析,通过重写EJBTaglibDescriptor中的writeExternal函数生成恶意的序列化数据。
103 1
H8
|
8月前
|
安全 网络协议 Java
跨语言的艺术:Weblogic 序列化漏洞和 IIOP 协议
Weblogic序列化漏洞主要依赖于T3和IIOP协议,在通信交互方面存在诸多问题,如跨语言、网络传输等,给漏洞检测和利用带来诸多不便。在WhiteHat Labs的理念中,漏洞检测和利用是一项创造性的工作,应该以最简洁高效的方式实现,以保证漏洞的跨平台性和实用性。因此,我们实现了跨语言的IIOP协议通信方案来解决序列化漏洞问题。
H8
153 1
|
10月前
|
XML 安全 Oracle
Weblogic IIOP协议反序列化(CVE-2020-2551)漏洞复现
Weblogic IIOP协议反序列化(CVE-2020-2551)漏洞复现
698 0
|
10月前
|
XML 安全 Oracle
Weblogic XMLDecoder 远程代码执行漏洞 CVE-2017-10271 漏洞复现
Weblogic XMLDecoder 远程代码执行漏洞 CVE-2017-10271 漏洞复现
107 0
|
11月前
|
安全 NoSQL Shell
Weblogic ssrf漏洞复现---从0到1
利用Ubuntu16.04,安装docker,要以root身份执行
171 0
Weblogic ssrf漏洞复现---从0到1
|
11月前
|
XML 安全 Oracle
干货 | 最全最详细的Weblogic漏洞总结(建议收藏)
干货 | 最全最详细的Weblogic漏洞总结(建议收藏)
2338 0
|
11月前
|
安全 Oracle 前端开发
(CVE-2018-2894)Weblogic任意文件上传漏洞复现 文末附演示视频
(CVE-2018-2894)Weblogic任意文件上传漏洞复现 文末附演示视频
117 0
|
11月前
|
负载均衡 安全 Oracle
中间件常见漏洞之weblogic 1
中间件常见漏洞之weblogic
195 0