版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SAP发展历史与技术介绍刖百SAP除了OS几乎生产了所有软件和solution,并且不断在适应和加入业界的新技术,调整自己原有的技术,所以用一个大的概念来概括SAP的架构是很难的,这也是为什么SAP的诸多概念,比如mySAP,NetWeaver,ESA,AP,TP,BPP等等,经常让人confuse的原因.这些概念,都有他的核心思想,或者说核心动力,但是,他们不是一个产品,而是一个概念,所以他们的边界是无法弄的很清楚的,不可避免,他们之间会有Overlap.比如DataArchiving,它是一项负责保存应用数据的技术,最早是在ABAPh实现的,但是在SAPJ2EE中也有实现,所以,它既属于NetWeaver,也属于mySAP.无论是mySAP,还是NetWeaver,他们都不是代表一项技术,而都是代表以一组概念为核心的一整套概念.所以,一个好的办法是从SAP的技术发展历史开始讲.讲得不对请多指教.SAP发展历史1972年,五名旧M的经理人和consultant看来工程师是永远写程序的命)离开了旧M,在德国曼海母创建了他们自己的公司,这就是SAP愚德文系统,应用和数据处理产品的缩写.德国公司的名字永远这么朴素直接).(2002年4月1日是SAP30周年纪念日)他们创建SAP的原因是,当时他们发现自己的客户正在自行开发类似的程序来处理业务流程.于是他们意识到他们可以提供可重用的标准化的系统,来集成和实现用户的业务流程,并且,重要的一点是他们认为电脑现实器为普及作为业务流程的关键点.当时没有微机,计算机最多仅有500k内存.有趣的是,苹果公司于同年成立.SAP的第一个产品是一个自动化财务和交易程序.命名RF,就是后来的R/1.(值得敬佩的是,他们的产品是利用晚上和周末开发出来的,而我用了6年证明,这几乎是不可能的:P)1976年,SAP迁到现在的总部所在地Walldorf.1979年,SAP推出用于大型机的R/2.1988年,SAP在德国上市.1992年,SAP推出了著名的R/3.基于C/S模式,统一的图形界面,兼容关系数据库,可以运行在WindowsN式多种平台和计算上等先进的特性,使SAPK为世界领先的系统提供商.但是,至此SAP的所有应用都是独立的,仅仅是client加上DataBase.1996年,随着互联网的迅猛发展,SAP推出了支持Internet的新版R/33.11998年,退出全新CR防口SCMB决方案.1999年,SAP推出所谓的mySAPBusinessSuit.这其实又是新版的R/3,但是它的应用已经不是孤立的,它支持全面的协同的的电子商务和ERHW决方案.现在的SAP,是员工超过30000,实验室分布全球的世界第三大独立软件供应商.提供超过21个行业,13个跨行业的解决方案,拥有18000多家客户,5000个系统安装点,并已进入中小型企业市场.技术上,SAP有自己的商业开发语言(ABAP),有自己的applicationServer,自己的开发平台.SAP几乎可以提供除OS外所有基础软件和解决方案.其实,netweaver或mySAP勺概念对我们了解SAP的技术而言并不重要,因为SAP的技术几乎概括一切,SAP的整个架构就是一个现代IT的领先技术架构的实现.无论mySAF®是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的业务,在新的webapplication中可以依然被使用,并且可以更好更漂亮更方便的被使用就可以了.领先的平台提供者SAP其实并不是现在才想做业务平台的领导者,自他的ABA咄世,SAP-直就是世界最先进最主流的电子商务平台提供者.只是现在,特别是J2EE普及之后,人们更多的认识到平台的重要性.SAP将围绕电子商业提供三种平台:1.技术平台TP(TechnicalPlatform)也就是所谓的NetWeaver.它提供了所以技术基础设施.他是J2EE的扩展,它提供的内容远远超过J2EE的范畴.他的架构同时也包括了基于ABAPvm的应用服务器..应用平台(AP)NetWeaver虽然提供了技术平台,但是,要用他来实现一个企业的业务流程,根本还是件极其复杂的事.因此必须有离应用更近的平台,提供基础业务设施的封装.这就是所谓的AP(Applicationplatform).他是由SAP的ESA(Enterpriseserverarchitecture)来实现的.简单的说,NetWeaver力口上ESA,就是AP,他提供了一个实现基础业务逻辑的平台..业务流程平台(BPP)这是一个面向业务流程的平台.基础业务逻辑可以用AP实现,通常SAP已经提供大量基于SAP系统的业务逻辑.同时,第三方也可能提供业务逻辑.BPP的开发人员只需要使用BPP的开发环境(Visualcomposure)去组装这些业务逻辑.现在下面我们分别来看每个概念:SAPBasis应该是从R/3开始(有待考证),SAP的底层已经形成基于ABAP勺一个应用平台.有统一的数据设计方案(DDIC),界面设计方案,开发流程,版本控制,数据库连接,进程管理,共享内存管理,事务管理等等.它为商务的应用的编写提供了可靠的技术支持.简单的说R/3是一个基于ABARS机的,基于进程(进程间通过sharememory通信)的,基于数据库的,提供事物特性的简单应用服务器。这在当时,是极为先进的架构。也只有这种架构,是的企业级的,可灵活改造的,可高效管理的应用成为可能。当NetWeaver出现后,SAPBasis被改造为NetWeaver中的ABAPApplicationserver.mySAP(mySAP.com1999年9月,CEO哈索.普拉特纳宣布以“开放和集成”为中心的mySAP.com勺战略.改造技术架构和方向,统一和整合原有的系统,推出mySA初同化电子商务解决方案.当时的背景是Internet技术趋向成熟和普及.独立的应用之间的交流和灵活性扩展性的问题显得异常突出。业界技术的发展使得开放接口,整合产品成为共识。因此SAP决定提供可剪裁的,高度集成和开放的系统。主要手段为:将R/3上的业务系统划分的更细更合理,提供不同功能的组建和系统。数据类型是统一和跨系统的。SAP®定了一系列标准接口(如BAPI),让各种应用之间可以互相通信。开发SingleSignOn来简化Authentication等等。这张图是当时定义的mySAP.COM
现在的mySAPBusinessSuit是一套协同化商务解决方案套件,它包括:mySAPCRM(ClientRelationshipManagement)mySAPSCM(SupplyChainManagement)mySAPPLM(ProductLifecycleManagement)mySAPSRM(SupplierRelationshipManagement)mySAPERP(EnterpriseResourcePlanning).他们可以无缝的同其他系统集成.mySAPER双提供4套单独的解决方案:mySAPERPFinancialmySAPERPCapitalManagementmySAPERPOperationmySAPERPCorporateService.下面这张图描绘了mySAPBusinessSuit的主要构件:FinancialsRe&ouree«limaiteiryfiProdticbaimySAPERP°i・KryntySAP
FinancialsRe&ouree«limaiteiryfiProdticbaimySAPERP°i・KryntySAP
CRMmySAPSCMNetWeaver出现之前,mySAP的技术平台应该是SAPBasis.如今的mySAP,已经是基于NetWeaver了,因为SAPBasis已经被改造为NetWeaver的一部分.NetWeaver是SAP的新一代技术平台.NetWeaver刚刚提到,NetWeaver是取代SAPBasis的新一代技术平台(TP).简单说,NetWeaver体现了在2000年到目前为止的以Java/SOA为主要商务应用实现技术的时代里,SAP在技术上与业界技术的整合.它主要是在J2eeapplicationserver和ABAPapplicationServer的基础上提供了统一的技术基础设施.除了J2EE以外,NetWeaver还提供了WebDynprcffiProtal作为Web开发的基础设施,用户管理,和.NET或其他J2EE平台的集成,于R/3的连接,ESA的实现等等.所有开发都在NetWeaverStudio中进行.NetWeaverStudio是基于ecllipse的开发环境.卜面这张图描述了NetWeaver技术平台的主要功能
SAPNetWeaver™PEOPLEINTEGRATIONMultichannelaccessPortalCollaborationINFORMATIONINTEGRATIONBus.IntelligenceKnowledgeMgmtMasterDataMgmtPROCESSINTEGRATIONIntegrationBrokerBusinessProcessMgmtAPPLICATIONPLATFORMJ2BEABAPDBandOSAbstractioniiSAPNetWeaver™PEOPLEINTEGRATIONMultichannelaccessPortalCollaborationINFORMATIONINTEGRATIONBus.IntelligenceKnowledgeMgmtMasterDataMgmtPROCESSINTEGRATIONIntegrationBrokerBusinessProcessMgmtAPPLICATIONPLATFORMJ2BEABAPDBandOSAbstractionii望这张图显示了NetWeaver的最基本组件.事实上整个NetWeaver几乎涵盖了所有电子商务会用到的技术,下面简单列一下主要的部分:SAPWebAS包括了SAPJ2EEengine和abapapplicationserver下面就是SAPWEBAS勺架构server架构:ChernsAAfet)Browsei)Client
(SAPGUl>Me与,眸
serverk■一,Client(SAPGUI)InteinetEnqueijeServertentrslServicess也方」心卷sr;l£o--&M」waABAPDispatcherARAPWorkProcesSGgDBCluster架构:SAPWehASDispatchtr
QueueMemctryPipesJavaDispatcherSDMDBChernsAAfet)Browsei)Client
(SAPGUl>Me与,眸
serverk■一,Client(SAPGUI)InteinetEnqueijeServertentrslServicess也方」心卷sr;l£o--&M」waABAPDispatcherARAPWorkProcesSGgDBCluster架构:SAPWehASDispatchtr
QueueMemctryPipesJavaDispatcherSDMDB亡耨M0」caq娄w』一od口ss一TAforkPrcrcesss&MessageServer应EEServerProoesses:DB
ABAPDB.及氏ServerRracessesSSWorkProttsses;LJJLbJUEnqug,
Ser^rCentralICM:InternetCommunicationManager.负责接受Web青求.支持HTTP,HTTPS,SMTP.通过URL,它可以区分是对ABAPBSP(BusinessServerPage)的请求,还是对J2EE的请求,从而dispatch到不同的engine上.
MessageServer:是全局的消息服务器,负责server间的异步或同步通信EnqueueServer:是全局的队列服务器,负责保存全局队列和锁.任何应用都可以申请使用它.WorkProcess:是ABAPengine中的一个工作进程.JCO/FastRFC:用于基于SAP自己的远程调用规范RFC的调用Gateway:我的理解是用于翻译RFCcall,RFCcall的协议是CPI-C(CommonProgrammingInterface-Communications,SAP专门用于程序对程序的远程调用的协议,说白了就是一个定义描述函数名,参数之类调用需要的信息的数据格式).SAPJ2EEEngine:2002年,SAP收购了保加力亚的J2EEApplicationServer开发商Inqmire(全称In-Q-My).开发自己的J2EEEngine.目前的稳定版本为6.4.这个Engine给人的感觉就是三个字“巨无霸”.没有2G的内存是很难看到它在工作的.通常巨无霸给人的另一个柑桔就是笨重和士气.7.0以前的版本的管理方式比较土,是基于richclient的.7.0以后才逐步使用web和IDE作为管理工具.下面是SAPJ2EEEngine的简单架构图:J2EEEngir©下图是SAPJ2eeengine的Cluster架构:3¥0」工与詈_&□旧AflrSeivmProcess—SeiverProcessEriqueue
ServerCentralServicesNetWeaverStudio:是SAP的NetWeaver开发平台.SAP的几乎所有开发解决方案都通过这个IDE实现.NetWeaverStudioIDE和WebSphereStudio一样,是在Ecllipse的基础上开发的.目前的稳定版本也是6.4.SAPDB:就是MAXDB.现在与MySQ技术合作.把源代码提供给MySQL.SAP等不在放更多人力在DB的开发上了.也许D的口OS^SAP隹一暂时不愿去占领的技术.WebDynpro:MV欧构的Web开发解决方案.提供所见即所得的UI开发方式.不但是基于SAPJ2EEengine,也可以用ABAPff发Portal:Portals是一家Israel公司TopTier的产品,2001SAP收购TopTier并组建SAPPortals公司.TopTier的总裁ShaiAgaci,现在是SAPBorderMember,是呼声最高的未来SAPCEO.Portal提供了另一种WeWF发模式,同时提供ContentManagement口Knowledgemanagement,Portal可以基于Tomcat,但现在是SAPJ2EEengine的一部分.XI(ExchangeInfrastucture):SAP的系统总线.TREX:SAP的搜索引擎RFC:RemoteFunctionCall.SAP的远程调用技术.支持ABAP<->JAVA,JAVA<->JAVA,ABAP<->ABAP间的调用,旧的RFC®用SAPCPI-C协议,必须通过SAPGateway进行翻译,新的fastRFC则不需要使用CPI-C协议.下图是RFCSWebAS中的位置:ClientsAAfel)umwset)Client
(SAPGUl>k■一,Client(SAPGUI)InteinetEnqueijeServerservertentrslServicesDispatcherSAPWehASDispatchtr
QueueABAPARAPWorkProcesSGgClientsAAfel)umwset)Client
(SAPGUl>k■一,Client(SAPGUI)InteinetEnqueijeServerservertentrslServicesDispatcherSAPWehASDispatchtr
QueueABAPARAPWorkProcesSGgMemctryPipesJavaDispatcherSDMDBDB下图是JCO(Javaconnector)和SAPRF&间的关系:SAP喇舱口SAP喇舱口AS
farJavaSAPWebA5
forABAPJavah'eth&d!-SAPConnector
(Xo)JavaAPIh.iliddlewaehi^rfeceJ2EEEngineRFCMidJh*aPsRFC
Javah'eth&d!-SAPConnector
(Xo)JavaAPIh.iliddlewaehi^rfeceJ2EEEngineRFCMidJh*aPsRFC
Library*fRFCfRFC十CPLCCPI-CABAPWebService:SAPJ2EEengine和NetWeaverDeveloperStudio提供了WebService和UDDI的支持.通过studio,可以使用wizard简单的生成WebService的clientproxy和serverside,不需要写任何WSDL.但是WebServiceserver端必须先implement成EJB(sessionbean).SLD:SystemLandscapeDirectory.SAPWebAS提供的系统管理方案。使用SLD可以方便的管理整个庞大SAP系统群。ESA(EnterpriseServiceArchitecture)简单的说,ESA是SAP基于SOA(ServiceOrientedArchitecture)的概念。主要目的通过WebService,进一步提高SAP各业务系统间的统一性,可重用性,建议更方便的业务流程开发模式。主要手段为:建立以Service为中心的开发模式.因为service相对于组建或者其他软件封装技术来说,有耦合度低,跨Internet,范围更广,跨平台,粒度更自由等优点。在webservice的基础上,建立统一的serviceinfrastructure(就是后面说到的ESI).建立所谓“模式—驱动”的开发模式。其实,我的理解是,在强大的ServiceInfrastructure基础上,有统一的数据类型来描述数据,有BusinessObject来封装逻辑,有UIpattern来封装UI,有了这些,就可以用一个简单的设计工具,就可以快速的描述数据,拼装业务逻辑,建立UI,这就是使所谓的“模式一驱动”的开发模式,成为现实。这里指的开发,不是简单应用的开发,而是业务流程的开发。这各设计工具,就是VisualComposure.先介绍几个概念:Service:Service就是SOA^的service概念.它提供了企业的某个业务功能ESA中有三种Service:CoreService:提供对BusinessObject的直接访问,如retrieve,access,action…CompoundService:由对多个coreservice的call组成.EnterpriseService:也是——种compoundservice,但是它是组成BusinessProcess的直接service.它提供企业的关键业务功能.BusinessObject:BO可以看作是Service的实现.Service的定义和其实现无关.SAP在ESA中主要用BO实现Service的功能.BO是结构化的.每个BO之间由Association连接.但是只有一个rootnode.一个BO可以有多个serviceinterface,一个serviceinterface由多个operation组成BO定义了一组Attribute和Operation.每个BO都由一个BusinessObjectproviderclass实现,它实现了一组GenericInterface.BO的attirbute的type必须是GlobalDataTypes(GDT)GlobalDataType要统一serviceinterface的定义,就必须统一数据类型.BusinessProcess:DU(LogicalDeploymentUnit)一个LDU由一组语义相关的componenet组成,为了可以简单的activate/deactive一个业务功能.sProcessAgent:提供Message-Based的LDU之间的通信.下图是ESA实现:Oe^^T-rrait!UfP«wC"Sur^kjEvIComposiTnn
pOevSwvicMnpsyswvg$GCPES-ElacItendESIReposkiYOe^^T-rrait!UfP«wC"Sur^kjEvIComposiTnn
pOevSwvicMnpsyswvg$GCPES-ElacItendESIReposkiY£$lDes^nTl[E01田口出位,FcuHHtcnC型pSW壮DyiproF^^HIimpE3PrggCereScrx^ctfnirpwriLIPofternsModelcan>p3■.i>6优[PirrtinnccrflSe^^ce■.i>6优[PirrtinnESI(EnterpriseServiceInfrastructure)为ESA的实现提供了基于WebService的统一的Service定义。使“模式驱动”的开发成为可能。这种设计由需求开始,定义服务,服务驱动实现.下图显示了ESA的开发模式:
High-LtvelProcessModdingPiujOjse用opQsrtoryAtToo®(UhfiedBPM^ProcessProcess»mpIementatji^nB,咻,*High-LtvelProcessModdingPiujOjse用opQsrtoryAtToo®(UhfiedBPM^ProcessProcess»mpIementatji^nB,咻,*Ev,M.Agy,\^b3v3IC^mpee^rUiConfigur出eUE&d"闻Pf*C*<*li.k)dtlhgUi1事rHJieiW*m暗iqpEntC<^*1Qe-tinifc.imfSBAfIC白UserInterTaceServineImpleinmtatinnHusirassubjectMedelServiceBusinessObjects/ServicesWWR^pBo±iorjr&:Toote日u与in的mO耳正ESI由三部分组成:ESD:EnterpriseServiceDesigntime:提供ESI的设计时的支持。包括三个项IESR(EnterpriseServiceRepository),Framework包括ESR(EnterpriseServiceRepository),Framework包括ESObject,Modelling,ESRESJavaTools,包括RepositoryBrowser,ServiceandConsumerDefinitionEditor,ServiceConfigurationandConsumerconfigurationEditor,ProxyGeneration.ESABAPTools:包括RepositoryBrowser,ServiceandConsumerDefinitionEditor,ProxyGenerationESF:EnterpriseServiceFramework,提供了ESI的运行实现。(应该叫做EnterpriseServerEngine)ESFRuntimeArchitecture:L':LtiUiHilW立L诳ki「」1atlyLA:jpilCiticL1>KSa*。*曲unEe唱JtrnriHarjdfjrisfoiESFRuntijneSrpcatorT16rvi「e:Mne^F:,r:了CJiiinc*iMHctaii,Loclan^Bw|nte^A™c*fiF'-'r«ifr:ftKRn^n^rd,C«taQEtMvjnigiPal*QI^.CU定义所有ESI定义所有ESI的协议回顾一下SAP的平台路程1.SapBasis(R/3):OverviewoftheSAPBasisSystem"o"l£u.42.NetWeavercomesup:WhatistheArchitectureofmySAPERP?SAP用3IRet^asesup
to4.GC)SAPR/3EnterprisemySAPERP2G03
editionAdditltHijIComponenrtv.SEMJnHFmt3tf»i,FSCME&SfMSS.看■hctMh。…AppllctttenApph^b^nCored7mySAPERP2004
ftditiori&beyond
Xtmftpplic^iiitibn4egFlciGLCocripiM-nvApf)liC3tion«.AddbtionulComporwntbSEN,intflFTWtS«l»F^(^MGSSJMSS,»FHFutHMExtrn械Hi、Set*6
Industry-nhimm巨rrtEflFC«re9.0SAPB-asl-scouqu/l-3.RoadofESA:・.#F“FKRAFENUIILhamml4C.CMMFtAIIHFDRHUTICINIFTTHUTIMflwfc■MC3iMTMUTlOfi的MUurtraewPnis#CrmMrijmBflPLICATIWM,*TFgiftM上y11.9制*五/用』学iKFLfEltaMtari仆IMHMFEHim-nNTEaMnOM■to-rl*RQVEc国Mm^chDurfel^rriiirr»ntiwIr・33l:k7jllLBriCM餐Wpgywv呷“."TPAMJ?1tAHATDO*ndgi*Fnn:dda/dv/dip■如m电SAP的开发解决方案ABAPABA叨面的ABAPvorkbench是最早的SAP解决方案。通过ABAPworkbench,开发人员可以实现ABAP勺所有开发,并且,ABAPworkbench是CS架构的,所有开发工作都必须在登录到Server上进行。这也使得ABAP勺环境不是随便可以构建的。另外,不要认为ABAPf艮神秘,充其量它只是一种语言而已。和C一样,我猜它历经面向过程和面向对象两个反展阶段,因此它和C++一样,有面向过程方式遗留下的问题。但是,它是基于VM的。它不像C一样是通用语言,它是专门为商务设计的。同时,也不要认为ABAPf艮土,所有java支持的特性它几乎都只持,所有javaapplicationserver达到的功能ABAPstack都有,并且,同常都是先用ABAP实现再在Java上实现。NetWeaver(JAVA)NetWeaver的所有开发都通过NetWeaverDeveloperStudio.它是一个基于eclipse的强大开发环境,可以开发NetWeaver上的所有应用,包括j2eeapplication/service,portalapplication,webdynproapplication,webservice…。可以远程管理server,deploy应用,远程调试。它比普通的eclipse要大很多,至少需要512M内存才可以顺利运行。DesignStudioDesignStudio是SAP的concept设计工具。原本Designstudio是Portal的可视化设计工具。现在SAP&用它来描述一般webapplication。用户可以非常快捷的用它设计和表现应用程序的UI.它不像Visualcomposure,不是开发工具,是纯粹的设计工具。因此它不能像VisualComposure一样生成代码,但是它可以自动生成PPT这是为什么SAP队人都能做异常漂亮的PPT:PVisualComposure这是有些类似Visio的设计和开发工具。VisualComposure本身只负责设计,独立于实现。也就是说,你可以用它来自动生成任何你想要的东西,只要你提供代码生成的逻辑。因此,VisualComposure和ESI结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 遗产继承权益分割协议(2024年版)2篇
- 高三年级老师教学工作总结
- 正规附期限借款合同(34篇)
- 销售劳动合同15篇
- 试用期个人述职报告
- 四川省绵阳市2023-2024学年八年级上学期语文期末考试试卷(含答案)
- 解除合同通知
- 让与担保合同协议的协同效应
- 设计合同终止解除合同权益保护
- 诚信道歉保证书
- 应用文写作---函--ppt课件
- 02-1-桥梁典型病害
- PDCA循环在安全管理中的应用
- 第二十二章 SPSS在银行业的应用举例
- 相似三角形的性质 华师大版 - 华师大版九年级上册
- 小学英语剧本皇帝的新衣
- 严重电解质紊乱病例分享
- 废气台账表(模板)
- 16 田忌赛马课件(54张).ppt
- 配电室管理制度.doc
- 在姐姐追悼会上的致辞
评论
0/150
提交评论