NetWeaver
刚刚提到, NetWeaver是取代SAP Basis的新一代技术平台(TP). 简单说, NetWeaver体现了在2000年到目前为止的以Java/SOA为主要商务应用实现技术的时代里, SAP在技术上与业界技术的整合.
它主要是在J2ee application server和ABAP application Server的基础上提供了统一的技术基础设施. 除了J2EE以外, NetWeaver还提供了WebDynpro和Portal作为 Web 开发的基础设施, 用户管理, 和.NET 或其他J2EE平台的集成, 于R/3的连接, ESA的实现等等.
所有开发都在NetWeaver Studio中进行.NetWeaver Studio是基于Eclipse 的开发环境.
下面这张图描述了NetWeaver技术平台的主要功能:
这张图显示了NetWeaver的最基本组件. 事实上整个NetWeaver几乎涵盖了所有电子商务会用到的技术, 下面简单列一下主要的部分:
SAP Web AS:
包括了SAP J2EE engine和abap application server
下面就是SAP WEBAS 的架构
server 架构:
Cluster 架构:
CIM: Internet Communication Manager. 负责接受Web请求. 支持HTTP, HTTPS, SMTP. 通过URL, 它可以区分是对ABAP BSP(Business Server Page)的请求, 还是对J2EE的请求, 从而dispatch到不同的engine上.
Message Server: 是全局的消息服务器, 负责server间的异步或同步通信
Engueue Server: 是全局的队列服务器, 负责保存全局队列和锁.任何应用都可以申请使用它.
Work Process: 是ABAP engine中的一个工作进程.
JCO/Fast RFC: 用于基于SAP自己的远程调用规范RFC的调用
Gateway: 我的理解是用于翻译RFC call, RFC call的协议是CPI-C(Common Programming Interface – Communications, SAP专门用于程序对程序的远程调用的协议, 说白了就是一个定义描述函数名,参数之类调用需要的信息的数据格式).
SAP J2EE Engine: 2002年, SAP收购了保加利亚的J2EE Application Server 开发商Inqmire(全称In-Q-My). 开发自己的J2EE Engine.目前的稳定版本为6.4. 这个Engine给人的感觉就是三个字”巨无霸”. 没有2G的内存是很难看到它在工作的. 通常巨无霸给人的另一个柑桔就是笨重和土气. 7.0以前的版本的管理方式比较土, 是基于rich client的. 7.0以后才逐步使用web和IDE作为管理工具.
下面是SAP J2EE Engine 的简单架构图
下图是SAP J2ee engine的Cluster 架构
NetWeaver Studio: 是SAP的NetWeaver 开发平台. SAP的几乎所有开发解决方案都通过这个IDE实现. NetWeaver Studio IDE和WebSphere Studio一样, 是在Ecllipse的基础上开发的.目前的稳定版本也是6.4.
SAP DB: 就是MAXDB. 现在与MySQL技术合作. 把源代码提供给MySQL. SAP将不在放更多人力在DB的开发上了.也许DB和OS是SAP唯一暂时不愿去占领的技术.
WebDynpro: MVC架构的Web 开发解决方案. 提供所见即所得的UI开发方式. 不但是基于SAP J2EE engine, 也可以用ABAP开发
Portal: Portals是一家Israel公司Top Tier的产品, 2001 SAP收购Top Tier并组建SAP Portals公司. Top Tier的总裁Shai Agaci, 现在是SAP Border Member, 是呼声最高的未来SAP CEO. Portal提供了另一种Web开发模式, 同时提供Content Management和Knowledge management, Portal 可以基于Tomcat, 但现在是SAP J2EE engine的一部分.
XI(Exchange Infrastucture): SAP 的系统总线.
TREX: SAP的搜索引擎
RFC: Remote Function Call. SAP 的远程调用技术. 支持ABAP<->JAVA, JAVA<->JAVA, ABAP<->ABAP之间的调用, 旧的RFC使用SAP CPI-C协议, 必须通过SAP Gateway进行翻译, 新的fast RFC则不需要使用CPI-C协议.
下图是RFC在Web AS中的位置.
下图是JCO(Java connector)和SAP RFC之间的关系:
WebService: SAP J2EE engine 和NetWeaver Developer Studio提供了WebService 和UDDI的支持.通过studio, 可以使用wizard简单的生成Web Service 的client proxy和server side, 不需要写任何WSDL. 但是WebService server端必须先implement成EJB(session bean).
SLD: System Landscape Directory. SAP Web AS提供的系统管理方案。使用SLD可以方便的管理整个庞大SAP 系统群。