需要好好学习研究一下ebay的电子商务平台及paypal支付平台的开发方法论、系统架构模式,为搭建高可用性(high availability))、高可靠性(high reliability)、高扩展性(high scaliability))、高安全性(high security)、高性能(high performance)的电子支付及电子商务平台积累经验。
研究重点集中在两个方面:
- ebay的产品研发管理
- 软件架构
1、ebay业务情况
http://www.addsimplicity.com/downloads/eBaySDForum2006-11-29.pdf
2、ebay电子商务平台演进历史
版本 | 时间 | 核心系统技术框架 (Language,Web Server,DB,OS) |
备注 |
V1.0 | 1995-1997/9 | Perl,Apache,GDBM,FreeBSD |
• Built over a weekend in Pierre Omidyar’s living room in 1995 |
V2.0 | 1997/9-1999/2 | C++,IIS,Oracle(Solaris),NT, |
• 3-tiered conceptual architecture (separation of bus/pres and db access tiers) |
V2.1 | 1999/2-1999/11 | C++,IIS,Oracle(Solaris),NT |
• Servers grouped into pools (small soldiers) |
V2.3 | 1999/6-1999/11 | C++,IIS,Oracle(Solaris),NT |
• Second Database added for failover |
V2.4 | 1999/11-2001/4 | C++,IIS,Oracle(Solaris),NT |
• Database “split” technology. |
V2.5 | 2001/4–2002/12 | C++,IIS,Oracle(Solaris),NT |
• Horizontal scalability through database splits |
V3.0 | 2002/12-present | Java,Sun Java System Web Server,Oracle(Solaris),Solaris |
• Replace C++/ISAPI with Java.Re-wrote the entire application in J2EE application server framework |
3、ebay产品研发方法论
3.1、产品管理流程
http://pages.ebay.com/community/chatter/2005november/insideebay.html
http://pages.ebay.com/community/chatter/2005december/insideebay.html
http://pages.ebay.com/community/chatter/2003Apr/InsideeBay.html
http://pages.ebay.com/community/chatter/2005February/homevisits.html
http://creativityandinnovation.blogspot.com/2007/05/innovation-and-leadership-lessons-from.html
从软件产品管理流程的一级流程而言,ebay的产品管理流程与大部分软件公司的研发管理流程倒没有太多的差别,都大致遵循标准软件工程或CMMI之类的模型定义的流程,也即:项目策划(需求收集、业务需求规格说明书、市场分析、盈利分析等)->项目立项(产品需求规格说明书、立项评审会议、项目计划等)->需求分析设计->开发->测试->上线及市场推广。在核心流程定义清楚的情况下,软件开发流程至关重要的是执行力以及流程的持续完善,对此ebay的产品管理流程倒有很多值得借鉴的地方。
ebay产品管理流程
产品的管理流程的核心要素是对于需求的管理(需求的收集、组织、跟踪、审查、确认、变更和验证),ebay使用了“需求漏斗”的概念来描述需求在产品管理流程各个阶段中状态的迁移变化过程。通过对需求层层筛选过滤,保证< /p>
- ebay需求收集渠道
Strategic Analysis:
Community:除了通常的邮件、电话、社区论坛等沟通方式外,eBay’s “Voices” program类似于用户座谈会这样的重要的沟通形式
Visits program:主要是侧重用户体验部分。
3.2、软件开发方法论
Our site is our product. We change it incrementally through implementing new features.
• Very predictable development process – trains leave on-time at regular intervals (weekly).
• Parallel development process with significant output — 100,000 LOC per release.
• Always on – over 99.94% available.
以此看来,ebay在开发方法上应该是采用了敏捷软件开发过程或RUP,采用迭代和增量开发方式。
3.3、用户体验设计
http://designcult.typepad.com/designcult/files/Design_Patterns_IA_Summit_public.pdf
http://www.lukew.com/ff/entry.asp?318
http://www.lukew.com/resources/articles/DesignPatterns_LW.pdf
3.4、开发者社区
电子商务网站平台的开放性可以让更多的人参与到价值链的完善中来,这也是Facebook比Myspace能够吸引更多人气的原因所在。而开放性必须依赖于开发者去实现,因此和谐的开发者社区对于构建一个完整的电子商务的生态圈是至关重要的。
http://www.cioinsight.com/article2/0,1540,2074253,00.asp
http://blog.programmableweb.com/2007/01/04/how-ebay-scales-their-devnet/