Thursday, August 8, 2013

Minuteproject facets for analysts

This article resumes the features Minuteproject offers to the analyst to perform a reverse-analysis of the application model.

Core

Minuteproject core functionality is smart reverse-engineering from a database.
  • Reverse-engineering means that you can deduce lots of artifacts based on the database schema structure.
  • Smart means that you can enrich the database elements individually or globally by convention to get the resulting artifacts finer (with added-value) instead of a default bulk solution. Examples:
    •  Your database objects can be:
      • packaged
      • secured
      • aliased (the name of your development object (in java) can follow different convention than those of your DB
Sample
http://minuteproject.blogspot.be/2012/05/rigajug-demo-2-jpa2.html
But Minuteproject is even more.

Views and alternative models

You can work with views conveniently by enriching them with primary key (a unique field will do) and foreign key (pointing to another table or view). This feature enables you to get quickly alternative model with a graph (parent-child relationship) that you can query.
An illustration is when you want to get a report grouping information per country/dept on one side and on the other side you have some report details.

SDD - Statement driven development

Why just reverse-engineer the structure? We can also reverse-engineer the statement (queries, store-proc calls etc...)
Statement-driven-development focuses on I/O: it goes back to the fundamentals and follow the philosophy WYSIWYG (What You State Is What You Get)
If you know how-to write sql, you are not far from having a REST application or any application in the track that support this feature (at the moment of writing Primefaces, ADF).

Sample
http://minuteproject.blogspot.be/2013/08/sdd-as-productivity-weapon-4-openxava.html

Transfer Objects

Sometimes, you need to have object that may not be persisted or completely persisted.
Example you want ad-hoc forms and actions where some info comes from the database some not.
Minuteproject offers you the possibility to describe and generate for those objects.

Sample
http://minuteproject.blogspot.be/2013/08/transient-definition-as-productivity.html