Categories

  • people from to throw things at?? How about people who will split their paychecks? That would count.. F.ing lame!
  • An excellent post on delivering real-time updates from .NET to JavaScript via WebSockets by using WebORB for .NET: http://t.co/8ONjyw59
  • We're working on some cool samples demonstrating Sencha component integration with WebORB's websockets and data management. Stay tuned.
  • For all Flexers out there, check out the following blog post, looks like a problem in ArrayCollection serialization: http://t.co/qbZuTEhy

Archives

WebORB webinars for Java and .NET

We have done several webinars over the past few months. The webinars are uploaded to the Midnight Coders YouTube Channel. To make it easier to navigate to the webinars and between the their parts, we added pages on our site with the links to the recorded videos. You can access these pages at:

WebORB for .NET webinars include:

  • Android and WebORB for .NET
  • WebORB in the Cloud (integration with Microsoft Azure)
  • Flex and .NET video streaming, video recording, remote shared objects and data push

WebORB for Java webinars include:

  • Android and WebORB for Java
  • WebORB for Java 4.1 overview
  • WebORB in the Cloud (integration with Google App Engine)
  • What BlazeDS cannot do (WebORB as an alternative to LCDS and BlazeDS)

Multi Client Messaging Code Generation

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, include APIs 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!

WebORB Data Management for JavaScript overview (video)

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!

Transcoding audio and video from browsers and devices

In addition to being a remoting and data management server, WebORB is also a powerful data/media server. It includes an implementation of the RTMP protocol which enables client supporting the protocol to transmit data messages or audio/video data between the client app and the server. One of the examples of data messaging is support for Remote Shared Objects. As for audio and video, any Flex or Flash client, running either in a browser or on a mobile device, can publish a video stream from the camera and audio stream from the microphone and the server will either record the stream or rebroadcast it for others to receive. A frequent request we received was for an ability to transcode the published streams on the server into other formats. We exposed the API enabling that feature in version 4.4 of WebORB for .NET. To see a concrete example for this feature, please see the WebORB and Speex codec article. The article includes the information about the APIs as well as a complete project for converting published speex data into a .wav file.

WebORB v. 4.4 for .NET is released

I am very happy to announce that WebORB version 4.4 for .NET is now available for download. This is a very cool release packed with a bunch of awesome features. Here’s what you will find in 4.4:

  • WebORB Data Management for JavaScript - 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. To see this new feature in action, download and install WebORB for .NET, open the management console and select the Data Management tab.
  • Publish/Subscribe Code Generators - In addition to remoting and data management, WebORB is also a very powerful messaging engine enabling publish/subscribe integration for a variety of client technologies. The new version lets you easily generate Java, Flex, JavaScript, Silverlight and Windows Phone code demonstrating the usage of the WebORB’s publish/subscribe API. To see this in action, download and install WebORB for .NET, run the management console, select the Messaging Server tab. You will see a list of messaging destination. Select a destination and switch to the “Code Generation” tab.
  • Code Generator for the RTMP features – WebORB for .NET provides an implementation of the RTMP protocol and enables many cool features for the RTMP clients. These include video streaming and recording, remote shared objects and data push. With the new release of WebORB we added a very cool code generator which can create a demo app for your messaging/RTMP application to see all these features in action. To experience the feature, run the management console, switch to the Messaging Server tab, select an application and switch to the Code Generation tab.
  • Remoting for Windows Phone (with Code Generation) – Our goal is to provide universal connectivity support for all major mobile operating systems. With this release we added remoting and messaging support for Windows Mobile clients. The remoting integration enables Windows Mobile apps to invoke methods on plain .NET objects, WCF services, Spring.NET beans and SOAP web services through WebORB. To make this integration even easier we added a code generator which can create both a remoting library and a demo application demonstrating the APIs. To experience the feature, run the management console, select the Services tab and locate a service to generate the code for. Select the “Silverlight” option in the list of code generators and make sure to select the “Create project files” checkbox. The generated code includes a Windows Mobile Visual Studio project.

We plan to create short videos demonstrating this new and exciting features. We will be posting them to the Midnight Coders YouTube channel as well as this blog. Meanwhile, download the new release and let us know what you think.

Accessing remote shared objects from Flex with WebORB for .NET

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)”.

Here is the link to the full tutorial:

http://www.adobe.com/devnet/flex/articles/flex-dotnet-remote-shared-objects.html

Integrating Flex Applications with NHibernate

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

Pushing Data from Flex to .NET Using WebORB, Apache NMS and ActiveMQ

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

Debugging Flex/.NET apps using Visual Studio

In my previous post on the subject of developing Flex/.NET apps in Visual Studio, I introduced the integration with SapphireSteel’s Amethyst we recently added in WebORB for .NET. The combination of the two products provides the most ideal development environment to anyone who already uses Visual Studio and builds Flex/Flash/.NET applications. One of the strongest advantages of unifying your Flex and .NET development environments is that you can use the same instance of Visual Studio to debug your client-server application. The video below reviews the process of setting up the debugger to hit the breakpoints in ActionScript and C# code from the client and server-side projects. Enjoy!

WebORB Messaging Webinar followup (Flex, .NET and RTMP)

We conducted a webinar last week on the topic of using RTMP Messaging and Streaming using WebORB for .NET. The webinar recording is now available online in the Midnight Coders YouTube Channel.

The source code for the sample projects reviewed in the webinar is available below: