自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Spring Web Services框架入門(mén)研究

開(kāi)發(fā) 后端
本文研究Spring Web Services框架,包括Spring Web Services框架的特點(diǎn)和Spring Web Services框架的分析。

關(guān)于Spring Web Services框架

Spring web services框架(以下簡(jiǎn)稱:Spring WS)是springframework東家SpringSource公司旗下的一個(gè)子項(xiàng)目。由于懷著對(duì)spring框架的熱愛(ài),于是打算學(xué)習(xí)下這個(gè)框架。

 

Spring Web Services框架的特點(diǎn):
◆Spring框架的支持,你可以重用Spring的所有特性。
◆Spring WS使用Contract First(自頂向下)的設(shè)計(jì)方式。Spring WS不支持Contract Last(自底向上)
◆支持幾乎所有的XML API,處理傳入XML消息的時(shí)候就不限于JAX-P,可以是任意的XML API,選擇你所擅長(zhǎng)的。
◆靈活的XML Marshalling,Object/XML mapping產(chǎn)品的支持,包括JAX-B1,2,XMLBean以及Castor等等
◆Security支持,集成了Acegi.實(shí)現(xiàn)web services 認(rèn)證。

 

Spring Web Services框架的分析

為什么使用Contract First.***實(shí)踐認(rèn)為:使用自頂向下的設(shè)計(jì)方式也就是采用XML/XSD to JAVA可以獲得更多的益處,包括以下幾點(diǎn).
◆重用性,web services或者SOA的很大優(yōu)勢(shì)在于對(duì)業(yè)務(wù)的快速響應(yīng),那么設(shè)計(jì)與開(kāi)發(fā)web services的時(shí)候如果能夠在服務(wù)的重用上做足,做強(qiáng),無(wú)疑在以后業(yè)務(wù)的響應(yīng)上會(huì)帶來(lái)莫大的好處,使用Contract First,使用XML/XSD定義服務(wù),你可以獲得重用,而java則很難做到這一點(diǎn)。
◆性能,web servers的性能一直是眾多人士關(guān)注的,采用Contract Last經(jīng)常會(huì)由于java的引用造成內(nèi)存中存在眾多的reference,假設(shè)一個(gè)java 對(duì)象引用了5個(gè)以上的其他對(duì)上,再把這些對(duì)象轉(zhuǎn)換成XML,可想而知。必然加大內(nèi)存的開(kāi)銷(xiāo),(XML里面表述起來(lái)就像有5個(gè)字節(jié)點(diǎn)一樣,那么更多呢?)采用Contract First,你很明白的所想要的服務(wù),你通過(guò)撰寫(xiě)XSD來(lái)描述你的服務(wù),你很清楚你的引用。
◆版本,使用 Contract Last的時(shí)候,快速響應(yīng)的服務(wù)是會(huì)經(jīng)常修改來(lái)適應(yīng)新的業(yè)務(wù)要求,你發(fā)布服務(wù)通過(guò)java類來(lái)開(kāi)始,那么新的服務(wù)在java中意味著新的接口以及新的實(shí)現(xiàn),那么怎么辦?廢棄原來(lái)的?也許原來(lái)的還在使用,那么你得保持兩個(gè)服務(wù)。采用Contract Last,由于Contract的松散耦合,它允許你存在兩套服務(wù)的同時(shí),并且只有一個(gè)實(shí)現(xiàn)。

這樣造成了Contract Last的問(wèn)題:自底向上生成經(jīng)常會(huì)得到無(wú)法重用的類型定義以及多個(gè)定義為表示語(yǔ)義等效信息的類型。相比而言: XML 模式規(guī)范定義范圍比 Java 更廣的用于描述消息結(jié)構(gòu)的構(gòu)造。其中包括各個(gè)選擇、限制的派生、Annotation 及其他。因此,與采用其他方式相比,使用 WSDL 和 XSD 定義接口并生成框架 Java 代碼的方式更好

比較二者,其實(shí)***優(yōu)劣的莫過(guò)于服務(wù)的變化性,Contract Last會(huì)讓服務(wù)難于修改和快速變更,難于重用,用java開(kāi)始設(shè)計(jì),那么你***保證你的服務(wù)是***不改變的,或者事先你得反復(fù)審查你的服務(wù)接口。使其盡量保持不變性。

【編輯推薦】

  1. Spring3.0將全面支持REST
  2. 專家Isvy談Spring 3.0
  3. Spring框架的事務(wù)管理應(yīng)用分析
  4. Spring中XML配置文件的十二個(gè)***方法(上)
  5. Spring中XML配置文件的十二個(gè)***方法(下)
責(zé)任編輯:佚名 來(lái)源: JavaEye
相關(guān)推薦

2012-05-25 15:35:43

JMSJava

2015-07-23 10:54:09

Java Mybati框架

2017-09-16 17:45:32

數(shù)據(jù)采集Scrapy爬蟲(chóng)

2016-03-18 11:19:57

ios9replaykit入門(mén)

2009-01-03 14:39:00

ibmdwSpirit

2011-05-25 17:10:39

ibmdw

2013-10-28 01:57:27

SpringRESTful Web

2021-07-28 06:51:08

FlaskPythonWeb

2020-02-24 19:28:23

Rust語(yǔ)言Web框架應(yīng)用領(lǐng)域

2009-08-12 17:44:30

C# Web Serv

2013-11-11 11:10:41

Amazon Web AWS云服務(wù)

2021-07-15 11:16:31

Spring WebWebFlux架構(gòu)

2021-12-06 09:00:00

開(kāi)發(fā)WebDjango

2009-01-03 14:32:20

ibmdwWebServicesEclipse

2009-08-27 10:52:36

ibmdw云計(jì)算

2009-07-24 16:05:05

調(diào)用Web ServiASP.NET

2013-11-18 09:49:00

亞馬遜Web ServiceCloudTrail

2010-10-26 09:23:03

Web Service

2011-07-28 13:51:31

Master DataWeb服務(wù)

2009-08-24 17:34:14

C#創(chuàng)建XML Web
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)