Hello

The Norther Organization has released Tammi 1.0 open source development
framework for web applications at http://tammi.sourceforge.net/.

Tammi's design is based on the ideas by Jason et al. presented during
planning of features for Turbine 3, i.e. a pipeline and valve based
template processing, dynamically configurable service framework and
jar based plug-in components. However, instead of being compatible
with earlier versions Turbine, we decided to apply new solutions
to speed up development. Hopefully, these solutions can be utilized
back in Turbine in one form or another.

The main differences between Tammi and Turbine are:

Tammi's uses Sun's JMX as its service framework. As JMX provides a
generic server for any kinds of objects, Tammi implements all of its
logic, including filters, connectors, user interface variables, etc. as
JMX MBeans. This also frees services from being singletons.

Instead of proprietary pipelines, Tammi uses the filter chain mechanism
of Servlet API 2.3. As Servlet API specifies only interfaces, we have
simply extended them to implement Pipe Filters, Branching Filters,
Secure Filters, etc.

Instead of the RunData class, Tammi sticks to Servlet API's
ServletRequest and ServletResponse interfaces and wraps them with filter
specific implementations when applicable. Extensions are provided by
saving extension objects as ServletRequest attributes made available
through fixed attribute key naming.

A more detailed list of differences includes:

Services that are based on Turbine source are FactoryMBean, PoolMBean,
ContentTypeMapMBean, TaskLoaderMBean, TemplateEngineMBean and
VelocityEngine corresponding to FactoryService, PoolService,
MimeTypeService, AssemblerBrokerService, TemplateService and
VelocityService.

Filters that are based on Turbine source are ContextFilterMBean,
ActionFilterMBean, TemplateFilterMBean and LayoutFilterMBean
corresponding to PullService and TemplateService (TemplateService have
been split to several MBeans).

Services having about the same functionality as Turbine are
MBeanFinderMBean, LoggerMBean, SharedCacheMBean, SchedulerMBean and
ScripterMBean corresponding to ServiceBroker, LoggingService,
CacheService, SchedulerService and BSFService.

TerminalFilterMBean, LocaleFilterMBean and ResourceFinderMBean
correspond to an extended LocalizationService.

HTML form validation with FormFilterMBean corresponds to IntakeService.

Authentication is handled by HttpBasicAuthFilterMBean,
HttpDigestAuthFilterMBean, HttpFormAuthFilterMBean, HttpSspiFilterMBean
and TerminalAuthFilterMBean. The supported realms corresponding to
SecurityService include MemoryRealmMBean, JndiRealmMBean and
NativeRealmMBean.

Additional services and filters include support for concurrency
(ExecutorMBean, TimeoutMBean), support for relations (RelationMBean),
support for dynamic data types and their conversions (VariableMBean,
ConverterMBean), support for static content (ContentFilterMBean,
CGIBinFilterMBean), support for native libraries (LibraryMBean), and
support for an HTTP server (ConnectorMBean, SessionManagerMBean).

Missing support for persistence will be a plug-in based on OJB.
Preliminary versions are available at http://www.norther.org/.

Regards
     Ilkka Priha
     [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to