If you develop with Flash Builder and use WebORB, read on, you will greatly enjoy this new functionality. The functionality is not entirely new, we had the plugin for quite some time. The main problem most users have encountered with the plugin was the installation process. We have fully reimplemented the plugin and added better integration support in the product itself.
The plugin now can be installed using Eclipse’s standard plugin installation process. To get started, make sure to download and install the latest nightly build of the product (or version 4.5 once it becomes available). To install the plugin:
From the main menu select Help and then ‘Install New Software’
Enter the following address for the plugin’s “update site” and press Enter:
http://dev.themidnightcoders.com/fb
Select the checkbox next to “WebORB plugins for Flash Builder”. The window in Eclipse/Flash Builder should look as shown in the image below:
Click through the installation wizard to complete the installation.
Click OK if you get a security warning saying the software is unsigned.
Once the installation is complete Flash Builder/Eclipse will offer a choice of applying the changes or restarting the application. Make sure to choose the restart option.
For the instructions on how to use the plugin, see WebORB documentation:
We have updated our product build system to deliver nightly product builds to you. When you login to our download center and select WebORB for .NET or WebORB for Java, you will see a list of the nightly builds available for download. The nightly builds deliver all the latest updates and bug fixes we’re adding while working toward the next product release. Please keep in mind that the nightly builds are not certified by our QA as “production ready” code, however, the code delivered through the nightly builds does pass our minimally required set of tests.
We need your feedback
When you download and try a nightly build, please report any problems you encounter through our discussion forum (.NET forum, Java forum) or the bug tracking system.
Flex provides many benefits and advantages over alternative client-side technologies. In my opinion one of the most powerful features available in Flex (and Flash) is the support for video streaming and recording. To make it easier for developers to include these (and many other RTMP-based) features, we added a very cool code generator into the latest releases of WebORB for Java and .NET. With a few mouse clicks the code generator can instantly create a complete Flex project containing all the ActionScript code enabling video recording, video broadcast, communication via remote shared objects and server-side data push. The video linked below provides an overview of this fantastic functionality. Enjoy!
In my previous post I shared an example showing data paging for flex. The most important subfeatures of our ‘managed data paging’ feature are:
Loosely coupled interface – the feature will work without implementing a specific server-side interface and can be used with Java, .NET and PHP
Can be used with ANY Flex data component (applicable to both MX and Spark architectures)
Memory management – our data provider will maintain only specific number of pages in memory and will re-fetch data on as needed basis
We put together another example visualizing how memory management work. The example works with a database table containing 2.6 million records. Any time a page of data is loaded or removed from memory, the visualization component reflects it by drawing or removing a line. You can see the example in action in the video below. The source code and the database script are available at the bottom of the post. Enjoy!
Loading too much data into a Flex application can easily present a problem. Flex data components like lists or datagrids do not deal with very large data providers very well. Additionally, fetching a lot of data from the server may have a significant impact on the application’s performance as the client-side memory footprint of the application can grow to be quite large. A common solution for these problems is data paging. The entire dataset is split into blocks (pages) and a page of data is loaded on the as-needed basis (for example, when the application user tries to scroll through the data in a datagrid).
To simplify this task for Flex developers, we introduced an API and a Flex data component which makes it possible to dynamically fetch data from Java. .NET or PHP services. The component can be used as a data provider for any Flex data-bound UI component. Additionally, we implemented a very powerful memory management system which makes sure that only specified number of pages is kept in memory. That way, you can easily visualize a data set with millions of records in a single data grid without loading all the records into memory.
Create ‘findharley’ database schema (database) and restore the database by using the SQL script. The server side code uses the root/sa userid and password. You can grant access permissions for the database to another user and modify the Java code to use different credentials.
Compile the server-side code. Make sure to update the JDBC connection string with the updated userid and password – line 221 in FHService.java (see the item above).
The compiled server-side code can be deployed as .class files into WebORB’s WEB-INF/classes folder or as a jar file into WEB-INF/lib
Open the client-side project in Flash Builder, adjust the server-side path, the path to weborb-services-config.xml for the -services compiler argument and Flash Build Path.
One of the new features we added into the version 4.3 of WebORB for Java is support for the Robotlegs framework. The framework is becoming quite popular among ActionScript developers and we see it used quite often. The new feature lets you generate all the supporting Robotlegs ActionScript code for any Java service supported by WebORB. The list of services includes POJOs, EJBs, Spring beans, Grails services and SOAP web services. The video below includes a demonstration of the feature. Enjoy!
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:
Data management for JavaScript Clients – If you’re familiar with WebORB, more than likely you know about our data management framework. If not, then you can learn about it either from the WebORB Data Management documentation or the Data Management webinar recording. In short, the framework lets you quickly import your database schema into our Data Modeller tool and generate client and server-side code to enable full CRUD with your data from the ActionScript or JavaScript client or the server-side code. The same code generator can also create a demo application which demonstrates the power of the API. The JavaScript client support lets you create a data-driven ORM solution for your database in seconds. In addition to the APIs for CRUD operations, the JavaScript client also supports client-synchronization for the changes done by other clients working with the same dataset.
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..
Code generator for multi-client Publish Subscribe messaging – WebORB provides native libraries and APIs for publish/subscribe messaging for Flex, AIR, JavaScript, native Java and .NET clients. The unifying concept for all of these APIs is the messaging destination. With the new release, it is trivially easy to manage destinations and on top of this, developers can quickly generate native publish/subscribe messaging apps for all the supported client-side types.
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 Midnight Coders bug tracking system. We plan to publish follow-on posts with videos and examples demonstrating all the new functionality in the coming days.
One of the most frequently talked about subjects on our discussion forums is the one about the Flex’s ‘Send Failed’ error. Pretty much in all of the cases, the error is due to misconfiguration. The observation I made is the configuration problems arose primarily because of the lack of understanding on the developer’s part of how Flex resolves the remoting URLs. To clarify the subject we recorded a short video/presentation which you can access below. The video also describes how one might receive the Send Failed error and what can be done to solve it. Enjoy!
One of the new features we included into WebORB version 4.4 for .NET (and very soon in WebORB for Java) is the support for multi-client publish/subscribe messaging. If you’re not familiar with publish/subscribe, it is a simple, yet very powerful data exchange pattern. A computer program may be in one of the two roles (or in both) : a publisher or a subscriber. Publishers send messages to the server and the server routes the messages to all the subscribers. Subscribers can subscribe with some rules: for instance to receive messages which have a specific header. WebORB provides support for this type of integration for a variety of clients, including Flex, AIR, JavaScript, Java (both standalone and Android), Silverlight, Windows Phone and iOS. Some clients, for instance, Flex and AIR, includeAPIs in their SDKs enabling client-side support for publish/subscribe. For other client types, we provide libraries with the requiring APIs. Additionally, WebORB simplifies the problem of heterogeneous client integration. That means, clients from different environments can easily exchange messages with each other. For example, Android apps can send and receive message to/from Windows Phone or iOS apps. Message handling is also configurable. Published messages can be routed to (or received from) MSMQ, ActiveMQ or any NMS destination.
To make it easier to get started with publish/subscribe, we included messaging code generators into the latest release of WebORB. The code generators create complete projects with all the source code demonstrating both message publishing and subscription for Flex, JavaScript, Java, Windows Phone and Silverlight. Please keep in mind that the actual run-time support also extends to AIR, Android and iOS. Future versions of WebORB will include code generators for these environments as well.
The video below demonstrates the code generator and the supported APIs. Enjoy!
Earlier this week we announced a release of WebORB version 4.4 for .NET. In that blog post I said I’d be posting short videos reviewing the new features and functionality. The first of them, offering an overview of WebORB Data Management for JavaScript, is available. Enjoy!