[PolyORB-users] Getting started with PolyOrb

Sad Clouds cryintothebluesky at gmail.com
Thu Oct 25 15:37:33 CEST 2018


Hello, I'm investigating Ada Distributed Systems Annex, but I don't have
much experience in this area. I've installed Ada compiler + PolyORB, read
documentation and looked at various examples, but I'm still struggling to
get my head around it. So I would like to write my own test program and
would like to ask a few questions.

The use case for a test program is as follows - a number of nodes Node1,
Node2, Node3, ... are part of a cluster, a user can manage those nodes from
a single location, there is a management function Get_CPU_Metrics() which
returns current CPU utilization. Nodes can come and go dynamically, so when
a user calls Get_CPU_Metrics() it should enumerate current number of nodes
and for each node obtain its CPU utilization.

It seems that program design should be based on distributed objects, where
Get_CPU_Metrics() would be a remote method of such an object. There should
be some kind of central list, where each node would register/unregister its
presence. User program would access this list, get a reference to
distributed object and call a remote method. Get_CPU_Metrics() would return
a record, containing a list of integers for User, System and Idle metrics.

I'm not sure about a few things:

1. Does Ada DSA handle returning of records automatically and in correct
byte order, or do I need to write my own functions to marshal that data?

2. I don't understand how various programs running in different partitions
are able to locate one another dynamically. There seem to be different ways
of running a name server:

Setting in self location:
for server_part'Self_Location use ("tcp", "somehost:5555");

Setting it to be embedded:
pragma Name_Server (Embedded);

Setting in PolyORB config:
[dsa]
server_part'location=tcp://somehost:5555

What is the difference and what is the recommend way? Is there a single
instance of a name server for many different distributed applications, or
does each application have its own name server?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/polyorb-users/attachments/20181025/90a24aad/attachment.html>


More information about the PolyORB-users mailing list