热门标签 | 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中可以用到的资源。敬请留意! 

 

 


推荐阅读
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
  • SpringMVC工作流程概述
    SpringMVC工作流程概述 ... [详细]
  • Django + Ansible 主机管理(有源码)
    本文给大家介绍如何利用DjangoAnsible进行Web项目管理。Django介绍一个可以使Web开发工作愉快并且高效的Web开发框架,能够以最小的代价构建和维护高 ... [详细]
  • MVC中的自定义控件
    怎么样创建自定义控 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • 代理模式的详细介绍及应用场景
    代理模式是一种在软件开发中常用的设计模式,通过在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象进行访问,从而简化系统的复杂性。代理模式可以根据不同的使用目的分为远程代理、虚拟代理、Copy-on-Write代理、保护代理、防火墙代理、智能引用代理和Cache代理等几种。本文将详细介绍代理模式的原理和应用场景。 ... [详细]
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社区 版权所有