XML Files - The Birth of Web Services 笔记 (一)
2010-07-05 18:25
253 查看
因为开发需要, 最近开始研究 Web Service. 在 MSDN 中找到一篇文章 XML Files - The Birth of Web Services
, 比较清楚的阐述了 Web Service 的定义, 产生背景, 及涉及的几个主要知识点, 非常浅显易懂, 在此记下心得体会
Web Service 说白了, 就是一种分布式的计算/数据服务, 套用文章中的说法, 叫 Distributed Computing Technology, 这种远端提供服务调用的程序, 历史应该很悠远了, 中间出现了很多术语, 比如 RPC, ORPC (DCOM, Corba, Java RMI) 之类, 本质上是一回事.
既然是一回事, 那为什么还会出现这么多不同的方案呢?
技术做久了的话, 慢慢会体会到, 碰到一个问题, 一开始会有一个方案, 但这个方案往往不是最佳的, 会随着对问题了解的深入, 方案也会随之演进.而且一个方案, 在不同的环境下适用性不一定最佳, 所以也会随着环境的不同, 而采用不同的方案. 另外就是新技术的出现, 往往也会引入了新的, 更恰当的方案.
那么, Web Service 的出现, 又是基于什么原因呢?
文章给了 2 个说法: 1. 互通性的要求, 2. Web 应用的大行其道
关于互通性, 文章其实说了两点, 一个是组织内部的场景(Enterprise Application Integration, EAI), 一个是对外提供服务的场景(Business-to-Business Integration, B2Bi), 不过两种场景在我看来没有太大区别, 所以就简单说下第一种场景
既然 Distributed Computing Technology 提供的是一种服务, 一个组织, 尤其是大的组织, 内部必然会存在很多的 Distributed Computing Service, 信息是一种资源, 资源经过整合, 才能发挥最大的效用, 那么该组织内部, 要想整合所有的计算/数据资源, 必然存在 Service 互相调用的需要.
既然要相互调用, 就更我们写API 一样, 当然是越方便, 简单, 越好. 但是方便, 简单, 在这个应用场景中, 语义稍有些特殊. 因为这些服务, 可能是由不同的团队, 在不同的时期, 分别独立开发而成, 使用的语言, 应用的技术可能都完全不一样, 如果没有一个统一的规范, 供外部调用的接口肯定也是各色各样的, 比如 A 提供 RPC, B 提供 ORPC, C 提供 Corba. 如果有一个调用者, 同时要用到 3 者的服务, 那就必须实现 3 种调用方式. 而且如果以后 A/B/C 需要调整, 互相调用对方的接口, 那么它们也要各自实现对方的调用方式.
这种做法, 不管是对实现新的调用者, 或者说维护原有服务, 都是很大的负担. 因此如果想要达到互通性, 为所有的服务定义一个统一的接口规范是势在必行的.
不管之前存在还是不存在这样统一的一个规范, 命运的齿轮开始转动, Web Service 作为新来者, 展现出了巨大的优势, 而这个优势, 依托在之前提到的 "Web 应用的大行其道" 基础上.
Web 应用天然具备非常好的互通性, 几乎是在所有平台上都能构建 Web 服务, 然后在所有平台上都能访问这些服务, 套用文中的话, "直到 Web 应用的普及, 互通性才真正出现". 也即是说, 如果用 Web 作为互通的方式, 那么不管服务的提供者使用的什么语言, 技术, 在什么平台上, 也不管调用者的使用的语言, 技术, 平台, 它们都能在一个规范下, 提供统一的服务及调用的交互.
这个诱惑是很巨大的, 因此也能解释为什么 Web Service 这么受大家喜爱了.
然而, 原有的 Web 应用设计的初衷不是这个, 所以存在一些局限, 因此需要引入一些方案做些调整, 而新的方案使用的工具, 就是大家耳熟能详的 XML.
(待续)
, 比较清楚的阐述了 Web Service 的定义, 产生背景, 及涉及的几个主要知识点, 非常浅显易懂, 在此记下心得体会
Web Service 说白了, 就是一种分布式的计算/数据服务, 套用文章中的说法, 叫 Distributed Computing Technology, 这种远端提供服务调用的程序, 历史应该很悠远了, 中间出现了很多术语, 比如 RPC, ORPC (DCOM, Corba, Java RMI) 之类, 本质上是一回事.
既然是一回事, 那为什么还会出现这么多不同的方案呢?
技术做久了的话, 慢慢会体会到, 碰到一个问题, 一开始会有一个方案, 但这个方案往往不是最佳的, 会随着对问题了解的深入, 方案也会随之演进.而且一个方案, 在不同的环境下适用性不一定最佳, 所以也会随着环境的不同, 而采用不同的方案. 另外就是新技术的出现, 往往也会引入了新的, 更恰当的方案.
那么, Web Service 的出现, 又是基于什么原因呢?
文章给了 2 个说法: 1. 互通性的要求, 2. Web 应用的大行其道
关于互通性, 文章其实说了两点, 一个是组织内部的场景(Enterprise Application Integration, EAI), 一个是对外提供服务的场景(Business-to-Business Integration, B2Bi), 不过两种场景在我看来没有太大区别, 所以就简单说下第一种场景
既然 Distributed Computing Technology 提供的是一种服务, 一个组织, 尤其是大的组织, 内部必然会存在很多的 Distributed Computing Service, 信息是一种资源, 资源经过整合, 才能发挥最大的效用, 那么该组织内部, 要想整合所有的计算/数据资源, 必然存在 Service 互相调用的需要.
既然要相互调用, 就更我们写API 一样, 当然是越方便, 简单, 越好. 但是方便, 简单, 在这个应用场景中, 语义稍有些特殊. 因为这些服务, 可能是由不同的团队, 在不同的时期, 分别独立开发而成, 使用的语言, 应用的技术可能都完全不一样, 如果没有一个统一的规范, 供外部调用的接口肯定也是各色各样的, 比如 A 提供 RPC, B 提供 ORPC, C 提供 Corba. 如果有一个调用者, 同时要用到 3 者的服务, 那就必须实现 3 种调用方式. 而且如果以后 A/B/C 需要调整, 互相调用对方的接口, 那么它们也要各自实现对方的调用方式.
这种做法, 不管是对实现新的调用者, 或者说维护原有服务, 都是很大的负担. 因此如果想要达到互通性, 为所有的服务定义一个统一的接口规范是势在必行的.
不管之前存在还是不存在这样统一的一个规范, 命运的齿轮开始转动, Web Service 作为新来者, 展现出了巨大的优势, 而这个优势, 依托在之前提到的 "Web 应用的大行其道" 基础上.
Web 应用天然具备非常好的互通性, 几乎是在所有平台上都能构建 Web 服务, 然后在所有平台上都能访问这些服务, 套用文中的话, "直到 Web 应用的普及, 互通性才真正出现". 也即是说, 如果用 Web 作为互通的方式, 那么不管服务的提供者使用的什么语言, 技术, 在什么平台上, 也不管调用者的使用的语言, 技术, 平台, 它们都能在一个规范下, 提供统一的服务及调用的交互.
这个诱惑是很巨大的, 因此也能解释为什么 Web Service 这么受大家喜爱了.
然而, 原有的 Web 应用设计的初衷不是这个, 所以存在一些局限, 因此需要引入一些方案做些调整, 而新的方案使用的工具, 就是大家耳熟能详的 XML.
(待续)
相关文章推荐
- XML Files - The Birth of Web Services 笔记 (二)
- the understand of SOA and Web Services
- How to make a statistics by the mode of Excel+Web Services
- "How Browsers Work: Behind the Scenes of Modern Web Browsers"学习笔记
- 读《The web of topics: discovering th topology of topic evolution in a corpus》笔记
- What to do about the slow startup of web services
- Position Paper For the Workshop on Web of Services for Enterprise Computing
- Loosely Coupled: The Missing Pieces of Web Services
- the Useful UrL of Amazon Web Services
- [论文笔记] A service creation environment based on end to end composition of Web services (WWW, 2005)
- Reap the benefits of document style Web services
- 论文笔记:A LOGICAL CALCULUS OF THE IDEAS IMMANENT IN NERVOUS ACTIVITY
- (转载)How browsers work--Behind the scenes of modern web browsers (前端必读)
- The Joy of SOX : Why Sarbanes-Oxley and Services Oriented Architecture May Be the Best Thing That Ev
- IIS Error:404.2 The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server
- The Nine Pillars of Successful Web Teams(一个成功web开发团队的“9个柱子”)
- web.xml配置bug之提示The content of element type "web-app" must match "(icon?,display- name?,description?,
- The Semantic Web : A Guide to the Future of XML, Web Services, and Knowledge Management
- Web Portals: : The New Gateways to Internet Information and Services
- 严重: The web application [/native] created a ThreadLocal with key of type