Results 1 to 6 of 6

Thread: Javascript support - ICE ideal platform / node.js

  1. #1
    flangel is offline Registered User
    Name: frank langel
    Organization: personal
    Project: trading platform
    Join Date
    Mar 2010
    Posts
    4

    Javascript support - ICE ideal platform / node.js

    Dear ZeroC team,

    I was wondering what your opinion is on Javascript support in ZeroC. With the increasing adoption rate of Javascript on the server, I see JS as the ideal language to make ICE a true internet communication platform.

    With the new HTML5 websocket feature becoming widely available in IE, Chrome and Firefox, ICE could play a critical role in creating and powering next generation internet applications:

    By supporting JS on top of websocket, ZeroC could support the following architectures:

    - HTML5 client (JS and websocket) talking to any ICE server. JS code would be generated based on Slice definition.

    - ICE server implemented in JS on top of node.js. By supporting JS on the server, ICE servers could easily and quickly be written in JS. The ubiquitousness of JS would help the market penetration of ZeroC.

    Any feedback would be appreciated
    Best
    Frank

  2. #2
    swaj is offline Registered User
    Name: Scott Anderson
    Organization: Personal
    Project: Murmur Rails Control Panel
    Join Date
    Aug 2010
    Posts
    4
    God I would love this. As it sits now, I'll probably have to write a simple web service in Ruby or Python, but if we could get ZeroC Ice working in Node.js, it would save me so much time. Keep up the good work, guys.

  3. #3
    kwaclaw is offline Registered User
    Name: Karl Waclawek
    Organization: Personal
    Project: Whiteboard application
    Join Date
    Sep 2004
    Location
    Oshawa, Canada
    Posts
    162

    Seconded

    Quote Originally Posted by flangel View Post
    Dear ZeroC team,

    I was wondering what your opinion is on Javascript support in ZeroC. With the increasing adoption rate of Javascript on the server, I see JS as the ideal language to make ICE a true internet communication platform.

    With the new HTML5 websocket feature becoming widely available in IE, Chrome and Firefox, ICE could play a critical role in creating and powering next generation internet applications:

    By supporting JS on top of websocket, ZeroC could support the following architectures:

    - HTML5 client (JS and websocket) talking to any ICE server. JS code would be generated based on Slice definition.

    - ICE server implemented in JS on top of node.js. By supporting JS on the server, ICE servers could easily and quickly be written in JS. The ubiquitousness of JS would help the market penetration of ZeroC.

    Any feedback would be appreciated
    Best
    Frank
    Although I am not a JavaScript fan (especially not on the server), I agree that ICE for client side JS could be a rather significant market for ZeroC, especially since Microsoft now also puts some emphasis on HTML5/JS clients. This would make more sense than supporting ActionScript.

    Karl
    Karl Waclawek

  4. #4
    Tack is offline Registered User
    Name: Andres Jaan Tack
    Organization: Personal
    Project: Hail
    Join Date
    Jun 2012
    Posts
    2

    Work in Progress Hail

    Along these lines, I've started hail, a transport layer implementing the Ice protocol for Node.js applications. It's not npm'd yet, and it's not complete, but as of today (12th June 2012) it parses simple Slice files, dispatches interface methods taking simple types as arguments (including built-in types and sequences of built-in types), and returns void or integers. The Printer example in the ice documentation works with a ZeroC-implemented client.

    Code:
    var ice = require('hail');
    
    // Adapters do not need names in Hail.
    var adapter = new ice.adapter(4001, 'localhost');
    
    // Create a servant, and publish it via the adapter
    ice.create_object_factory('printer.ice', function(error, defs) {
        var printer_x = defs.Demo.Printer();
        adapter.publish_object('SimplePrinter', printer_x);
    
        // Implement the printString() method. All invocations are asynchronous.
        printer_x.on('printString', function(response, s) {
            console.log(s);
            response.send();
        })
    });
    
    adapter.activate(function() {
        console.log('Started listening!');
    });
    Hail is a from-the-ground-up implementation of the Ice protocol using Node.js primitives, thus preserving the event-loop properties you would expect from a Node.js library.

    I will probably continue developing this to parse structures and throw runtime exceptions as appropriate. Contributions are welcome, as are task lists; I'm willing to continue this library for you, other Ice users, if you tell me what you need.

  5. #5
    kwaclaw is offline Registered User
    Name: Karl Waclawek
    Organization: Personal
    Project: Whiteboard application
    Join Date
    Sep 2004
    Location
    Oshawa, Canada
    Posts
    162
    Quote Originally Posted by Tack View Post
    Along these lines, I've started hail, a transport layer implementing the Ice protocol for Node.js applications.
    What about Javascript clients?
    Karl Waclawek

  6. #6
    Tack is offline Registered User
    Name: Andres Jaan Tack
    Organization: Personal
    Project: Hail
    Join Date
    Jun 2012
    Posts
    2
    Quote Originally Posted by kwaclaw View Post
    What about Javascript clients?
    Definitely possible, and definitely valuable, but I haven't done any deep thinking on this. Actually, for my original goal (easier load tests), this is very useful.

    Congratulations, we have hail github issue #1. Pull requests or suggestions on a good idiomatic Node interface would be very welcome. I may give it a shot after my vacation just now.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Ice::Context issue about different platform
    By richardma in forum Help Center
    Replies: 6
    Last Post: 02-22-2006, 08:00 PM
  2. Can ICE be used in my platform?
    By pinnacle in forum Help Center
    Replies: 6
    Last Post: 01-16-2006, 01:51 AM
  3. Replies: 3
    Last Post: 11-24-2005, 02:48 AM
  4. Ice 1.2.0 tests fail on 64 bit platform
    By rbx in forum Help Center
    Replies: 2
    Last Post: 02-18-2004, 09:04 AM
  5. Ice on an embedded platform (status report)
    By rbx in forum Help Center
    Replies: 3
    Last Post: 01-16-2004, 01:01 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •