SOA
的三个方面(译)
原始
url: http://www.davidchappell.com/blog/
这两天看到了一篇不错的关于
SOA
的文章,不敢独享,只可惜是
E
文,所以抽空翻译了一下,跟大家分享。
以下为本博客使用说明
我们的
BlogJava
博客特别为大家的方便阅读提供了以下快捷功能:
需要查找关键字―――――――――――――――――请按
CTRL
+
F
想以后还能看(添加到收藏夹)――――――――――请按
CTRL
+
D
想刷新一下网页内容―――――――――――――――请按
F5
(应该不需要的,因为
BlogJava
已经完全实现了
Ajax
)
想保存到硬盘上―――――――――――――――――请按
CTRL
+
S
需要调用本地(
Jini
)服务查看源代码――――――――在网页空白处点击鼠标右键+
V
不想看了――――――――――――――――――――请按
ALT
+
F4
如果是标签页浏览器―――――――――――――――请按
CTRL
+
W
实话说,我们比
Google
的
Gmail
还早实现方便的快捷方式,厉害吧。这里不需要对我表示敬意,只需要对博客的建设者
Dudu
老兄留言表示一下感谢就好了。
在开始的时候先介绍一下
SOA
的概念。
什么是
SOA
?
SOA
的全称是
Service Oriented Architecture
,面向服务架构。
她是指为了解决在
Internet
环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。这句话的意思就是
SOA
不是一门语言或具体的技术,而是一种软件的系统架构,应该说更像一种模式,是一种为了解决复杂的
Internet
业务应用而提出的一种体系结构(在我感觉里,这种架构的提出更像
MVC
模式的提出,不过我们总喜欢用模式啊,架构啊的话来体现自己是行业内专业的人,但其实无论说是模式还是架构,这都只是一些名词,如果组合现拥有的技术去实现自己的应用才是最有用的,就不用多谈所谓的架构还是模式了)。
译文
(
翻译:陈朋奕,如果有错误请来我的博客指出
)
:
在做软件开发的人,架构这个词经常被用在三种不同的场合中:应用体系架构(
Application Architecture
),基础体系架构
(Infrastructure Architecture)
以及企业架构体系
(Enterprise Architecture)
。而
SOA
的概念横跨了这三种体系,然而很多人在谈到
SOA
的时候总喜欢不自觉的把
SOA
跟其中的一种混为一谈。
譬如开发者大多对如何建立
SOA
应用感兴趣,因此他们关注的趋向更多是
SOA
中的应用程序的体系架构方面。而
Web Serivces
管理工具的卖主一般认为
SOA
主要是关于基础组件体系结构的,同样的,用户群体会认为
SOA
是用于企业业务应用结构的。
这三种观点都是有意义的,因为这映射了
SOA
的三个应用层面。下面是关于这三个方面的一些简单的讲解:
――――
SOA
应用体系架构:是建立
SOA
服务的指导、模式以及实现的方法。关注面向服务软件平台和个体应用的开发者会特别强调这个方面。如
Microsoft’s Windows Communication Foundation
(
WCF
微软视窗通讯基础组件)以及最近提出的
Service Component Architecture (SCA
服务构件体系
)
就是跟
SOA
这个方面的应用实现。
――――
SOA
基础体系架构:是管理和操作
SOA
服务的指导、模式以及实现的方法。
SOA
的大思想家们有时也会承认自己在这个方面有不足,但真正去实现这些功能的人却知道这些方面的重要性。一般来说,卖主会特别喜欢把关注点和行动实现集中在这里。
――――
SOA
业务体系架构:利用
SOA
并从
SOA
中获得商业利益的指导、模式以及实现的方法。而关于技术的讨论仍然会在这里出现,但更多的关注点已经转移到了人的身上(以人为本?事实上,我对
SOA
面临的最大挑战是人的观点——人通常比技术更多问题——有一些自己的看法)。不过,来自
ZapThink
的分析家们通常对
SOA
提出的建议都是在强调这个方面。
我看到过很多人关于
SOA
的意义(甚至是价值)的争论,其实他们的争论只是关于应用程序体系架构主导还是企业体系架构主导而已。这些专业术语仅仅是在我们都认同的情况下才会体现其价值的,因此当别人在讨论这个被过度使用的术语的时候我们应该保持清晰的思路,清楚我们到底讲的是什么才是我们应该把握的方向。