论文部分内容阅读
Web Service
Web Service是基于网络的、分布式的模块化组件,它的跨平台的操作特点以及它所基于的完全开放性的XML技术使得它可以通过统一的界面检索分布式异构数据库中的数据并将检索结果集成提供给用户。
1.Web Service的关键技术。Web Service是使用标准网络协议可以访问的应用程序逻辑编程接口,它提供一套标准,用于不同平台、编程语言和组件模型中的不同类型系统进行无缝通信和数据共享。目前这些协议主要有:
(1)XML和XSD。XML是Web Service平台中表示数据的基本格式。具有易建立、易分析和与平台无关的优点。
Web Service平台是用XSD来作为数据类型系统的。
(2)SOAP。SOAP是用于交换XML编码信息的轻量级协议,可以运行在任何其他传输协议上。
2.Web Service的特点。(1)Web Service是一种部署在Web上的对象,具备对象的良好封装性。(2)Web Service使用标准的描述语言(WSDL)来描述界面所提供的功能、Web Service的集成、跨Web Service的事务、工作流等,具有使用协约的规范性。(3)Web服务采取标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,实现了在当前环境下最高的可集成性。
.NET环境下的开发
Microsoft.NET平台内建了对Web Service的支持,包括Web Service的构建和使用。其中的ADO.NET提供对SQL Server等数据源以及通过XML公开的数据源的一致访问。
SQL数据库与Web Service交互访问实例
基于.NET的Web Service访问SQL Server 2000中的数据相对简单,但是SQL Server 2000没有现成的组件直接访问Web Service,然而这种访问方式对信息的共享往往又是非常重要的,我们利用SQL Server 2000的优越性能实现这种交互访问。
首先为企业B在.NET中新建一个Servicel的Web服务,连接所访问的数据库,这里我们建一个供企业A访问的接口函数DataB()如下所述,它返回的是一个记录集,然后在IIS服务器端部署这个Servicel服务,这里不再赘述。以企业A访问企业B提供的Web Service接口为例,先为企业A新建一个控制台应用程序,命名为AGetDataFromB,然后为其添加Web引用http://www.Company B.CN/Web Service/Servicel,Web引用命名为Company B。如访问企业B提供的接口函数DataB()如下:
[WebMethod]
PublicDataSetDataB(DataSetds)
{SqlconnectionConnection=newSqlConnetion(connectionString);//数据追加
Connection.Open();
SqlDataAdapterda=new
SqlDataAdapter(“select*frommaster”,connection);
DataSetds=newDataSet();
Da.Fill(ds);
Connection.Close();
returnds;
}
控制台应用程序AGetDataFromB如下:
NamespaceAGetDataFromB
{
classClassl
{[STAThread]
StaticintMain(string[]args)
{CompanyB.Servicel
myservice=newCompanyB.Servicel();
Myservice.DataB();
编译后生成可执行文件AGetDataFrom.exe,下面建立访问它的存储过程pr_useCompanyBServices如下:
CREATEPROCEDURE[dbo].[pr_useCompanyBServices]
@paravarchar(250)――参数变量
AS
DECLARE@cmdsysname,@varsysname
set@cmd=’path¥AGetDataFromB.exe’+@para――path为AGetDataFromB.exe存放路径
exec@return=master..xp_cmdshell@cmd,no_output
return
GO
利用存储过程与使用T-SQL语句查询相比可以显著改善性能和简化维护,并且大大提高数据库服务器的安全。通过SQL查询分析器输入相应的参数执行此存储过程,可以得到企业B所提供的数据集。这种方法对于其它一些数据库如Oracle、Sybase等信息共享的具有一定的借鉴意义。
这种方法虽然实现了Web Service与SQL Server 2000的交互通信, 但是效率较低,随着Web Service技术和计算机硬件技术的发展,这些问题将逐步解决。
[1]牛敬效.Web服务同数据库的信息交换,计算机世界,2004.
[2]张志强,张景,张志刚等.基于Webselvice的应用系统开发初探区计算机应用,2003.
刘勇,河南科技大学电信学院
李永英,平顶山工业职业技术学院计算机系
Web Service是基于网络的、分布式的模块化组件,它的跨平台的操作特点以及它所基于的完全开放性的XML技术使得它可以通过统一的界面检索分布式异构数据库中的数据并将检索结果集成提供给用户。
1.Web Service的关键技术。Web Service是使用标准网络协议可以访问的应用程序逻辑编程接口,它提供一套标准,用于不同平台、编程语言和组件模型中的不同类型系统进行无缝通信和数据共享。目前这些协议主要有:
(1)XML和XSD。XML是Web Service平台中表示数据的基本格式。具有易建立、易分析和与平台无关的优点。
Web Service平台是用XSD来作为数据类型系统的。
(2)SOAP。SOAP是用于交换XML编码信息的轻量级协议,可以运行在任何其他传输协议上。
2.Web Service的特点。(1)Web Service是一种部署在Web上的对象,具备对象的良好封装性。(2)Web Service使用标准的描述语言(WSDL)来描述界面所提供的功能、Web Service的集成、跨Web Service的事务、工作流等,具有使用协约的规范性。(3)Web服务采取标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,实现了在当前环境下最高的可集成性。
.NET环境下的开发
Microsoft.NET平台内建了对Web Service的支持,包括Web Service的构建和使用。其中的ADO.NET提供对SQL Server等数据源以及通过XML公开的数据源的一致访问。
SQL数据库与Web Service交互访问实例
基于.NET的Web Service访问SQL Server 2000中的数据相对简单,但是SQL Server 2000没有现成的组件直接访问Web Service,然而这种访问方式对信息的共享往往又是非常重要的,我们利用SQL Server 2000的优越性能实现这种交互访问。
首先为企业B在.NET中新建一个Servicel的Web服务,连接所访问的数据库,这里我们建一个供企业A访问的接口函数DataB()如下所述,它返回的是一个记录集,然后在IIS服务器端部署这个Servicel服务,这里不再赘述。以企业A访问企业B提供的Web Service接口为例,先为企业A新建一个控制台应用程序,命名为AGetDataFromB,然后为其添加Web引用http://www.Company B.CN/Web Service/Servicel,Web引用命名为Company B。如访问企业B提供的接口函数DataB()如下:
[WebMethod]
PublicDataSetDataB(DataSetds)
{SqlconnectionConnection=newSqlConnetion(connectionString);//数据追加
Connection.Open();
SqlDataAdapterda=new
SqlDataAdapter(“select*frommaster”,connection);
DataSetds=newDataSet();
Da.Fill(ds);
Connection.Close();
returnds;
}
控制台应用程序AGetDataFromB如下:
NamespaceAGetDataFromB
{
classClassl
{[STAThread]
StaticintMain(string[]args)
{CompanyB.Servicel
myservice=newCompanyB.Servicel();
Myservice.DataB();
编译后生成可执行文件AGetDataFrom.exe,下面建立访问它的存储过程pr_useCompanyBServices如下:
CREATEPROCEDURE[dbo].[pr_useCompanyBServices]
@paravarchar(250)――参数变量
AS
DECLARE@cmdsysname,@varsysname
set@cmd=’path¥AGetDataFromB.exe’+@para――path为AGetDataFromB.exe存放路径
exec@return=master..xp_cmdshell@cmd,no_output
return
GO
利用存储过程与使用T-SQL语句查询相比可以显著改善性能和简化维护,并且大大提高数据库服务器的安全。通过SQL查询分析器输入相应的参数执行此存储过程,可以得到企业B所提供的数据集。这种方法对于其它一些数据库如Oracle、Sybase等信息共享的具有一定的借鉴意义。
这种方法虽然实现了Web Service与SQL Server 2000的交互通信, 但是效率较低,随着Web Service技术和计算机硬件技术的发展,这些问题将逐步解决。
[1]牛敬效.Web服务同数据库的信息交换,计算机世界,2004.
[2]张志强,张景,张志刚等.基于Webselvice的应用系统开发初探区计算机应用,2003.
刘勇,河南科技大学电信学院
李永英,平顶山工业职业技术学院计算机系