• What is a web service?

http://webservicex.net/ws/default.aspx

WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

跨编程语言 : 服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!

跨操作系统平台 : 服务端程序和客户端程序可以在不同的操作系统上运行。

远程调用 : 一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法。

譬如,银联提供给商场的pos刷卡系统,商场的POS机转账调用的转账方法的代码其实是跑在银行服务器上。

再比如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,往大的概念上吹,就是所谓的SOA应用(SOA : service-oriented architecture,面向服务的体系结构)。

  • Why do we use web service?

当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于浏览器的富客户端应用程序(RIA : Rich Internet Applications),当然后一种技术相对来说更加的时髦一些(如现在很流行的Html5技术),这里主要讲前者。

基于浏览器的瘦客户端应用程序并不是因为瘦客户能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上的高成本。发布桌面应用程序成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户和服务器之间通信的问题。

  • What is XML?
<customer>
<age>22</age>
<Name>harry</Name>
<Income>200</Income>
<insurance>car</insurance>
</customer>
  • Famous protocols used in web services

SOAP/REST - Implement webservices in secure way

SOAP : (Simple Object Access Protocol)简单对象访问协议 (说白了就是xml文档传输)

(1) 暴露操作

(2) 基于XML

(3) XML定义了请求和响应的具体数据,要进行的操作等等

REST : (Rerepresentational State Transfer)表示性状态转换

(1) 暴露资源

(2) 可以基于JSON,XML,HTML

(3) 利用HTTP请求方式GET,POST,PUT,DELETE约定事务操作

SOAP Protocol - how to write XML

HTTP Protocol - send the XML

  • What is WSDL and WADL?

两者都是用于描述基于HTTP 的 Web 应用程序接口

1.WSDL(Web Services Definition Language)是面向接口的描述, 基于SOAP

http://www.webservicex.net/CurrencyConvertor.asmx?WSDL

2.WADL(Web Application Description Language )是面向资源的描述, 基于REST

WADL: The REST answer to WSDL

In order to obtain metadata description capabilities for REST, like the ones WSDL gives to SOAP, developers have created WADL (Web Application Description Language).

  • Java OR groovy?

Groovy is an object-oriented programming language for the Java platform. It is a dynamic language with features similar to those of Python, Ruby, Perl, and Smalltalk. It can be used as a scripting language for the Java Platform, is dynamically compiled to Java Virtual Machine (JVM) bytecode, and interoperates with other Java code and libraries. Groovy uses a Java-like curly-bracket syntax. Most Java code is also syntactically valid Groovy, although semantics may be different.

http://blog.csdn.net/MissYourKiss/article/details/5793979

[Training Video - 1] [Introduction to Web services]的更多相关文章

  1. Introduction to Web Services

    What are Web Services? Web Services are client and server applications that communicate over the Wor ...

  2. RESTful Web Services: A Tutorial--reference

    As REST has become the default for most Web and mobile apps, it's imperative to have the basics at y ...

  3. The Python web services developer: XML-RPC for Python

    原文地址:http://www.ibm.com/developerworks/webservices/library/ws-pyth10/index.html 摘要:概括地说,您可以将 XML-RPC ...

  4. Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么(转)

    Web 建站技术中,HTML.HTML5.XHTML.CSS.SQL.JavaScript.PHP.ASP.NET.Web Services 是什么?修改 建站有很多技术,如 HTML.HTML5.X ...

  5. .NET RESTful Web Services入门

    很早之前看到过RESTful Web Services,并未在意,也没找相关资料进行学习.今天偶尔有一机会,就找了点资料进行研究,发现RESTful真是“简约而不简单”.下面用示例来说明: 1 项目结 ...

  6. 分分钟带你玩转 Web Services

    当大型需求被数个公司分割开来,各公司系统相互交换数据的问题就会接踵而来. 毕竟是多家不同的公司的产品,研发开发语言.采用技术框架基本上是百花齐放. 怎样让自家系统提供的服务具有跨平台.跨语言.跨各种防 ...

  7. BizTalk发布WS-Security的web services

    最近做个项目,biztalk跟OTM(Oracle Transportation Management)系统做对接,双方通过web services通讯,这部分是BizTalk发布WS-Securit ...

  8. BizTalk调用WS-Security的web services

    最近做个项目,biztalk跟OTM(Oracle Transportation Management)系统做对接,双方通过web services通讯,这部分是BizTalk调用OTM的web se ...

  9. 【整理】动态加载Web Services

    WebClient client = new WebClient(); String url = "http://localhost/MESAPIWebService/MESAPI.asmx ...

随机推荐

  1. Python 使用Microsoft SQL Server数据库

    软件环境: Windows 7 32bit Python 3.6  Download https://www.python.org/downloads/ 默认安装,并添加环境变量,一路Next ... ...

  2. python pandas.DataFrame .loc,.iloc,.ix 用法

    refer to: http://www.cnblogs.com/harvey888/p/6006200.html

  3. 使用ajax提交form表单,包括ajax文件上传 转http://www.cnblogs.com/zhuxiaojie/p/4783939.html

    使用ajax提交form表单,包括ajax文件上传 前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function(data){ ... },&qu ...

  4. MySQL 练习题4

    1.表结构如下: #课程表 CREATE TABLE `course` ( `c_id` ) NOT NULL, `c_name` ) DEFAULT NULL, `t_id` ) DEFAULT N ...

  5. graphql cli 开发graphql api flow

    作用 代码生成 schema 处理 脚手架应用创建 项目管理 安装cli npm install -g graphql-cli 初始化项目(使用.graphqlconfig管理) 以下为demo de ...

  6. Firefox渗透插件—Web渗透必备工具

    1:Firebug Firefox的 五星级强力推荐插件之一,不许要多解释 2:User Agent Switcher 改变客户端的User Agent的一款插件 3:Hackbar 攻城师们的必备工 ...

  7. python random模块(随机数)详解

    使用前要先导入random模块 import random random.randomrandom.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random ...

  8. 转HTTP协议 --- Cookie

    转自:http://www.cnblogs.com/TankXiao/archive/2013/04/15/2848906.html Cookie是HTTP协议中非常重要的东西, 之前拜读了Fish ...

  9. (转)ASP与sql存储过程

    本文转载自:http://www.cnblogs.com/Spring/archive/2006/10/18/532817.aspx ASP与存储过程(Stored Procedures)的文章不少, ...

  10. 基于Redis实现简单的分布式锁

      在分布式场景下,有很多种情况都需要实现最终一致性.在设计远程上下文的领域事件的时候,为了保证最终一致性,在通过领域事件进行通讯的方式中,可以共享存储(领域模型和消息的持久化数据源),或者做全局XA ...