zoukankan      html  css  js  c++  java
  • 构架之虞

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

        很长时间都在关注技术构架的变迁,同时也在关注其他的诸如业务构架、行为构架的变迁。
        比如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技术的升级,所以业务概念的版本只是一个概括行为的方式,而非技术构架。
        其实,了解了这些概念间的差别,我们可以根据自己的领域来选择构架进行思考和实践,你要是个技术公司,就要选择技术构架来讲,你要是个运营公司,就要说说业务模式,如果搞混了,不但混淆了听众的思维,而且影响了自己公司的声誉。

  • 相关阅读:
    进程池,线程池,协程,gevent模块,协程实现单线程服务端与多线程客户端通信,IO模型
    线程相关 GIL queue event 死锁与递归锁 信号量l
    生产者消费者模型 线程相关
    进程的开启方式 进程的join方法 进程间的内存隔离 其他相关方法 守护进程 互斥锁
    udp协议 及相关 利用tcp上传文件 socketserver服务
    socket套接字 tcp协议下的粘包处理
    常用模块的完善 random shutil shevle 三流 logging
    day 29 元类
    Django入门
    MySQL多表查询
  • 原文地址:https://www.cnblogs.com/haio/p/1236956.html
Copyright © 2011-2022 走看看