Cisco Unified Application Environment Developer Forums

« Back to Etch

Re: [Etch] Using Etch

Combination View Flat View Tree View
Threads [ Previous | Next ]
Using c# you can do that. There are 4 c# examples in the source, and 1 in the binary. You still need etch.dll and .net clr.

Scott out

-----Original Message-----
From: Vinit Gupta mailto:etch@developer.cisco.com
Sent: Monday, November 10, 2008 05:05 AM Pacific Standard Time
To: etch@developer.cisco.com
Subject: Using Etch

Hi,

can we write an application as windows executable using Etch?
that application should be independent of CUAE.

if yes, Please provide sample application of any Client-Server using Etch.

regards
Vinit
_______________________________________________
Etch mailing list
Etch@developer.cisco.com

_______________________________________________
Etch mailing list
Etch@developer.cisco.com

Attachment not added (content type not allowed): "att1.html"

We read about Etch and feel that Etch could be a good replacement for web services. Also Etch seems to be the best for bi-directional communication.

Let me elaborate the requirement now. Our desktop client applications call CUAE applications (http triggered) to send the request. The result is to come asynchronously. We want to use Etch to send the request and receive the result asynchronously.

Need guidance to decide whether Etch would be the best tool for my requirement.

regards,
Vinit

hi Vinit,

etch supports two ways of getting what you want. if you prefer call
semantics and will have only a few "long running" requests at a time,
you could use an asynchronous call to a message with an
@AsyncReceiver(pool) tag. the server implementation of this message
looks just like a regular procedure, which in the end returns its value
and life is good. the alternative is to trigger on an event style
message (@Oneway tag) and then send an event style response. this second
style is more appropriate where there might be several different types
of responses, or more than one separated by time. again, the message
should also be marked @AsyncReceiver(pool). (in both cases, if there
might be more than a few outstanding requests, and the requests might
run for minutes vs. seconds, then the tag @AsyncReceiver(free) might be
more appropriate.)

the caller always has the choice of synchronous or asynchronous
operation. (there is no such distinction for event style messages, as
they never block the sender).

suppose you had a call defined like this:

@AsyncReceiver(free)
int add( int x, int y )

you could call this method synchronously:

int z = server.add( 2, 3 );

in this case, you would block until the response came. you could also
call it asynchronously:

Mailbox mb = server._async._begin_add( 2, 3 );
...
int z = server._async._end_add( mb );
mb = null;

in this case, the request is sent by _begin_add and the answer is
collected by _end_add. in between the two, you may make other requests
or do other work. you can also use mb.registerNotify method to subscribe
for notification when the response has come and is ready to be collected
by _end_add.

hope that helps. there are more thorough descriptions of these
capabilities in the documents on our wiki.

scott out

Vinit Gupta wrote:
We read about Etch and feel that Etch could be a good replacement for web services. Also Etch seems to be the best for bi-directional communication.

Let me elaborate the requirement now. Our desktop client applications call CUAE applications (http triggered) to send the request. The result is to come asynchronously. We want to use Etch to send the request and receive the result asynchronously.

Need guidance to decide whether Etch would be the best tool for my requirement.

regards,
Vinit
_______________________________________________
Etch mailing list
Etch@developer.cisco.com

_______________________________________________
Etch mailing list
Etch@developer.cisco.com

Attachment not added (content type not allowed): "sccomer.vcf"