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!
A few weeks ago we released a communication library for iOS which provides an excellent mechanism for integrating iOS applications with various server-side technologies. The library enables client-server integration via the RTMP protocol and thus requires the server-side code to be deployed into an RTMP. (Btw, we’re working on adding support for basic RPC (remote procedure call) mechanism which make it trivially simple to connect iOS applications with any Java, .NET or PHP class, web service, Spring beans, .NET WCF service, etc). One of the servers the library supports is Wowza Media Server. The video below provides a demonstration of the integration between iOS and Java classes deployed in Wowza. The examples demonstrate the following:
Invocation of Java methods from iPhone
Java data push via an invocation of the Objective C method from Java
Usage of Remote Shared Objects hosted in Wowza Media Server
The rest of this post (below the video) provides details on deploying the same examples in your own environment. We also plan to post similar videos and instructions for other RTMP server implementations, specifically FMS, Red5 and our own WebORB for Java and WebORB for .NET.
Follow the steps below to configure and run the same examples as shown in the video above (disclaimer: I’m not a Wowza Media Server expert and there might be a simpler way to do the configuration/deployment described below. If you know of a simpler or more appropriate way, please submit a comment):
Finally, the Grails integration has been reviewed in a webinar we conducted back in March. The video where the Grails integration is reviewed is linked below, make sure to fast forward to 5m:30sec into the video:
If you are looking for an alternative to Live Cycle Data Services (LCDS) to do Flex data management, WebORB for Java (Enterprise Edition or Community Edition) is a great alternative. Ken Nelson from San Clemente Technology wrote an excellent tutorial on how to do data management using WebORB, which is posted on the Adobe Developer Connection site. Here is an excerpt from his article:
“In this article I will show you how to build a data driven application in Flex using WebORB for Java. You will learn how to connect WebORB to your database, use WebORB for Java to generate your database access code, and integrate the generated code with your Flex project.”
The complete article with sample code can be viewed here:
One of the new features in WebORB for Java v.4.1 is support for Google App Engine integration. With the integration any Java class or Spring bean deployed into a Google App Engine application can be accessed by all the client types supported by WebORB. The list of the supported clients includes: Flex/Flash, Silverlight, JavaScript/AJAX, Android, Windows Phone and in the very near future iOS clients. The clients can invoke methods on the deployed Java services and exchange data using primitive and complex types, arrays, collections, etc. By using WebORB as the client/server integration tier, your application will greatly benefit from the superior performance enabled by the product as well as significantly streamlined application development process.
To learn more about WebORB for Google App Engine, see the WebORB Documentation and/or watch the video below:
If you have a need to build a multi-user application that is automatically updated and synchronized across multiple clients whenever a change is made to the data, you may benefit from using Remote Shared Objects (RSO). A recent tutorial written by Damian Piccolo and Esteban Yofre at Anden Solutions may be just what you need to get started with using WebORB for client-to-server, server-to-client and client-to-client communication and synchronization with RSOs. Here is an excerpt from the article:
“RSOs are particularly useful when they are used on several clients at the same time. When one client changes data that updates the RSO on the server, the server sends the change to all other connected clients, enabling you to synchronize many different clients with the same data. RSOs can also be updated and accessed by the server, giving developers more options for application development. In this tutorial, you will use RSOs to create a simple online version of the Add-a-word game. The object of this game is to add a word to a sentence, one user at a time, and eventually come up with a very long sentence (that still makes sense)”.
Are you using NHibernate as your object-relational mapper? If so, did you know that WebORB provides an easy integration between Flex clients and NHibernate models? Enterprise Architect Joseph Magley demonstrates how to use WebORB with NHibernate and Flex in a recent technical article he wrote for the Adobe Developer Connection. Here is an excerpt from this article:
“In this tutorial I demonstrate a particularly easy-to-use combination of technologies that do a very good job at allowing you to focus on developing your features rather than maintaining plumbing. Modern development tools coupled with WebORB for .NET and NHibernate make it easier to maintain integration points. Development frameworks for data access such a NHibernate eliminate much of the glue code that developers often need to write and maintain. This decreases complexity and creates a solid environment for rapid development of RIAs.”
The complete article with sample code can be viewed here: http://www.adobe.com/devnet/flex/articles/flex-nhibernate.html
Developer Gaurav Pandey recently wrote a technical article that shows how to use WebORB with Apache NMS and Apache ActiveMQ. Here is an excerpt from his article.
“The WebORB for .NET messaging framework has been integrated with Apache NMS and is capable of connecting messaging destinations with NMS destinations. This enables Flex applications to deliver data to and retrieve data from any NMS-compatible messaging provider such as Apache ActiveMQ or Microsoft Messaging Queue (MSMQ) with minimal configuration. WebORB acts as a proxy between the Flex clients and the NMS destination. This article provides an overview of pushing data from a Flex publisher client to a Flex consumer client using an ActiveMQ messaging provider.”
To view the entire article with sample code, please visit http://www.adobe.com/devnet/flex/articles/flex-apache-nms.html