SCA无疑是目前业界最为火热的词语之一,粗略的翻阅了一下SCA V0.9的规范,先不论SCA的商业因素,不得不感叹于SCA确实可以称为企业应用开发的利器,而SCA的野心也是从目前的规范中可见一斑。
SOA是近些年来各大厂商一直炒作的一个热门词语,不过基于SOA思想如何来开发系统是没有规范的,各大厂商可谓是各有一套,而SCA呢,就是出于这个目的来制定的,SCA旨在为基于SOA思想的系统制定开发、部署的规范,对于SOA大家千万不要以为就是Webservice,Webservice只是实现SOA思想的一种可选的技术而已,SOA思想只是一个纯粹的概念,意在强调系统是以服务的方式来形成架构,而其实只要你的系统是这么做的,就可以称为是SOA的系统,而不是说一定要是采用了象webservice这些的才能称为SOA的系统。
既然SCA是为基于SOA思想的系统而制定的开发、部署规范,它首先必然是具备了SOA的一系列的优点,象跨语言、分布式、以服务的思想构建系统等。
SOA的思想方式多种多样,SCA则为基于SOA思想的系统制定了统一的开发规范,那就是面向服务的组件架构,这个部分和OSGi的DS基本可以说是完全一样的,都是一种对于模块规范开发的标准的定义,SCA中对于模块同样的划分为多个组件,每个组件可对外提供一个或多个服务,同时可引用其他组件提供的一个或多个服务,由于SCA是基于为企业应用开发提供方便的思想而制定的,这就使得在面向服务的组件架构的考虑上,和OSGi相比呈现了更全面的考虑,最重要的自然是体现在了对于分布式应用以及本地调用集成这两点上:
1、分布式应用
SCA支持远程调用其他组件的服务,而这点正是OSGi的一个巨大的缺点,也是EEG现在正在努力做的;SCA对于远程调用其他组件的服务支持象Webservice、JMS、JCA、RMI、CORBA等等方式的调用。
2、本地调用集成
本地调用的集成上是OSGi中的一个挺大的缺点,当然,这也是因为OSGi制定时考虑的目标不同的原因,本地调用的集成上SCA支持象Spring调用SCA中的服务、EJB的调用等等,当然,SCA同样支持其他语言的调用,象php、c++等等。
基于SCA,无论对于构建本地的应用或分布式的应用都是不错的,SCA制定的面向服务的组件架构无疑是一种不错的开发规范,其实,这也就是将我们平时在设计系统的方法进行了规范化(模块–组件–服务),由于SCA目标就是为了支撑企业应用的,它对于各种技术集成的考虑上无疑使得它在这块超越了OSGi。
对于部署,SCA制定了很方便的方式来完成,对于每个组件可选择多种绑定方式,通过选择的绑定方式来决定该组件的服务对外提供的方式,如可为组件选择webservice的绑定方式,那么在外部就可以通过webservice的方式来调用这个组件的服务,又或者可以提供java接口等其他的方式,完全可以根据应用来决定组件对外提供服务的方式。
对于SCA中的组件的修改,SCA同样是支持动态的方式。
SCA对于组件中的服务的调用提供了异步调用的支持,在异步调用的支持上SCA的考虑也较为全面,象JMS方式的、RMI方式的等等。
SCA对于组件中的服务的通讯数据采用SDO标准。
对于企业应用,SCA还提供了关键的一些基础设施,象安全性、事务、可靠调用等,这对于企业应用的开发而言就变得很方便了。
总体而言,SCA在企业应用开发层次而言,吸取了OSGi的模块化开发、部署的规范的优点,同时又考虑到了企业应用中的需求,这使得对于企业应用而言,SCA规范无疑是全面超越了OSGi,而各大厂商的积极推进必然会使得SCA在短时间内全面流行, IBM的WPS已经支持SCA方式的开发、部署了,SCA提供的规范的模块化的开发、灵活的部署以及调用方式、跨语言的标准以及提供的声明式的基础设施使得它足以成为企业应用开发的利器。
SCA确实可以成为企业应用开发的利器,因为它分离了企业应用开发中的开发以及部署,而在开发上通过它提供的声明式的基础设施(就像spring中的POJO Enhanced)使得开发人员的关注点可以集中到业务的实现,基于SCA规范了系统的开发和部署方式,同时对开发人员屏蔽了其中诸如远程调用、事务、安全这些复杂的东西的实现,但是SCA是否真的就能成为对于企业应用集成可用的东西呢值得打上一个很大的问号。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
联合创新,携手共赢 华为与Commvault签署全球合作联盟协议
【中国,上海,2015年9月19日】在2015年华为云计算大会上,全球领先的信息与通信解决方案供应商华为与美国知名的数据管理软件及相关服务主要供应商Commvault签署全球合作联盟协议。基于合作协议,双方将会加大投入数据中心备份解决方案在云化环境下的“可服务化”技术研究 。Commvault公司全球业务发展副总裁Andreas May、华为IT数据中心解决方案总裁马力出席签约仪式。