题
服务为导向的架构似乎是越来越多的热引用的这几天,但之后询问该办公室,我们发现,我似乎得到许多不同的定义。如何将你们定义SOA?你会怎么考虑的官方定义?
解决方案
作为马丁*福勒说,这意味着不同的东西,对不同的人。他的文章题目是很好的虽然它不是一个相当的定义。
http://martinfowler.com/bliki/ServiceOrientedAmbiguity.html
它可以解释,难度来了一个具体的定义。
其他提示
维基百科:"SOA是一个软件架构使用的松散耦合的软件服务,以支持的要求的业务流程和软件的用户。网络上的资源在SOA环境可作为独立的服务,可不知道他们的基本平台的执行情况。"
SOA是不是新的,但它有潜力实现一些令人惊奇的事情。但本组织必须做好准备:企业认为在进程的大问题
我会去:
定义一系列的无国籍、客户 无关的商业运作创造了 可以利用多 应用程序。
SOA包括设计的部件(即, 服务 的),可以使用的代码,不论的执行情况(即,任何操作系统或语言).一个单一实例的服务也可使用由多个应用程序,然而,例如,一个DLL必须重复针对每个应用程序和要求相同,实施技术作为连接应用程序。
服务在SOA的设计通常是实现为可互操作的网服务。
我同意所有的人这点你Fowler这一点。基本上它就像这样:服务为导向的架构得到了一个声誉良好,因此任何人希望能与良好,他们呼吁SOA。在现实中,它有一个很大的缺点,并可以创建一个面向服务的僵局或依赖导向的架构。
这是我走在一个定义:服务为导向的架构是一个系统融合和代码重复使用的方法,应用程序依赖于连接以提供服务的其他运行的应用程序的网络。这种不同成分的架构、软件组件是共用的静态应用程序之间在库的形式或软件开发工具包,例如。
澄清在这里-"面向服务的结构是一个 系统整合 和代码重复使用的方法,应用程序依赖于 连接以提供服务的其他运行中的应用程序整个网络."
我有一个方案,其中两个j2ee应用程序的集成使用活动驱动的信息。这里的上述短语 系统整合 和 连接以提供服务的其他运行中的应用程序整个网络 保持良好。我可以叫这个SOA?
以下原则将会保持良好的在这里 1)无国籍状态 2)面向消息-松散耦合的事实上de耦合 3)扩展。
然而,以下不适用 1)平台的独立性不应用程序正被纳已经设计工作在一个不同的平台。2)应用程序是普通j2ee应用这没有设计有所有soa的概念。
我试图定义SOA 我的一个博客.这里有一个摘录...
多年来,它已经标准的做法单独的功能,功能、课程和模块。这个想法一直是,这些较小、高度专业化组成部分更容易分享和保持整体的代码块。
在功能上,SOA是没有太大的不同。目标是相同的-重复使用性和易维护。最大的差别-在这种情况下的一个网络服务SOA是,共同图书馆包括在应用程序替换为HTTP的呼吁。
这里有一个定义:
SOA软件在设计.列入毫无意义的,过度臃肿、功能性的接口框架,称为一个建筑在一个漂亮的网站有一个3d图形的文件夹的飞行从一个侧面向其他在那里"dir/s>a.txt |ftp s:upload.ftp"所做的工作。
软件组件是不砖,不能被普遍通过共同的功能模式和结构出现在企业从良好做法、不良好的设计。软件不架构,它的工程。
SCRUM!