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

作者:puyu 时间:2009-02-19 17:19:00 

代理服务是一种复杂的技术,具有很多可配置的移动组件。详细信息如下:

信息

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

会话

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

队列

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

服务

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

会话群

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

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

商业处理

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

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

在过程中的步骤依赖前面的步骤

如果步骤遇到失败,其对于总体项目的成功显得更重要

步骤需要来自购买者的额外投入

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

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

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

标签:SQL,Server,2005,代理服务,应用软件
0
投稿

猜你喜欢

  • MySQL执行计划的深入分析

    2024-01-19 18:44:16
  • scrapy-splash简单使用详解

    2023-06-02 15:22:37
  • PHP Ajax JavaScript Json获取天气信息实现代码

    2023-11-20 20:51:27
  • python 实现超级玛丽游戏

    2023-10-10 09:38:38
  • python打包成so文件过程解析

    2022-03-19 18:08:46
  • python socket模块创建和使用套接字示例详解

    2021-12-30 13:05:49
  • 浅析node命令行交互原理

    2024-05-11 10:14:36
  • Python时间戳与时间字符串互相转换实例代码

    2022-09-04 23:39:25
  • PyCharm设置中文(汉化与解除汉化)的方法

    2021-02-04 19:11:30
  • 关于Vue的异步组件

    2024-05-09 10:52:35
  • 将Python代码打包为jar软件的简单方法

    2023-10-25 17:46:34
  • 提高代码可读性的十大注释技巧分享

    2023-05-28 21:55:35
  • Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决

    2022-09-09 18:33:23
  • Oracle RMAN快速入门指南

    2024-01-20 10:49:09
  • Git工作流演示及三种工作方式

    2023-09-12 20:23:05
  • vue3中关于路由hash与History的设置

    2024-05-13 09:14:24
  • google广告之另类js调用实现代码

    2024-05-11 09:44:21
  • 解决Vue2.0自带浏览器里无法打开的原因(兼容处理)

    2023-07-02 16:59:02
  • javascript 版 Bad Apple 字符动画

    2010-01-28 12:19:00
  • 在 Python 应用中使用 MongoDB的方法

    2023-09-13 21:53:11
  • asp之家 网络编程 m.aspxhome.com