zoukankan      html  css  js  c++  java
  • SOA,不看你永远不知道的事

            你买不来SOA,只能设计自己的SOA。

    SOA不是新东西

            SOA没有引入新概念,它是个把现有概念和实践放到一起,用于特定需求集的范式。你甚至可以说SOA别的什么都 不是,就是将实用主义和头脑风暴运用到分布式系统上而已。

    SOA的基本组成

    •         服务(递进关系)

                    基本服务(最底层)

                    组合服务,对基本服务的一个组合。

                    流程服务,对基本服务的一个配置。

    •         互操作性(Web Services为其一个实现)
    •         松耦合

                    对于松耦合,书中用了专门的一章来介绍松耦合,但是没有什么硬性规定和快速指南,我们必须根据特定的上下文环境和架构,作出适当的松耦合决策。

    构建SOA需要考虑什么?

    •         基础设施:ESB为其一个实现(正要开始研究。。。);
    •         架构:用来加以限制;
    •         流程

                    业务流程建模(BPM),感觉很像工作流,但文中介绍说是比工作流大一点

                    服务生命周期

                    模型驱动的软件开发(MDSD),对于介个吧,感觉平时用EA建模,然后生成代码是不是就是这个意思呢?

    SOA与事务

            之前一直认为很好很强大的二阶段提交被作者说:在大型项目中,你会惊讶于二阶段提交使用的是如此的少。。

            2PC是中间件被最为爆炒的特性之一。只要是对中间件的评估,是否支持2PC的问题就会被提出。但是所有后端系统都必须支持它,所以它带来了一些编程工作量,并且绑住了一些资源。主要的问题在于所有的系统都必须在线,而且,直到更改在最后的系统上完成之前,所有的系统都必须提供资源。耦合度相对较大。

            既保证总体一致性,同时耦合程度也更松的方法是补偿。对于补偿的使用还没有详细研究(已安排下去),这里只说一下它的优缺点。优点是,对系统的更新不必同步进行(当更新有的后端系统时,它们甚至可以不在线)。缺点是你必须显式的提供和调用服务,回滚之前调用的服务的影响,或者,你必须提供程序用于手动错误处理。(BPEL是Web Services 的流程执行语言,它直接支持补偿~)

    SOA与安全

            SOA需要的不只是点到点的安全,而是端到端的安全,对于安全,将安全当作服务进行引入,不失为一个上好的决策。

    对于SOA的一些个人看法

            SOA中的服务个人感觉很像经典三层中的业务逻辑层,只不过被赋予了远程调用等其它概念而已。

            可否用工作流来代替复杂业务逻辑层的编写?但是事务要怎样控制(BPEL中把持补偿)?权限又该怎样控制?

            是否需要对所有非查询方法都要设置幂等?什么样的方法才需要设置幂等?

            SOA的设计思路是:从大处考虑,从小处着手,迭代设计。但是没有接触过SOA的系统,对SOA的概念理解远不如OO的系统理解深刻。对于这个“小”着实有点难把控。。。

            ESB作为一个基础设施的存在,对于它的研究或许能够对SOA的思想进一步理解吧。

            还有就是协议驱动和API驱动,这两个名词其实整的人很蛋疼……

            最后,再发表一下个人看SOA一本书的整体心灵感受吧:
            一个一个的中国汉字都认识,可是合到一起,就不知道说的是什么了,对于对汉字理解能力不强的我来说,真是一个恶梦。。。


  • 相关阅读:
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
    Construct Binary Tree from Preorder and Inorder Traversal
    Construct Binary Tree from Inorder and Postorder Traversal
    Path Sum
    Symmetric Tree
    Solve Tree Problems Recursively
    632. Smallest Range(priority_queue)
    609. Find Duplicate File in System
    poj3159最短路spfa+邻接表
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3322820.html
Copyright © 2011-2022 走看看