简介
CAS Software AG是来自德国Karlsruhe的一家软件公司,创建于1986年。该 公司专注于CRM(客户关系管理)领域,尤其是在SME(中小企业)方面。近年来 CAS Software的软件产品在CRM领域获得了非常好的声誉,包括他们在特定领域 诸如面向教育、自动代理权和基于会员的组织或者协会等的CRM产品。
近来CAS Software正在开发被称为CAS PIA(个人信息助理)的一个产品,这 个产品会以SaaS(软件即服务)的方式发布,这也是他们首个以这种方式发布的 产品。该产品使用了许多技术,我们会在以后作详细介绍。这篇案例研究的重点 将会放在Eclipse RAP(富Ajax平台)以及它是如何应用到CAS PIA架构中的,同 时也会涉及到RAP的一些有趣的应用、CAS在使用它的过程中的一些个经验教训以 及未来他们的产品的发展方向。
范围
CAS Software AG为自由职业者以及中小企业开发CRM(客户关系管理)软件 。对CAS来说,他们把软件的受众定位在那些不使用特定CRM应用、而是更倾向于 用工具和应用的组合来跟踪他们的客户、市场等的用户。CAS认为对那些可集中 而易于访问的客户信息管理软件,市场将会有很大的需求。在特定行业内,已经 有基于桌面的应用,然而这些应用仅仅提供局限于CRM专有的功能。通过使用诸 如Eclipse RAP和Eclipse Equinox之类的技术,CAS PIA可以开发出不仅提供“ 标准”的CRM功能,而且还可以有管理市场战略、电子邮件整合以及个性化信件 等功能的应用,而所有这些都被放入一个干净而模块化的软件包之内。
通过在用户界面开发中使用Eclipse RAP,CAS PIA提供了一个使用户感觉非 常友好的桌面风格的界面体验。用户界面根据人类工程学(ergonomics)来开发 ,使用了人们熟悉的窗体部件和行为,比如拖放等等用户对web应用程序所期望 的很多东西。另外,在线功能使所有同一公司内的同事可以通过该应用来管理委 派、任务和文档,也可以进行其他的重要工作流程比如地址转换和路径计划。在 下一章中,我们将深入到CAS PIA的开发架构中来看看开源软件在当中如何起到 至关重要的作用。
解决方案概述
CRM解决方案已经出现好几年了,桌面的和在线的都有,在最近一段时间里功 能变得非常强大。用户在使用它们时的期望远远超出了基本功能,诸如报表、安 全、亲和的外观和体验以及反应迅速的用户界面。基于许多用户对CRM应用的期 望和需求,CAS选用开源软件作为他们整个解决方案的基础。
从设计角度来讲,CAS PIA是一款易于扩展的web应用程序,它可以利用多个 服务进程,而这些服务进程可以分担访问压力和提供冗余。每一个服务进程都运 行在作为应用程序服务器的Apache Tomcat之上,包含了基于RAP的应用层和一个 服务核心。应用层负责展示用户界面和处理用户请求,而服务核心则提供商业逻 辑和数据库访问。
CAS选用基于web的应用程序,从而使得用户可以不必担心安装、硬件成本和 配置以及数据的安全。而且,基于web的应用可以使用户在任何地点来访问 CAS PIA,而不必在每台计算机上安装重客户端。作为web应用前端的表示层使用了 Eclipse RAP来开发。RAP项目主页把它描述称为一个为开发人员提供了下述功能 的框架:
通过使用Eclipse开发模型、基于Eclipse工作台扩展点的插件以及用SWT API (以及JFace)开发的组件工具箱来构建基于Ajax技术的富web应用 .... RAP非 常像Eclipse RCP,但是它不是在桌面计算机上启动,而是运行在一台服务器上 ,可以被标准浏览器访问。这主要是因为它提供了一套特殊实现的SWT(一个SWT API的子集)。(http://www.eclipse.org/rap/about.php)
下面是Eclipse RCP和Eclipse RAP的一个简单架构对比图。