Section 16.11.3 ANSA IDL and DPL example
Specify a service interface in IDL:
green : INTERFACE =
begin
lime : OPERATION ( arguments) RETURNS (arguments);
jade : OPERATION ( arguments) RETURNS (arguments);
end
A server may export it to the interface trader:
! USE green
! DECLARE {green_exportRef}: green SERVER
ansa_interfaceRef green_exportRef
! {green_exportRef} := traderRef$EXPORT (green,
" /ANSA/services", \"NAME `green' ", NTHREADS );
A client may import it from the interface trader:
! USE green
! DECLARE {green_importRef}: green CLIENT
ansa_interfaceRef green_importRef;
! {green_importRef} := traderRef$IMPORT (green",
" /ANSA/services", \"NAME `green' " );
and invoke an operation with immediate result:
! {result} := green_importRef $ lime (arguments)
or invoke an operation and collect the result later:
VOUCHER v;
! {v} := green_importRef $ lime (arguments);
! {result} := green_importRef $REDEEM (v);