构架之虞

    借一本“编程之美”的书名,准备写一些“构架之美”的随笔。
突然跳出一个
构架之虞的想法,将前几天同事的讨论延伸一下写在这里,可能会有更多的虞会出现,我也会继续关注这些虞。

    很长时间都在关注技术构架的变迁,同时也在关注其他的诸如业务构架、行为构架的变迁。
    比如SOA和Web2.0,有些人将他们扯在一起,我觉得就是混淆了技术构架和业务模式构架的概念。
    SOA是解决软件开发和部署使用、升级维护以及异构系统间配合的问题,可以说是新的计算方法下的软件开发模式的升级。
    而Web2.0,应该是互联网内容服务由封闭到自治的一种模式的清晰化而已,是行为模式而不是技术模式。
    由于有些概念本身就比较模糊,产生一些理解偏差没有什么大惊小怪,况且这些概念还仍然在不断变化之中。
    但是我所思考的事,构架人员应该关注什么样的构架,答案非常简单,如果是系统构架师,当然关注技术构架,如果是业务构架师,则更多地关注业务构架。
    技术构架可以解决一部分的业务构架,业务构架当然更可以促进业务的发展,这两者是相辅相成的,没有高低贵贱之分。
    至于在各自的构架领域,哪种构架更好就需要根据领域的实际情况来考虑。但是我觉得,每个领域的构架都是一个发展的过程,所以,是否对于这个领域的发展有益处,是评价构架好坏和取舍的标准。
    在技术构架领域,软件开发的模式和构架仍然是提高软件生产率和成熟度为目标,所以无论是软件的分析方法、开发方法,还是具体的控件、组件、中间件(现在好像已经不提了)还是SOA,都是在提高软件开发的生产率的方向前进,所以SOA成为一个热点的构架肯定是必然的。同样,由于SOA提高了软件开发的生产率和成熟度,可以使软件开发更加大规模,软件产业链更加合理,软件的产品和服务更加容易适应业务模式或运行模式(如web2.0),所以SOA一定在技术构架领域发展,而不会掺和到业务模式中。
    既然是一个下一代的软件构架,那这个构架一定具有一定的通用性,所以SOA是面向服务,这个服务不是特指某些Service,也不是Web Service,也不是http Service,而是一个通用的服务,无论这个服务是以何种技术形式提供,只要它符合SOA的规范。提到SOA的规范,由于目前还不成熟,所以可能导致它的局限性,但未来的方向绝对不会仅仅是Web或HTTP,它一定会包含更多的协议!
    在业务构架领域,Web2.0或是Web3.0或者Web更高的版本的目的是提高在Web上的业务规模,聚集更多的人气,让更多的人在Web上收益,以致改变世界、社会和个人,所以,它是依赖于Web的,这种模式的升级一定是这个目标的提升,我可以想象终极结果就是人类不需要现实世界,而仅有网络世界!这个大胆的设想可以称为绝版Web。但是无论何种版本的Web,都不必与技术的发展同步,这种版本升级仅需要业务的参与,而不需要技术参与(当然,技术发展的参与是可以起到一定的作用)。如Web刚刚出现时,其实类似Web2.0的交互自助自治的技术手段都有,并且也成为一定的重要内容,只不过Web2.0概念更清晰了这些业务模式的内涵和外延,同样,目前Web2.0时代也有很多Web3.0概念中出现的特质,那么说目前是几点零呢?这些版本其实都没有依靠任何一个Web技术的升级,所以业务概念的版本只是一个概括行为的方式,而非技术构架。
    其实,了解了这些概念间的差别,我们可以根据自己的领域来选择构架进行思考和实践,你要是个技术公司,就要选择技术构架来讲,你要是个运营公司,就要说说业务模式,如果搞混了,不但混淆了听众的思维,而且影响了自己公司的声誉。

原文地址:https://www.cnblogs.com/haio/p/1236956.html