【IT168 信息化】
软件互联平台是围绕阿里巴巴集团建设电子商务的基础设施,培育开放、协同、共荣的生态圈这一战略思想,实现阿里软件“让天下没有难管的生意”这个伟大使命而着力打造的在线软件运营平台。软件互联平台为最终用户、ISV、独立开发者、运营商提供了一个开发和运行时环境,将所有服务组件统一集成到一个单一、灵活、Multi-Tennant 的分布式环境中。这些服务组件涵盖中小企业的商务应用、管理应用、通信应用、服务应用、行业应用等五大类,并且提供业务流程管理、数据存储/转换、业务伙伴集成、商业信息的订阅和发布、消息代理、决策支持和用户交互等内容。
软件互联平台为快速接入和交付服务、简化服务集成和管理,提供了通用的Sandbox 验证环境,为异构系统:Java、.NET、PHP 提供了用户、公司、帐户、账单、帐务、应用、订阅、ISV、资源等接口接入的解决方案。在后续章节中,将对下列 软件互联平台主题展开讨论:
• 软件互联平台的商业价值
• 软件互联平台的基础服务组件
• 软件互联平台的服务架构
• 软件互联平台的业务架构
• 软件互联平台的接入规范和开放的API
• 软件互联平台的网络结构
• 开发工具介绍
• 软件互联平台的社区
• ISV低成本接入软件互联平台
1. 软件互联平台的商业价值
软件互联平台是一个载体,是为了满足阿里巴巴六千万电子商务用户的内部管理和网络营销需求,承载了中小企业所需的各种服务和功能。ISV 可在平台上开发新的服务,或者将新服务与软件互联平台现有产品集成,从而提升用户体验,简化用户使用流程和通过线上、线下营销网络扩展业务的基础结构。

图1 软件互联平台的商业价值
如图 1 所示,阿里软件和广大的ISV 围绕6 千万电子商务用户的管理需求提供多样化的服务,这些服务既可以单独使用,也可以组合使用。

图2 软件互联平台的商业生态圈
图2 描述了最终用户、ISV和运营商三者之间的共荣关系,围绕着软件互联平台的核心商业价值,通过社区、应用和平台,最终实现生态圈的繁荣和共赢。
2. 软件互联平台的基础服务组件
软件互联平台是业界领先的基于 J2EE 的应用服务集群,它提供了异构系统集成的关键基础结构,并提供整套接入方案,其中包括SCA、安全性、事务管理、容错性、持久化、分布式Cache、数据库集群和分布式文件存储等功能,同时提供通讯、数据存储、数据交换、登录/权限和支付/计费等公共服务。
统一的数据
1、 软件互联平台整合了阿里巴巴集团的优质用户资源,将阿里旺旺、外贸版、网店版、“E 网打尽”的用户和公司信息统一在UDB中,并分配唯一passport作为标示。同时,也实现了对运营的帐户、账单、帐务、应用、订阅、ISV、资源等数据的统一;
2、 阿里软件的自主产品和各个ISV应用,基于Multi-Tennant 改造和接入后,通过hosting或者非hosting方式实现系统内数据统一。
统一的API
软件互联平台是个开放的平台,在这个平台上,开发者可以实现自主产品的快速接入。这是因为:
1、 软件互联平台的体系架构是面向SCA的,提供基于Web Service 调用的底层API库;
2、 在08 年将提供开放的JavaScript 接口和REST方式的前端调用方式,实现更轻量级的前端框架调用;
3、在08 年,通过对公共组件的进一步抽象和封装,我们提供统一的AliTag,帮助开发者快速组件化开发,使ISV服务与软件互联平台的整体风格得以统一。
统一的用户体验
对于六千万中小企业用户,他们的信息化水平和应用操作能力参差不齐。软件互联平台在提升用户体验,简化用户使用流程上独具匠心:
1、 提供统一的用户登入/登出;
2、 完善的客户自助服务中心,一站式完成软件/服务筛选、订阅、付费;
3、 提供统一的应用前端组件展现,贴近客户操作习惯,减小学习成本;
4、 未来将实现统一的展现桌面/容器,各个服务在桌面上双击即可使用,服务嵌套在应用展现模板里,使软件互联平台成为真正意义的WebOS 容器。
统一的开发工具
软件互联平台采用JBoss Server 作为底层部署环境,通过面向SCA的ASF【2】应用服务框架来集成系统内外的分布式系统,同时可使用XPlatform 工具来简化应用开发。
快速应用接入
软件互联平台上接入的服务,我们认为有两种来源:一种是ISV和独立开发者对已有产品的改造;另一种是全新搭建的基于Multi-Tennant 的软件服务。实际上,对于前者,我们会发现接入非常得快捷和简单,最多只需要调用8 个接口,即完成原有系统的初步改造。
1、 非资源扣费模式ISV接入,只需调用1 个接口。
2、 简单扣费模式接入,只需调用4 个接口。
3、 复杂扣费模式接入,最多调用8 个接口。
对于第二种场景,则可以通过以下的步骤完成服务接入:
1、 使用XPlatform 完成基于Multi-Tennant 的数据建模;
2、 使用XPlatform 提供的基础组件(组织、权限、支付、存储…)完成应用建模;
3、 在Sandbox 环境完成服务的调试和发布;
4、 Alisoft 内部定义软件,制定软件价格并上架。
3. 软件互联平台的服务架构
软件互联平台的服务架构我们可以理解为三层,最外层是是展现层,中间是服务/应用的集成容器,再往下是我们封装的核心服务和公共基础服务。

图3 软件互联平台的服务架构
通过对注册/验证、数据交换、搜索引擎、支付、物流等服务或者业务实现的封装,ISV和自主开发者可以非常方便的调用平台开放的接口,构建产品和服务并实现接入。如果把软件互联平台看作一个商场,那最终用户就可以像在商场购买商品一样,选购适合自己的ISV提供的产品/服务,最终按照使用的时间或者消耗的资源付费。
4. 软件互联平台的业务架构

图4 软件互联平台的业务架构
虽然 软件互联平台提供了服务/应用集成所需的大部分元素,但是具体的应用项目却包含了更多的内容。ISV和自主开发者必须编写必要的应用逻辑,将业务流程展现给最终用户。此时,软件互联平台将显示出易于使用、开放构件的优点。利用同样的框架和资源界面,用户既可以自定义开发 Web 服务,也可以访问 Core Services & Common Services 层获取特定的核心服务,还可以利用CommonUI 和Portal 资源,使客户与业务流程实现互动。一旦构建了集成应用,就可以完全在 IDE 中构建用户界面。ISV 和独立开发者不但可以利用 AliTag编辑器创建数据项表格,而且能够利用PMB(Page Message Bus) 【3】实现页面组协调和跨多个 Web 页面的信息流交互。ISV 和独立开发者还能利用AliTag的静态资源自定义功能,实现Web界面定制,提升用户体验。
5. 软件互联平台的接入规范和开放的API

图5 软件互联平台的接入方式
软件互联平台的ISV 接入规范是以SOA 规范为基础,通过对于面向服务的SCA框架来扩展的设计模式。Service Container的作用就是提供Service Publisher,ISV和独立开发者扮演Service Provider和Service Consumer两种角色。为了更好的结合其他资源融入到服务实现中,未来,Alisoft 还将提供Resource Resolver角色用来支持类似于WSDL,Spring 的配置Xml 等文件的解析,提供给服务发布/订阅者使用。
在SOA的技术实现设计中,最简化的方式就是一个中心三个角色。一个中心就是服务为中心,三个角色就是服务提供者,服务消费者,服务的发布者。ISV和软件互联平台的API,通过SOA集成在软件互联平台Service Container,使数据流得到整合。除了已有的9 个对外接口,后续我们会提供Javascript API、aliTag以及Studio 工具,帮助ISV更快捷的接入。
6. 软件互联平台的网络结构

图6 软件互联平台的网络结构
1、在软件互联平台中,最核心的是用户和公司信息,我们是放在UDB 中存储,这当中包含了阿里旺旺2700 万,网店版70 万,外贸版5 万,“E网打尽”版30 万用户信息,我们为所有用户分配了唯一的旺号来唯一标示;
2、软件互联平台的运营信息包括帐户、账单、帐务、应用、订阅、ISV、资源等,我们放在第二层“Billing & Accounting”中,这是基础数据;
3、不同角色用户,登录各自portal 使用服务;
4、我们提供面向SCA 的Web Service 接入,因此,对ISV 暴露一组接口服务器;
5、对于每个独立的自主产品和ISV 应用,通过符合Multi-Tennant 规则的改造,可以接入到软件互联平台上来;
6、独立开发者可以使用现在数据接口实现大量现有数据的集成,设计更多的业务模式和软件功能;
7、软件互联平台上的软件可以在阿里妈妈帮助下快速推广到整个网络中。
7. 开发工具介绍

图7 XPlatform体系结构
XPlatform 是阿里软件基于SaaS 模式下的业务基础开发平台。它以敏捷软件工程为指导,帮助阿里软件和ISV在多租户、高性能、高扩展、高容量、高安全的需求下,实现规范化、可控制的软件开发。通过模型驱动、构件组合、面向服务的技术架构及运行环境,帮助阿里软件和ISV,在整个软件生命周期内按需而生、随需而变的定制软件系统,以不断挖掘和适应快速变化的业务需求。
XPlatform 用固定模板模型迅速构建系统,通过六大解析引擎:对象解析引擎、应用解析引擎、流程解析引擎、报表解析引擎、图表解析引擎、服务解析引擎来实现集成开发环境的不断改进。XPlatform 有如下特点:
1、逻辑表达都可用XML建模;
2、基于XML值对象的数据载体;
3、基于数据总线(XML DATA BUS)的数据交换;
4、面向多系统的同步异步调用机制。
8. 软件互联平台的社区

图8 软件互联平台的社区
我们是在打造SaaS 模式下的电子商务生态圈,在这个生态圈中,阿里软件掌握核心资源:用户和公司信息,从而扮演运营商角色。围绕这个生态圈,需要为EndUser 、ISV和独立开发者提供互惠互利的土壤。软件互联平台社区框架与iGoogle 等有些类似,但我们的优势在于拥有meet&work@Alibaba 的六千万中小企业用户。并且致力于打造SaaS 模式下的电子商务生态共荣圈。
9. ISV 低成本接入软件互联平台

图9 ISV接入软件互联平台的两种途径
SandBox 环境是供ISV 开发时使用的一个调试环境,他的数据库和应用系统均独立于正式环境。
开发环境接入主要说明:
1. Binding Windows HOST文件配置

5. 打开IE访问App Portal: http://www.alisoft.com:20080/
6. 注册一个账号
7. 申请成为ISV 或由Alisoft 技术接口人在后台设置ISV 权限,通知Alisoft 技术接口人,通过此账号的审核。并给账户充值。
8. ISV将开发环境的登录URL告诉Alisoft技术接口人,由Alisoft技术接口人进行后台配置.
9. ISV用户订阅一个自已的应用
10. ISV用户使用订阅的应用