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