SOA(Service Oriented Architecture,面向服务架构)——其核心概念是重用和互操作,它将企业的IT资源整合成可操作的,基于标准的服务,使其能被重新组合和应用。
与传统的紧耦合架构更能适应业务的变化,在SOA中,可以用一个服务替换另一个服务,而无需关心其底层的实现技术,唯一要考虑的就是服务接口(一个构件向外界暴露接口以供访问,这个构件就称为一个服务)
SOA并不是具体的某一种技术,而是通过服务来综合各种各样的技术,在网络中实现系统的松散耦合,而重点解决的问题就是实现软件系统之间的集成。
举个例子,比如学校里有学生信息管理系统,学生成绩管理系统,教务系统等,如果我不想要那么多个系统,希望只用一个系统就可以实现这些所有系统的功能,或者我只需要用到学生成绩管理系统的成绩查询功能和学生信息管理系统跟教务系统的功能,对于这样的需求,如果采用传统的软件设计模式的话,就得重新设计一个专门的系统(需要花费大量的时间和金钱等),之前的其他系统也就浪费了;但采用SOA的架构模式的话,就无需重新设计一个新的系统,要做的工作就是把原来的系统或原来系统里的某些功能做成服务,提供接口供外界访问,然后把这些服务发布出去,当我们需要使用到相关功能时,就去寻找相关服务,然后把相应的参数传过去,之后系统再把我们需要的信息返回给我们,这样就实现了系统的整合,又不会浪费之前的IT资源。
SOA的标准主要有SCA和JBI两个体系,SCA(Service Component Architecture,服务构件架构)支持实现服务构件的各种技术,绑定访问构件的各种协议,构件可以用不同的编程语言实现。SCA体系主要是SCA和SDO两个规范,SCA规范包括了装配模型和客户端模型两部分,前者约定了如何将异种构件装配并发布成服务;后者则约定如何在异种语言环境中调用服务,从而解决服务从服务端到客户端的跨语言、跨环境的问题。
开发工具:Eclipse+Tuscany
Tuscany安装配置:将下载后的tuscany解压,把tuscany目录下的lib子目录中的所有jar包都导入到工程中即可。
为了之后开发的方便,把tuscany子目录下的jar包做成User Library,在Eclipse中选择“Window”→“Preference...”菜单,之后选择如下图
点击“new”按钮新建用户库
建好之后选中新建的库,如下图,点击“Add External JARS...”选中解压后tuscany目录下的lib子目录中的所有jar包导入即可。
用户库建好了,之后只要在项目上右击,选择"prorerties",按下图操作即可完成jar包的导入操作。