forked from synrc/synrc.com
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathresearch.htm
More file actions
204 lines (185 loc) · 9.83 KB
/
research.htm
File metadata and controls
204 lines (185 loc) · 9.83 KB
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<!DOCTYPE html>
<html >
<head>
<link rel=stylesheet type="text/css" href="//synrc.com/synrc.css?v=3">
<meta name="Author" content="5HT">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:image" content="images/s_64.png"/>
<meta http-equiv="X-UA-Compatible" content="IE=IE10,chrome=1" />
<title>Showcase
</title>
</head>
<body >
<!--HEVEA command line is: hevea research.tex -o research.htm -->
<!--CUT STYLE article--><!--HTMLHEAD-->
<div class="nonselectedwrapper white" style="padding: 10px 0px 10px 0px;margin: 0px 0px 10px 0px;">
<a href="//synrc.com/">
<img style="float:left; margin-left: 55px; margin-top: 5px; margin-bottom:-5px;" src="//synrc.com/images/synrc.png" border="0"></a>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top" style="display:none;margin-top:39px;">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="P8WQHAQK5HWWW">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" style="width:74px;margin-top:0px;">
</form>
<div align=right style="float:right;width:700px;height: auto; margin: 20px 50px 0px 0px;">
<script type="text/javascript">
var args = (window.location).toString().split('/');
var page_name = args[args.length-1];
var menu = {'//synrc.com/index.htm': 'Home',
'//synrc.com/research.htm': 'Showcase',
'//synrc.com/apps/': 'Apps',
'//synrc.com/feedback.htm': 'Contacts' };
Object.keys(menu).forEach(function (key) {
if (page_name == key) { document.write('<div class="menu" style="font-weight: bold;">'+menu[key]+'</div>'); }
else { document.write('<a class="menu" href="'+key+'">'+menu[key]+'</a>'); }
});
</script>
</div>
</div>
<hr size="1">
<!--ENDHTML-->
<!--CUT DEF section 1 --><div class="selectedwrapper">
<div class="wrapper"><div class="block">
<!--TOC section id="sec1" Data Consulting-->
<h2 id="sec1" class="section">Data Consulting</h2><!--SEC END -->
<!--TOC paragraph id="sec2" -->
<!--SEC END --><p>
Tired with SQL and ORM mapping? Feel the power with typed Erlang
records format as a native storage with gateway to Filysystem,
Riak, mongoDB, Mnesia, KAI and SQL backends using our
<a href="https://synrc.github.io/kvs/">KVS</a> Abstract Database with REST interface.
</p></div><div class="block">
<!--TOC section id="sec3" System Architect-->
<h2 id="sec3" class="section">System Architect</h2><!--SEC END -->
<!--TOC paragraph id="sec4" -->
<!--SEC END --><p>
Want Erlang to power your enterprise business?
Just check our Spawnproc stack which is already used for
serving millions of customers in Eastern Europe.
<a href="http://spawnproc.github.io/bpe/">BPE</a> workflow engine and
<a href="http://spawnproc.github.io/upl/">UPL</a> processing language
are undestood and yet manageable.
</p></div><div class="block">
<!--TOC section id="sec5" Web Applications-->
<h2 id="sec5" class="section">Web Applications</h2><!--SEC END -->
<!--TOC paragraph id="sec6" -->
<!--SEC END --><p>
Forget about fat JSON and XML exchange.
We use tiny binary BERT messages on top of robust and extensible
N2O protocol for IoT and WebSoсket applications.
Our reference implementation <a href="http://synrc.com/apps/n2o">N2O</a> WebSocket Application Server is known as most powerful Erlang Web Framework.
</p></div></div>
</div><div class="clear"> </div><div class="nonselectedwrapper">
<div class="verywidecol">
<!--TOC section id="sec7" Voxoz Erlang Cloud Control Panel-->
<h2 id="sec7" class="section">Voxoz Erlang Cloud Control Panel</h2><!--SEC END -->
<!--TOC paragraph id="sec8" -->
<!--SEC END --><p>
Enter the future now with Voxoz cloud platform which is able to run
Elrang virtual machine on top of raw hardware in Xen environment.
LING virtual machine has also ports to POSIX, ARM and MIPS platforms.
Or you can run BEAM virtual machine in docker. The application is a file.
As simple as that. This is Voxoz.</p><p><center><img src="images/voxoz-panel.png" style="margin-left: -20px;background-color: #eeeeee;padding:20 20 20 20px;" width=780/></center>
</p><p>Mentor: Vladimir Kirillov <br>
Parnerts: Cloudozer, LLC. <br>
</p></div>
</div><div class="nonselectedwrapper">
<div class="verywidecol">
<!--TOC section id="sec9" Skyline App Store-->
<h2 id="sec9" class="section">Skyline App Store</h2><!--SEC END -->
<!--TOC paragraph id="sec10" -->
<!--SEC END --><p>
Don’t know how to start using N2O and need more sophisticated project that N2O sample?
Just clone <a href="http://synrc.github.io/skyline/">Skyline</a> web shop sample with AVZ
avtoriazation for Google, Facebook, Github, Twitter and Microsoft providers.
Skyline App Store is Voxoz and Xen ready application. It uses N2O, KVS,
Bootstrap style with node js tools for JavaScript minification and LESS assembling.</p><p><center><img src="images/skyline_xen.png" style="margin-left: -20px;background-color: #eeeeee;padding:20 20 20 20px;" width=780/></center>
</p><p>Backend: Maxim Sokhatsky <br>
Design: Andrii Zadorozhnii <br>
</p></div>
</div><div class="nonselectedwrapper">
<div class="verywidecol">
<!--TOC section id="sec11" Scalable Web and Gaming Platform-->
<h2 id="sec11" class="section">Scalable Web and Gaming Platform</h2><!--SEC END -->
<!--TOC paragraph id="sec12" -->
<!--SEC END --><p>
For the Turkish audience we created scalable distributed system using Erlang, Riak,
Cowboy, RabbitMQ, N2O, GlusterFS, NGINX and other tools.
Please read the technical description
<a href="https://speakerdeck.com/5ht/kakaranet-presentation">Kakaranet Tech</a>.
We have implemented Facebook, Paypal, Credit Cards, Mobile and Wired Payments,
Mail system support and SNMP monitoring tools. We’ve done full HTML5 optimization
with A marks for both Yahoo! YSlow and Google Page Speed. Kakaranet is lineary scalable
Facebook-like application with feeds, subscriptions and messaging along with
powerful turn-based board games engine. The heart of the system the RabbitMQ
cluster. The System runs on top of Riak cluster with easy maintenance from Web
and supports hot code reload using ACTIVE native file system listener.</p><p><center><img src="images/kakaranet.png" style="margin-left: -20px;background-color: #eeeeee;padding:20 20 20 20px;" width=780/></center>
</p><p>Mentor: Maxim Sokhatsky <br>
Game Server: Serge Polkovnikov <br>
</p>
<!--TOC paragraph id="sec13" -->
<!--SEC END --><p>
Full size of codebase is fit 2.88MB floppy disk and is quite managable yet.
The system inside is essentially built upon binary protocols AMQP, BER
except content delivery to Web clients which is in fact gzipped.</p></div>
</div><div class="nonselectedwrapper">
<div class="verywidecol">
<!--TOC section id="sec14" SNMP Monitoring System-->
<h2 id="sec14" class="section">SNMP Monitoring System</h2><!--SEC END -->
<!--TOC paragraph id="sec15" -->
<!--SEC END --><p>
For our servers we created open-source Erlang based SNMP monitoring tools
with clear and simple interface which allows you to feel the heartbeat of
your system on any device despite the screen size.</p><p><center><img src="images/hal.png" style="margin-left: -20px;background-color: #eeeeee;padding:20 20 20 20px;" width=780/></center>
</p><p>Mentor: Andrew Zadorozhny <br>
Design: Alex Kalenuk</p></div>
</div><div class="nonselectedwrapper">
<div class="verywidecol">
<!--TOC section id="sec16" SVG and WebSockets-->
<h2 id="sec16" class="section">SVG and WebSockets</h2><!--SEC END -->
<!--TOC paragraph id="sec17" -->
<!--SEC END --><p>
For the HTML5 web platform and pure JavaScript client-side we would recommend to use
SVG and WebSockets. N2O provides all facilities for dealing with DOM and fast binary
real-time WebSocket channels. We don’t use Xml HTTP Requests since 2010.</p></div>
</div><div class="nonselectedwrapper">
<div class="verywidecol">
<!--TOC section id="sec18" Binary Protocols-->
<h2 id="sec18" class="section">Binary Protocols</h2><!--SEC END -->
<!--TOC paragraph id="sec19" -->
<!--SEC END --><p>
We are trying to build our products and services around single core of technologies.
We believe that focusing on understandable and manageable,
proven in industry technologies will bring significant benefits to all users.
We have chosen set of technologies that have proved its maturity, clarity and efficiency.
We oriented on strong and mature binary protocols and data formats such as BER and ASN.1.
Please read more on <a href="http://5ht.co">N2O PROTOCOL</a> at dedicated site.</p><p><a href="apps.htm">Follow The Source</a></p></div>
</div><div class="clear"> </div><!--CUT END -->
<!--HTMLFOOT-->
<div class="nonselectedwrapper">
<div class="verywidecol">
<div style="width:100%;height:300px;float:left;font-size:16pt;" align=center>
<hr size=1>
<br><br><br>
<a href="//synrc.com/news/index.htm">Events</a> |
<a href="//synrc.com/privacy.htm">Privacy Policy</a> |
<a href="//synrc.com/feedback.htm">Feedback</a> |
<a href="//synrc.com/brandbook.htm">Brandbook</a><br>
Copyright © 2005–2018 <a href="//synrc.com/index.htm"> Synrc Research Center s.r.o.</a>
</div>
</div>
</div>
<div class="clear"></div>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-29227518-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'https://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript" src="//synrc.com/hi.js"></script>
<!--ENDHTML-->
</body>
</html>