3.11下午支点SOA qq群讨论记录总结——SOA到底是什么?
问:SOA与中间件的区别在那里?
答:SOA是中间件局部技术的体现,中间件包括底层协议的的处理,SOA只不过是接口模式和规范。
问:能打个比喻说明一下吗?
答:SOA是思想,包含技术,但不是技术。比如两个功能要组成一个新的实现方法,只要两个接口满足SOA规范就可以了,而中间件是包括了很多的底层功能的群组件。
问:SOA和接口有什么关系呢?
答:对外调用是通过很多接口来表现的。以前没有SOA,大家都是通过接口调来调去,后来被包装成SOA了。
问:那中间件是开发环境吗?
中间件不是开发环境,是程序中间处理的意思,比如大家上网站,负责提供页面输出的就是一个中间件服务,处理HTTP协议。
问:打个比方:我有个需求要计算1+1,由A提供计算服务,我只需要把A定义满足的接口信息发送给他,由他的服务计算,然后返回结果。整个的过程就是SOA思想的?
答:关键要传过去公共标准的数据及计算格式,实际现在比较标准的就是XML,总结一下就是把活交给会干的人做,但是如果这个人是外国人,那我们就用世界语告诉他。这个动作和这个"世界语"加起来就是SOA了。
问:那SOA和面向对象是一回事吗?
答:SOA跟面向对象比较接近,面向对象是同一个体系,而SOA是跨体系。如果你的中间件,不依赖具体的协议(SOAP,JMS,RMI等)、数据库接口(XML,JDBC等),架构(.NET, JAVA等),可以说具有SOA思想了。
问:用友称U9是SOA产品,实际怎么样呢?
答:用友和IBM在SOA方面是合作伙伴,对SOA满足的相当不错,满足的越好,说明你的产品根据具体业务调整起来越灵活。但是用户不会管你的产品对满足SOA有啥,还是关注功能满足度。
总结:SOA是厂商基于现有产品进行市场概念深挖掘的营销模式,很多CIO对soa最有认识,用的挺好,但是说不出来这是啥,满足SOA比较好的产品应该是合理的暴露接口,满足最普遍的协议规范。但是对SOA支持最好的产品不一定就是最好的产品,SOA是过程,没有终点。