Interfaces between distributed OTP applications

ZZZZZZZZZZZZZZZZ <>
Fri Jan 29 17:27:20 CET 2010


I hate to repost, but maybe somebody can answer?
thanks in advance
Zvi

On Jan 26, 10:36 am, ZZZZZZZZZZZZZZZZ <> wrote:
> Hi,
>
> the OTP Design Principles states, that OTP Applications are set of
> loosely-coupled components, while modules inside single application
> are tightly coupled.
> Let's say I have two distributed OTP applications:  "client" and
> "server", both running on different Erlang nodes/hosts.
> Let's say "server" application uses gen_server, which exposes public
> function API.
> The "client" applications calling functions in public API of
> gen_server in "server" application.
> What's the proper way to express this in OTP?
>
> 1. For simplicity, just add dependency on "server" application in
> "client" application's .app file. Start both on "server" node.
>
> 2. Don't use public API functions in "server". Send messages directly
> to "server" using gen_server:call / cast.
>
> 3. Add third application: "server_api" or "server_if" with single
> module defining public API wrappers around gen_server messages
> protocol. Then "client" application will be depended on "server_api"
> application, and not the "server" itself.
>
> 4. Any other ideas?
>
> thanks in advance,
> Zvi
>
> ________________________________________________________________
> erlang-questions mailing list. Seehttp://www.erlang.org/faq.html
> erlang-questions (at) erlang.org


More information about the erlang-questions mailing list