<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>
File: README
— Documentation by YARD 0.8.7.6
</title>
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
<script type="text/javascript" charset="utf-8">
hasFrames = window.top.frames.main ? true : false;
relpath = '';
framesUrl = "frames.html#!file.README.html";
</script>
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
</head>
<body>
<div id="header">
<div id="menu">
<a href="_index.html">Index</a> »
<span class="title">File: README</span>
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
</div>
<div id="search">
<a class="full_list_link" id="class_list_link"
href="class_list.html">
Class List
</a>
<a class="full_list_link" id="method_list_link"
href="method_list.html">
Method List
</a>
<a class="full_list_link" id="file_list_link"
href="file_list.html">
File List
</a>
</div>
<div class="clear"></div>
</div>
<iframe id="search_frame"></iframe>
<div id="content"><div id='filecontents'>
<h2 id="label-Helix+Web+Services+-28HWS-29">Helix Web Services (HWS)</h2>
<p>Please note this is <strong>alpha</strong> software.</p>
<p>Helix Web Services creates a series of service APIs exposed via web
technologies, such as HTTP and WebSocket.</p>
<p>Official deployment and documentation is in progress.</p>
<h2 id="label-Architectural+Overview">Architectural Overview</h2>
<p>The core of Web Services is a single Ruby HTTP web application server. The
main server is a Sinatra modular project, that mounts many other services,
also implemented as Sinatra modular projects. Services can be implemented
as generic Rack middleware, we just use Sinatra for the most part.</p>
<p>Access to the Perforce server should be isolated to the core
<code>perforce</code> service.</p>
<p>Each service has access to using a locally running PostgreSQL server for
caching data that can be indexed in interesting ways. There is one
PostgreSQL DB in use - web_services - for the purposes of caching.</p>
<p>Background processes are used as well. These are Sidekiq workers. Redis is
used as the queuing engine binding these together.</p>
</div></div>
<div id="footer">
Generated on Tue Sep 15 01:20:27 2015 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.8.7.6 (ruby-2.2.3).
</div>
</body>
</html>