0 Replies Latest reply on Dec 21, 2006 4:16 AM by stefankuhn

    How to build large Web-Applications?

    stefankuhn

      I'm develloping a mid range JBoss based web application facing that it's
      darn heavy work, before you can go online.

      During this work, i have asked myselve offen...isn't there a tool based
      approach to this or at leased part of this work?

      I mean...what do they do, who devellop web apps with hundreds of JSP Pages and enterprise beans?

      By the way, this isn't my first JBoss based web app...

      In the past i had a glance at some tools, but it's always the same.
      There is alwas a major drawback.

      Take a look at this tool i.e.. The "Java Studio Creator" from SUN.
      http://developers.sun.com/prodtech/javatools/jscreator/index.jsp

      At the first glance it looks like a great tool.
      When looking closer at it - always with your model-viel-controler and
      your enterprise beans in mind - you begin to suspect...
      "Hey that's not the clean architecture that you want".
      You want a modular, scalable, 4-tier architecture.
      Not an architecture where the database sticks to the view or an
      overload of (more or less useles) tags in the JPS-Page.

      It's almost releaving reading a "Java Studio Creator" product rating like this:
      http://developers.sun.com/prodtech/javatools/jscreator/community/ratings.jsp?pageId=588beeb8-3462-4ac5-8210-0fac4d862408

      Ok for prototyping, not for production
      By Java web application development expert from Leiden, the Netherlands on 11/21/2006
      Pros:Good Value
      Cons:Poor Features
      Best Uses:Prototyping a GUI
      Nice for mocking up a GUI to show to your client when eliciting requirements,
      or for building a simple throwaway web page.

      But don't use this for building production quality systems.
      Why?
      After just having been involved with the maintainance of a JSC created application,
      I conclude:

      The web layer code generated by the tool
      (especially when using the "rave" ui components) is :
      - not web standards compliant; for instance inline styles are all
      over the place in your html (jsp) page
      - just too much : Why generate (and bind to) a member object in a JSF backing bean,
      including getters and setters, for just about every element on the page? 99% of them are never used.
      - connecting ui controls directly to (database) data provider
      components to get data on the screen. This might look handy,
      but generates code which really hard to maintain.
      There is no clear modularization of gui, business logic and data access functionality.
      If your database schema changes, you'll find yourself changing code all over the place.

      These factors result in applications which run sluggish (to say the best),
      can not easily be given a different look and feel, and in general are
      unnecessarily hard to maintain. Not what you want in any serious web application.



      Has anyone worked on a large application server based, web application project?
      What architecture was used?
      Was al the stuff hand coded (from an army of HTML/JSP/Java programmers)?

      I mean, this topic isn't complete uninteresting!

      Writing these lines i came up thinking of the artificial intelligence (AI) hype in the 80's.

      I don't know hwo, but those days some company was stating they had "real world AI solutions".

      And that's all it about: "Real world solutions".

      You might get a kick of a fancy shrink wrapped software, but when you get down to do the work, you want a modular, high scalably, 4-tier architecture ... fast.
      Or am i asking too much?

      I would appreciate if the pro's among us, shared theire experience with us.

      Thank you!