作者:梁振
SaaS开发扩展性是非常重要的,对于ISV来说。将软件由卖Copy转移到买服务后,将失去客户端软件特有文件格式等对于竞争对手的优势。同类产品的竞争将在会在本身提供的服务和后期服务扩展性上展开。这样,对于一个好的扩展性的平台,在市场上将会有非常重要的作用。
SOA 是一种 IT 体系结构样式,支持将系统平台业务作为链接服务或可重复业务任务进行集成,可在需要时通过网络访问这些服务和任务的一种体系结构。对于SaaS来说SOA的关键是一种“松散耦合”的应用程序组件!这样后端扩展将不再在特定数据库层面。
对于SOA和SaaS的结合其实已近有了一个很好的例子:EBay
有超过 40% 的 eBay 列表是通过调用 eBay 提供的API 实现的。
对于这些eBay API的使用者,eBay按照个人用户免费和商业用户收费。
详细请看下面的收费标准
详细地址:http://developer.ebay.com/join/pricing/
另外来看看整个eBay的API服务体系架构
一共包括4个部分:
业务逻辑层API(属于eBay内部的处理方式)
业务对外API
(例如:eBay API(XML)和SOAP API)
提供ISV开发Web服务SDK(例如:eBay SDK for based on.NET)
应用程序
(例如:Windows平台的和其它平台的应用)
如下图说是:
图1:eBay SDK SOA框架
对于整个SOA架构来说,上图可以关键是提供了一个很的业务层API设计,对于系统内部的时限可以通过各种管理模块的组合来完成。例如:商品管理模块、用户管理模块、搜索模块等等。但是对于外部来说,仅仅需要符合业务对外API就可以开发自己的应用。
按照这种IT体系架构来扩展设计SaaS架构可以这样扩展,主要需要ISV自己完成表现层的开发。对于SaaS ISV可以构建一个如下的一个服务框架
1,表现层
组成:表现层显示模块、表现层配置模块
2,对外业务逻辑层
组成:对外业务逻辑API
将所有的内部商务逻辑通过不同的封装以便提供外的各种调用
微软平台开发工具:WCF or Web Servicese
3,商务业务逻辑层
组成:多种自己业务逻辑、外部的业务逻辑
整合所有的商务业务逻辑包括内部和外部调用的服务
微软平台选择开发工具:WCF和Biztalk
4,数据层:
组成:多个自己业务相关的数据库
这样增加扩展模块可以在业务逻辑层完成,对于数据库的调整和其他调整可以不影响其整体框架和外部开发。
由于我还是初学SOA不久,可能有些知识不一定正确,如果有不足地方欢迎指出。另外我在2007年1月将主讲一次MSDN Webcast来分享一些SaaS设计和架构方面经验。
参考资料:
《Build a marketplace with the eBay SDK and Web services, Part 1》下载本文