首页 sap技术概述

sap技术概述

举报
开通vip

sap技术概述SAP技术概述(一) 前言:很早就想写一点关于SAP的技术方面的文章,但是一直不得闲,也不知道该从哪里下手。SAP除了OS几乎生产了所有软件和solution,并且不断在适应和加入业界的新技术,调整自己原有的技术,所以用一个大的概念来概括SAP的架构是很难的,这也是为什么SAP的诸多概念,比如mySAP,NetWeaver,ESA, TP,AP,BPP等等,经常让人confuse的原因。 这些概念,都有他的核心思想,或者说核心动力。但是,他们不是一个产品,而是一个概念, 所以他们的边界无法弄的很清楚,不可避免,他们...

sap技术概述
SAP技术概述(一) 前言:很早就想写一点关于SAP的技术方面的文章,但是一直不得闲,也不知道该从哪里下手。SAP除了OS几乎生产了所有软件和solution,并且不断在适应和加入业界的新技术,调整自己原有的技术,所以用一个大的概念来概括SAP的架构是很难的,这也是为什么SAP的诸多概念,比如mySAP,NetWeaver,ESA, TP,AP,BPP等等,经常让人confuse的原因。 这些概念,都有他的核心思想,或者说核心动力。但是,他们不是一个产品,而是一个概念, 所以他们的边界无法弄的很清楚,不可避免,他们之间会有Overlap。比如DataArchiving,它是一项负责保存应用数据的技术,最早是在ABAP上实现的,但是在SAP J2EE中也有实现, 所以它既属于NetWeaver,也属于mySAP。无论是mySAP,还是NetWeaver,他们都不是代表一项技术,而是代表以一组概念为核心的一整套概念。让我们从SAP的技术发展历史讲起。 SAP发展历史 1972年,五名IBM的经理人和consultant(看来工程师永远是写程序的命)离开了IBM,在德国曼海姆创建了他们自己的公司,这就是SAP(是德文系统“应用和数据处理产品”的缩写。 德国公司的名字永远这么朴素直接)。(2002年4月1日是SAP 30周年纪念日) 他们创建SAP的原因是,当时他们发现自己的客户正在自行开发类似的程序来处理业务流程。于是他们意识到他们可以提供可重用的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 化的系统,来集成和实现用户的业务流程, 并且,重要的一点是他们认为电脑现实器为普及作为业务流程的关键点。当时没有微机,计算机最多仅有500k内存。有趣的是,苹果公司于同年成立。 SAP的第一个产品是一个自动化财务和交易程序,命名RF,就是后来的R/1。(值得敬佩的是,他们的产品是利用晚上和周末开发出来的,而我用了6年证明,这几乎是不可能的 :P ) 1976年,SAP 迁到现在的总部所在地Walldorf。 1979年,SAP推出用于大型机的R/2。 1988年,SAP在德国上市。 1992年,SAP推出了著名的R/3,基于C/S 模式,统一的图形界面,兼容关系数据库,可以运行在WindowsNT等多种平台和计算上等先进的特性,使SAP成为世界领先的系统提供商。 但是,至此SAP的所有应用都是独立的,仅仅是client加上DataBase。 1996年,随着互联网的迅猛发展,SAP推出了支持Internet的新版R/3 3.1。 1998年,退出全新CRM和SCM解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。 1999年,SAP 推出所谓的mySAP Business Suit。这其实又是新版的R/3,但是它的应用已经不是孤立的,它支持全面的协同的的电子商务和ERP解决方案。 现在的SAP,是员工超过30000,实验室分布全球的世界第三大独立软件供应商。提供超过21个行业,13个跨行业的解决方案,拥有18000多家客户,5000个系统安装点,并已进入中小型企业市场。技术上,SAP有自己的商业开发语言(ABAP),有自己的application Server, 自己的开发平台。SAP几乎可以提供除OS外所有基础软件和解决方案。其实,netweaver或mySAP的概念对我们了解SAP的技术而言并不重要,因为SAP的技术几乎概括一切,SAP的整个架构就是一个现代IT的领先技术架构的实现。无论mySAP还是NetWeaver,还是AP/TP /BPP,都是SAP为了适应更先进技术而发起的对SAP总体技术框架的改造运动。 通过mySAP,SAP实现了更方便、更容易沟通的系统框架,通过NetWeaver04,SAP成功的把它以前的所有技术和业务逻辑通过和J2EE平台集成而开放出来。通过NetWeaver05和AP/ BPP/TP/ESA,SAP实现更高程度的技术/业务分离(TP/AP),更好的业务封装(AP),更方便的顶层业务实现(BPP)。R/3是否属于NetWeaver,这个问题不重要,可以属于也可以不属于,你只要知道R/3的业务,在新的web application中可以依然被使用,并且可以更好更漂亮更方便的被使用就可以了。 领先的平台提供者 SAP其实并不是现在才想做业务平台的领导者,自他的ABAP出世,SAP一直就是世界最先进最主流的电子商务平台提供者。只是现在,特别是J2EE普及之后,人们更多的认识到平台的重要性。SAP将围绕电子商业提供三种平台: 1.技术平台TP(Technical Platform)也就是所谓的NetWeaver。 它提供了所有技术基础设施。它是J2EE的扩展,它提供的内容远远超过J2EE的范畴。它的架构同时也包括了基于ABAP vm的应用服务器。(J2EE,SAP Basis,Web DynPro,Portal) 2.应用平台AP(Application Platform) NetWeaver + ESA。 NetWeaver虽然提供了技术平台,但是,要用他来实现一个企业的业务流程,还是件极其复杂的事。因此必须有离应用更近的平台,提供基础业务设施的封装。这就是所谓的AP。它是由SAP的ESA(Enterprise service architecture)来实现的。简单的说,NetWeaver加上ESA,就是AP,它提供了一个实现基础业务逻辑的平台。 3.业务流程平台BPP(Business Process Platform) 这是一个面向业务流程的平台。基础业务逻辑可以用AP实现,通常SAP已经提供大量基于SAP系统的业务逻辑。同时,第三方也可能提供业务逻辑。BPP的开发人员只需要使用BPP的开发环境(Visual composure)去组装这些业务逻辑。 下面我们分别来看每个概念: SAPBasis 应该是从R/3开始(有待考证),SAP的底层已经形成基于ABAP的一个应用平台。有统一的数据 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 (DDIC)、界面 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 方案、开发流程、版本控制、数据库连接、进程管理、共享内存管理、事务管理等等。它为商务的应用的编写提供了可靠的技术支持。 简单的说R/3是一个基于ABAP虚机的,基于进程(进程间通过share memory通信)的,基于数据库的,提供事物特性的简单应用服务器。这在当时,是极为先进的架构。也只有这种架构,使得企业级的、可灵活改造的、可高效管理的应用成为可能。 当NetWeaver出现后,SAPBasis被改造为NetWeaver中的ABAP Application server。 mySAP(mySAP.com) 1999年9月,CEO哈索.普拉特纳宣布以”开放和集成”为中心的mySAP.com的战略。改造技术架构和方向,统一和整合原有的系统,推出mySAP协同化电子商务解决方案。 当时的背景是Internet 技术趋向成熟和普及。独立的应用之间的交流和灵活性扩展性的问题显得异常突出。业界技术的发展使得开放接口,整合产品成为共识。因此SAP决定提供可剪裁的,高度集成和开放的系统。 主要手段为: 将R/3上的业务系统划分的更细更合理,提供不同功能的组建和系统。数据类型是统一和跨系统的。SAP制定了一系列标准接口(如BAPI),让各种应用之间可以互相通信。开发Single Sign On 来简化Authentication等等。 这张图是当时定义的mySAP.com HYPERLINK "http://photo.blog.sina.com.cn/showpic.html" \l "blogid=4706f1ae010007do&url=http://static4.photo.sina.com.cn/orignal/4706f1ae9df07995eab43" \t "_blank" 现在的mySAP Business Suit是一套协同化商务解决方案套件,它包括:         mySAP CRM(Client Relationship  Management)         mySAP SCM(Supply Chain Management)         mySAP PLM(Product Lifecycle Management)         mySAP SRM(Supplier Relationship Management)         mySAP ERP(Enterprise Resource Planning)。 他们可以无缝的同其他系统集成。 mySAP ERP 又提供4套单独的解决方案:         mySAP ERP Financial         mySAP ERP Capital Management         mySAP ERP Operation         mySAP ERP Corporate Service。 下面这张图描绘了mySAP Business Suit的主要构件。 NetWeaver出现之前,mySAP的技术平台应该是SAPBasis。 如今的mySAP,已经是基于NetWeaver了,因为SAPBasis已经被改造为NetWeaver的一部分。NetWeaver是SAP的新一代技术平台。 SAP技术概述(二) 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几乎涵盖了所有电子商务会用到的技术,下面列一下主要的部分:   SAP Web AS:包括了SAP J2EE engine和abap application server 下面就是SAP WEB AS 的架构 server 架构:见上图 Cluster 架构:见下图 ICMDispatchProcess(JCo交互) ICM:Internet Communication Manager。负责接受Web请求。支持HTTP,HTTPS,SMTP。通过URL,它可以区分是对ABAP BSP(Business Server Page)的请求,还是对J2EE的请求,从而dispatch到不同的engine上。 Message Server:全局的消息服务器,负责server间的异步或同步通信; Enqueue 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和Collaboration,Portal可以基于Tomcat,但现在是SAP J2EE engine的一部分。EP:Enterprise Portal,企业门户。 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系统群。 SAP技术概述(三) 简单的说,ESA是SAP 基于SOA(Service Oriented Architecture)的概念。主要目的通过WebService,进一步提高SAP各业务系统间的统一性,可重用性,建议更方便的业务流程开发模式。主要手段为: 建立以Service为中心的开发模式。因为service相对于组建或者其他软件封装技术来说,有耦合度低,跨Internet,范围更广, 跨平台,粒度更自由等优点。 在web service的基础上, 建立统一的service infrastructure(就是后面说到的ESI)。 建立所谓的“模式-驱动”开发模式。我的理解是,在强大的Service Infrastructure基础上,有统一的数据类型来描述数据,有Business Object来封装逻辑,有UI pattern来封装UI,有了这些,就可以用一个简单的设计工具,就可以快速的描述数据,拼装业务逻辑,建立UI,这就是使所谓的“模式-驱动”的开发模式,成为现实。这里指的开发,不是简单应用的开发,而是业务流程的开发。这个设计工具,就是Visual Composure。   先介绍几个概念: ​ Service:Service就是SOA中的service概念。它提供了企业的某个业务功能。 ESA中有三种Service:(1)Core Service: 提供对Business Object的直接访问,如retrieve,access,action… (2)Compound Service: 由对多个core service的call组成。(3)Enterprise Service: 也是一种compound service,但是它是组成Business Process的直接service。它提供企业的关键业务功能。 ​ Business Object:BO可以看作是Service的实现。Service的定义和其实现无关。SAP在ESA中主要用BO实现 Service的功能。BO是结构化的。每个BO之间由Association连接,但是只有一个root node。一个BO可以有多个service interface,一个service interface由多个operation组成。BO定义了一组Attribute和Operation。每个BO都由一个Business Object provider class 实现,它实现了一组Generic Interface。BO的attirbute的type必须是Global Data Types(GDT) ​ Global Data Type:要统一service interface的定义,就必须统一数据类型。 ​ Business Process: ​ LDU(Logical Deployment Unit):一个LDU由一组语义相关的componenet组成,为了可以简单的activate/deactive一个业务功能。 ​ Process Agent:提供Message-Based的LDU之间的通信。 下图是ESA实现: ESI(Enterprise Service Infrastructure) 为ESA的实现提供了基于Web Service的统一的Service定义。使“模式驱动”的开发成为可能。这种设计由需求开始,定义服务,服务驱动实现。 下图显示了ESA的开发模式: ESI由三部分组成: ​ ESD: Enterprise Service Designtime: 提供ESI的设计时的支持。包括三个项目: ​ ESR(Enterprise Service Repository),包括ES Object,Modelling,ESR Framework ​ ES Java Tools,包括Repository Browser, Service and Consumer Definition Editor,Service Configuration and Consumer configuration Editor,Proxy Generation。 ​ ES ABAP Tools: 包括Repository Browser, Service and Consumer Definition Editor,Proxy Generation; ​ ESF: Enterprise Service Framework,提供了ESI的运行实现。(应该叫做Enterprise Server Engine); ​ ESP: Enterprise Service Protocol: 定义所有ESI的协议; ESF Runtime Architecture,如图: SAP技术概述完结篇 - SAP开发平台 Sap Basis (R/3) NetWeaver Road of ESA(SOA) TP/AP/BPP SAP的开发解决方案 ​ ABAP ABAP方面的ABAP workbench是最早的SAP解决方案。通过ABAP workbench,开发人员可以实现ABAP的所有开发,并且,ABAP workbench是CS架构的,所有开发工作都必须在登录到Server上进行。这也使得ABAP的环境不是随便可以构建的。 另外,不要认为ABAP很神秘,充其量它只是一种语言而已。它历经面向过程和面向对象两个反展阶段,因此和c++一样,有面向过程方式遗留下的问题。但是,它是基于VM的。它不像C一样是通用语言,它是专门为商务设计的。 同时,也不要认为ABAP很土,所有java支持的特性它几乎都只持,所有java application server达到的功能ABAP stack都有,并且,同常都是先用ABAP实现再在Java上实现。 ​ NetWeaver (JAVA) NetWeaver的所有开发都通过NetWeaver Developer Studio。它是一个基于eclipse的强大开发环境,可以开发NetWeaver上的所有应用,包括j2ee application/service,portal application,webdynpro application,web service…。可以远程管理server,deploy应用,远程调试。它比普通的eclipse要大很多,至少需要512M内存才可以顺利运行。 ​ Design Studio Design Studio是SAP的concept 设计工具。原本Design studio是Portal的可视化设计工具。现在SAP也用它来描述一般web application。用户可以非常快捷的用它设计和表现应用程序的UI。它不像Visual composure,不是开发工具,是纯粹的设计工具。因此它不能像Visual Composure一样生成代码,但是它可以自动生成PPT。这是为什么SAPR人人都能做异常漂亮的PPT :P ​ Visual Composure: 这是有些类似Visio的设计和开发工具。Visual Composure本身只负责设计,独立于实现。也就是说,你可以用它来自动生成任何你想要的东西,只要你提供代码生成的逻辑。因此, Visual Composure和ESI结合,自然就是SAP的业务流程开发工具。值得一题的是,这种类型的工具是非常有意义的。它是未来开发模式的趋势。虽然SAP之前很多人,包括微软,IBM已经完成了类似产品,但是,和SOA结合的业务开发工具似乎还没有。 ​ 数据库设计解决方案 这是比较过时的话题。现在有很多方案,甚至是OR mapping。这里顺便提一下。SAP的解决方案就是著名DDIC (Data Dictionary information)。通过DDIC,用户定义数据结构,但是屏蔽了物理上的细节。这保证了DDIC实现的数据是跨平台跨数据库的。当然,同时它也限制了某些数据库特有的先进特性(但是我个人觉得,还是统一重要,特有的特性就像一些提高performance的方法一样,破坏了统一,将得不偿失)。 ​ SAP的UI开发解决方案 ​ WebDynpro ​ Portal ​ SAP GUI:包括SAP GUI for windows 和SAP GUI for java。SAP GUI有悠久的历史,它是R/3的重要产物。 ​ Mobile UI。 另外值得一提的是基于WebDynpro的UI Pattern。这是一种封装程度更高的UI 设计模式。在WebDynpro中用户使用的是Controller(button,label,dropdown list,table…),UI Pattern则是一种更高级更复杂的控件,它有可能不但包括UI,而且包括了逻辑和数据。 ​ SAP的软件测试解决方案: ​ Unit Test: ATS:Automatic Test System。由Web AS提供,可以用于模块测试。 Jver Junit ABAP Unit CheckMan Portal Run time test studio:Portal 提供的单元测试工具; ​ 集成功能测试 eCatt:用于创建基于UI的自动化的,可重用的功能测试用例。可以用于WebDynpro,ABAP,SAP GUI。 TestPartner:和eCatt一起用于为Webdynpro以外的WebApp和桌面应用程序创建自动化功能测试。 ​ 性能测试 SAT:Single Activity Trace。SAP Web AS提供的应用程序性能测试工具。 Jarm:Java application response monitor。SAP j2ee engine提供的性能测试工具。 ​ SAP的软件开发流程解决方案: ​ SDLC:Software Development Lifecycle ​ PIL:Product innovation lifecycle ​ SAP的软件质量管理方案: SAP 针对软件质量制定了很多标准,在产品定义过程中指定产品必须符合那些标准,在产品的validation(就是Release前的第三方综合测试)中会被检查。比如Performance标准。如果产品被制定必须符合某个标准,则必须在Validation 时提供相应的性能测试手段或数据。如果结果不被接受,则可能不能release。SAP 的标准主要有:Accessibility,Usability,Performance,Data Archiving,Exception Handling,and so on...
本文档为【sap技术概述】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_962909
暂无简介~
格式:doc
大小:857KB
软件:Word
页数:15
分类:互联网
上传时间:2011-04-21
浏览量:25