Discussions

News: Open Source RADtool 2.0 Released

  1. Open Source RADtool 2.0 Released (7 messages)

    RADtool 2.0 is an open source web application development tool/framework that consists of an MVC framework, meta-data driven code generator, a code library, etc.

    Check out RADtool 2.0.

    More info
    ------------------------------------
    RAD is intended to be an open source IDE with following broad features
    1. Provides a MVC framework (for java web-applications)
    2. Provides a code library
    3. Manages web application code vide its various tools
    4. In RAD most of the code is reduced to metadata.
    5. RAD is to have a very sophisticated presentation component editor for working with jsps (provide in next stage).
    6. It is to have a web and a Java Webstart based user interface for IDE screens.
    7. The output of RAD is functional MVC web applications that can be configured declaratively even after deployment. All that one has to do is reload the servlet.
    8. RAD tool is intended for java J2EE developers.
    9. RAD tool is currently available as a non-visual java tool. The existing RAD tool fully supports rapid J2EE web-application development.
    10. RAD tool is not about skeleton code with placeholder. Its about valuable functionality thats configurable declaratively.
    11. Its totally object oriented but the number of lines of code manually written are reduced to a minimal.
    12. The developer can concentrate on actual business logic.

    Visit / download RADtool at http://radtool.sourceforge.net/

    A brief instructions manual and some simple demo web apps and instructions on deploying them have also be provided.

    The tool development is planned in stages. Stage1 has been implemented and is ready. The other stages are to follow. Currently development is in second stage.

    Benefits of RAD:
    1. Less code to type
    1. quick development vide codegeneration and deployment descriptors for Java web-applications.
    2. in built MVC framework
    3. automatic server side validation
    4. in built error handling with multiple error schemes
    5. a code library that is reused by the generated code.
    6. flexible security
    7. It allows quick development of seperate components which coexist in the same MVC framework and work together to make the web-application.

    The user can now toggle the error-handling schemes transparently.

    RAD stages.
    1) Stage1: Development of the core tool (READY) with following features.
    a) Deployment descriptors (code metadata files) for
    i) Generating wrapper classes of different types and supporting containership i.e. wrappers that have wrappers as data members in addition to normal fields.
    ii) Generating builder classes that perform server side validation, error handling on form data and populate the wrapper class instances
    iii) Specifying handler properties which includes details like what builder to use, access roles (JAAS), what to do on successful validation, what to do on custom validation, what to do with the result obtained from the database or any other source.
    iv) Mapping web requests to a handler class
    v) Declaratively choosing whether security will be vide JAAS or session management.
    vi) Declaratively specify which roles (out of the permitted roles) can access which request when using JAAS.
    b) The user developer needs to code only the following.
    i) A handler class that extends a base handler class and provides implementation of specific methods
    (1) For business logic (database access etc),
    (2) Custom validation (if any that is not covered declaratively),
    (3) Formatting any success message (if needed)
    ii) Write the jsp, which uses the data sent to it by the handler.

    2) Stage2: additional features of the core tool.
    a) Providing a deployment property to choose between different error schemes for error messages.
    b) Provide object Inheritance in wrapper classes. Right now wrapper classes of RAD only support containership. Also needed is support for an equals() method.
    c) Incorporate JavaScript also in the output web-application
    d) Enhance a few other components in RAD framework
    e) Provide a very sophisticated (but unusual) presentation components editor for use with jsp taglibs.
    f) Provide a refresh control.
    g) Provide for ¬ďarithmetic¬Ē expressions in the builders.
    h) Provide a state machine for managing session specific information.

    3) Stage3: declaratively provide following.
    a) Persistence using a simple in-built persistence layer.
    b) Persistence with a standard JDO implementation
    c) Persistence with specific ejb servers for database access
    d) Manage LDAP integration

    Stage4: use RAD itself to build a J2EE web application and webstart application based IDE for managing the code and deployment descriptors.

    Feedback will be appreciated.

    I can be contacted at raghu121 at hotmail dot com

    Thank you.
    Raghu

    Threaded Messages (7)

  2. No bias here. I just had a glimpse into the project. The scope of the project is much larger than what one person can handle. How can you convince other developer to adopt your platform, Raghu? It looks more like a personal toy.

    Chimin
  3. Thank you, I know the scope is big.I think I can take it through stage II in the next two months. Frankly no developer is ever truly alone. Of the four stages I am currently at stage II. I believe once I complete stage II due to the richness in the growing functionality it will be appreciated.Even now it is functional.

    It definitely is not a personal toy.I firmly believe that every product has to earn its place under the Sun based on its capabilities and how it grows.
  4. And your websites is a frontpage template
    couldn't you spend few more minutes with plain HTML
    and offer something more creative that would make you
    look a lot more professional and interesting!

    And why the first version is 2.0?
  5. Ali, thanks. Appreciate your input. Will do something about it.

    This is not the first release. This project is in four stages. Release numbers are indicative of the project stage.
  6. Hi
    You have mentioned "meta-data driven code generator".

    Is it UML/XMI source or something else?


    Sergey
  7. Sergey,

    Right now the metadata is all in properties files and XML. I have been planning to shift the metadata to a lightweight database or XMI.

    My need as such is to be able to check out say a wrapper class and automatically check out other classes that need it. I should be able to delete a field or insert a field tansparently and see its effects get percolated in the related classes.

    Before starting this project I had made a very small proof of concept kind application that did all this with an RDBMS store for metadata.

    But you are right XMI might be better. In any case one should be able to import and export XMI.

    When the GUI is up in the fourth stage the metadata editing will be via the user interface which would also have UML diagrams. The internal storage of the metadata is not a issue.

    The generated code is very functional, and simple as the generated code reuses a code-library where the actual work gets done. This has led to a very simple and extremely light-weight code-generation requirement.

    But the main point of interest in RADtool is in automating functional code, code that has logic in it and the logic itself being configurable.

    Thank you.
    Raghu
  8. Althogh the radtool does not stop here as of now this is what I have to say about its serverside validation approach.
    In Radtool the validation also transforms the data to the required type and it also uses a more object oriented approach of populating a wrapper on successful validation. This act of automatically transforming the data and populating a wrapper is code that has to be otherwise written by hand. I see this as a definite value add.

    The key advantage in radtool as I see it develop further would be how it is value-object-centric in all its other activities.

    Raghu