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);