Aribaweb — Create applications with less number of code

Keleno
Keleno
Published in
3 min readJun 10, 2021

Aribaweb is an opensource framework from Ariba.inc which is a framework for development of Rich Internet Applications (RIAs). AribaWeb enables the creation of rich, interactive applications with far less coding effort than alternative web application development frameworks. Given a set of UI-agnostic Java or Groovy domain classes, AribaWeb can apply rules to the available meta-data and instantly derive a fully functional application, all without a single line of application UI code.

Developers use X-Ray to see through running application UIs, getting visibility to the active hierarchy of components behind the scenes. Further, with Live Edit, developers can use drag and drop to alter the UI layout and property sheets to tweak rules right in the browser. All changes take immediate effect in the live application. The AribaWeb distribution provides a full stack for the development of database-based business applications, including a deep library of UI widgets (forms, pivot tables, charts, rich text editors, etc.), as well as bindings to a bundled Object-Relational Mapping (ORM) database framework. It also supports deployment in a variety of J2EE environments. Version 5 of AribaWeb is available for immediate.

Also aribaweb is a javascript hating framework. Aribaweb not recomended to implement javascript code in side the ariabaweb template. They told that by default they done the all necessary javascript things internally. So you dont need to specify it explicitly

Let us findout the major components contains in aribaweb development stack

1. AribaWeb — Core

Aribaweb contains the templates files which have the extension of .awl and these files contains html and aribaweb specific tags. Below shows a simple example of aribaweb framework. Which contains a java file and awl template

AWL Template

<a:PageWrapper hasForm="$true"> <h1>Hello <a:String value="$userName"/>!</h1> Who are you? <a:TextField value="$userName"/> <a:SubmitButton/> </a:PageWrapper>

Java Code

package app; import ariba.ui.aribaweb.core.AWComponent; public class Main extends AWComponent { public String _userName = "Anonymous"; }

Here the values are template values are automatically binded to the backend and changes are done dynamically using ajax. Aribaweb core comes with core components like textfield, textarea, label …etc. Aribaweb core components are represented in aribaweb template by the syntax a: (<a:TextField …>)

2. Widget

Those are the Higher level UI components for building AribaWeb applications. These are represented by w: continued by the tag name. Ariba widget includes Layout components (PageWrappers, TabSet, SectionHead/Body, PortletWrapper), Controls (PopupMenu, Chooser, Calendar), Validation display / navigation UI (ErrorFlag, …), DataTable, PivotTable and Tree/Outline support …etc

3. MetaUI

Aribaweb is a Meta-data driven UI framework, built on the full AribaWeb stack for generating complete user interfaces “on the fly” based on various sources of meta data (java class introspection, annotations, and “.oss” files). Uses CSS-like “multi-dimensional selectors” to contextually specify properties. Supports generating forms (with validation), tables, as well as global application navigation (e.g. nav tabs) and actions (global and instance-level)

4. MetaUI with JPA

MetaUI to a Java JPA-provided persistence engine (powered, by default, by Hibernate). Business objects can be annotated with JPA annotations (e.g. @Entity, @OneToMany, etc) and JPA with generate a database schema and support persisting and retrieving object instances. MetaUI-JPA further processes these annotations (and those for the Compass search framework) to create MetaUI rules that influence the generated UI.

Aribaweb official website: http://aribaweb.org

Read similar articles from Keleno

Follow us on Linkedin

Visit Keleno | Facebook | Twitter

--

--

Keleno
Keleno
Editor for

We specialize in solving problems that matter by applying technology and innovation at scale. Stay tuned for updates !!