1. 概论:
本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务。
ADO.NET创建Windows三层结构应用程序的体系架构如下图所示:
该结构分三个层次:表示层、业务层、数据层。
数据层:代表物理数据库。
业务层:负责数据层与表示层之间的数据传输。
表示层:应用程序的客户端,它通过业务层来访问数据库。
表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现。这样可以大大提高应用程序的性能,而且,什么时候更新数据完全由你决定,提高了编程的灵活性。
2.实例:
这里我们具体做一个实例来看看如何用VB.NET创建三层结构的应用程序。
数据库:我们选择SQL SERVER 的NorthWind数据库。
业务层:我们创建一个WebService作为中间层。(需要安装IIS服务)
表示层:我们写一个Windows Form
第一步:创建WebService。
具体步骤如下:
1. 新建一个项目,选择ASP.NET Web服务,命名为:”WebService For 业务层”。
2. 添加两个Sql DataAdapter,一个为Customer_da,它指向NorthWind数据库的Customers表,另一个为Order_da,指向Northwind数据库的Orders表。
3. 然后生成一个Typed DataSet(选择“数据”菜单的“生成数据集”),命名为:Super_ds.
4. 数据库连接已经完成,下一步我们将考虑它与表示层之间的通信,这里我们定义两个方法。一个为:Get_DataSet,它返回一个Super_ds类型的数据集,另一个为:Update_DataSet,它负责更新数据库数据, 方法代码如下:
<WebMethod()> Public Function Get_Dataset() As super_ds
customer_da.Fill(Super_ds1.Customers)
order_da.Fill(Super_ds1.Orders)
Return Super_ds1
End Function
<WebMethod()> Public Sub Update_Dataset()
Super_ds1.AcceptChanges()
End Sub
你可以运行测试一下你建立的这个WebService。它将提供两个方法。返回的DataSet是以XML表示的。
业务层的完整代码如下:
Imports System.Web.Services
Public Class Service1
Inherits System.Web.Services.WebService
‘Web Services Designer Generated Code…….
<WebMethod()> Public Function Get_Dataset() As super_ds
customer_da.Fill(Super_ds1.Customers)
order_da.Fill(Super_ds1.Orders)
Return Super_ds1
End Function
<WebMethod()> Public Sub Update_Dataset()
Super_ds1.AcceptChanges()
End Sub
' WEB SERVICE EXAMPLE
' The HelloWorld() example service returns the string Hello World.
' To build, uncomment the following lines then save and build the project.
' To test this web service, ensure that the .asmx file is the start page
' and press F5.
'
'<WebMethod()> Public Function HelloWorld() As String
' HelloWorld = "Hello World"
' End