back to blog index..

Ilybra: introduction

May 28, 2005

Finally I'll start column on Ilybra application. A lending library system for lending books to readers, managing books and copies, printing reports, keeping history of reader's lendings and of course searching capabilities by different search categories. All based on PAT framework.

Numbers of systems' data for your information (as of 1997 - May, 2005, data has been imported from former system):

..and all this fits in my PC's RAM (the small 1G). Surprising, isn't it? ;)
Note: system is ready for numbers 10 times bigger and was tested with that amount of data. And searching speed wihout optimisation rocks! You do heavy loading of your system before implementing, don't you?

This is "an enterprise-class system".

Ilybra is entirely based on POJO model - and this is most important and unique. What's unique that persistence is invisible. There are no mappings, no tables. The only requirement to the POJO model is to annotate transaction-methods and business objects (BO) - one line of code:

/** @@pat.transaction */
public void removeBook(Book book, DateRepresentation removalDate)
{
    books.remove(book);
    removedBooks.put(book.getId(), book);
    book.setRemovalDate(removalDate);
    ...
}

Ilybra uses Jakarta Struts for presentation layer, Log4J for logging, works on Tomcat or JBoss AS. Tests are made with plain JUnit. Regression tests and load testing are done by Jakarta JMeter. Ant helps with one-click distribution creation, iText generates PDF documents on the fly, CSS supports printing.

Custom aspects take care of:

And this is reality - Ilybra exists and has a good time working our Intranet in a testing and bug discovering phase (as of 30 May, 2005). As soon it will be available on-line, I'll tell..

Why aspect oriented way?
This is pragmatic way, more. I do nothing for show. I do it because simpler software means you have to look for concerns, separate them and merge together (refactor?). And you have to do it all the time - well I do it this way.
Aspects are the most suitable way for developing this kind of applications nowadays.

And application is a set of crosscutting concerns, right? :)

Read more about Why aspect orientation?

Designed with CSS| Get Firefox!| | Opel Omega Forum|

Copyright © Tomasz Nazar 2007
Revision: $Id: blog_ilybra_introduction.gtml 3768 2005-07-25 23:47:33Z nthx $