The Marbles Smartware Platform is the name for a framework and also an approach for developing web applications. Marbles Smartware Platform uses Tiny Marbles as the core module and therefore all the advantages a flexible object repository provides, so with the help of the platform we are able to show what you can actually do with the Tiny Marbles framework.
Technically speaking, the Marbles Smartware Platform is a web application framework with standard components for authorisation and search including a basic framework which takes care of the specific business logic.
One of the main concerns of software development today is to be able to quickly build a quality application. We help you to reach that by providing additional ready-to-use modules: a basic user management system with actions, authentication and Freemarker template macros. An example of a complete web application in form of a content management system is also available, as well as a lot of documentation: a tutorial, technical documentation and our JavaDoc.
And there is more: The 'Marbles Smartware Platform' stands for a specific approach and a philosophy. We believe that our developers, or better, software engineers, are smart and therefore should do meaningful work. The philosophy of Tiny Marbles has this as a fundamental idea and describes this approach, which can also be referred to as 'from prototyping to production environments'.
Two main target groups for the Marbles Smartware Platform
Smart developers or software engineers:
They should use the Marbles Smartware Platform to find out WHAT they can actually do with Tiny Marbles. They can download the platform for a quick start for their new project, read the tutorial and the documentation to quickly understand what they need and access the toolset which contains an expressive API for meaningful work, avoiding repetitive and unnecessary tasks.
IT consultants, IT architects and marketers:
They should use the Marbles Smartware Platform for a new approach: prototypes which act as the cornerstone of the real production environment. They should embrace the changes needed because of uncertain requirements and use a user centred approach, where changes in the GUI and business logic are predictable and easy to be made. In other words, we are talking about lowering costs by having a better quality and more flexibility at the same time. Take a look into Tiny Marbles to understand HOW it is possible!
The components of the Marbles Smartware Platform
As mentioned before, the core module is Tiny Marbles – our flexible object repository. Assuming that the whole new software project should be built on Tiny Marbles, the first step would be to download the Tiny Marbles library, read the documentation and start modelling your new business model, right?
No, there is a better way!
If you intend to build a complete web application where a user management system is required, we recommend you to download MUM and start with the tutorial. The advantage: you already get a complete working environment for your web application project, from authentication and validation, to a structure for putting the specific business logic and authorisation. The Integrated business logic for basic features of the user management system with related Freemarker macros makes it even easier to start immediately. The Freemarker macros are well documented and provide tree support, Drag & Drop and Ajax support as well.
CMS
The Content Management System is a web application based on Tiny Marbles. It provides features like article management with two default templates, a complete powerful image library and user, group and permission management. Take a look at the documentation or try it out (username: cmsguest | password: cmsguest)!
Basic actions and basic authentication
The basic authentication uses the servlet container session object and is done by a Servlet filter. The basic action uses the interfaces from XWork and specifies a pattern where you can put very easily your specific business logic, the code for validation and for authorisation. This improves the quality of the application by making the developers use always the same pattern. This way, Debugging gets very simple and the source code is easy to understand regardless of which team member wrote it.
MUM
MUM is a basic user management system and our Tiny Marbles based reference web application. After downloading the MUM package you have everything you need to start your new web application project immediately.
MUM means 'Marbles based user management system' and it provides basic user management features likes zones, users and groups. It was our intention to provide a basic Tiny Marbles based system to show how easy it is to extend the existing user management systems to fit the specific needs of a new project. Thanks to Tiny Marbles it is now easy to go from a user management system for social software to a user management system of a complex business application
MUM Tutorial
It describes how to install MUM, shows the basic features of the user management system and demonstrates how you can easily extend MUM to your specific needs. Step by step you learn how to work with Tiny Marbles, with the Command Pattern based on XWork. You can see where to put the validation code and how you integrate Talos for authorisation. Basically it is not only a MUM tutorial nor a simple Tiny Marbles tutorial: it is more the tutorial about the components of the complete Marbles Smartware Platform, how you can use them and how they are related with each other.
Talos
Talos is our easy to use and very powerful authorisation engine. Our MUM distribution already includes Talos and the MUM tutorial shows how great it is to handle authorisation with this module.
The slogan: Talos – the expressive authorisation engine!
Luigi
Luigi is a small connector to the Open Source search engine Lucene.
Luigi has many features, including providing an asynchronous event mechanism where you can inform your index files about changes without re-indexing the whole file. This is very helpful when you want to index all users of your user management system and show the user list from the index file. If there are changes, for example adding, deleting or editing a User object, you can inform Luigi and he can update the index file for just this specific data set, saving work and time.
As everything related to our Marbles Smartware Platform, Luigi is also very easy to use and has a very good documentation available here.
Freemarker Macros
In the beginning, we thought about generating the templates automatically, but we learned from our projects that we always need to change the templates according to our client’s requirements and CI. So, we decided to use the Freemarker Macros and it has been extremely helpful and powerful.
Take a look for yourself in the documentation.