summaryrefslogtreecommitdiff
path: root/extras/dispatch/site/index.html
blob: d8f1759492414724a5f6082c4a23599eab259e9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
 -
 - Licensed to the Apache Software Foundation (ASF) under one
 - or more contributor license agreements.  See the NOTICE file
 - distributed with this work for additional information
 - regarding copyright ownership.  The ASF licenses this file
 - to you under the Apache License, Version 2.0 (the
 - "License"); you may not use this file except in compliance
 - with the License.  You may obtain a copy of the License at
 -
 -   http://www.apache.org/licenses/LICENSE-2.0
 -
 - Unless required by applicable law or agreed to in writing,
 - software distributed under the License is distributed on an
 - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 - KIND, either express or implied.  See the License for the
 - specific language governing permissions and limitations
 - under the License.
 -
-->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Apache Qpid Dispatch&#8482;: A Platform for Building AMQP Infrastructure</title>
    <link href="css/style.css" rel="stylesheet" type="text/css"/>
  </head>

  <body>
    <div class="container">
      <!-- begin header -->

      <div class="header">
        <div class="logo">
          <h1>Apache Qpid Dispatch&#8482;</h1>
          <h2>A Platform for Building AMQP Infrastructure</h2>
        </div>
      </div>

      <!-- end header -->

      <!-- begin menu -->
      <!--#include virtual="includes/menu.include" -->
      <!-- end menu -->

      <!-- begin content -->
      <div class="main_text_area">
        <div class="main_text_area_top"></div>

        <div class="main_text_area_body">

<p>Qpid Dispatch is a library to help developers build infrastructure
components for AMQP.  Dispatch is not a general-purpose Messaging API.
Rather, it is a foundation on which to build applications, services, and
appliances that need direct access to the detailed constructs of AMQP.</p>
<hr width="80%" />
<h2>Overview</h2>
<p>Dispatch is an extension of the Engine and Driver interfaces of
<a href="http://qpid.apache.org/proton">Qpid Proton</a>.  It neither
uses nor exposes the Messenger interface of Proton.  Rather, it
provides a way for developers to use Proton's more detailed Engine
facility.  The following features are provided:</p>

<ul>
  <li>An asynchronous, event-oriented application environment</li>
  <li>Safe multi-threaded use of Proton</li>
  <li>Operating System Signal handling</li>
  <li>Quiesce and Resume for the application's threads</li>
  <li>Timers</li>
  <li>Resilient outbound connections (retry/reconnect)</li>
  <li>Polling support for the application's non-AMQP file descriptors</li>
  <li>An AMQP Node Container that allows the developer to create
  custom node types</li>
</ul>
<p />
<hr width="80%" />
<h2>Architecture</h2>
<center><img src="images/arch.png" /></center>
<ul>
  <li><b>Proton Engine and Driver</b> provide the underlying AMQP capability</li>
  <li><a href="doxygen/server/modules.html">Dispatch Server</a>
    wraps Proton connections in a multi-threaded server environment</li>
  <li><b>Dispatch Container</b> provides management of AMQP nodes (links, termini, and deliveries)</li>
  <li><b>Dispatch Message</b> provides efficient message encode/decode, optimized for messaging intermediaries</li>
  <li>The <b>Application</b> uses all of the above services to implement scalable and performant AMQP infrastructure</li>
</ul>
<hr width="80%" />

        </div>
        
        <div class="main_text_area_bottom"></div>
      </div>
      <!-- end content -->

      <!-- begin footer -->
      <!--#include virtual="includes/footer.include" -->
      <!-- end footer -->

    </div>
  </body>
</html>