NeuralLimits releases NeuralBuild - a Java Code Generation Tool

Discussions

News: NeuralLimits releases NeuralBuild - a Java Code Generation Tool

  1. NeuralLimits has introduced NeuralBuild, a code generator that automatically generates source code for accessing relational databases. For Java, NeuralBuild generates code that is compliant with the Data Access Object (DAO) design pattern.

    Examples and UML diagrams of the generated code can be found on the NeuralBuild site as well as screenshots.

    Future plans include stored procedure support and SOA Web Services layer support.

    NeuralBuild is free for non-commercial use. The NeuralBuild download is fully functional with no restrictions or expiry date after registration. For commercial use, a single-user license of NeuralBuild is $99USD, a five-user license is $299 USD, and a site license is $899.

    Threaded Messages (22)

  2. Browser: IE 6.0.2
    The mouseover colour on the web site should be improved.

    The click through seems to shrink the inner pane on the site as well.


    Best get these sorted before the next release, cos it makes the product look shabby.

    Throwing NeuralBuild exceptions from the DAO's is a bit nasty. Unless they somehow add value over the native ones. It means my client code knows Neural is the DAO implementation. I'd rather be decoupled.

    Still, anything that kicks back against the Hibernate trend has got to be good. Personally, I'm heading for EJB3 persistence...

    Jonathan
  3. Re: Hibernate[ Go to top ]

    anything that kicks back against the Hibernate trend has got to be good. Personally, I'm heading for EJB3 persistence...Jonathan

    I am curious how does the 'Hibernate trend' differ from the EJB3 approach? apart from the fact that your code will need to run under jdk1.5.
  4. Re: Hibernate[ Go to top ]

    anything that kicks back against the Hibernate trend has got to be good. Personally, I'm heading for EJB3 persistence...Jonathan

    I really love hibernate, actually we are doing our DAO generation with Intellij File Templates, we generate Dummy DAOs, Oracle DAOs (that actually need some handwritted code) and Hibernate DAOs

    I'd think is a good advice for you to start writting pluggins cause it seems that your app is much likely that, a pluggin. And please deacouple the framework from the generated code.


    Regards
    Psique
  5. re: Hibernate[ Go to top ]

    Browser: ...anything that kicks back against the Hibernate trend has got to be good. Personally, I'm heading for EJB3 persistence...

    Gavin King wrote both Hibernate and the EJB3 spec, right? So there shouldn't be a huge difference between them.

    Anyway, NeuralBuild looks like a convenient way to get the performance of straight JDBC. The main issue with Hibernate is performance. I'm wondering how this compares with iBatis in terms of both performance and convenience?

    Calen
    The Third World Developer
  6. re: Hibernate[ Go to top ]

    Gavin King wrote both Hibernate and the EJB3 spec, right?

    Wrong.
    So there shouldn't be a huge difference between them.

    EJB 3 POJO Persistence is based on a range of persistence products and APIs - Hibernate, TopLink and JDO.
  7. Object relationships[ Go to top ]

    How does it handle dependecies between objects? For example say your Company class had an Address class associated to it?
  8. Object relationships[ Go to top ]

    How does it handle dependecies between objects? For example say your Company class had an Address class associated to it?

    It looks like they have a "Composite Object" wizard for handling relationships.
  9. Object Relationships[ Go to top ]

    How does it handle dependecies between objects? For example say your Company class had an Address class associated to it?
    It looks like they have a "Composite Object" wizard for handling relationships.

    That's correct, "Composite Objects" are collections of standard Base Objects (Value object in
    Pattern terms) with relationships defined between them. The
    DAO Pattern (in a READ ONLY form) and Business Factory for these are also generated in exactly the same way as for Base Objects.
  10. I don't understand how "generate code that conforms to someone else's standards" is in any way a compelling idea.

    I'm all for code generation; it's a great way to save a lot of time and effort. But there's no point whatsoever in doing it unless you are controlling the output. Spitting out a bunch of Java code based on a db table in a format that someone else decided on seems like a waste of time.
  11. I don't understand how "generate code that conforms to someone else's standards" is in any way a compelling idea.I'm all for code generation; it's a great way to save a lot of time and effort. But there's no point whatsoever in doing it unless you are controlling the output. Spitting out a bunch of Java code based on a db table in a format that someone else decided on seems like a waste of time.

    +1 Quite so.

    The most successful uses I have had of code generation were when the generation templates were first-class objects within the project, held in CVS and maintained alongside and as much as the base source code.

    This is my main gripe about XDoclet. The templates are hidden away, and if you do want to roll your own, the language is XML-based and not simple.

    Advice from my experience: be practical about code generation. Don't expect it to do everything. But when done carefully, it can save a significant (>50% in one project) of development time.

    Kit
  12. This is my main gripe about XDoclet. The templates are hidden away, and if you do want to roll your own, the language is XML-based and not simple.

    At the risk of being mistaken for Konstantin, may I suggest you take a look at XDoclet2 (http://xdoclet.codehaus.org/)? That uses "standard template engines such as Velocity and Freemarker for generation of text-oriented output, and Jelly for XML output". No home-grown XML-based language, though I can't comment on whether the templates are "hidden away" or not.


    Andrew.
  13. This is my main gripe about XDoclet. The templates are hidden away, and if you do want to roll your own, the language is XML-based and not simple.
    At the risk of being mistaken for Konstantin, may I suggest you take a look at XDoclet2 (http://xdoclet.codehaus.org/)? That uses "standard template engines such as Velocity and Freemarker for generation of text-oriented output, and Jelly for XML output". No home-grown XML-based language, though I can't comment on whether the templates are "hidden away" or not.Andrew.

    Thanks for the suggestion. Will do.
  14. Why Google ads?[ Go to top ]

    Why do you have Google Ads on your web site?
  15. Why Google ads?[ Go to top ]

    Because nobody wants to buy a lib that generates code that is "compliant with the Data Access Object (DAO) design pattern". What do you mean by compliant with the design pattern? Are you certified by GoF or Sun Core J2EE Patterns;)?

    Regards,
    ejboy
  16. Why Google ads?[ Go to top ]

    Because nobody wants to buy a lib that generates code that is "compliant with the Data Access Object (DAO) design pattern".

    Not true. FireStorm/DAO has more than 200 customers (there's a partial customer list on our site).

    However, we do offer other choices apart from DAO and we let our customers customize the code generation templates to suit their coding standards.

    Cheers,

    Andy Grove
  17. A Java Code Generation Tool ...[ Go to top ]

    ... that requires M$ .net and is only available as an .exe

    I thought TSS supported the spirit of Java, specifically cross platform support!

    Stefan Mahs
  18. A Java Code Generation Tool ...[ Go to top ]

    ... that requires M$ .net and is only available as an .exeI thought TSS supported the spirit of Java, specifically cross platform support!Stefan Mahs

    We're currently doing testing under Linux using Mono, that will
    make it cross-platform.
  19. funny[ Go to top ]

    a java code generation tool that requires a .NET installed ????????????????????????
  20. Looks to me like a port from C# - the naming conventions are much more C#-ish than Java-esque.

    I've been looking at the insertCompany method in the sample RDBMS DAO supplied on the website and I don't see where it tidies up the JDBC resources if an exception occurs. If it gets an exception of any sort while reading through the result set, it looks to me as if it will just leave the prepared statement and the connection hanging. I don't know how their DBConnectionManagerJDBC class works, but unless that has something clever in it that can automagically detect when the connection is no longer required and close it properly, this looks to me as if it will leak database connections when errors occur.
  21. Using hibernate was a bad decision on my part for one my projects. It slowed down my thinking and adding new features - basic as well as advanced became a new challenge.

    On my latest project, I first tried a solution titled Mr.Persister / ibatis. However I finally decided to go back to hand coded java and am happy with that decision. I now have full control over the code as well as performance, and at least I can add features at the "speed of thought", though elegence is sometimes lacking. For me, it matters the most to be able to show a working prototype as soon as possible to the client.

    The purpose of stating the above is that I now prefer java / jdbc for DBMS persistence. If any tool helps me reduce the time for that and takes care of most vital issues, I am game, and may look at spending some money. In any case I have learnt the hard way not to rely on any third party solutions too much.

    Currently I am not following patterns and have a one big fat DAO class for all my tables, which in my view is leading to greater efficiency in code as well as speed.
  22. Using hibernate was a bad decision on my part for one my projects. It slowed down my thinking and adding new features - basic as well as advanced became a new challenge.On my latest project, I first tried a solution titled Mr.Persister / ibatis. However I finally decided to go back to hand coded java and am happy with that decision. I now have full control over the code as well as performance, and at least I can add features at the "speed of thought", though elegence is sometimes lacking. For me, it matters the most to be able to show a working prototype as soon as possible to the client.The purpose of stating the above is that I now prefer java / jdbc for DBMS persistence. If any tool helps me reduce the time for that and takes care of most vital issues, I am game, and may look at spending some money. In any case I have learnt the hard way not to rely on any third party solutions too much.Currently I am not following patterns and have a one big fat DAO class for all my tables, which in my view is leading to greater efficiency in code as well as speed.

    Please tell me that this is irony as it sounds like the dark ages to me.
  23. In any case I have learnt the hard way not to rely on any third party solutions too much.Currently I am not following patterns and have a one big fat DAO class for all my tables, which in my view is leading to greater efficiency in code as well as speed.

    lol -- resume posting to this thread when you grow up !!