Discussions

News: Sygel Releases New J2EE Code Generator and Petstore Demo

  1. Sygel has released 1.1 of the Wonder Machine Enterprise Edition (WMEE), a tool that generates J2EE applications based on UML domain models. Along with this release, Sygel has announced that it has used WMEE to generate the J2EE Pet store, with only 10% of manual written code compared to the original Pet store; this is less than halve that used in the .NET version.

    The complete article with source code can be found on Sygel's pet store website.

    Check out WMEE 1.1.

    Threaded Messages (16)

  2. Just imagine how small .NET could be with a generator then ;-)

    Seriously, the fact that we 'need' generators at all is a negative statement on the complexity of the J2EE model. The fact that a generator can obtain 10 to 1 code reduction is an indication of just how bad it is!). I'm reminded of this at every turn. Even things as simple as JSP tags are far more complicated than they need to be (try creating even mildly sophisticated cooperating tags for webphere for unexpected 'fun') and then of course there is EJB, which is a complete disaster (from an unnecessary complexity point of view that is).

    Microsoft puts ease of development first while the leading J2EE implementations put 'specification anal retentiveness' first. "Sorry you can't do that, the spec says ... Sorry you can't do that the spec says ..." except of course the error message are more like:

    java.lang.VerifyError: (class: _iantest_jsp_48, method: _jspService signature: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;) V) Incompatible object argument for method call"

    Thanks websphere! It's all clear now ... !@#$%^& putzes.

    I would abandon J2EE in a flash if something better (and not Microsoft specific) came along (although I have to say .NET is looking better all the time, even with the Microsoft drawbacks).
  3. <quote>
    The fact that a generator can obtain 10 to 1 code reduction is an indication of just how bad it is!).
    </quote>

    This statement doesn't make sense to me.

    If you have ever programmed in C, did you ever wonder how much "reduction" you had by writing C code instead of assembly language?

    That's not the way to measure how bad something is.

    J2EE is trying to solve a very complex problem, and as such, it is a very complex solution. The first approximation is to write all this by hand, and then, as tools mature, the level of abstraction increases.

    You could say that J2EE is bad if nobody out there was using it because it doesn't solve a real problem. I think we all know by now that such is not the case.

    --
    Cedric

  4. Cedric,

    Lines of code is definitely one measure of how good/bad something is. To use your own example, would you rather do a large program in C or in assembly? Unless you are a masochist (or just love assembly) you will pick C. Why? Because you can get a lot more done in a shorter period of time. Few people program in assembly for this reason. They only program in assembly because they have to (memory/speed requirements, etc.

    J2EE is not supposed to be like assembly. J2EE is supposed to make my life easier. Otherwise, why would I use it? With J2EE you give up speed, you give up some control and in return it is supposed to give you ease of development. Ease of develpment, that is what J2EE is all about! If it doesnt' deliver on this than it is a failure (what is the point). Otherwise I could just write an application directly in Java (or C or assembly) handling everything myself. I don't need an appserver to make things more difficult.
  5. <quote>
    Ease of develpment, that is what J2EE is all about!
    </quote>

    Wow... Where did you get this impression?

    J2EE is about delivering enterprise scale applications while freeing developers from complex low-level details such as pooling, threading, security, etc... (and also clustering, fail-over and other notions, although they are not strictly J2EE)

    Making development easy has nothing to do with specifications and everything to do with tools.

    --
    Cedric

  6. Cedric,

    I don't need J2EE to do these things. I could everything you mentioned (as you pointed out) in assembler, OR to be more realistic I could choose .NET, ZOPE, or some other system to achieve these goals. I have choices in how to implement these things. Which choice provides the easiest path for me to achieve my goals is the best choice for me (ease of development) without sacrificing too much performance or other trade-offs.

    The reason people (including myself) use J2EE is because it is supposed to make these hard problems simple. I.E. Make it easy for me to develop my application with these features. The reason that I use J2EE today is because it DOES make these things 'simplier', (but certainly not simple). All I'm saying is that Sun and the gang seem to have lost sight of the fact that developers use these tools to accomplish goals and the tools should make it 'as easy as possible' for the developers to reach their goals. Looking at the hoops I have to jump through to develop a J2EE app, I'm not convinced they consider 'making the developers life easy' a priority. It seems to me that they could have made things a lot easier and that there should definitely be a lot more focus on this.

    .NET on the other hand (and I hate to bring it up as an example because it automatically makes me the 'bad' guy for even mentioning it in a positive light) produces the same level of functionality as J2EE, but with significantly less complexity. I feel that one approximate way to measure complexity that I face is too look at the number of lines of code I had to write. This seems like a valid complexity comparison to me, but I welcome counter, non artificial examples.

    I'm sure those that hate .NET would disagree, although if .NET were to require 5 times as many lines of code as J2EE instead of the reverse then I am sure the supporters of this theory would suddenly suddenly swell ;-)

    Anyway, sorry to even bring it up. I had a particularily bad day with Websphere and that ended up in the rant posted here. This day is still going on and has not gotten any better. One thing I can say for sure from experience is that I 'know' IBM doesn't care about making developer's life easier. That much is obvious from their obtuse errors and buggy horrific admin tools.

    Cheers.
  7. <quote>
    .NET on the other hand (and I hate to bring it up as an example because it automatically makes me the 'bad' guy for even mentioning it in a positive light) produces the same level of functionality as J2EE, but with significantly less complexity.
    </quote>

    I'm not going to argue about whether .Net delivers this or not, but I'd like you to think about this:

    This ease of use that .Net gives you, does it come from the API or from the tools?

    --
    Cedric
  8. Cedric,

    <quote>
    This ease of use that .Net gives you, does it come from the API or from the tools?
    </quote>

    I guess it would mostly be the tools, not the API and I get your point. So "go WMEE!" and others like it. May you not be too late.
  9. <quote>
    .NET on the other hand (and I hate to bring it up as an example because it automatically makes me the 'bad' guy for even mentioning it in a positive light) produces the same level of functionality as J2EE, but with significantly less complexity.
    </quote>


    Anick,
    If .NET is that good to you then why be a glutton for punishment - use .NET (if your employer insists on J2EE then find a .NET job - cant be too hard man the monopolist is omnipresent in this industry anyway) but remember, like the Africans would say "he that rides on the back of a lion would soon be devoured by it" just asks the folks who are now fuming at Microsoft's new licensing scheme. Vendor lock in is something that even a pea sized brained individual should strive to avoid by all means. Unfortunately the IT industry seems to have more than its fair share of cooperate masochists.

    Happy .NETing
  10. Anick,

    This thread is about commenting a new tool. Could you please stick to this ?

    If you don't understand the value of J2EE specification, please leave it to the hands of those who want to use it. I do.

    I am using both Microsoft and 'J2EE' tools, acording to my needs and to my client constraints. I am globally satisfied with both. And by using the right developer tools for the right task, i can save a lot of time and burden. Which is exactly what WMEE is about.

    Just one last thing : have you used the first versions of MS C compilers ? There was not even an editor provided ! So please let J2EE tool providers even more mature their tools, which are already extremly productive ones.

    As would say Cameron : Peace

    Christian
  11. Cedric: "J2EE is about delivering enterprise scale applications while freeing developers from complex low-level details such as pooling, threading, security ... Making development easy has nothing to do with specifications and everything to do with tools."

    I would have said it myself, but I could never have said it so well.

    I must add one further point: When interoperability is not a requirement, it becomes very easy to build applications. That goes for Microsoft too ... since they own the specification they can change it as necessary to get their stuff to work with itself. Very few of their enterprise customers (like zero) have the luxury of ignoring interoperability and standards, and Microsoft has done us all a disservice by releasing Yet Another Pile Of Proprietary Incompatible Code (YAPOPIC).

    And to my friend Greg, if you're reading, I'll gladly eat my digital words when you guys release a compliant Java implementation and a compliant J2EE server. In fact, I'll even nominate the good parts of WinForms to the JCP.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
  12. Can anybody tell me how you would give someone a client library in .NET ?
  13. This logic doesn't look correct. WMEE is able to generate a lot of code not because the JSP and EJB technologies are bad, but because they could generalize the architecture components. They could do the same with ASP or .NET. This is like finding negative point instead of praising the good design of WMEE. If this product generates really good code, then, it is an excellent tool for application development. If you could only concentrate on UML modeling instead of thinking about the application architecture, you could produce better application.

    Microsoft products have good UI, there is no doubt in that. May be J2EE tool vendors should hire some Microsoft GUI experts to design their tools. Or look at .NET tools to capute the usability features. If somebody could prodcuce a tool with ease of use, J2EE will have best of both worlds. (good architecture and openness as well as user friendly) Technologies based on open standards should do well in the long run because more people contribute to the development. Microsoft technologies can not be open since everything they only want to do.
  14. <Sygel>
    Microsoft products have good UI, there is no doubt in that. May be J2EE tool vendors should hire some Microsoft GUI experts to design their tools.
    </Sygel>

    BEA has. :) Take a look at weblogic workshop. You can feel the quality in the UI finally! Good stuff. Very good stuff. Hopefully this will have an effect on all BEA's products.

    Greg
  15. I never thought that Petstore app could be reduced into this amount of code.Having just browsed the src - the wonder machine seems to be one of the few clever ideas that will make Sun's J2ee prove itself against .Net
    Faisal
  16. It's fun to see how people make drastic statements about technologies without analysing at all.

    Petstore does not make use of any framework. For example, using WebWork in the web tier would allow for a nice and clean implementation without that much code.

    Using the proper application server and the proper tools makes J2EE rocks. That is what J2EE (and standard technologies) is all about : freedom of choice.

    Fran├žois
  17. This should never have been posted here.
    <p>
    <p>
    Only world class developers visit this TheServerSide. A world class developer is never concerned with the problems encountered by most corporate IT shops.
    <p>
    <p>
    This tools is a boon for the IT shops where the best developers are average or below, and it would take 90 developers + 15 testers + 10 managers + 3 writers + 2 UI designers, 9 to 12 months to turn out the slow and ugly equivalent of Pet store.