How to create a n-tier app with Revolution

Jim Ault jimaultwins at yahoo.com
Wed Sep 16 17:00:18 EDT 2009


On Sep 16, 2009, at 12:43 PM, Jérôme Rosat wrote:

> In my company,  IT guys believe only in n-tier apps developed in  
> Java with a web interface. And often, I am not satisfied with the  
> result.
>
> I would like to create a proof of concept (POC) to demonstrate that  
> it is possible to create a n-tier app with Revolution. I read on the  
> Revolution web site that it is possible to do that but I didn't   
> find an example or documentation which explains simply the concept  
> and the manner of implementing it.
>
> Links or information would be appreciated. Thank you.

Of course n-tier programming is possible using various combinations of  
communication between servers and Rev stacks, iRev scripts, and cgi  
scripts.

I will be developing many-tiers this Fall that distribute information,  
functions, and workload among several computers.  My core app will be  
Rev and the mothership will be On-Rev.

Currently I run some private networking using a combination of web  
server (Apache-PHP) and Rev stacks that 'talk' to each other behind a  
firewall.  The basic structure is

(4) Mac mini web servers behind a firewall
(1) Windows 2003 server behind a second firewall
(5) remote computers that run apps that connect and interact with (4)  
of the computers in this data center.

The (4) Mac mini servers interact with each other and the Win 2003 Rev  
app, which also continuously updates info on the (4) Mac mini servers.

On the outside computers, (3) of them use XP Pro and non-Rev programs  
to interact with the Rev apps in the data center, and (2) of the  
computers are OSX and use Rev apps to interact.  The Win 2003 machine  
is not reachable from the outside and all network traffic must go  
through one of the Mac mini servers and a Rev app.

The web server option is used on the Mac mini servers in order to  
provide a web browser interface to documentation, network status  
details, and report files as feedback.

All of the data transfer and interaction could be done without the use  
of apache, and just using Rev apps.
This particular customer design requires that all the Rev apps be  
running constantly 24/7, so cgi is not a good option.
I use PHP in apache to receive a query from outside, then a UDP socket  
to send a packet to the revAgent.app on that same computer.  The  
revAgent.app communicates with the other (3) revAgent.app's and the  
revHost.app programs on the internal network.  All of the  
revAgent.app's are directly reachable from the outside.

After final developments are done, I will be converting the PHP script  
to a Rev cgi, thus making the data center network a very speedy all- 
Rev n-tier solution.

---
Starting next week I will be developing a separate system for a  
different business that will be a more extensive collection and  
collaboration between many servers, some of which will be web  
servers.  This will be a constellation with the central apps running  
on the On-Rev server, most likely with multiple user accounts.  This  
will mean lots of Rev scripts and apps exchanging data and files,  
doing timed utility functions, and serving hundreds of web pages and  
thousands of videos, on 30-70 servers around the world.

Some of the workflow will be done using web interfaces, but most of  
the workflow will be done by using Rev stacks and apps running on the  
client computers of our marketing group.
I am expecting that I will be the only Rev programmer, but not the  
only web design & video content creator.  The tools I build will be  
used by the marketing team and our clients, not by the public.
---
At the moment I don't know of any links or documentation any where for  
Proof of Concept.  These stacks, scripts, and apps are part of my  
private development work.
In a few weeks I should have some working examples that I will make  
available as public examples, especially for members of this list.

I do have an example of a set of ( revA.app, revB.app, revC.exe ) that  
interact with a Yahoo web server, update each others interface, and  
update files on the hard drives of two computers, one a Mac and the  
other XP Pro.  I use it as a customer demo of automation between  
computers and platforms.  I will convert it to an all-Rev demo and  
notify you in the next week or two when it is ready.
---

Hope this helps.

Jim Ault
Las Vegas




More information about the use-livecode mailing list