Re: [CommonJS] Re: Concurrency standard module

View: New views
2 Messages — Rating Filter:   Alert me  

Parent Message unknown Re: [CommonJS] Re: Concurrency standard module

by Mark S. Miller-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

[+e-lang]

On Sun, Sep 27, 2009 at 8:30 AM, Kris Zyp <kriszyp@...> wrote:
I hope CommonJS doesn't attempt to specify an inter-machines protocol,
there are plenty of good protocols out there, we don't want to reinvent
that wheel, and we certainly wouldn't want to be limited to only
communicating with other CommonJS machines (the machines could be
running any language).

Agreed. Both Tyler's web_send protocol <http://waterken.sourceforge.net/web_send/> and E's CapTP protocol <http://code.google.com/p/caja-captp/> are good language neutral distributed capability protocols with implementations in several languages supporting communicating event-loops concurrency. Which one is better is a complex question involving many tradeoffs. Their APIs in JavaScript are quite similar. This community should look at both and understand the considerations each is optimizing for.

I'm cc'ing e-lang because both protocols are often discussed in that forum.

--
   Cheers,
   --MarkM

_______________________________________________
e-lang mailing list
e-lang@...
http://www.eros-os.org/mailman/listinfo/e-lang

Parent Message unknown Re: [CommonJS] Re: Concurrency standard module

by Mark S. Miller-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Both web_send and caja-captp are built to use JSON (as a request encoding) on HTTPS (as a transport). web_send actually uses HTTPS according to HTTP/REST principles, with URLs as remote object references. caja-captp on HTTPS will use HTTPS only as a transport.

On Sun, Sep 27, 2009 at 12:47 PM, Kris Zyp <kriszyp@...> wrote:



Mark S. Miller wrote:
> [+e-lang]
>
> On Sun, Sep 27, 2009 at 8:30 AM, Kris Zyp <kriszyp@...
> <mailto:kriszyp@...>> wrote:
>
>     I hope CommonJS doesn't attempt to specify an inter-machines protocol,
>     there are plenty of good protocols out there, we don't want to
>     reinvent
>     that wheel, and we certainly wouldn't want to be limited to only
>     communicating with other CommonJS machines (the machines could be
>     running any language).
>
>
> Agreed. Both Tyler's web_send protocol
> <http://waterken.sourceforge.net/web_send/> and E's CapTP protocol
> <http://code.google.com/p/caja-captp/> are good language neutral
> distributed capability protocols with implementations in several
> languages supporting communicating event-loops concurrency. Which one
> is better is a complex question involving many tradeoffs. Their APIs
> in JavaScript are quite similar. This community should look at both
> and understand the considerations each is optimizing for.
>
And FWIW, Persevere uses and will continue to primarily use HTTP (with a
preferred resource representation of application/javascript) as the
primary inter-machine protocol (perhaps others like the ones you
mentioned could be supported as well). JSON referencing is used for
links/URI referencing and JSON-RPC when necessary for tighter coupled
invocations. HTTP seems to be doing pretty decent in terms of adoption,
scalability, and language neutrality :). It has worked really nicely
with JS in Persevere as well. Clearly, there are a number of options out
there that people can and will use, so as we have said, CommonJS
shouldn't dictate how we communicate with others.
Kris


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "CommonJS" group.
To post to this group, send email to commonjs@...
To unsubscribe from this group, send email to commonjs%2Bunsubscribe@...
For more options, visit this group at http://groups.google.com/group/commonjs?hl=en
-~----------~----~----~----~------~----~------~--~---




--
   Cheers,
   --MarkM

_______________________________________________
e-lang mailing list
e-lang@...
http://www.eros-os.org/mailman/listinfo/e-lang