On Monday 15 March 2004 14:55, [EMAIL PROTECTED] wrote:
> I started working on a prototype yesterday of a server I am developing.
>
> I successfully got the "login" component working, and am thinking about how
> the login server will forward on successful logons to the "main" server,
> which controls the main business logic.

Good progress... :o)

> I suspect that I will need to put the login application on a different
> machine from the "main" server, for scalability.
> How would you go about doing this with merlin?  (i.e. has anyone created a
> distributed merlin system with different components on different servers ?)

Ok... Straight to over-drive ;o)

Merlin has no explicit support of distribution of components, but you can use 
traditionally approaches.

What _I_ would do;

1. Create an AuthenticationService interface with method taking Credentials as 
input and returning a Principal.

2. Create a LoginService interface, with a method that takes user/password and 
returns a Credential object.

3. Create the implementations for both of these services.

4. Create a proxy component, which implements the AuthenticationService, but 
delegates (via RMI or JINI for instance) to another network node.


The purpose is that in your development environment, you can drop in the 
AuthenticationService implementation in the same server, but as you scale up, 
you can put that component elsewhere, and add in the proxy instead, without 
any other changes in your system.

There is also the Keel framework, which has solutions in the same problem 
domain, but is not based on Merlin as far as I know. 
http://keelframework.org/

The other choice is to coordinate with the Avalon developers, to make a 
complete and secure distributed add-on for Merlin... just kidding, it is not 
around the corner yet...

Is this pointing you in the right direction?

Niclas


-- 
+---------//-------------------+
|   http://www.bali.ac         |
|  http://niclas.hedhman.org   |
+------//----------------------+

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to