热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

谁说ABAP跳不好Web舞?――写在SAPCRMWebClient应用之际

随着今年4月18号SAPCRM2007的正式发布(DefaultRelease),SAPCRMWebClient成为在之后实施SAPCRM系统客户的默认选项,SAP主流产品序列中出

随着今年4月18号SAP CRM 2007的正式发布(Default Release),SAP CRM WebClient成为在之后实施SAP CRM系统客户的默认选项, SAP主流产品序列中出现了第一款脱胎换骨支持Web用户界面的产品。

对SAP CRM比较了解的朋友们可能都知道,出于功能的要求,它是SAP最早引入Web访问方式的产品。对Web访问的技术发展在不同阶段采用了很多不同的方式:

方式一:JCRM 最开始只是在ABAP环境中加入JCRM技术,这是SAP在第一波电子商务浪潮出现时推出的B2B/B2C的电子商务平台。它虽然电子商务的功能相当完备但缺陷也是显而易见的,比如界面单调难以配置、功能局限于B2B/B2C难以扩展等。

方式二:SAP GUI for HTML 采用SAP GUI for HTML的方式来访问SAP CRM系统,这种方式其实就是通过SAP ITS(SAP Internet Transaction Server)的翻译把传统的GUI在Web中展示出来,因此这种方式只能算是GUI的一种访问方式,在界面以及操作方式上几乎完全等同于传统意义上的SAP GUI。

方式三:PCUI=SAP CRM + SAP Portal SAP Portal在相当长一段时间内几乎是SAP CRM想实现全面Web访问的唯一方法及必要条件,但它那复杂繁琐的界面、需要单独的服务器以及与CRM服务器之间数据交换的速度一直以来都受到广大SAP CRM用户的强烈诟病。终于在CRM WebClient推出的今天,SAP Portal可以卸下额外的负担回归它的本来用途――就是做为集成的企业访问门户供客户选用,而不再是SAP CRM实施的必选项。

方式四:ICWC (Interaction Center Web Client) 在SAP CRM的主体以PCUI方式进行Web访问的同时,SAP设计了ICWC用于交互中心的Web访问。其实ICWC在很大程度上可以看做是CRM WebClient的雏形――SAP正是在ICWC的基础上,同时参考了PCUI的一些功能实现设计出了现在最新的CRM WebClient。

以上几种方式的更多介绍可参见另一篇拙作《SAP CRM系统中的电子商务功能面面观》

闲话少叙,让我们言归正传。上面说了这么多,无非是想表明,SAP这么多年在Web及界面方面的探索及努力,最终修成正果,就是下面要重点介绍的SAP CRM WebClient。

以前在我跟客户介绍SAP的各种Web访问方式时,总会遇到让我很窘迫的问题。如“干嘛要这样设计呀?”“非得用那个东西多傻呀?”。但在SAP CRM WebClient这里,无论是从界面的风格,还是底层的技术架构,乃至SAP的整个未来技术发展路线,从来都没有这样清晰过。所以,我在面对客户时也从来没有象现在这样有底气。^_^

SAP CRM WebClient的主要技术内容其实就是下面几条:

  1. CRM WebClient是完全基于ABAP Stack之上的(SAP WAS中包含ABAP 跟J2EE两个运行环境,CRM WebClient只需要ABAB环境即可);
  2. CRM WebClient UI是采用SAP的BSP(Business Server Page)技术实现的;
  3. BSP是ABAP代码(ABAP code)与BSP扩展(BSP extensions)的混合;
  4. BSP扩展提供了超文本标记语言商务标签(HTMLB, HyperText Markup Language Business tags);
  5. HTMLB是SAP专有的对标准HTML的扩展,HTMLB标签比标准HTML具有更复杂更强大的功能。

由上述可以看出,SAP CRM 2007不再需要采用ITS翻译或是读数据到Portal中展示等“中转”的方法,而是直截了当地让ABAP通过BSP技术真正跟上了Web的应用大潮。更难得可贵的是,现在的应用不再是以前象ICWC那样局限在某些功能某些方面上,而是把SAP CRM面向最终用户的全部功能完全转为CRM WebClient方式(甚至已经在SAP GUI中取消了以往最终用户的操作路径,现在对于SAP CRM来说SAP GUI已经仅限于做配置时使用了)。

 

让我们再看一眼上图中最新的SAP CRM2007界面,很难想像它跟传统的SAP GUI一样,都是基于ABAP这么“老旧”的SAP技术吧?呵呵。

提到SAP CRM 2007的界面,真的让我觉得有说不完的亮点――合理布局的导航安排、简明扼要的数据显示、高度可调的个性化设置等等。还有很多让我非常心动的细节,比如返回/前进键,也许您早已习惯了在网上浏览时一会“Back”一会“Forward”,但想想,SAP的每一页都携带着多少数据量,再想想,您的来来回回还得能让SAP严谨的凭证流一丝不乱。。。

SAP CRM2007不仅让最终用户感觉到了“简单就是力量”,那些仍然辛苦奋战在SAP GUI里的配置实施人员(咨询顾问、关键用户等),也能从最新的SAP CRM配置方式里受益。

对于SAP CRM2007中业务流程的配置,比如销售订单啦、营销活动啦。。。流程的配置仍然是跟以前一样,在SPRO中该咋配还咋配,所以就不再赘述。

SAP CRM2007跟以前SAP CRM版本最大的不同就在于最终用户界面的配置,如前文所述,现在SAP CRM的界面不再是GUI了,也不再需要Portal了(庆祝一下吧,终于可以不用再在Portal的条条块块里晕头传向了^_^)。

现在SAP CRM 2007的展示层的开发采用了已经被广为接受的MVC模型(Model、Veiw、Controller),如下图:

 

其中,Model用于连接在View中所展示的字段与业务层(BOL)的数据;View用于设计要展示出来的界面;Controller用于处理交互逻辑并提供一个MVC应用程序中的Model与View的联接。

而对于Model、View、Controller的配置,都是在SAP CRM系统中的事务码 BSP_WD_CMPWB来完成(以前的事务码BSP_WD_WORKBENCH已不再使用)。在这里,您可以方便灵活地设计出您想要的界面。如下图。

 

最后,有个关于SAP CRM 2007的技术细节想提一下,就是SAP CRM也一直在扎扎实实地发展着对于SOA架构的支持,而SOA已经确定无疑是未来软件发展的方向。在SAP CRM 2007里,SAP首次提供了Web Service工具,您可以采用这种工具来进行Web Service的开发。在以往必须手工创建所需的功能模块,然后使用SAP NetWeaver中的Web service creation wizard来创建相应的Web service接口,那个流程可能要耗费数天甚至数周来完成。现在有了Web Service工具,可以把这个时间缩短到一两个小时。

当然,本文只是对SAP CRM WebClient做个简单的介绍,您如果正在或即将从事某个SAP CRM 2007项目,您还需要再去查阅更进一步的相关技术文档,我会在下一篇博客中详细地介绍所有在实施 SAP CRM 2007中可以用到的资源。敬请留意! 

 

 


推荐阅读
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
author-avatar
烦恼的余生_538
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有