Skip to main content

IBM Cross-Organizational Application Collage Programming Model

A declarative programming model and supporting run-time environment expressly geared toward building and deploying cross-organizational software as compositions of Web components.

Date Posted: May 6, 2008

alphaworks tab navigation

1. Your data model is based on RDF (Resource Description Framework). Where can I find out more about RDF?

A good general introduction to RDF is available from the World Wide Web Consortium (W3C): Resource Description Framework (RDF): Concepts and Abstract Syntax.

2. Is there related work on using RDF for Web-based applications?

There are libraries that provide RDF-based query and notification functions usable from Web frameworks such as Ruby on Rails, PHP, and others. One example is described in the following article by Oren, E., Delbru, R., Gerke, S., Haller, A., Decker, S. (2007): "ActiveRDF: Object-Oriented Semantic Web Programming," Proceedings of the 16th international conference on World Wide Web, pp. 817-824.

Note that such libraries, to our knowledge, do not implement the cascade-oriented, data-driven execution model of IBM Cross-Organizational Application Collage Programming Model. They are lower-level frameworks suitable for use in conventional procedural, not data-driven, languages.

3. How does the use of this language to construct Web applications, and particularly their user interfaces, relate to current technologies such as common Web containers (JEE, .NET)?

Current Web design practice involves one programming model on the server for generating mark-up and script, and another on the client for execute them. This split forces very early and rigid design decisions in partitioning applications to suit a given network topology.

Our approach allows a uniform end-to-end specification language, allowing for flexible retargeting and redeployment of components as desired. Function originally developed for the server might be migrated to the client to aid performance. Conversely, function originally prototyped on the client might be migrated to a hosted, server-based environment for larger-scale, managed deployment.

4. What is the relationship with existing constraint-based languages such as XForms?

XForms is an existing, declarative, data-driven language for Web applications. We build on and generalize many of the familiar concepts from XForms to produce a uniform programming model across all application tiers. The XML tree-based MVC (Model View Controller) design of XForms is made recursive and generalized to RDF graphs. The concept of view-model and model-model binding is expanded to a general-purpose computation model based on resource-to-resource binding. Data-driven user interface instantiation is generalized to declarative resource instantiation. The event-driven execution model of XForms is simplified and regularized by our data-centered, update-driven execution model.

Trademarks




Related technologies