Midnight Coders Releases a Java Server For AJAX and Flash Apps

Home

News: Midnight Coders Releases a Java Server For AJAX and Flash Apps

  1. Midnight Coders has released the WebORB Presentation Server, a development platform for connecting AJAX and Flash clients with Java applications. Supported clients include JavaScript and Flash, while server-side support includes any Java or .NET object, XML web services, EJBs, as well as ColdFusion Components (CFCs).

    To facilitate creation of rich client applications, WebORB ships with the Rich Client System. It also provides unified APIs to access any server-side object, service or CFC. The APIs provide a communication stack designed to connect and execute synchronous and asynchronous invocations on a variety of server-side objects.

    WebORB is available in two implementations, Java and .NET; both implementations contain the same feature sets. With a dynamic and extensible framework, WebORB manages server-side component lifetime events such as activation, session management, and deactivation. It also includes such features as inspection of .NET classes and XML Web Services, argument type adaptation, multiple activation modes, custom object serializers, a management console, security, call browser, and a message server.

    In addition to the Rich Client System, WebORB supports Macromedia's Action Message Format (AMF) and can be used to handle Flash Remoting calls. Because WebORB does not require changes on the Flash Remoting client side, any existing Flash MX Remoting client can use WebORB transparently while also observing a boost in performance and simplified implementation approach on the server-side.

    Product features include:
    • Rich Client System. A client side library simplifying rich client development and to enable client/server connectivity Rich Client System. The Rich Client System provides a simple one-line API to bind to and invoke any method on any Java object, EJB, ColdFusion Component or XML Web Service.
    • Supports synchronous and asynchronous method invocations
    • Does not require any modifications to server-side code, no need for custom method attributes, special signatures or argument types or design-time stub generation.
    • Synchronous invocations return data from the same invocation (no callback needed). Asynchronous invocations rely on a callback to deliver return value or exception.
    • Any server side method can be invoked synchronously or asynchronously.
    • Client application can request special activation modes for the server objects. As a result, objects can easily become stateful without any special programming
    • Provides a special API for handling database query results - server code can return DataSets or DataTables and the client presents it as a special RecordSet JavaScript object. The object provides a way to retrieve column names as well as row data
    • Data paging support. Client applications can retrieve data in pages and streamline user experience.
    • Supports all server-side argument types and return value types - primitives, strings, complex types, arrays, native .net collections, remote references
    • There are 2 editions available: Standard (free) and Professional (commercial license)
    For more information visit http://www.themidnightcoders.com.

    Threaded Messages (11)

  2. eom

    .V
    http://roomity.com
  3. Thinking about Rich Internet Clients lately, I get the impression that we have forgoten the old plain desktop apps.

    Old plain desktop app connecting to server (well known and configurable) using HTTP/WebServices (or some more efficient but firewall friendly network protocol and transport, when needed), with a friendly installer and auto update service, practicaly does not have any downside to web RIA IMHO.
  4. practicaly does not have any downside to web RIA IMHO

    Besides platform compatibility issues, huge (JRE or .NET prerequisites) clientside footprint and per-client support issues.

    Rich Internet Clients require none of that and therefore are much more cost effective and far easier to maintain.

    Sincerely,

    Artem D. Yegorov
    xDev Group.ORG
  5. What about browser compatibility issues?

    Far easier to maintain? I code about 5 times faster with Swing than with any web application framework I've tried. And a lot of JavaScript doesn't make web application development any easier.

    Of course, for efficient Swing coding you need a decent framework too (like http://sourceforge.net/projects/tikeswing">this one</a> :)).
  6. Not sure...[ Go to top ]

    Besides platform compatibility issues, huge (JRE or .NET prerequisites) clientside footprint and per-client support issues.
    a) Not sure that platform incompatibility issues are more pain then browser incompatibility issues! The more sophisticated app you build and the more advanced platform/browser features you use, the more platform/browser incompatibility issues you will encounter.
    b) Clientside footprint? It's year 2005, and 512MB/2GHz is a nmainstream.
    c) I agree with you, but very slightly!
    Rich Internet Clients require none of that and therefore are much more cost effective and far easier to maintain.Sincerely,Artem D. YegorovxDev Group.ORG

    I would say not 'much more' but 'slighly more' cost effective, yet still less usable.
  7. re:Not sure..[ Go to top ]

    b) Clientside footprint? It's year 2005, and 512MB/2GHz is a nmainstream.

    My current client has an environment where an application is used around the world. For several reasons, the workstations are very tightly locked down, and it takes literally over a year to get an application certified to be installed on one of those workstations.

    So, for practical business reasons, a zero-footprint application is required. Given that restriction, AJAX looks pretty good (we're already using it in a limited fashion).

    Dave Rooney
    Mayford Technologies
    http://www.mayford.ca
  8. re:Not sure..[ Go to top ]

    It's true that workstations need a suitable JRE version installed for Java Web Start applications. But once the JRE is installed, jnlp file is all you need. With web applications you need a suitable browser with right plugins/JavaScript support. Therefore, I don't think the maintenance aspect is that crucial.

    If your clients have browsers with the right configuration, AJAX and Flash makes sense. If your clients have right JRE installed, using Web Start should be as easy.
  9. Worth having a look at[ Go to top ]

    My team started looking at this tool last week. We were already planning on going the RIA route. After playing with it for a day we integrated it in our development environment (Tomcat/Intellij) by dropping in a couple jars, a couple XML files, and adding a mapping to web.xml. One developer on my team took an hour and figured out how to write/register an object invocation extension that looked up components in a Spring BeanFactory. Half an hour later we were making AJAX calls from our web app to services exposed by WebORB. Worked like a charm. We were having so much fun that our tech lead threatened to not let us bill for the time.

    Very cool tool. Well worth a look.

    Jim
  10. ...with a friendly installer and auto update service, practicaly does not have any downside to web RIA IMHO.

    Except when you don't have any control over the target desktop, or it would be prohibitively expensive or time-consuming to get the desktop application certified. In those cases, RIA apps are much preferred.

    Dave Rooney
    Mayford Technologies
    http://www.mayford.ca
  11. Thinking about Rich Internet Clients lately, I get the impression that we have forgoten the old plain desktop apps.Old plain desktop app connecting to server (well known and configurable) using HTTP/WebServices (or some more efficient but firewall friendly network protocol and transport, when needed), with a friendly installer and auto update service, practicaly does not have any downside to web RIA IMHO.

    I agree with you. Many times i felt if we have a solution for auto updation of desktop clients, one click initial installation , communication through HTTP ,then the benefits of browser based application over thick clients will not be there.

    but of recent times, seeing these RIA , i definitely get a feeling that the usability benefits that can be achieved through desktop clients can now be achieved using RIA (whatever that means, ajax or javascript ).

    The only point where i see desktop clients have advantage over RIA is storing data in users machine. Data that are very much user specific,data that are alive only for a session needs to be stored at client side..the server shouldnt be burdened with these user specific transient data.. otherwise u will land up buying Tangosol Coherence :) ;) for loadbalancing and subsequently for caching,replicating etc..etc.

    But its definitely good to see the transformation thats happening with RIA for browser apps..

    Congragulations to Midnight coders on thier release.On a first glance on the architecture, it definitely looks promising


    Regards
    Surajeet
  12. Ever heard of JWS? I would prefer that cause u basically coding in Java still(Swing) as opposed to Flash of Ajax where you need to worry about cheap java script/action script hacks as well as flash api. Too much to worry about. With JWS you get the benefit of the desktop app being updated annonymously anytime it is launched w/o the client even being aware of it.