Showing posts with label JEE. Show all posts
Showing posts with label JEE. Show all posts

Wednesday, May 16, 2012

Statement driven development WYSIWYG for REST

In my previous article, I mentioned that minuteproject will have statement driven development features.
This page I disclose the potential of SDD while developing REST application.
Regarding the technologies I take:
  • REST with CXF
  • Spring Bean for DAO
  • JPA2 as persistence layer
Original WYSIWYG is revisited into What You STATE Is What You Get.

As fundamentals you need a Statement with is surrounding I/O.
The model against which the statement is applied is important but secundary.

As example for SQL, I take 3 queries:
  • select * from address where latitude between ? and ? and longitude between ? and ? and lcase(city) like ?
  • select * from address where addressid between ? and ?
  • select * from address where lcase(city) like ?
Those queries must be given 
  • a name
  • an input (replace question marks by sample value and provide name)
  • an output (deduce from the metadata recieved after executing the query)
And basically that's it.

Tuesday, November 22, 2011

MinuteProject Telosys impedance matching

This article is to review couple of technical points of both generators, and see the different possibilities of integration.
My perception of Telosys is for the moment limited to what I learned at Devoxx presentation and what I've tried, so if I miss things, be keen to notify.

Telosys
  • Code generator
  • Based on DB
  • Performs enrichment via GUI(Eclispe plugin) in a phase called repository
  • Generates for a target framework (JEE, Ajax) developped by Telosys Team
  • Generates artefacts for entities (table) 
  • Metadata of template (name, ...) are store in text file
  • Use Velocity as a template rendering engine
Telosys goodies
  • JPA2 artefacts handle one2one relationship (not yet covered by minuteproject)
  • Telosys Plugin makes enrichment easy
Telosys neural
  • Targeting a specific 'Telosys Framework' solution as pros and cons
    • Pros 
      • fully customized
      • all in one inside IDE
    • Cons 
      • dev. burden on a team
      • no market place recognition
      • reusability of templates might be poor
Minuteproject
  • Code generator
  • Based on DB and WSDL based (next release: 0.7)
  • Performs enrichment via Configuration file or via a console
  • Generates for a range of market-place technologies
    • Spring/hibernate/ibatis/JPA1/JPA2
    • Openxava
    • Play
    • Grails
    • Roo
    • REST
    • Primefaces
    • FitNesse
    • ...
  • Generate for artifacts at 6 levels
    • Entity (tables/views)
    • Field
    • Package
    • Model
    • StoredProc
    • Application
  • Generated code can be updated and modifications are kept over consecutive generation
  • Metadata of template (name, 20 other attributes) are store in xml file 
  • Possibility to define convention:
    • Ex: view do not have PK but it is possible to define some individually or globally by applying a convention called 'apply-default-primary-key-otherwise-first-one'.
  • Use Velocity as a template rendering engine
Integration investigation tracks
Here are couple of feasible tracks under investigation:
  • Integrate Minuteproject tracks into Telosys
  • Add Telosys target as a MinuteProject 4 Telosys track
  • Add Telosys Plugin over Minuteproject generator