Skip to content

Commit d15dff3

Browse files
committed
0.3.2
1 parent b547cac commit d15dff3

File tree

1 file changed

+50
-2
lines changed

1 file changed

+50
-2
lines changed

org.boris.xlloop/site/index.html

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@
4747
<li><a href="lisphandler.html">Lisp Function Handler</a> for evaluating Lisp expressions on the fly.</li>
4848
<li>Functions can be dynamically added to Excel without restart.</li>
4949
<li>Functions can be registered as Excel functions (with help information).</li>
50-
<li>Fast binary protocol with multiple-server fail-over/scaleability.</li>
50+
<li>Fast binary protocol with multiple-server fail-over/scalability.</li>
5151
<li>JSON over HTTP(S) protocol</li>
52+
<li><b>NEW: </b>Can be configured to connect to multiple function servers (providers)</li>
5253
</ul>
5354
XLLoop consists of two main components:
5455
<ul>
@@ -344,7 +345,7 @@
344345
<div class="section-title">Multiple Server Support</div>
345346
<div class="section-content">
346347
The binary protocol supports connecting to multiple servers to improve reliability and
347-
scaleability.
348+
scalability.
348349

349350
<br/><br/>
350351
The approach is simple; it connects to a random server, if this fails it reports
@@ -387,9 +388,56 @@
387388
</div>
388389
</div>
389390

391+
<div class="section">
392+
<div class="section-title">Multiple Function Providers</div>
393+
<div class="section-content">
394+
XLLoop can be configured to connect to multiple function servers. The following shows an example of the INI file configuration to achieve this:
395+
<pre>
396+
providers=Java,Python,Ruby,PHP
397+
include.volatile=false
398+
399+
[Java]
400+
server=localhost
401+
402+
[Python]
403+
server=localhost:5460
404+
function.name=PY
405+
406+
[Ruby]
407+
server=localhost:5470
408+
function.name=RB
409+
410+
[Erlang]
411+
server=localhost:5480
412+
function.name=ERL
413+
414+
[PHP]
415+
protocol=http
416+
url=http://xlloop.sourceforge.net/servers/php/TestServer.php
417+
send.caller.info=true
418+
function.name=LP
419+
420+
</pre>
421+
Each provider specified in the <code>providers</code> property (comma-separated list) refers to a section in the INI file. Each section accepts all the INI properties listed in the table above (apart from global properties).
422+
<br/><br/>
423+
This will setup connections to multiple servers. The <code>function.name</code> property is used to set the generic function name registered for that server. For example, to invoke a python function from the server at <code>localhost:5460</code> you could write the following formula:
424+
<pre>
425+
=PY("ArgsTest", "Hello World!")
426+
</pre>
427+
428+
Note that difference between configuring multiple servers for one function provider and configuring mutiple function providers. Multiple function server instances serve up the same functions whereas multiple function providers each provide a different set of functions. Also note that no attempt is made to reconcile function name clashes between function providers.
429+
430+
</div>
431+
</div>
432+
390433
<div class="section">
391434
<div class="section-title">Change History</div>
392435
<div class="section-content">
436+
V0.3.2
437+
<ul>
438+
<li>Added support for multiple servers (providers)</li>
439+
<li>Moved source code to github and refactored addin source folders</li>
440+
</ul>
393441
V0.3.1
394442
<ul>
395443
<li>Added round-robin connection mode for multiple servers in binary mode</li>

0 commit comments

Comments
 (0)