科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL Server 2005代理服务应用软件组成

SQL Server 2005代理服务应用软件组成

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

我写了一篇介绍SQL Server 2005中基于信息的应用程序的文章。在文中,简要地提及了代理服务,一个在SQL Server 2005中用于建立基于异步信息应用程序的新组件。

作者:Builder 2007年5月23日

关键字: DBA MSDN 微软 SQL Server

  • 评论
  • 分享微博
  • 分享邮件

我写了一篇介绍SQL Server 2005中基于信息的应用程序的文章。在文中,简要地提及了代理服务,一个在SQL Server 2005中用于建立基于异步信息应用程序的新组件。一个代理服务应用程序是一个或多个程序的集合,它们执行一批相关的任务。为了对这些内容有更好的理解,让我们看看构成这个程序的对象。

注意:代理服务是一种复杂的技术,具有很多可配置的移动组件。未来,我将上升到组件的观点对包含一个代理服务应用程序做描述,并且做详细的指导。要获得更多关于服务代理的信息,访问MSDN

信息

信息是指在服务代理应用程序中调用的基本信息单元。对于服务代理来说,信息的接收总是按照其被发送的顺序进行,并且保证仅发送和接收一次。同时保证信息不丢失。有时发送的信息不能立即被收到。如果遇到这种情况,服务代理保存信息,并尝试以后再次发送。确认书将在信息之前被发送,来确保被他们传输的数据是所需要的。信息传输的最大值非常大,达2GB。

会话

当在服务代理应用程序中发送一个信息时,它需要使用一个会话(或对话)。会话被创建成一个特殊任务,当任务完成时即被删除,事实上,初级信息交流构建在服务代理中,而不是信息中。会话发生在两个端点服务中:开始会话服务(发起者),以及接受会话请求服务(目标)。

队列

在一个服务代理应用程序中,信息被存储在一个队列中直到被处理。在内部,服务代理队列是一种特殊类型的表格,能够通过队列的名称在SELECT语句中查看。然而,你不能在一个队列中发布INSERT, UPDATE, 或DELETE语句。你安置在一个队列的信息支持服务器重启,这保证信息不丢失。

服务

服务程序是从一个队列中读取信息然后处理它们。服务可以是一个ad hoc,一个存储程序,或者一个连接到数据库的不同程序。每个服务必须与一个队列相关联。如前所述,会话发生在服务之间。

会话群

会话群用于使信息处理连续化并使它们相互关联。每个会话是一个会话群的成员。主要观点是一些信息与其它相关,会话群使它们在一起保持一种整齐的方式。事实上,事务处理给予会话群中的所有信息独有的连续访问,直到处理过程结束。

与服务代理应用程序相关有很多其它移动部件。上述这些组成是服务代理游戏的主要玩家。你对它们越熟悉,你越能写出好的服务代理程序。现在让我们研究你如何能够使用服务代理程序来执行商业事务处理。

商业处理

在商业程序中的任务很少以同步方式执行。这些事务的处理经常包含独立的任务,它们可能在同步发生,可能互相交迭,也可能在处理过程中不依赖于其它步骤。这通常是适用于产品制造,特别是客户预订购买的产品,比如汽车。

当有人预订了一款自定义汽车,创建汽车部件的步骤不必彼此依赖。例如,这些部件中很多可以同时建造。然而,在加工过程结束时,他们要装配成汽车。你将遇到:

  • 在过程中的步骤依赖前面的步骤
  • 如果步骤遇到失败,其对于总体项目的成功显得更重要
  • 步骤需要来自购买者的额外投入

除了这些情况,如果潜在买家撤销了订单,按照过程处理逻辑有必要偿还。你可能熟悉具有这些特点的一种类型的商业过程。

当类似的过程在数据库中执行时,通常执行一系列数据库处理事务,并且每个处理过程执行一个独立的原子水平任务。当一个数据库处理过程前进或者返回时,这些一系列相关的商业事务通常不能用这样的一种方式完成。它们必须有计划的设计,以便如果失败,逻辑用于使商业处理事务重新返回。整个商业过程很难执行,由于这些独立的过程实际上彼此联系,包含一个整体的目标。这是一个队列体系结构的真正价值所在,比如服务代理。

在一个服务代理应用程序中,并行的处理过程是可能的,并且经常需要。你可以根据你的商业过程来使你的应用程序服从这种模式。在我们的客户汽车例子中,你能够用这样的方式设计你的程序,以便遵照底盘建筑模式,以及同时遵照发动机建筑模式。最好的是,使用会话群使这些独立的部件加工过程彼此联系。

下篇预告

现在你或许理解了基于信息应用程序的特点以及服务代理应用程序的组成,你看见该组成如何被用于可写升级,异步程序,用来管理商业过程的。在我的下篇文章中,我将把这种逻辑性放在一边,写我们自己的服务代理程序。

Tim Chapman是一名SQL Server数据库管理程序员,他在堪萨斯州路易斯维尔的一家银行供职,已经有7年的IT行业从业经验。他还具有Microsoft的SQL Server 和2000 SQL Server 2005认证。

点击查看更多数据库技术文章
http://soft.zdnet.com.cn/software_zone/db.shtml

责任编辑:德东

查看本文国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章