WebService基本概念、XML
第1课第12~20页(重点P14,P20)
1.Web Service是什么?应用于?应用例?8个特点?接口?
1)Web Services是一种部署在Web上的对象或者是应用程序组件。
2)Web服务应用于互连设备、整合应用等。
3)应用举例
①应用程序集成
• 例如,某个公司内部
• 有一个订单登录程序,用于登录从客户来的新订单,包括客户信息、发货地址、数量、价格和付款方式等内容
• 还有一个订单执行程序,用于实际货物发送的管理。这两个程序来自不同软件厂商
• 一份新订单进来之后,订单登录程序需要通知订单执行程序发送货物
• 通过在订单执行程序上面增加一层Web服务,订单执行程序可以把“AddOrder”函数“暴露”出来
• 这样,每当有新订单到来时,订单登录程序就可以调用这个函数来发送货物了
②B2B的集成
• 跨公司的商务交易集成通常叫做B2B集成
• Web服务是B2B集成成功的关键。通过Web服务,公司可以把关键的商务应用“暴露”给指定的供应商和客户
• 例如,把电子下单系统和电子发票系统“暴露”出来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式发送原料采购发票
• 商务逻辑“暴露”成为Web服务,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。这样就大大减少了花在B2B集成上的时间和成本,让许多原本无法承受EDI(Electronic Data Interchange, 电子数据交换) 的中小企业也能实现B2B集成
③软件和数据重用
• Web服务在允许重用代码的同时,可以重用代码背后的数据
• 使用Web服务,用户不必像以前那样,要先从第三方购买、安装软件组件,再从应用程序中调用这些组件;只需要直接调用远端的Web服务即可
• 举例,邮政编码查询确认应用:
– 要在应用程序中确认用户输入的地址,只需把这个地址直接发送给相应的Web服务,这个Web服务就会帮你查阅街道地址、城市、省区和邮政编码等信息,确认这个地址是否在相应的邮政编码区域
– 这样的服务要通过组件重用来实现是不可能的,否则用户必须下载并安装好包含街道地址、城市、省区和邮政编码等信息的数据库。并且,这个数据库还是不能实时更新的
4)8个特点
①自包含 (self-contained)
– 在客户端不需要附加任何软件,只要客户机支持HTTP和XML。
②自我描述 (self-describing)
– 在客户端和服务端都不需要知道除了请求和响应消息的格式和内容外的任何事。
③跨平台和跨语言
– 客户端和服务端均可以在不同的平台和语言环境中实现,同时,不必为了支持Web Service而更改现有的代码。
④基于开放的标准
– XML和HTTP是Web Services的主要技术基础,而XML和HTTP早就成了业内标准了。
⑤可以组合
– 可以通过一个Web Service访问另外一个Web Service
– 通过组合Web Services实现更多复杂功能的复杂的服务
⑥松散耦合 (loose coupling)
– 完全解耦了客户端和服务端
– 当一个Web Service发生变更时,对于客户端来说
• 只要调用接口不变,任何变更对他们来说都是透明的
• 如实现平台从J2EE迁移到了.NET或者是相反的迁移流程,用户都可以对此一无所知
⑦提供编程访问的能力
– 可以通过编写程序来访问一个Web Service
⑧通过网络进行发布、查找和使用
5)Web服务的接口可以看成一些函数,然后客户端再通过网络使用函数调用就可以使用这些服务。
2.SOA全称?特征?核心是什么?
1)面向服务的架构(Service Oriented Architecture)。
2)分布式、异构系统间的通信。
3)服务是核心。服务要求中立,即跨平台和独立于编程语言。
第1课第26页,第31页,第38~56页(重点看概念)
1.XML全称?是什么?作用?3个特征?与HTML的区别?
1)可扩展标记语言(Extensible Markup Language)。
2)基于文本的可扩展标记语言。
3)以结构化格式存储数据。
– 文本:可以在各种计算机平台上使用
– 结构化:可以通过解析器在任何机器上解读
– 标准化:跨平台的数据存储技术、与硬件和软件均无关
4)结构性、嵌套性、简单性。
5)XML与HTML不同之处
– 语法要求不同
• 在 HTML中不区分大小写,在 XML 中对大小写要求非常严格。
– 标记不同
• HTML使用固有的标记,而 XML 没有固有标记。
– 作用不同
• HTML标记用于显示数据,而 XML 为存储数据。
– 数据的搜索
• 在XML中可以提取文档中任何位置的数据。
– 数据的显示
• XML将数据的结构和数据的显示形式分开,根据需要使数据呈现出多种显示方式,如HTML、PDF等格式。
– 数据的交换
• XML标记语言的语法非常简单,可以通过解析器在任何机器上解读。
2.XML文档的组成?结构构成?
1)XML文档由数据以及描述该数据的标记组成。
2)XML文档由XML声明以及XML元素构成。
<?xml version="1.0" encoding="GB2312"?> < !-- XML属性 -- >
<booklist> < !-- XML元素 -- >
<book isbn="7-04-008653-0">
<name>数据通信与计算机网络</name>
<author>张三</author>
<price>23.9</price>
</book>
<book isbn="7-81112-527-6">
<name>数据结构</name>
<author>李四</author>
<price>30.00</price>
</book>
</booklist>
3.XML声明?
<?xml version="1.0" encoding="UTF-8"?>
• XML 声明必须写在每一个 XML 文档的第一行,以标记这是一个XML文档。
– 在 Windows 平台上,后缀名为 .xml 的即为 XML 文档,但在其他平台上,只能用 XML 声明进行说明——后缀名可省略,但建议加上。
• XML声明的格式为:<?xml version="1.0" encoding="**"?>。
• 通常,上面格式中可省去 encoding,但必须有 version <?xml version="1.0"?>。
• version属性
– XML文档的版本号,值可以为“1.x”,其中x可以是0-9的数字,表示 1.0 文档的第几个版本。
– 但当XML 1.0 处理器遇到“1.x”而不是“1.0”的版本数字时,它将把其当做“1.0”文档处理,所以约定version声明为“1.0”。
• encoding属性
– XML文档的字符集。
– XML文档的默认字符集是UTF-8,源文件保存时选择UTF-8格式,则XML文档存储的内容支持中文。
– 如果XML源文件使用的是ASCII码,则不能存储中文内容。
<?xml version="1.0" encoding="GB2312"?>
<hello>你好,世界!</hello>
4.元素?元素的命名规则?作用?元素的内容?嵌套?根元素的特征?
1)XML 元素(element)由XML标记(tag)确定,标记分为开始标记和结束标记,必须成对出现。
<name> 张三 </name>
2)命名规则
①严格区分英文字母的大小写。
②不能使用 <、>、?、/、&、+、* 等符号作为元素名。
③首字符是英文、汉字字符或其他字符,后跟数字或其他符号。
– 首字符不能用数字、语音符号、英文句号(.)和连字符(-)开头,但可以使用英文冒号(:)和下划线(_)。
④不能使用“XML”三个字母的任意大小写搭配的字符串作为元素名称,或作为元素名的开头。
– 如:XML、xml、xMl、Xml…等。
⑤不能独立使用数字作为元素名。
⑥元素名中可以使用英文“_”、“.”、“:”、“-”等符号,但不可使用空格符。除用于名称空间描述外,最好不用冒号作为元素名,因为XML名称空间赋予冒号特殊的用途。
<3ab> </3ab> 首字符数字开头
<123> </123> 数字串
<Name> </name> 首字母大小写不匹配
<person> </PERSON> 大小写不匹配
<xml-author> </xml-author> 使用保留字符串“xml”开头
<STUDENT?NO> </STUDENT?NO> 使用非法字符“?”
<press> <press> 没有结束标签
<.student> </.student> 用“.”作首字符
<-teacher> </-teacher> 用“-”作首字符
<aut hor> </aut hor> 元素名含空格符
<NAME> < /NAME> “<”后加了空格符
<NAME> </ NAME> “/”后加了空格符
3)元素用来存储数据。
4)元素的内容就是需要存储的数据,元素名通常简单描述了数据的含义。
5)每一个子元素必须写在父元素的开始标记和结束标记之间。
6)根元素
• 每个XML文档必须有一个且只能有一个称之为“根”(root)的元素。
• 其他元素必须写在根元素的开始标记和结束标记之间,且正确嵌套。
• XML文档以根元素的结束标记作为文档结尾。
5.属性?写在哪里?
1)属性
• 元素的属性(attribute/property)提供元素的附加信息。
• 属性使用的格式:属性名称=属性值。
– 属性值为字符串时,需用单引号或者双引号包括起来。
• 元素的属性可以是一个,也可以是多个。
– 当出现多个属性时,每个属性之间用空格分隔。
– 多个属性又叫属性列表。
• 在XML文档中,属性和元素之间没有本质差别。
– 必须显示或必须频繁更新的数据,通常用元素指定。
– 必须频繁核对的数据,通常用属性指定。
<book isbn=“7-04-008653-0” id=123> < !-- isbn,id都为属性 -- >
<name>数据通信与计算机网络</name>
<author