华润万家API产品项目应用要求
华润万家API产品项目应用要求
1华润万家API产品项目背景
华润万家电商内部业务系统之间的集成通过ESB来实现,随着电商业务不断扩展,需要与越来越多的外部系统交互,比如B2C与跨境保宏、易极付、海关系统的集成,但是ESB主要定位于企业内部系统集成,安全机制有限,并且不具备流量控制、版本管理、文档管理等功能。
为了适应云、大数据、移动和社交的互联网时代,将通过API开放平台的建设,把华润万家电商某些内部的数据和服务安全、快捷地开放给商业合作伙伴甚至所有互联网大众去使用,提高企业品牌知名度,进而不断拓展新的业务渠道,形成新的盈利模式。
本项目需按照“统一规划、安全可控”的原则,对华润万家电商各项数据和服务进行梳理、分析和归类,并制定统一的API规范,建设API开放平台,首先满足内部业务系统与外部系统之间安全的集成需求,同时为商业合作伙伴提供更方便快捷的集成服务,为将来形成API生态圈打下坚实的基础。
本项目建设主要分为三个部分:
API规范体系建设:对华润万家电商各项数据和服务进行梳理、分析和归类,制定华润万家统一的对外API规范(电商试点),包括开发规范和管理规范。
API开放平台建设:部署API产品,搭建API开放平台,提供定义、测试、管理、发布、监控和分析API的功能。负责API的运行。负责对外提供API文档和技术交流论坛,管理用户及用户组织。
API产品实施:为华润万家相关技术人员提供至少为期一周的原厂API开发及管理的培训,并完成现有对外典型API的开发和部署。
2整体介绍
供应商应提供参投项目的方案概略性总体介绍,包括概述、需求理解、技术方案、实施策略、实施计划、实施团队、产品选型(可选)、配套服务、行业典型案例、与同类解决方案相比的优势、方案提供的增值服务等。
3业务需求
以下业务需求为华润万家API产品项目的基础需求,供应商应必须满足。所有服务提供方都是现已存在的,只需要将这些现有的服务通过API平台开放出去,需求文档由甲方提供,供应商负责API设计、开发、测试、部署及这些过程中的文档编写,并实现产品运行状态和所有API调用状况的自动化监控。
本工程涉及的内部业务系统包括网上商城(B2C)、运输管理系统(TMS)、订单管理系统(OMS),目前各系统API需求如下表所示。
4总体技术要求
4.1华润万家电商集成架构简图
华润万家电商内部业务系统之间的集成都通过ESB来实现,内部业务系统与外部系统之间的交互通过ESB和API开放平台共同实现,页面集成和邮件系统是例外。API开放
平台负责与外部系统交互,对内只与ESB交互。其中的API开放平台是本项目建设范围。
图华润万家电商集成架构图
4.2API开放平台建设
1、API开放平台架构
图API开放平台框架图
API开放平台主要分为管理平台、运行平台、开发者门户三大部分。
管理平台负责API定义管理与API运维管理,用户为华润万家电商内部员工,包括API的开发设计人员和API开放平台的运行管理人员。用户通过管理平台,根据各自的角色和权限,进行API的定义、审批、发布等方面的工作,同时对API开放平台的运行情况、资源情况进行监控、分析和管理。
运行平台负责API的物理接入,包括准入控制、安全管理、流量控制等方面的内容,
同时完成报文转换工作,完成和实际服务的交互。
开发者门户主要针对外部用户服务。一方面提供API相关的资料并提供开发者社区化交互的工具(如博客、论坛等),另一方面作为开发者管理门户,实现用户、应用的申请审批,并提供API功能测试入口。
4.3功能性技术要求
(1)管理平台功能技术要求
①API管理
?定义API。支持SOAP API和RESTful API,支持拖拽式配置。
?审批API。
?发布API。
?删除API。
?管理API版本。
?配置的备份与恢复。
?用户管理。
?开发、测试、生产等环境的管理。
②API监控与分析
?提供针对网络、服务器、存储、数据库的使用情况分析报表。
?提供API流量分析报表。
?提供API性能分析报表。
?提供应用程序分析报表。
?提供API消费情况统计报表。
?API调用日志查询。支持历史报文内容全文搜索。
?异常信息查询。
?提供API运行监控接口。
(2)运行平台功能技术要求
①消息转换
能够方便有效的完成以下消息格式的转换:
?SOAP转REST。
?REST 转SOAP 。
?XML 转JSON。
?JSON 转XML。
?消息内容添加、修改、删除。
②协议转换
支持以下常用协议:
?HTTP/HTTPS
?WebSocket
?WebSphere MQ
?JMS
?FTP
?ODBC/JDBC
?SMTP
?TCP
?常见压缩协议
③服务路由
?支持基于消息头和消息体内容的路由。
④限流
?API 限流、频率控制。超过流量限制后既可以拒绝服务,也能够延缓处理。
?API 流量优先级设置。
?限制API 基于用户、时间、IP的访问原则。
?路由API 流量基于地理位置、IP地址和后端响应时间。
?定制化数据和缓存提高响应能力和优化性能。
⑤加密与安全
?支持所有流行加密算法(比如Triple-DES, AES, SHA, RSA等) 。
?建立授权和认证对API进行基于角色的访问控制。
?具备基于SSL/TSL等机制保护通讯和数据的能力。
?具备安全日志记录的能力,并支持安全分析。
?具备配置API认证机制((OAuth,APIkey,OpenID,LDAP,and two--‐way SSL),令牌管理方式,授权策略和安全日志等相关安全管理的能力。
?具备XML、JSON消息内容安全检查的能力,防止脚本注入。
?具备防DDoS攻击的能力。
⑥缓存管理
?支持局部缓存。
?支持集群缓存。
?能够设置缓存有效期。
?具备缓存刷新机制。
⑦集群管理
?支持高可用及负载均衡。
?支持动态增加或删除集群节点。
⑧调试
?支持代码级调试。
(3)开发者门户功能技术要求
①用户及用户组织管理
?用户注册及审批。
?支持角色及权限管理。
?支持开发者组管理。
②技术论坛
?提供技术交流版块。
③文档管理
?能够上传和下载API文档。
?维护API其他描述信息。
④API及应用管理
?能够自动发现已经发布的API。
?应用注册与审批。
?基于Key的应用授权。
?具备API评价功能。
⑤API测试
?能够为每个API自动生成多种语言(java、javascript、C#、PHP、Objective
C、Curl、Python、Ruby等)的客户端调用代码。
?支持在线测试API。
4.4非功能性技术要求
①开放性
符合SOA设计理念,遵循相关标准化组织制订的有关标准(XML、WebServices 等)。支持Windows和Linux操作系统,支持Oracle、MySql、Sql Server、DB2等常见数据库。
②开发能力
提供一个开发、配置、运行管理的集成环境,支持消息流、数据格式、数据转换等
的开发。提供友好的图形界面,实现对消息格式和处理规则的定制。支持主流开发语言,如C、C++、Java、SQL等,提供基于业界标准的开发工具,并且支持版本管理。
③功能完善性
包含数据通讯、应用整合的所有功能,包括消息格式定制、事务管理等功能的组件,用于实现各个系统的信息整合。
④易用性
应易于安装和使用,具备风格一致用户界面;采用B/S架构,应能在浏览器中完成基本的管理任务,对用户输入错误,应尽早发现和提示;应具备完善的联机帮助文档。
⑤应用系统连接性
系统提供SOAP、HTTP、JMS、DataBase等各种常用适配器,实现各应用系统的无缝连接,提高可扩展性。
⑥可扩展性
不仅可以满足当前项目需求,在将来还可灵活地整合其它应用系统,提供二次开发接口供将来扩展功能组件。
⑦高可用性
支持基于软、硬件的高可用技术。支持中文字符集等相关国家标准规定的汉字字符处理。具备高容错性和易恢复性。在国内拥有典型的成功案例。
⑧集群部署
支持集群部署,以提高API开放平台的性能和稳定性。能够动态调整集群节点。
⑨安全性
应提供有效的安全保密措施,确保系统和数据资源的安全;不同的操作员具有不同的数据访问权限和功能操作权限,系统管理员应能对各操作员的权限进行配置和管理。
4.5技术支持
能够提供7*24小时技术支持服务,能够按照预设的事件等级,按标准保时保质解决。
5方案测评
6项目团队要求
6.1总体要求
?回标文件中所列参与人员名单必须和签订合同中人员名单及实际项目组成员名单(包括项目经理、技术架构师、开发工程师)一致,若更换项目组成员必须
书面征得甲方同意,且必须是具有同等实施经验和级别的人员,并且做好项目交接和资料回收工作;
?配备人员数量应满足项目需要,保证支持队伍稳定,不得因为职责交叉或人员离职影响项目的正常开展。
6.2团队具体要求
参加本项目的项目经理、技术架构师和团队成员的资历要求:
(1)项目经理
A.需具有丰富的项目管理经验,具有6年以上大型集成项目实施经历;
B.具有很好的沟通协调能力;
C.具有预见和应对项目风险能力;
D.具有很强的标准规范意识,且有相关经验;
E.具有主持2个以上集成项目的经历;
F.需全程参与本项目。
(2)技术架构师
A.丰富的电商集成架构能力,架构师经验不少于3年,工作经验不少于8年;
B.具有集成各类主流套装软件、Java技术应用系统的经验;
C.具有主要参加2个以上API开放平台项目的经历;
D.需全程参与本项目。
(3)开发成员
A.项目成员应有平均3年以上集成项目建设和实施经历;
B.扎实的Java技术知识,丰富的集成技术经验;
C.良好的文档编写能力;
D.具有良好的团队合作精神,踏实细致。
(4)测试成员
A.项目成员应有3年以上集成项目测试经验;
B.扎实的测试技能和方法,丰富的系统黑白盒测试经验;
C.良好的文档编写能力;
D.具有良好的团队合作精神,踏实细致。
6.3资源分阶段投入表
按各阶段任务,以周为单位,提供拟投入项目的各人员资源分布情况表。
6.4其它要求
(1)项目工作语言为中文,如果需要翻译,人员及费用由乙方负责,且翻译必须是
专业翻译;
(2)明确提出为完成项目需要甲方提供的保障条件,包括工作环境要求、配合技术
人员要求等。