Application embedding is a technique for developing web applications. It divides the implementation of an application to two artifacts:
- A host application – a platform that is agnostic of any particular application, and
- the application’s definition – specifying one particular application in a declarative manner.
FishTank is an example of a host application for application embedding. In this demo we present our work in progress on Axiom, a host application for application embedding as an alternative to Fishtank. Axiom (similar to FishTank) is based on the a conceptual data language called Cloudlog. However, Axiom (unlike FishTank) uses Clojure both as its host language and as its implementation language.
The use of Clouldlog-over-Clojure instead of Cloudlog-over-Cedalion (as done in FishTank) brings several important benefits. First, Clojure makes Axiom potentially more approachable for developers than FishTalk which is based on Cedalion. Second, Clojure has a rich ecosystem that can benefit both the implementation of Axiom itself, and both the applications built on top of it. Third, Clojure is compiled to Java Bytecode and runs on the JVM, making it (and in particular, rules written by developers on top of it) run much faster than rules written in Cedalion. Fourth, Clojure’s integration with the Java ecosystem opens the door to using big-data platforms (specifically, we use Apache Storm). The use of Clouldlog-over-Clojure also presents new challenges. Clojure (like most LISPs) is homoiconic but impure. To allow Cloudlog to be correctly defined over Clojure we had to create a pure subset of Clojure, which we call permacode.
The demo will provide an overview on application embedding and will compare the embedding of simple applications in FishTank to their embedding in Axiom.
Wed 5 Apr
|13:30 - 14:15|
Michal BystrickýSlovak University of Technology in Bratislava, Valentino VranićSlovak University of Technology in BratislavaMedia Attached
|14:15 - 15:00|