What is Somutag ?

Somutag is a set of high level web graphical components. It focus mostly on providing components for web buisness application. Historicaly, the first component featured by Somutag is a sortable and pageable table component, but other usefull components like calendars and so on are on the focus.

For wich technologies ?

Somutag primary intend to feature components for the Java Server Page technologie. But an effort is made to keep client-side artifacts (javascript) independent from server implementation. So, for example, you can reuse the sort table javascript very easily with any server techno (asp, php, static-html,.....).

No integration with JSF technologie is planned yet.

Depencies with other frameworks

Somutag do not depends on other web Frameworks, but it can be used with any wich use the JSP technologie (Struts / Tiles, SpringMVC, JSF, ...). We try to have as few dependencies as possible.

Why Somutag ?

There's already several popular web frameworks (Struts, SringMVC,...) that provide their own tag library. But those are low-level tags that do not provide out-of-the-box solutions as tables, date-picker, .... Struts-Layout provides such tags, but it is tied on Strust framework and have a little bit restricted license. The Display Taglib project provide a Table component but it not use of client-side capability of the browsers. So Somutag aims to provide high level web rich-client component taglibs, usable with any Framework.

We prefer focus on the quality of a few components rather than on providing an exausting set.

In what we believe ?

From the developers point of view

  • A good component must be simple to use
  • A good component must act as transparently as possible and hide the underlying technologies
  • A good component must have good and parameterable defaults (need to set as few as parameters as possible)
From the end-user point of view
  • Components must have a (rich-client) look and feel (limitation of server calls)
  • Components look and feel must remain consistent
From the Architect point of view
  • The component must not be tied with the usage of another server techno (only JSP)
  • Use the enhanced browser features like javascript and DHTML
  • Prefer client-side solution over server-side solution (e.g. sorting)
  • Use cross-browser javascript that work with I.E. and Mozilla
  • Keep the possibility to use a server-side solution instead of a client-side solution
  • Keep as few things as possible in the HttpSession (session replication issue)