2009年10个必须知道的软件架构主题

2009年10个必须知道的软件架构主题【转载】

1。云计算(cloud computing:是 分布式计算技术的一种,是透过 网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。透过这项技术,网络服务提供者可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“ 超级计算机”同样强大效能的网络服务。最简单的云计算技术在网络服务中已经随处可见,例如 搜寻引擎、 网络信箱等,使用者只要输入简单指令即能得到大量信息。涉及面从常规的主机到平台作为服务Platform-as-a-service (PaaS)。Google目前的云技术,主要由 MapReduce、 GFS及 BigTable三项所组成
2。非关系型数据库:多数据库应用开始更改使用非关系型数据库,尤其是文本的资源为中心的存储需求。新数据库,比如:CouchDB,Amazon SimpleDB,Drizzle(来自MySQL),Mongo,以及Scalaris 现在越来越成熟。

3。下一代分布式计算:分布式计算能够处理大量的超乎想象的数据能力。同时商业软件GridGain 和开源的 Disco 也在分布式运算领域发展强劲。

4。Web-Oriented Architecture (WOA):REST架构应用更加广泛,在此基础上包括数据代表,安全,完整,组合和分布,这样的应用更加自然,富有效率的建设基于互联网的应用。

5。Mashups:mashup是糅合,是当今网络上新出现的一种网络现象,将两种以上使用公共或者私有数据库的web应用,加在一起,形成一个整合应用。一般使用源应用的api接口,或者是一些rss输出(含atom)作为内容源,合并的web应用。 Mashup概念已经融入SOA,为企业架构带来价值。

面向服务的体系结构(Service-oriented architecture)是构造分布式系统的应用程序的方法。它将应用程序功能作为服务发送给最终用户或者其他服务。它采用开放标准、与软件资源进行交互并采用表示的标准方式。

  • 可重复使用, 粒度, 模组性, 可组合型, 构件化以及具交互操作性
  • 符合标准(通用的或行业的)
  • 服务的识别和分类,提供和发布,监控和跟踪。
  • 服务封装
  • 服务松耦合(Loosely coupled) - 服务之间的关系最小化,只是互相知道。
  • 服务契约 - 服务按照服务描述文档所定义的服务契约行事。
  • 服务抽象 - 除了服务契约中所描述的内容,服务将对外部隐藏逻辑。
  • 服务的重用性 - 将逻辑分布在不同的服务中,以提高服务的重用性。
  • 服务的可组合性 - 一组服务可以协调工作并组合起来形成一个组合服务。
  • 服务自治 – 服务对所封装的逻辑具有控制权
  • 服务无状态 – 服务将一个活动所需保存的资讯最小化。
  • 服务的可被发现性 – 服务需要对外部提供描述资讯,这样可以通过现有的发现机制发现并访问这些服务。[
  • 面向服务的架构通常被定义为通过Web服务协议栈暴露的服务
    与SOA相关的Web服务的标准主要有:

    • XML - 一种标记语言,用于以文档格式描述消息中的数据。
    • HTTP (或HTTPS) - 客户端和服务端之间用于传送信息而发送请求/回复的协议。
    • SOAP(Simple Object Access Protocol) - 在计算机网络上交换基于XML的消息的协议,通常是用HTTP。
    • WSDL(Web Services Description Language) (Web服务描述语言) - 基于XML的描述语言,用于描述与服务交互所需的服务的公共接口,协议绑定,消息格式。
    • UDDI(Universal Description, Discovery, and Integration) (是统一描述、发现和集成) - 基于XML的注册协议,用于发布WSDL并允许第三方发现这些服务。

    注意,一个系统要成为面向服务的系统并不需要这些协议,比如一些面向服务的系统可以通过CORBA实现。


    6。Open Supply Chains via APIs
    :有越来越多的企业开始开放API,将填平传统IT应用和互联网应用之间的鸿沟。通过提供API开放供应链系统。

    7。动态语言:动态语言类似Javascript, Perl, Erlang,以及动态语言框架Rails,CakePHP,Grails等都发展非常迅速。

    8。Social computing:通过社会化开发的软件比非社会化开发的软件更加优秀,比如很多开源项目,Wiki等。

    9:群众外包crowdsourcing 和 平行生产架构 peer production architectures:很适合部署到互联网的业务模式,通过互联网聚合群体的智慧和力量。

    10。新的应用模式:随着Facebook和下一代移动应用的出现,widget流行,软件原子化趋势预示者微型应用的时代必将到来。不同的微型应用将嵌入到其他应用中,能够快速平行扩展。


    柳德才
    13691193654
    18942949207
    QQ:422157370
    [email protected]
    湖北-武汉-江夏-庙山

    你可能感兴趣的:(2009年10个必须知道的软件架构主题)