Categories

Archives

Visualizing Data Paging for Flex with 2 million database records

In my previous post I shared an example showing data paging for flex. The most important subfeatures of our ‘managed data paging’ feature are:

  1. Loosely coupled interface – the feature will work without implementing a specific server-side interface and can be used with Java,  .NET and PHP
  2. Can be used with ANY Flex data component (applicable to both MX and Spark architectures)
  3. 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!

Source code and database:

Configuring Eclipse to Run Tomcat with WebORB

This post documents a pre-requisite step for the JavaScript Integration Course, but it is also useful if you’re doing Java development with Eclipse and WebORB. The instructions in this post will help you configure your development environment so you can develop Java services with Eclipse and have them deployed into Tomcat. Once deployed, your Java services can be consumed (methods can be invoked) by any client supported by WebORB, that is JavaScript, iOS, Android, Flex/AIR, Flash and Silverlight.

To get started, make sure to download and install Eclipse IDE for Java EE Developers. Also, you will need an installation of WebORB for Java. When you download WebORB, you get an installer packaged as a JAR file. Make sure to run the installer and accept all the default settings in the installation. Finally, install the Tomcat server. This post assumes you have the latest version of Eclipse (Eclipse Juno v. 4.2), Tomcat 7.0 and WebORB version 5, however, the instructions are applicable to the older versions of the software as well.

Registering Tomcat as s Server

Locate buy cheap cialis the “Servers” tan in Eclipse and define a new server using the wizard:

In the “New Server Wizard”, expand the “Apache” node and select “Tomcat 7.0 Server” as shown below:

Click “Next >”. In the next step you need to specify the location of your Tomcat 7 installation. Click the Browse button and locate the root directory of the Tomcat installation:

Click “Finish” to complete the Tomcat configuration. The server should appear in the Servers tab as shown below:

Configuring a Web Project

The next step is to configure an Eclipse project. The project will contain the code for the services which will be deployed into Tomcat/WebORB. From the Eclipse’s main menu select File > New > Dynamic Web Project. Assign the name to the project (these instructions assume the project name is PhonebookService. Also make sure the target runtime is “Apache Tomcat v7.0″ (the server runtime was configured in the previous step). Finally, make sure “Default Configuration for Apache Tomcat v.7.0″ is selected in the drop down box in the Configuration section:

Click “Next >”. There are no changes in the next step, so click “Next >” again. Click the “Generate web.xml deployment descriptor” checkbox:

Click “Finish” to finalize project creation.

Adding WebORB to the Project

To streamline the development WebORB should be added to the project and become a part of the web application. Adding WebORB to the project consists of three to four simple steps:

  1. Register WebORB servlet.
  2. Add configuration files.
  3. Add WebORB jar file.
  4. Add WebORB Console (optional, but highly recommended).

Register WebORB servlet

Locate and expand the WebContent folder in the project’s structure in Project Explorer. The folder should have the web.xml file which is a deployment descriptor for the web application. Right-click the file and select Open With > Text Editor. Eclipse opens the file for editing. Make sure to modify the file to look as shown below:

&lt;br /&gt;<br />
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;<br />
&amp;lt;web-app xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns=&amp;quot;http://java.sun.com/xml/ns/javaee&amp;quot; xmlns:web=&amp;quot;http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&amp;quot; xsi:schemaLocation=&amp;quot;http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd&amp;quot; id=&amp;quot;WebApp_ID&amp;quot; version=&amp;quot;3.0&amp;quot;&amp;gt;&lt;br /&gt;<br />
  &amp;lt;display-name&amp;gt;PhonebookService&amp;lt;/display-name&amp;gt;&lt;br /&gt;<br />
  &amp;lt;listener&amp;gt;&lt;br /&gt;<br />
    &amp;lt;listener-class&amp;gt;weborb.ORBServletContextListener&amp;lt;/listener-class&amp;gt;&lt;br /&gt;<br />
  &amp;lt;/listener&amp;gt;&lt;br /&gt;<br />
  &amp;lt;servlet&amp;gt;&lt;br /&gt;<br />
    &amp;lt;servlet-name&amp;gt;weborb&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;<br />
    &amp;lt;servlet-class&amp;gt;weborb.ORBServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;<br />
    &amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;<br />
  &amp;lt;/servlet&amp;gt;&lt;br /&gt;<br />
  &amp;lt;servlet&amp;gt;&lt;br /&gt;<br />
    &amp;lt;servlet-name&amp;gt;download&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;<br />
    &amp;lt;servlet-class&amp;gt;weborb.DownloadServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;<br />
    &amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;<br />
  &amp;lt;/servlet&amp;gt;&lt;br /&gt;<br />
  &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;<br />
    &amp;lt;servlet-name&amp;gt;weborb&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;<br />
    &amp;lt;url-pattern&amp;gt;*.wo&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;<br />
  &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;<br />
  &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;<br />
    &amp;lt;servlet-name&amp;gt;download&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;<br />
    &amp;lt;url-pattern&amp;gt;/codegen.wo&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;<br />
  &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;<br />
  &amp;lt;welcome-file-list&amp;gt;&lt;br /&gt;<br />
    &amp;lt;welcome-file&amp;gt;weborbconsole.html&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;<br />
    &amp;lt;welcome-file&amp;gt;index.html&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;<br />
    &amp;lt;welcome-file&amp;gt;index.htm&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;<br />
    &amp;lt;welcome-file&amp;gt;index.jsp&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;<br />
    &amp;lt;welcome-file&amp;gt;default.html&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;<br />
    &amp;lt;welcome-file&amp;gt;default.htm&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;<br />
    &amp;lt;welcome-file&amp;gt;default.jsp&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;<br />
  &amp;lt;/welcome-file-list&amp;gt;&lt;br /&gt;<br />
&amp;lt;/web-app&amp;gt;&lt;br /&gt;<br />

Add Configuration Files

Right-click the WEB-INF folder under WebContent in the project structure and select New > Folder. Type “flex” for the folder name and click Finish. Eclipse creates a new folder under WEB-INF. Right click the new flex folder and select the Import menu option. In the Import window that appear select File System under General. Click “Next >” to continue. Click Browse and navigate to the WebORB installation directory. From there navigate further to webapp/WEB-INF/flex and click “Open”. Select all the files as shown below and click “Finish”.

The next step is adding the main WebORB configuration files. The files will eventually reside in the WEB-INF/classes directory of the deployed web application, but since eclipse rewrites that directory every time when it runs Tomcat, the files must be placed into the “src” folder.

Locate and expand the “Java Resources” node in the root of the project structure. Right click the “src” node and select the “Import” menu item. Select “File System” under “General” and click “Next >”. Click “Browse” and navigate to the WebORB’s installation directory. From there navigate further to webapp/WEB-INF/classes and click “Open”. Select weborb-config.xml and weborb-acl.xml as shown below and click “Finish”:

Add WebORB Jar file

In the minimal deployment WebORB requires only one jar file – weborb.jar. Additional jar files should be added by following the same steps depending on the functionality used by the services and/or WebORB. The example reviewed in this post connects to a MySQL database, therefore two jar files will be added – weborb.jar and the mysql database driver library.

Locate and right-click the lib node under WebContent\WEB-INF node in the project structure. Select the “Import” menu item. Select “File System” under “General” and click “Next >”. Click “Browse” and navigate to the WebORB’s installation directory. From there navigate further to webapp/WEB-INF/lib. Click “Open” and select “mysql-connector-java-5.1.13-bin.jar” and “weborb.jar” as shown below. Click “Finish” to import the files.

Add WebORB Console (optional, but recommended)

Right-click the WebContent node in the project structure. Select New > Folder and create a folder “console”. Right click the newly created “console” folder and select the “Import” menu item. Select “File System” under “General” and click “Next >”. Click “Browse” and navigate to the WebORB’s installation directory. From there navigate further to the “webapp/console” directory. Select all the files as shown below and click “Finish”.

Finally import “weborbconsole.html” from [WEBORB INSTALL DIR]/webapp/ into the WebContent node in the project structure (the import steps are the same as described earlier).

Once all the configuration, JAR and console files are added, the project structure should look as shown below:

Adding Web Application to Tomcat

At this point the project contains the minimally required configuration for WebORB. In order to deploy the project into the Tomcat server configured at the beginning of this post, locate and right-click “Tomcat v7.0 Server at localhost” in the Servers tab. Select the “Add and Remove” menu option:

In the “Add and Remove” window select “PhonebookService” in the “Available” column and click “Add >” to move it to the “Confgured” column as shown below. Click “Finish” to continue.

Adding Java Service

To add a Java service to the project locate and right-click the “src” node under “Java Resources”. Select the New > Package menu item and enter com.tmc.blog for the package name. The next step is add to a class to the package. This post uses the Java Backend Service provided in the JavaScript Integration Course post. Right-click the com.tmc.blog node and select the New > Class menu item. Enter Phonebook for the class name and click “Finish” to finalize class creation. Replace the contents of the created class with the  code from the Java Backend Service post.

Running Tomcat and WebORB

Click the “Start the server” button (green circle with a white triangle) in the “Servers” tab. Eclipse launches an instance of Tomcat and deploys the PhonebookService web application into it. You should see the logging output from WebORB as well in the “Console” tab. Once Tomcat starts, open a browser and enter http://localhost:8080/PhonebookService/weborb.wo to open the WebORB Management Console. Once the console starts up, select the Services tab in the WebORB Management Console, expand the WEB-INF/classes node and navigate to the Phonebook service (you will need to expand the “com”, “tmc” and “blog” nodes as well). The Phonebook node represents the class with the same name and contains the methods of the class. Expand the Phonebook node and click the “createListing” method. Enter values for the “name” and “phonenumber” arguments and click “Invoke”. The console invokes the method via WebORB and the service creates a record in the database (see the service’s code for details). Now you can click the “getListings” node and click Invoke. The console invokes the method and displays the results of the method invocation.

The subsequent post will review other development/deployment options, for instance, developing with IntelliJ IDEA and deploying into the standalone version of WebORB. After that, the series will continue with the development of the JavaScript client for the Phonebook service.

cvs Zanaflex

JavaScript Integration Course - Java Backend Service

This post continues the Java Integration Course. See the introduction post for an overview as well as instructions for setting up the database. In this post we add a very simple Java backend service which will be used by the JavaScript client in the subsequent development steps. Take a look at the Java code below:

<br />
package com.tmc.blog;</p>
<p>import java.sql.*;</p>
<p>public class Phonebook<br />
{<br />
  /*<br />
  The connectionURL consists of 3 to 4 parts, depending on if you have<br />
  permissions set up for your mySQL database.</p>
<p>  Part 1: &quot;jdbc:mysql://localhost&quot; refers to the url of your mySQL server.<br />
  Part 2: &quot;3306&quot; refers to the port that mySQL server is running on.<br />
          3306 is the default port for mySQL.<br />
  Part 3: &quot;phonebook&quot; this is the name of the database that we will be<br />
          interacting with.<br />
  Part 4: &quot;?username=blah&amp;password=blah&quot; - Optional.<br />
          This query string is used for passing the username and password<br />
  */<br />
  private String connectionURL = &quot;jdbc:mysql://localhost:3306/phonebook?user=phonebookuser&amp;password=password&quot;;<br />
  private Connection conn;<br />
  private Statement statement;</p>
<p>  public Phonebook()<br />
  {<br />
    try<br />
    {<br />
      Class.forName( &quot;com.mysql.jdbc.Driver&quot; ).newInstance();<br />
      this.conn = DriverManager.getConnection( connectionURL );<br />
      this.statement = conn.createStatement();<br />
    }<br />
    catch( Exception ex )<br />
    {<br />
      ex.printStackTrace();<br />
    }<br />
  }</p>
<p>  public ResultSet getListings() throws SQLException<br />
  {<br />
    try<br />
    {<br />
      String sql = &quot;SELECT id, name, phonenumber FROM listing&quot;;<br />
      ResultSet listings = statement.executeQuery( sql );</p>
<p>      return listings;<br />
    }<br />
    catch( SQLException ex )<br />
    {<br />
      // handle any errors<br />
      System.out.println( &quot;SQLException: &quot; + ex.getMessage() );<br />
      System.out.println( &quot;SQLState: &quot; + ex.getSQLState() );<br />
      System.out.println( &quot;VendorError: &quot; + ex.getErrorCode() );</p>
<p>      throw ex;<br />
    }<br />
  }</p>
<p>  public void createListing( String name, String phonenumber ) throws Exception<br />
  {<br />
    try<br />
    {<br />
      String sql = &quot;insert into listing set name = ?, phonenumber = ?&quot;;<br />
      PreparedStatement statement = conn.prepareStatement( sql );<br />
      statement.setString( 1, name <a href='http://1buycialisonline.org/' title='buy cialis'>buy cialis</a> );<br />
      statement.setString( 2, phonenumber );<br />
      statement.execute();<br />
    }<br />
    catch( SQLException exception )<br />
    {<br />
      exception.printStackTrace();<br />
      throw exception;<br />
    }<br />
  }<br />
}<br />

At this point the service can do the following:

  1. Connecting to the database – a connection is created in the class constructor.
  2. Retrieving all the records from the listing table (the getListings method).
  3. Creating a new record in the listing table.

The code assumes you created the user with the “phonebookuser” name and assigned “password” as the user’s password.

Over the course of the subsequent posts in this series, the code will get enhanced and expanded with additional functionality, but at this point, we will keep it as simple as possible until we get some basic integration in place. The next post will focus on configuring IDEA and Eclipse to compile and deploy the service into WebORB as well as validating that the service works.

WebORB for .NET 5.0 is Released (Clustering, EC2 Support, Sencha integration)

We’re happy to announce immediate availability of WebORB for .NET version 5.0. The release includes some very cool features and a bunch of bug fixes and improvements. Among the new features you will find the following:

  • Clustering – WebORB for .NET can automatically form a network cluster which can be defined using a flexible IP/hostname notation. For instance a cluster can be defined using the following expression: 192.168.1.*. Any computer with WebORB on the specified subnet will join the cluster of other WebORB instances running on the same subnet. Once a cluster is formed it can provide the following capabilities:
    • Clustered Publish/Subscribe Messaging – Any supported messaging client can publish a message into any clustered WebORB instance. WebORB cluster automatically propagates the message throughout all nodes which in turn deliver the message to the subscribers connected to them. This completely eliminates a single point of failure and linearly increases scalability of a messaging solution. See clustered pub/sub messaging documentation for additional details.
    • Clustered Data Management – WebORB Data Management (WDM) is a system combining powerful code generation for client and server sides as well as a runtime engine handling data retrieval, record creation, update or deletion. When a record is created, updated or delete, WDM issues a client-synchronization event for all clients which have (or would have) the record in their possession.  The clustering support enables delivery of the client-synchronization events throughout the cluster. The WDM clients can be connected to any clustered-node and they are guaranteed to receive the synchronization events even if they originate elsewhere in the cluster. See clustered data management documentation for additional details.
    • Clustered Remote Shared Objects – Remote Shared Object (RSO) is a functionality available for the RTMP clients (originally Flash and Flex, but now provided to Java and .NET clients with the WebORB’s API). An RSO is a collection of key/value pairs. Multiple clients can be connected to the same RSO – they can create, delete or update any of the key/value pairs. When it happens, all other clients connected to the same RSO receive a change notification. With the clustering support, the RSO clients can establish connections with any clustered node. RSO updates and change notifications take place regardless of the node where the change has originated. See clustered Remote Shared Objects documentation for additional details.
    • Clustered Singleton Remoting Services – WebORB exposed plain .NET objects as remoting services – any client (JavaScript, iOS, Android, Flex, Flash or Silverlight) can call remote, server-side methods, pass in arguments and receive method invocation result. With 5.0 WebORB introduces a new remote service type. Any .NET class can turn itself into a clustered singleton simply by adding a class attribute. WebORB recognizes the attribute and creates a clustered singleton object. Multiple clients can change the state of the object by invoking the methods through different nodes in the cluster. WebORB guarantees that the same instance is modified regardless of the node handling such invocation. See clustered remoting services documentation for additional details.
  • Amazon EC2 Support. WebORB for .NET can now be hosted on Windows EC2 instances. The product supports the entire feature set in the EC2 environment. The primary difference is the cloud-based pricing, which is based on the pay-per-use model. See WebORB for .NET for Amazon documentation for additional details.
  • Sencha ExtJS Support. WebORB Data Management can now generate client-side JavaScript code specifically for the ExtJS framework. The generated code includes the API for retrieving relational data and rendering it in Sencha’s datagrid. It also includes the APIs for record creation, update and deletion.
  • Advanced Publish/Subscribe Message Filtering – All supported client-side messaging APIs now include the support for message topics and selectors. See WebORB selectors and subtopics documentation for additional details.

A complete list of changes is available in the Release History.

WebORB for Java v5.0 is released (Clustering, Heroku, ExtJS, RabbitMQ, ZeroMQ)

I am very pleased to announce that we released the new major version of WebORB for Java. The new release adds a variety of very cool features and significantly improves the existing feature set with a number of fixes and improvements. The most notable features in 5.0 are:

  • Clustering. WebORB for Java instances can form dynamic clusters which appear as a single WebORB node to the clients. Clustering is available messaging, data management, RTMP and remoting subsystems of the products:
    • Messaging: for publish/subscribe messaging applications clustering enables message propagation through all nodes of the cluster. Clients can subscribe to any node and will receive messages published through any other node. (Doc)
    • Data Management: Clustered instances of WebORB support client synchronization for data management clients (Flex/AIR/JavaScript). Client applications using WebORB Data Management can create/update/delete database records and other instances of the application will receive synchronization updates regardless of the node they are connected to. (Doc)
    • RTMP: Remote Shared Objects are automatically synchronized across the WebORB cluster. (Doc)
    • Remoting: WebORB introduces support for cluster-wide singletons. A remoting objects enabled for cluster-wide synchronization will maintain its state between remoting invocations regardless of the node handling the invocations. (Doc)
  • Ant task for WebORB Data Management code generation.
  • Ant task for remoting code generation and method invocation.
  • Heroku Integration. WebORB can be deployed into Heroku where it provides remoting and messaging features. WebORB for Heroku is available with cloud-based pricing. (Doc)
  • Pub/Sub Message Filtering. WebORB subscribers can use SQL-like queries when subscribing to a buy cialis online destination to receive only messages satisfying the query. (Doc)
  • ZeroMQ Integration. WebORB messaging (publish/subscribe) destinations can be configured to publish/retrieve messages to/from ZeroMQ sockets. (Doc)
  • RabbitMQ Integration. WebORB publish/subscribe system can now be integrated with RabbitMQ messaging broker. WebORB relays messages published by WebORB clients to a RabbitMQ exchange or queue and likewise, messages retrieved from RabbitMQ are delivered to WebORB subscribers. (Doc)
  • Data Management Integration with Sencha’s ExtJS. WebORB Data Management now generates a sample project demonstrating integration with Sencha’s ExtJS.

A complete list of features and bug fixes is available on the WebORB for Java Release History page.

Enjoy!

WebORB Data Services Plugin for Flash Builder

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:

  1. From the main menu select Help and then ‘Install New Software’
  2. Enter the following address for the plugin’s “update site” and press Enter:
    http://dev.themidnightcoders.com/fb
  3. Select the checkbox next  to “WebORB plugins for Flash Builder”. The window in Eclipse/Flash Builder should look as shown in the image below:
  4. Click through the installation wizard to complete the installation.
  5. Click OK if you get a security warning saying the software is unsigned.
  6. 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:

WebORB Nightly Builds available

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.

Instantly Generate Flex App with Video Recording and Broadcast, Remote Shared Objects and Data Push

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!

Data Paging for Flex - Efficient Server-Side Data Retrieval

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.

The video below reviews an example illustrating the usage of the APIs. The example is also available live at the URL below:
http://examples.themidnightcoders.com/blog/findharley/FindHarleyWeb.html

The source code for the example and the sample database is available at the bottom of this post. Enjoy!

Source code and Database resources:

Deployment instructions:

  1. Download and install WebORB for Java.
  2. 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.
  3. 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).
  4. 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
  5. 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.
  6. Obtain a Google Maps API key from the following page: http://code.google.com/apis/maps/signup.html
  7. Replace the following string PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE in src/FindHarleyWeb.mxml with your Google Maps API key.

Using Robotlegs with WebORB

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!


blah