I am very happy to report that we released a new version of WebORB for Java – version 4.3. The theme of the release is ‘Developer Productivity’. As you may already know, WebORB enables integration at four different levels: remoting (RPC), data management, real-time publish/subscribe messaging and video/audio streaming and recording. With this release, we deliver code generators for all of these levels of integration. Below is a brief description of the new features you will find in 4.3:
Remoting code generator for Robotlegs - Robotlegs is quickly becoming a popular ActionScript framework. We included a very powerful code generator which can generate all the supporting ActionScript classes for a given Java service (POJO, EJB, Spring bean, Grails service or SOAP web service) . The generated code enables remoting with the service and includes all the supporting classes conforming to the Robotlegs framework. This includes controller, events, mediators and ActionScript value objects. Read more about WebORB and Robotlegs integration.
Native Android Java code generator and invocation client - WebORB includes a tiny native Java library supporting remote procedure calls of the WebORB hosted services from native Android Java applications. Additionally, we also added a code generator which can create Java client-side code for any given WebORB service. The generated project also includes a visual invoker to make it easier to see the generated code in action.
Windows Phone invocation client (with code generator)- similar to the native Android Java library, we also added a native Windows Phone (Silverlight) client-side library into the WebORB distribution. Using the library Windows Phone applications can easily integrate with WebORB-hosted Java services using either RPC or publish/subscribe APIs. There is also a code generator which can create C# code and a sample Windows Phone project for any deployed Java service.
New Swiz code generator – We have completely rewritten the Swiz code generator to support the latest release of the Swiz framework. The generated code includes all the events, pre-wired controller, service invoker and value object types.
Code generator for rich media Flex, AIR and Mobile apps – WebORB for Java supports the RTMP protocol and enables video streaming and recording, remote shared objects and server-side data push. In this release we added a code generator which can create a sample Flex, AIR or mobile application with the code demonstrating all of these features. Optionally, the code can be generated to support RTMP tunneling for any of the selected features. Read more..
Publish/Subscribe Messaging Test Drive – When you develop a messaging application, it may be very important to be able to observe message traffic over your destination. It is very easy to do that with the new release. Simply open the management console, Find your destination under the Messaging Server tab and click “Test Drive”. The feature lets you both create subscribers and publish test messages.
As you can see it is a feature packed release. We also fixed quite a few bugs and you can access a full report in the . We plan to publish follow-on posts with videos and examples demonstrating all the new functionality in the coming days.
The example reviewed below demonstrates data push from a server-side Java application to three different native mobile app implementations: iOS, Android and Windows Phone. The server updates the data every 1.5 seconds and delivers it to the clients. The iOS client uses a persistent RTMP connection, the Android and Windows Phone clients use publish/subscribe messaging (via polling) to receive server-side updates. The source code for each mobile implementation and the server-side project (with deployment instructions) is available below the video:
Server-side Compilation and Deployment instructions:
Download and install WebORB for Java (make sure to download version 4.3 or above) .The product is available for free with the Community Edition license. Without a license key, it will work in the “development mode” which will be sufficient to the this example. See WebORB Licensing for additional details.
To compile the Java project, add the following JAR dependencies: weborb.jar, red5.jar, spring-core-3.0.0.jar. All the required jar files can be found in [WEBORB-INSTALL-DIR]/webapp/WEB-INF/lib.
The compiled classes can be deployed to [WEBORB-INSTALL-DIR]/webapp/WEB-INF/classes/examples/weborb (if the package structure changes, the directories under WEB-INF/classes will have to change as well).
Register new messaging destinations. To do this, open [WEBORB-INSTALL-DIR]/webapp/WEB-INF/flex/messaging-config.xml in a text editor, add the following destination declaration before the closing </service> element, then save the file:
Register new RTMP messaging application: To do this create a new XML file with the following contents in [WEBORB-INSTALL-DIR]/webapp/WEB-INF/classes. Name the file stockexchange-web.xml (alternatively, you can download the file from here):
Run WebORB for Java in a command prompt/terminal window by using the following command (run the command from the WebORB installation directory):
java -jar weborb.jar
Verify that WebORB is running by opening the management console from: http://localhost:8080
Compile and run the mobile applications. Use the following configuration parameters:
iOS – Hostname: if launching in iOS Simulator, use localhost, otherwise enter IP address of the machine where weborb is running. Application name: StockExchange, port – 1935
Android and Windows Phone- WebORB URL – http://localhost:8080/weborb.wo (if running on a device, substitute localhost with the IP address of the machine where WebORB is running).
If you develop mobile applications for Windows Phone odds are you will need to integrate it with your backend services, which may be in .NET, Java or PHP. There are several points of integration including remote procedure calls, data push from Java or .NET, publish-subscribe messaging and so on. Some time ago we conducted a webinar where we discussed various integration strategies for Windows Phone applications. A recording of the webinar is now available online. The recording consists of five parts (each linked with the next one at the end of the videos). You can watch the webinar below or see it on our webinars pages (.NET webinars, Java webinars):
Cross platform application connectivity is to be a frequently requested and talked about feature. A lot of enterprise and consumer-facing applications require robust data exchange mechanism between application instances running on mobile devices. On top of this, many applications depend on real-time updates and notifications pushed from the server to the clients. One of the approaches for cross platform data exchange is a feature called Remote Shared Objects. The video below provides an explanation of the feature as well as a demonstration of iPhone, iPad and Windows Mobile phone communicating with each other as well as a browser-based Flex application.
The demo was built using the latest version of WebORB for .NET (the Java version would work just as well), Communication Library for iOS and a client library for Windows Mobile included into the WebORB distribution. Enjoy!
WebORB will include code generators for these environments as well.
The video below demonstrates the code generator and the supported APIs. Enjoy!
I recently had the opportunity to explore some Windows Phone 7 (WP7) developer forums to learn about some of the issues developers face when building WP7 apps and some of the questions that came up had to do with cross-platform compatibility and market potential for the device. Obviously, mobile developers want to be assured that their application can
reach the widest audience possible. One of the keys is to get as many developers as possible on-board and developing for WP7. We believe WebORB will help expand the market for WP7 applications, while helping solve the cross-platform compatibility and integration issues.
WebORB’s WP7 support means that WP7 developers can create applications with connectivity to not only .NET classes, WCF, SOAP and REST services, data and media, but also to Java POJOs, EJBs, Spring Beans, Web Services and Grails controller services, data and media. WP7 will also connect with PHP classes, when this feature is rolled into WebORB for PHP.
WebORB also comes with some fantastic productivity tools and APIs, such as:
Service browser – displays a hierarchical listing of all the deployed services categorized by the deployment type;
Code generator – creates fully reusable code, as well as, Visual Studio Windows Phone 7 project files and sample UI;
Method invocation test drive – enables service methods to be invoked directly from the WebORB console for easy testing;
Security module – access to methods, services, classes and namespaces can easily be restricted using the WebORB console;
APIs – enable functionality for doing remote method invocations and data messaging (publish/subscribe, data push, remote shared objects, media streaming).
If you’d like to learn more about WebORB’s WP7 support, join us on April 21st at 3pm (CST) for a free webinar. We’ll be demonstrating how to use WebORB’s remoting and messaging APIs and productivity tools for WP7 development and deployment. Here is a link to register for this event: https://www2.gotomeeting.com/register/810889819