The following code is the complete implementation of the server. Enter it into the file my-hello-world-server.dylan in the My-Hello-World-Server project.
Module: my-hello-world-server.dylan
Synopsis: Distributed Hello World
Author: Me Myself I
define constant $hello-world-ior-file = "c:\\temp\\hello.ior";
define class <world-implementation> (<world-servant>)
end class;
define method world/hello (world :: <world-implementation>)
=> (hello :: <string>)
"Hello World!"
end method;
define method main () => ()
let orb = corba/orb-init(make(corba/<arg-list>),
"Functional Developer ORB");
let poa = corba/orb/resolve-initial-references(orb, "RootPOA");
let impl = make(<world-implementation>);
let world = portableserver/poa/servant-to-reference(poa, impl);
corba/orb/object-to-file(orb, $hello-world-ior-file, world);
let manager = portableserver/poa/the-poamanager(poa);
portableserver/poamanager/activate(manager);
corba/orb/run(orb);
end method main;
begin
main();
end;