
# SAP NetWeaver实例组成
SAP NetWeaver系统有不同的部署方式，但无论何种部署方式，SAP NetWeaver均由Instance（实例）组成，主要Instance如下：
- 对话实例（Dialog Instance） 对话实例是可选的，并且可以被分布式安装在独立的hosts上以保证对话进程的高可用，对话进程DI包括：
  - 调度程序Dispatcher
  
  - 工作进程Work Processes (dialog，batch，spool or update)
  
  - 网关Gateway
  
  - 网络通信管理Internet Communication Manager (ICM)
  
  - 网络图形化服务Internet Graphics Service (IGS)
  
  
  集群场景下可以添加DI，当集群添加DI后，Central instance会更新进入集群的DI的信息（这里包括使用类型，如EP或PI）。集群需要一个Load Balancing方案，如SAP Web Dispatcher。各组件功能介绍请参考[表1]。
   表1Dialog实例及各组件功能简介 
  | 实例                                                            | 组件                                            | 功能                                                                                                                                                       |
  |:---|:---|:---|
  | 对话实例 （Dialog Instance） | 工作进程（Dialog，Batch，Spool，Update）               | 工作进程是实际执行应用程序的组件，分为对话进程，后台作业进程，Spool进程， 更新进程。工作进程是能够执行应用程序的组件（即每个对话步骤）。 每个工作进程都链接到一个包含正在运行的应用程序上下文的内存区域。 上下文包含应用程序的当前数据，这需要在每个对话步骤中可用。                   |
  | 对话实例 （Dialog Instance） | 调度程序（Dispatcher）                              | 调度程序是工作流程和登录到ABAP应用程序服务器（即这些用户的SAP GUI）的用户之间的链接。 其任务是从SAP GUI接收对话步骤的请求，并将其引导到一个空闲的工作流程。 以相同的方式，它将从对话步骤导出的屏幕输出引导回适当的用户。                                   |
  | 对话实例 （Dialog Instance） | 网关（Gateway）                                   | 这是NetWeaver AS ABAP（RFC，CPI / C）通信协议的接口。 它可以与其他NW AS架构的SAP系统或外部非SAP系统进行通信。                                                                               |
  | 对话实例 （Dialog Instance） | 网络通信管理 （Internet Communication Manager (ICM)） | 互联网通信管理器确保通过HTTP，HTTPS和SMTP协议在SAP系统（SAP NetWeaver应用程序服务器）和外部世界之间的通信工作正常。 在作为服务器的角色中，ICM可以处理来自Internet的请求，作为URL与ICM可以监听的服务器/端口组合， ICM之后会调用相关URL的相关本地处理程序。 |
  | 对话实例 （Dialog Instance） | 网络图形化服务 （Internet Graphics Service (IGS)）     | 网络图形服务器（IGS）用于从SAP Web AS生成基于Web的图形化界面。                                                                                                                  |
     
  
- 核心服务实例（ASCS Instance） 核心服务实例包括队列服务和消息服务，在一个SAP NetWeaver系统中只包括一个核心服务实例，所以在生产系统（PRD）需要将该实例做成无单点故障高可用实例（SPoF），如需保证高可用，则需要安装ERS实例。
  - 消息服务（Message Server） 消息服务是用来在对话实例之间沟通的工具，并且把信息提供给Dispatcher用来Load Balancing。
    
  
  - 队列服务（Enqueue Server） 队列服务中包含一个锁表（Lock Table），在这个表中有被Java Server Process设置的数据库锁及基础锁表信息，队列服务还可以用来在Java集群中同步数据。在AS ABAP用例中，队列服务处理数据对象(data objects)的锁，
    
  
  - ERS实例（ERS Instance） 队列复制服务 (ERS instance) 是为了保证ASCS实例的高可用High Availability单点故障，并保护ASCS上的Message server和Enqueue server。
    各服务功能介绍请参考[表2]。
     表2ASCS实例及其服务功能简介 
    | 实例                    | 服务                                | 功能                                                                                                                                                                                                                                                                         |
    |:---|:---|:---|
    | 核心服务实例（ASCS Instance） | 消息服务（Message Server）              | Message Server是一个独立进程，包括在ASCS实例中，在一个SAP系统中只有一个Message Server。主要功能有： 各个独立的应用服务器之间的核心通信渠道； 通过使用SAP GUI和RFC的登录组功能实现对登录用户的分配； Web Dispatcher和应用服务器的信息中心； |
    | 核心服务实例（ASCS Instance） | 队列服务（Enqueue Server）              | SAP系统的特殊锁机制，避免2个进程同时更改同一条数据，以保证对NetWeaver对数据库更新的一致性。                                                                                                                                                                                                                       |
    | 核心服务实例（ASCS Instance） | ERS服务（Enqueue Replication Server） | ERS服务是用来保护ASCS上的Message Server和Enqueue Server                                                                                                                                                                                                                              |
       
    
   
- 网络调度程序 （Web Dispatcher） SAP Web dispatcher是互联网和SAP之间的桥梁，通常位于DMZ区域，所有HTTP request都经过Web Dispatcher以保证安全连接并分发给位于内网的多台SAP NetWeaver应用服务器进行处理。
  
- 数据库实例（DB Instance） 是SAP系统上的强制安装组件，用来在数据库中为SAP系统创建自己的ABAP Schema。
  
其他相关软件包括：SAP Host Agent、SWPM、 SAPCAR等。
