『vivizhyy』SD2.0 (来源于孟岩讲座)
『vivizhyy』SD2.0 (来源于孟岩讲座)
2010年11月15日
原文链接:http://blog.csdn.net/vivizhyy/archive/2008/10/29/3 178679.aspx
作者:vivizhyy
SD2.0 的基本概念和意义(软件以人为本,软件为人服务)
企业应用 2.0
Web 2.0
(企业 web 2.0)
计算 2.0
工具 2.0
-------------------------------------------------- -
为什么要提出 SD2.0
扑捉各领域内技术的最新变革
提供同一的思路来理解这些变革
树立 CSDN 在技术媒体中的形象
-------------------------------------------------- -
企业应用2.0:理解 SD2.0 的龙头
面向服务的体系架构是企业应用 2.0 的主要内容
目前是开创新的企业应用的软件开发方式,盘活企业现有的 IT 资产,构建灵活应变的企业 IT 系统,实现 IT 向业务看齐
SOA 最集中地体现了 SD2.0 的根本目标
-------------------------------------------------- -
SOA:恢复人的主体性
企业应用的基本矛盾:管理者灵活控制业务的愿望与僵硬的软件系统之间的矛盾
根本原因:企业 IT 的构造是面向技术,而不是面向业务的
解决方法:将服务为企业 IT 的基本元素
-------------------------------------------------- -
Service Oriented Architecture
业务视图:Use-case oriented→流程视图:Service oriented→ 技术视图:Component oriented
-------------------------------------------------- -
SOA 的思路
提出服务的概念,业务人员以服务为描述业务的基本语言,而技术人员实现服务
服务基于开放标准,可通过业务流程管理系统(BPM) 统筹分布式协作
当业务发生变化时,只需要重新规划流程,或在服务的局部范围内修改即可,避免伤筋动骨。
-------------------------------------------------- -
SOA 之于 SD2.0
SOA 为SD2.0 提供了指导思想、目标和架构风格指南
SOA 成为大型企业推动 SD2.0 的主要发力点
-------------------------------------------------- -
Web 2.0:统一软件平台
Web2.0 的最初含义:描述 .COM 崩溃后的第二波互联网热潮(Dale Dougherty)
Web 2.0 的社会视图:用户中心主义
Web2.0 的应用视图:搜索、Syndication、社会网络、tag、无刷新用户体验
Web 2.0 的技术视图:REST、Ajax/RIA、Mashup--统一的软件服务
-------------------------------------------------- -
什么是软件平台?
提供基本服务和组合方法
提供运行环境
提供基本工具
暴露编程接口
eg.Win32,POSIX,JSE,JEE,.NET
-------------------------------------------------- -
作为平台的 Web 2.0
基本元素:RESTful Web Service
基本组合方法:Mashup
编程接口:XML
用户界面:Ajax
-------------------------------------------------- -
Web 2.0 作为平台的意义
标准化
个性化
性能和可扩展性
开发的快速和灵活性
结果:为实现 SD2.0/SaaS 提供了平台
-------------------------------------------------- -
计算 2.0
表现① 多核 CPU 成为主流
表现② 大规模服务器农庄,集群计算
表现③以 Web 为平台的广域分布式计算
表现④ 移动计算
表现⑤ Map/Reduce, Functional, Erlang
结论:计算 2.0 为 SD 2.0 提供引擎动力支持
-------------------------------------------------- -
工具 2.0
动态语言、敏捷方法
DSL 猜想
多语言协同:C, C++, Java. C#, VB, Javascript, VBx, Ruby, Python, Erlang ?
结论:工具 2.0 为 SD 2.0 提供基本的开发工具和开发方法支持
-------------------------------------------------- -
总结
SD2.0 的目的是构建高效灵活的 IT,恢复人的主体地位,重申软件以人为本
企业应用 2.0 (SOA)提供指导思想
Web 2.0 是平台
计算 2.0 是提供引擎动力
工具 2.0 提供手段和方法