TopBraid Live: Rich Semantic Internet Applications with Flex
Rich Internet Applications (RIAs) run inside web browsers and provide a much more dynamic user experience than conventional web pages. While traditional HTML-based pages require a full reload of the page when the user clicks on a link, many modern web pages only reload parts of the page and provide animations to dynamically navigate through an information space.
There are several platforms to implement such dynamic web pages, for example AJAX, Flash, Java FX, Microsoft Silverlight, OpenLaszlo, XUL. These platform all share a similar programming model that mixes declarative (XML) elements to describe the layout of user interfaces with some imperative scripting to define the application's behavior.
For our newest Semantic Web tooling platform TopBraid Live we had to pick one of these technologies. The goal of TopBraid Live is to serve as development platform for Rich Internet Applications based on server-side Semantic Web models. TopBraid Live provides the whole server-side infrastructure to store and query RDF/OWL data, and a comprehensive client-side API including a library of out-of-the-box components that make creating web applications easier.
After evaluating AJAX and OpenLaszlo for a while we have finally chosen Flash, in particular Flex 2 and ActionScript 3 as the primary foundation for the client-side API of TopBraid Live. In our experience, Flex is the best available technology that is widely deployed and comes with all the flexibility that one would expect for true Rich Internet Applications. In particular we appreciate the nice object-oriented model and strong typing that makes ActionScript 3 code as maintainable as Java or C# code - unlike JavaScript with all its browser incompatibilities and ad-hoc constructs.
Today we are thrilled to announce the first comprehensive Semantic Web API for Flash. The TopBraid Live API provides a comparable data model to Java libraries such as Jena and Sesame. The triples and nodes in the data model are automatically synchronized with the server in a highly scalable architecture. Data is loaded as the user browses through the Semantic Web model, and triples and nodes are cached on the client, avoiding to continuously reloading everything. We provide some abstraction layers to run queries to back user interface components. Many UI widgets such as trees, tables, forms and graphical browsers come out-of-the-box as part of TopBraid Live.The screenshot below shows TopBraid Ensemble, a multi-user Semantic Web browser and editor/wiki based on TopBraid Live (click on the image for a larger view).
In order to use TopBraid Ensemble, you need a TopBraid Live server to manage your RDF/OWL data stores (in whatever format you chose). You can configure which models are visible (and editable) by which users. The users can then log in and either navigate through the model or edit parts of it. The tool also provides search capabilities and even a graphical browser.
I believe that these capabilities and the smooth integration with TopBraid Composer as a professional development tool will make TopBraid Live one of the primary Rich Semantic Web Application platforms on the market.