Stash
Stash is Can Factory’s in-house object/relational persistence layer. It provides a simple and powerful API for automatic persistence of Java objects to any database that can be accessed using a JDBC driver, and underlies much of the technology built by Can Factory.
Its features include:
- Works with POJO (Plain Old Java Objects), meaning that objects to be persisted do not need to extend a specific interface.
- Mappings are defined through simple, yet flexible, XML configuration files.
- Automatic schema creation means new applications can be quickly created
- Currently supports Oracle, MySQL and HSQL databases, but can be extended for any other JDBC compatible database.
- Filter for use with Servlet-based projects provided.
- HiveMind service factory also provided.
- Built-in database connection pooling available
- JNDI compatible
- Testing frameworks for JUnit and TestNG supplied
Mantis
Mantis is Can Factory’s E-Commerce toolkit. It contains many modules and utilities which can be combined together to create powerful E-Commerce applications.
Current features include:
- Catalogue module provides an API and data objects for catalogue management.
- Shopping basket
- Flexible payment system provides simple integration with any payment provider (currently supports WorldPay and ePDQ).
- Unique payment queue application allows orders to be accepted even when the payment provider cannot be reached. Payments are then processed when they are back online, meaning that orders need never be lost through downtime.
- Supports integration into back-office order management system.
- Promotion engine provides a flexible way of offering discounts and voucher systems.
- Stock control system allows integration with fulfilment services to reflect real-time stock status online.
- Returning customers can be recognised (implemented using Scarab modules).
All Mantis features can be extended to support specific client needs.
Scarab
Scarab is Can Factory’s user registration and authentication system. It provides APIs and data objects for registering and authenticating users. Profiles for people can be defined (and linked to Users, if required), containing contact information, address books, data protection flags, etc.
Scarab also supports a number of address verification systems, including QuickAddress and Capscan.
Current features include:
- User authentication (with pluggable authentication modules to allow any external authenticating service to be used, including LDAP, database, password files, etc).
- People profiles, including addresses
- Address verification using QuickAddress, Capscan or any other service.
- User groups and roles to allow for fine-grained authorisation.
- Payment profiles linked to people can be set up, providing encrypted credit card storage and recall for recurring payments.
Mesh
Mesh is an extended framework built on top of the Tapestry web framework. It provides a flexible resource/function authorisation control system, as well as many useful Tapestry components.
Mesh is intended to be used for web applications – i.e. “real” applications that would normally have been developed as installable desktop systems, but are now deployed over the web. To this end it provides AJAX support for faster, more responsive systems, whilst still ensuring that all features are available to non-Javascript enabled browsers.