Slashdot Mirror


JSF vs ASP.net

DuncanE asks: "We are looking at migrating an old legacy database application to a newer web based framework for the front end. For me the two obvious choices are ASP.net vs Java Server Faces. CodeGuru has side by side look at both, but does anyone have any real world comparisons? ASP.net appears to be MS only, which is a concern, depending on how mature mod_mono has become." Which framework would you prefer to use? Under what situations and conditions would you recommend the use of the other?

107 comments

  1. DOS isn't done til Lotus won't run by B5Fan · · Score: 4, Insightful

    As soon as Microsoft decide that Mono is good enough to make enough people think of moving away from Windows, I think they'll try to change .Net to prevent it.
    AFAIK The only issue with Mono currently is that MS-specific security doesn't work under Mono, because it relies on Windows.
    I suggest that if you want to be able to run on something other than Windows, be careful about choosing .Net. It may still turn out to be a good choice, given that there are probably more .Net developers available, provided that you've taken into account aspects like security.

    BTW The only programming I do is .Net (in New Zealand), and this is being written at home with Firefox on Linux.

    --
    Borg:"Lawsuits are irrelevant. GPL3 is irrelevant. DRM is good. We understand security... Alert! MS are assimilating us!
  2. holy random comparison batman by Anonymous Coward · · Score: 0

    why are these two technologies such obvious choices??

    1. Re:holy random comparison batman by MemoryDragon · · Score: 1

      Because both of them have ides in front of them which provide a visual paradigm. The article in my opinion was less a comparison of technologies and more a comparison of what you can do with a decent IDE quickly (In case of .Net it was Visual Studio .Net and in case of JSF it was the Studio Creator EA2!) with some explanations about the underlying techs. The funny thing is the control comparison, because many of the controls shown are not part of the JSF core spec but are provided by the Studio Creator (but almost any component pack which nowadays is used has similar controls)

  3. Re:Stupid question for /. by Saeed+al-Sahaf · · Score: 0, Troll

    He's looking for support for a decision already made, so he's looking where he knows we will tell him what he wants to hear. He chose Java Server "Faces", whatever those are.

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
  4. I haven't worked with both, but.... by free+space · · Score: 5, Informative

    I think Java would be a more 'safe' choice.
    Java Server apps can run on multiple operating systems, multiple servers, and in the extreme case of Sun not supporting it anymore ( or not adding a feature you want) you've got tons of big companies pushing it, like IBM and others, in addition to open source implementations like GNU classpath. Not to mention that you can implement 100% of your solution without paying anything.

    ASP.net, on the other hand, is a Microsoft solution, and you depend on the whims of MS for everything. It runs on little more than Windows/IIS, and the only serious IDE for it would be Visual Studio.net, and good luck trying to run it under mono if you favorite class or function is incomplete or has a bug in its mono implementation ( or the MS implementation for that matter).

    I think that the Java and .net solutions are somewhat similar in the quality of their solutions, and that any marginal difference in quality, if they exist, would have no impact compared to the freedom of choice Java provides.

    1. Re:I haven't worked with both, but.... by RingDev · · Score: 0, Flamebait

      "ASP.net, on the other hand, is a Microsoft solution, and you depend on the whims of MS for everything."

      Spoken like a true anti-MS bigot.

      "It runs on little more than Windows/IIS"

      I guess if you consider Linux/Apache "little more" the Windows/IIS then that statement is true.

      "and the only serious IDE for it would be Visual Studio.net"

      And it's probrably one of the best IDEs available. This is the one categoy that MS really pwns the competition, their IDEs are awesome.

      "and good luck trying to run it under mono if you favorite class or function is incomplete or has a bug in its mono implementation"

      Yes because when running a completely non-MS related open source solution you will never find a bug or incomplete functionality. If you're going to pimp OS, do so across the board. Not this "OS roxors, except when it deals with Microsoft!" bantor.

      Me personally, I prefer ASP.Net. I think Java is a great language for web development, but ASP.Net has a few advantages: 1) The IDE. 2) Availability and Cost of developers. 3) External vendor suport available.

      If you already have a shop of Java developers, then 1 and 2 are of little concern. And 3 is a pretty rare requirement.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    2. Re:I haven't worked with both, but.... by free+space · · Score: 5, Informative

      Well, I wasn't saying Java web apps are better than asp.net, merely saying there is more choice available (and I'm a .net developer,but I develop desktop apps).

      If I want a .net IDE I have to buy VS.net or Delphi, or download the open source sharpDevelop. If I want to develop for Java, I have a much broader choice: netbeans, eclipse, IDEA, JBuilder and complete product families from IBM,Oracle or BEA.

      Same for running the apps: I can either choose from IIS or Apache/mod_mono for .net, but Java has a dozen or so platforms to run on, which vary in power and cost.

      As for my comment on "good luck if there's a missing function in the mono implementation" , it wasn't anti MS zealotry but a practical remark: whenever I check the mono status I get a chart which says "class so and so is implemented and function so isn't". It really worries a developer when he sees that the project is incomplete to the level of functions in the libraries he'll be developing with[1]. My point has nothing to do with Microsoft, but a simple remark that mono isn't mature enough yet.

    3. Re:I haven't worked with both, but.... by ultranova · · Score: 2, Informative

      "ASP.net, on the other hand, is a Microsoft solution, and you depend on the whims of MS for everything."

      Spoken like a true anti-MS bigot.

      Spoken like a true astroturfer.

      "It runs on little more than Windows/IIS"

      I guess if you consider Linux/Apache "little more" the Windows/IIS then that statement is true.

      Several times more, at least in Web server arena, according to Netcraft. 69.97% for Apache vs. 20.92% for IIS.

      "and the only serious IDE for it would be Visual Studio.net"

      And it's probrably one of the best IDEs available. This is the one categoy that MS really pwns the competition, their IDEs are awesome.

      Which may or may not be true, but doesn't change the fact that this still acts as another lock-in tie to Windows.

      "and good luck trying to run it under mono if you favorite class or function is incomplete or has a bug in its mono implementation"

      Yes because when running a completely non-MS related open source solution you will never find a bug or incomplete functionality. If you're going to pimp OS, do so across the board. Not this "OS roxors, except when it deals with Microsoft!" bantor.

      It is obvious that the parent is talking about compatibility. If a program depends on bug in .NET, and Mono doesn't have that bug since it implemented it according to the documentation, not actual testing with all possible inputs, the program won't work.

      And Microsofts operating systems do suck, especially when used as servers; making a server application with a language that would tie you to Windows is a very bad idea.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    4. Re:I haven't worked with both, but.... by angel'o'sphere · · Score: 1


      And it's probrably one of the best IDEs available. This is the one categoy that MS really pwns the competition, their IDEs are awesome.


      If "probably" includes also "probably not" then I can agree with you :D

      MS Visual Strudio is just an IDE. Its absolutely nothing fancy on it. Everything there is OLD, STANDARD IDE functionallity. Nearly EVERY OTHER IDE is better and offers more, better debugger, better refactoring, better project management, better configuration management ... and e.g. an IDE like Eclipse is even free as in beer.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    5. Re:I haven't worked with both, but.... by RingDev · · Score: 1

      "Spoken like a true astroturfer"

      Thanks for flying your colors up front. I'm glad to know that I won't be involved in an intelligent discussion this morning.

      "Several times more, at least in Web server arena, according to Netcraft. 69.97% for Apache vs. 20.92% for IIS."

      Exactly my point numb nuts. ASP.Net runs on Apache. So if by the parent's "little else then IIS" comment, he actually ment to say "will run on the vast majority of web servers", then yes he would be correct. But I'm pretty sure he was just reciting FUD from the anti-MS bin.
      (see http://www.codeproject.com/cpnet/introtomono2.asp, http://www.mono-project.com/ASP.NET, and even http://apache.slashdot.org/apache/02/07/22/2334239 .shtml?tid=109)

      "And Microsofts operating systems do suck, especially when used as servers;"

      That is debatable. Any server will "suck" when used incorrectly.

      "making a server application with a language that would tie you to Windows is a very bad idea"

      It depends, maybe your employer is pleased with Windows and doesn't see the need to invest in changing software and staff. In that case using a language that can get the most benefit from a Windows environment would be GOOD. In this case it's a mute point however as ASP.Net is NOT locked down to Windows.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    6. Re:I haven't worked with both, but.... by Randolpho · · Score: 1

      I'll give you the better refactoring on Eclipse -- VS only just got a very limited version in 2005.... *finally*, but Eclipse's is definitely much better. The debugger is debatable, I think they're about on par, although VS has only just (finally!) gotten edit and continue. As for the rest, I think it's more about personal taste -- I prefer VS's project management and configuration management to Eclipse's.

      However, there *is* one thing that Eclipse has over VS... totally free. You can't beat that very often!

      Although MS did for me just last month -- I got a free copy of VS 2005 Standard Edition when I attended one of their VS 2005 launch events. Sure, it's not Professional, and I wouldn't mind Team Suite with the automated testing and architectural tools, but it's pretty damn good for free!

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
    7. Re:I haven't worked with both, but.... by jbrannon · · Score: 2, Informative
      If I want a .net IDE I have to buy VS.net or Delphi, or download the open source sharpDevelop. If I want to develop for Java, I have a much broader choice: netbeans, eclipse, IDEA, JBuilder and complete product families from IBM,Oracle or BEA.
      Actually, you can download MS Visual Web Developer 2005 Express for free here: http://msdn.microsoft.com/vstudio/express/vwd/ I've used it pretty extensively, and it seems pretty full-featured. Of course, it's Windows only, so if you want cross-platform, something else would be in order.
    8. Re:I haven't worked with both, but.... by cecom · · Score: 2, Informative

      The debugger is debatable, I think they're about on par, although VS has only just (finally!) gotten edit and continue.

      Ahem, Visual Studio 6 had "Edit and Continue", and it has been out for, what, 7 years now ?

      Other than that small correction to your post, I think that MS have nothing interesting to offer in that area anymore. Only people who haven't tried Eclipse think that MS still has an edge in IDEs. Also, don't forget that besides being free, Eclipse is also Open Source, which means bugfixable, easy to write plugins for and infinitely extensible.

    9. Re:I haven't worked with both, but.... by Randolpho · · Score: 2, Interesting

      Sorry, I should have been more clear. Visual Studio 2005 now has Edit and Continue for .NET/C#. It has not had it up until it launched last November.

      As for the IDE, I have indeed used both, and prefer Visual Studio. Don't get me wrong; Eclipse is a very good IDE. VS is just better, IMO. I've already detailed the real differences between them; the rest is look/feel, responsiveness, and general user experience. Eclipse is great, but VS is better.

      It's like the difference between MS Office and OpenOffice.org. OpenOffice.org is damn good, especially for the price, but MS Office really is better. I find that the only people who ever argue otherwise tend to be closed-minded about anything MS-related.

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
    10. Re:I haven't worked with both, but.... by Randolpho · · Score: 1

      Let me just add a corollary -- I do use Eclipse whenever I do a Java project. J# is not Java, and that's all that's remotely Java-flavored in Visual Studio. If I do a .NET project, I do it in C#/Visual Studio. If I do a Java project, I use Eclipse.

      I suppose arguing one vs. the other is like apples and oranges, since there's little cross-over between the two.

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
    11. Re:I haven't worked with both, but.... by P3NIS_CLEAVER · · Score: 1
      --
      Please sign petition to restore sanity to our banking system!!!

      http://financialpetition.org/
    12. Re:I haven't worked with both, but.... by pixelpusher220 · · Score: 1

      I'm glad to know that I won't be involved in an intelligent discussion this morning

      You had taken care of that by typing 'http://slashdot.org' ;-)

      --
      People in cars cause accidents....accidents in cars cause people :-D
    13. Re:I haven't worked with both, but.... by cecom · · Score: 1

      I guess I don't have much choice, since my main programming platform is Linux ... One feature of Eclipse that I hated initially, but have begun to really appreciate recently, is the background Java compilation (or whatever the correct term to describe it is). I have practically forgotten what it was to go through dozens of small annoying compilation errors and fix them one by one after a build. For that matter, I have almost forgotten what a "build" was :-)

    14. Re:I haven't worked with both, but.... by free+space · · Score: 1

      To be fair, I mentioned Delphi.net in my post but I forgot C# builder. You got a point, .net has more tool support than my post gave it credit for. Still not as java IMO.
      And does anyone use eclipse for .net development? what benefit would that bring?

    15. Re:I haven't worked with both, but.... by free+space · · Score: 1

      Thanks for the info, I'm downloading it now and will play with it for a while.
      BTW, it will be a free download for only a year then will be sold for a price.. to the 4 remaining developers who still haven't heard of the offer :D

    16. Re:I haven't worked with both, but.... by julesh · · Score: 1

      In addition to the other ides mentioned by the other posters, there's also Microsoft's WebMatrix, another free IDE for writing ASP.net code.

    17. Re:I haven't worked with both, but.... by jbrannon · · Score: 1
      BTW, it will be a free download for only a year then will be sold for a price..


      Yes, but as long as you get it in the "free download" period, it will be free to use as long as you want, even after the year has expired.
  5. What The Fuck? by Saeed+al-Sahaf · · Score: 4, Funny
    The provided link: If you develop web applications you have probably heard the names JavaServer Faces...

    My web apps must be crap, because I've never heard of "JavaServer Faces".

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
    1. Re:What The Fuck? by Anonymous Coward · · Score: 0

      No, in fact it may mean the exact opposite. Right now we're seeing a trend in which a lot of programmers are using frameworks for everything that they can possibly get their hands on. They use 5 different web frameworks to make something that's incredibly simplistic and then they wonder why their code becomes a bloated unmaintainable mess....

    2. Re:What The Fuck? by 0kComputer · · Score: 2, Insightful

      Yeah, check out the foot note on the author

      About the Author A Senior Consultant with Sogeti LLC, Michael has spent over 7 years in IT, specializing in J2EE and Oracle analysis and development.

      wonder which platform he's rooting for? The article was a piece of shit anyways, a few screen caps of the IDE's doesn't make for a good comparison of frameworks.

      --
      Top 10 Reasons To Procrastinate
      10.
    3. Re:What The Fuck? by gimme00 · · Score: 2, Funny

      You take a black marker and draw little faces on your java servers! dohhhhhh!

    4. Re:What The Fuck? by Saeed+al-Sahaf · · Score: 1
      You take a black marker and draw little faces on your java servers! dohhhhhh!

      Wouldn't they call the police? And then where would I get my coffee?

      --
      "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
    5. Re:What The Fuck? by gowen · · Score: 2, Funny

      My web apps are crap, because I use JavaServer Faeces

      --
      Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    6. Re:What The Fuck? by IPFreely · · Score: 1
      My web apps must be crap, because I've never heard of "JavaServer Faces".

      Then you may not have been paying attention for the last few years.
      JavaServer Faces at Sun java/J2EE. It's been around a while.

      But not using JSF will not make your web apps crap. There's bound to be a better explanation for your web apps being crap.

      --
      There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
  6. What are you and your programmers familiar with? by BadAnalogyGuy · · Score: 5, Insightful

    These kinds of decisions ought to be based on what you and your colleagues are most comfortable with. Java? C#? Perl/Python? You certainly wouldn't try to run a marathon in brand new shoes!

  7. Either by Artega+VH · · Score: 4, Informative

    Both are a good choice if you want to properly engineer a new web-based tool. ASP.NET is probably quicker but if you want to do anything really serious you'll probably want to look at purchasing Visual Studio 2005 rather than just using the Visual Web Developer Express. Also the tool support for JSF isn't nearly as mature so it will probably take longer to implement in JSF than in ASP.NET.

    Having said that JSF is still a good choice - particularly if licensing costs and portability are an issue. Apache MyFaces is an excellent framework whose only downside is the poor documentation. JSF can be slower to get started with but I found that it enforces best practices more strictly and once you get the hang of all the XML wiring it wasn't that bad. Another benefit of JSF is that you'll have trouble breaking the MVC pattern but you can pretty easily embed alot of code in ASP.NET unless you properly use code-behind and deliberately seperate out the DAL which isn't the default for the point and click wizards (the DAL separation).

    In the end it comes down to a few things. If you have existing C#/VB skills and don't mind being stuck with IIS then go for .NET. If portability is a big issue and you'd really like to run this application on a small server running Jetty(for instance) then go for JSF.

    --
    groklaw, wired and slashdot. The holy trinity of work based time wasting.
  8. neither? by moosesocks · · Score: 0, Flamebait

    I'm not very experienced with either (know a bit of java, and used to work with ASP/VB on NT4), but for a project like you're describing, ASP and Java would be the last thing I consider.

    Both have a reputation for being slow, insecure, and proprietary. As much as sun is trying to shed the image, Java is still their property.

    Generally, it's a decent idea to separate the databse from the application/interface, and it looks like you've already done just that, so you should be pretty much able to pick whatever language you want. I'd be inclined to think that ASP.net supports the microsoft databases the best, and leaves a hazy future as to whether or not it will play nicely with your database. I also wouldn't like to rely on a Windows operating system as your server environment.

    I'd shop around..... if this is really *just* a frontend, you could go as far as checking out one of the newer languages like python or php. If you want to possibly speed up development, and play around with a few new technologies, you could also check out ruby and see if it suits your needs.

    Look at what other people are using. I'd tend to think that PHP and ASP.Net seem to be the two most popular. ASP.Net does have advantages, and from what I hear, it's leaps and bounds better than the original ASP I worked with on NT4. I personally wouldn't like to be locked down to windows OR mono (if it were to ever be shut down by microsoft for some sort of leagal trouble, you'd be in trouble)

    But java....just makes me cringe. I've seen very few well-written java applications that were fast, stable, and functional. It can be done.... but very few are able to

    --
    -- If you try to fail and succeed, which have you done? - Uli's moose
    1. Re:neither? by Anonymous Coward · · Score: 1, Interesting

      You lost all credibility when you suggested that Java has a bad security record and that Java performance for web applications is slow. Sun Java has an amazing security record and security is very easy to implement for even the most incompetent programmers. I find it incredibly amusing that you suggest that Java is slow and insecure and then you go ahead and recommend PHP... PHP/Ruby/Python are much much slower than Java and PHP has had an absolutely pathetic security track record. Are you a PHP developer? Only a PHP developer could possibly be this stupid.

      Honestly, you make ridiculous claims about the most popular programming language in the world and then you go on to recommend an abomination like PHP? I'm not a huge Java fan, mainly because of the poor design of the standard library, however you clearly have no clue.

    2. Re:neither? by Johnno74 · · Score: 4, Insightful

      Dude, ASP.Net is a massive leap foward from classic ASP. The difference is night and day. Benchmarks are pointless, but in my experience its 5-10x faster than ASP.

      Its also much, much more productive to develop, and support. Its a nice stable, extendible extendible object-orientated framework that can give you most of a website with very little code (asp.net 2.0), or it stays out of your way if you'd rather do it yourself.

      IIS has also moved on a LOT since NT4 as well. Its much, much more stable and secure.
      With ASP and NT4 remember you are talking about technologies that are about 10 years old now.

    3. Re:neither? by LarsWestergren · · Score: 5, Insightful

      Both have a reputation for being slow, insecure,

      Maybe on Slashdot... Java has an excellent track record for security. Compare with the PHP worm that swept the net, or PHP based framworks like NukePHP that are hacked so regularly that sites are unusable. .Net I haven't kept up with, so I don't know how they do security in real life.

      Server side java is REALLY fast. On artifical benchmarks, java can be as fast as C++, and these people wrote a high performance Linux cluster monitoring tool in Java.

      If you need more proof, Java is now the preferred language for Boeing when doing mission critical and real time software. NASA used it during the Mars mission...

      and proprietary.

      You can join the Java Community Process for free as an individual and vote for how future versions of Java will look like, Sun has handed over control over just about everything but the Java trademark to this JCP. There are also plenty of open source implementations of compilers and JVMs. Sun keeps donating stuff to the open source community. DTrace, Solaris, 1600 patents, cryptography tech....

      --

      Being bitter is drinking poison and hoping someone else will die

    4. Re:neither? by mcbridematt · · Score: 1

      You sir have NO F*CKING IDEA on what J2EE is.

      I've started to program in J2EE myself, and I must say, the concepts presented in it definitely make me NOT want to program in PHP again. The Perl apps I've seen are marginally better - but maybe because of the module extensions which aren't used a lot in PHP land.

      I haven't touched large scale PHP code in some time but J2EE does try very hard to divorce each layer of the application to the point where programmers need not worry about what others are writing too much.

      Last time I checked PHP programmers had located their database abstraction code (if any) within their apps, and most PHP apps were explictly tied to MySQL.

      On the other hand in J2EE land we have container managed persistance (or maybe Hibernate). Its a wonderful thing compared to if($db == 'mysql) { mysql_connect(); } else if ($db == 'loldb') { loldb_connect(); }

      I do agree about slowness though. You need loads of memory just to run JBoss effectively.

    5. Re:neither? by indifferent+children · · Score: 1
      On artifical benchmarks, java can be as fast as C++

      On artificial benchmarks, java can be as fast as an unladen swallow (African). In my experience, Java performance tends to suck. Why yes, I *am* a C++ programmer.

      I don't hate Java, I use it occasionally as a portable and syntactically superior replacement for Visual Basic.

      --
      Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
    6. Re:neither? by Reverend528 · · Score: 1
      If you need more proof, Java is now the preferred language for Boeing when doing mission critical and real time software.

      Clearly they've never read an EULA from Microsoft:

      Certain SOFTWARE PRODUCT(S) may contain support for programs written in Java. Java technology is not fault tolerant and is not designed, manufactured, or intended for use or resale as on-line control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems, in which the failure of Java technology could lead directly to death, personal injury, or severe physical or environmental damage.

    7. Re:neither? by Limburgher · · Score: 1
      I normally don't reply to flaming ACs, but I'll bite.

      Have you actually USED PHP, Ruby, or Python? I've never used Ruby, but PHP and Python are far faster than I've ever needed them to be. Java, on the other hand, is only fast on new hardware. And don't get me started on backwards-compatibility. . .

      --

      You are not the customer.

    8. Re:neither? by Limburgher · · Score: 1

      It's really faily trivial to abstract out DB access into a seperate file in PHP, and make the whole app DB-independant. I've already done this on two apps I wrote and am in the process of doing so on a third. I supports MySQL and PostgreSQL and could support more, if requested. Wanna buy my DB2 or Oracle licenses? :)

      --

      You are not the customer.

    9. Re:neither? by Anonymous Coward · · Score: 0

      Now I aint the same AP and I ain't seen the original post but...

      I really hope you're not serious here..? Are you trying to tell me that Ruby/PHP/Python are faster than Java?
      Fast only on new hardware? Huh?

      Backwards-compatibility? You seem to have no idea that Sun is crazy about backwards-compatibility - and it _definitely_ shows.

      PLEASE don't post at all if you have no idea of what you're talking about.. thanks.

    10. Re:neither? by Anonymous Coward · · Score: 0

      Ruby and Python are not faster than Java.... Anyone that makes a comment like this shows that they don't even have a basic understanding of computer science concepts. I like Ruby and Python and for small applications I would definitely choose Ruby over Java, however in terms of speed there is no comparison. Java is much much faster. The only time you've probably seen Java behaving slow is with a poorly coded application that uses Swing, and that's simply because it's a poorly designed library that tries to accomplish too much. Don't get me wrong Swing can be programmed to be very quick however it takes a lot of effort and knowledge about threading concepts and how they're being used within the library.

    11. Re:neither? by ttfkam · · Score: 1
      Clearly they've never read an EULA from Microsoft:
      Would you be so kind as to explain that one for us?
      --

      - I don't need to go outside, my CRT tan'll do me just fine.
    12. Re:neither? by Reverend528 · · Score: 1
      Would you be so kind as to explain that one for us?

      Sun Microsystems, Inc. has contractually obligated Microsoft to make this disclaimer.

    13. Re:neither? by croddy · · Score: 1
  9. Ruby on Rails by fixanoid · · Score: 0, Troll

    Scrap those poses for a real upcomers, go with Rails! It is so much better than any MS stuff, and years ahead of Java...

  10. JSF by NutscrapeSucks · · Score: 1

    Compared to ASP.NET, Java Server Faces is pretty immature, and missing certain controls like a file upload. Nobody seems to use it that much, so the user support community seems pretty small (as you can see by the responses to this story). Also, if you stick the state into the Session, the controls tend break if the user click the back-button. The navigation framework also seems pointless (just use links like a regular person)

    I wouldn't make it a large deciding factor though -- in both cases the actual page code is going to be a pretty small part of your app.

    --
    Whenever I hear the word 'Innovation', I reach for my pistol.
    1. Re:JSF by bloodredsun · · Score: 2, Informative

      FileUpload from jakarta would be used for that as it's pretty much the de facto choice. There are other options like javazoom but it's an easy add-on. The apparent lack of a file upload control is probably reflective of the fact that Java allows multiple ways to do the same thing (which can be very confusing to someone new to the field) where MS products tend to have all the features included whether you use them or not. The JSF user community is not that small and is growing (although there are about 10x as many Struts jobs as JSF jobs currently in the UK) so it's one to take seriously.

      The back button is an issue with JSF and is another reason why I use Struts for java web apps alongside it's easier integration with JSTL and greater maturity.

    2. Re:JSF by MemoryDragon · · Score: 2, Informative

      Not really, unlike ASF.Net JSF is just a specification, you get stuff like date controls file upload controls etc usually from component packs. If you want a good out of the mill solution in JSF with most components you need, start with MyFaces.
      The usual mistake many people do with JSF is that they just look at the RI and then dismiss it as all there is, while literally hundreds of components linger around on the net for free and about the same amount in commercial solutions.

    3. Re:JSF by NutscrapeSucks · · Score: 1

      When I checked out MyFaces, the sample controls on their site were completely buggy. We also experimented with Oracle's and it was a nightmare. IMO, if you want to use JSF, you should stick with the stock package and roll your own custom controls.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    4. Re:JSF by MemoryDragon · · Score: 2, Informative

      Things are moving fast in the apache world, actually the controls are not very buggy anymore (You probably checked then out a while ago). Much has been done in the last year. for a good demo check this: site out.

    5. Re:JSF by NutscrapeSucks · · Score: 1

      Yeah it was about 9 months ago. Unfortunately our architecture is pretty much frozen right now. Maybe next time.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
  11. Perl isn't done til Slashdot won't run by Anonymous Coward · · Score: 0


    Programming ASP.NET 3rd Edition by Jesse Liberty and Dan Hurwitz



    It has been updated for ASP.NET 2.0, C# 2.0, and Visual Studio 2005.
  12. It all depends on your existing skillset by 0kComputer · · Score: 1

    I'm a .net developer, and while I'm sure it wouldn't be too dificult to transition to the Java language, I think I'd have the most problems adjusting to the tools. As I'm sure a Java dev would have issues transitioning to .net. I wouldn't know where to start, what IDE should I use? how is remoting/RPC implemented? What build tools, source control systems to use? and so on... .net and java are pretty much mutually exclusive techs, so most of your developers are going to be experts in one or the other. If you havent hired resources yet, then it may do good to see what the market is doing.

    You mention portability as a big concern, IMO its pretty overrated, and very seldomly implemented. if you suddenly find yourself switching platforms, then someone screwed up somewhere down the line in planning. Just my 2 cents.

    --
    Top 10 Reasons To Procrastinate
    10.
    1. Re:It all depends on your existing skillset by d-rock · · Score: 2, Interesting

      Just a comment on the portability issue. I completely agree that sometimes having to move an app between disparate systems may mean that someone didn't plan well, but there are also situations where it means you can leverage your assets. For instance, where I work I developed a small network monitoring/reporting application for our help desk to handle 200 or so sites. At the time I wrote it (3 years ago), we had a spare windows 2K server running on older hardware that was otherwise going to go unused, so we ran it on that. It ran great. Over the past 3 years we have increased the number of sites we monitor to close to 1000, and it wasn't running so well on the old PII server. However, an unrelated project freed up a Sun e450 4xCPU box and we moved the application there with literally zero changes and it runs great on that box (along with several other apps). The windows box has been repurposed as a backup DNS server now (running portable BIND, incidentally).

      In this case the portability factor allowed us to fully utilize the hardware we had, instead of having to spend big bucks on a larger wintel server. I'm not saying Java has a monopoly on portability, there are lots of languages that make it trivial or fairly easy to move between platforms; however, if I had written this in C# or some other .Net language I'm not so sure the transfer would have gone as smoothly.

      Derek

      --
      Don't Panic...
    2. Re:It all depends on your existing skillset by P3NIS_CLEAVER · · Score: 1

      The portability thing is a red herring issue. Incorporating a web server from a different operating system into your network is trivial.

      --
      Please sign petition to restore sanity to our banking system!!!

      http://financialpetition.org/
    3. Re:It all depends on your existing skillset by jbplou · · Score: 1

      You must be a shitty developer. Java and .NET are both heavily object oriented, hell .NET was basically Microsofts answer to Java. A good developer is basically lanuage neutral and can pick up what is needed.

    4. Re:It all depends on your existing skillset by 0kComputer · · Score: 1

      You must be a shitty reader. Did you read my post cockfuck?
      and while I'm sure it wouldn't be too dificult to transition to the Java language, I think I'd have the most problems adjusting to the tools

      My point was it wasn't the language, douchebag, it was the supporting tools of the platform that takes some experience to learn. Yeah, C# and java are very simmilar syntactically. Of course someone who thinks a programming platform is just syntax (like yourself) would be a "shitty" developer who doesn't see the big picture. oh the irony.

      --
      Top 10 Reasons To Procrastinate
      10.
    5. Re:It all depends on your existing skillset by jbplou · · Score: 1

      You said .NET and Java are pretty mutually exclusive techs, which is not true. A good developer can transition from one to the other in 6 months, if we are talking J2EE and ASP.NET environments. The end goal is the same you pass generated HTML to the client who responds with more information. If you use IIS, Apache, Websphere, Oracle App Server you still do the same basic thing. A good developer once they know how to use one can learn use the other to accomplish similar tasks.

    6. Re:It all depends on your existing skillset by 0kComputer · · Score: 1

      You said .NET and Java are pretty mutually exclusive techs, which is not true
      Not true? Really? How many projects have you worked on that use both .net and java?

      A good developer once they know how to use one can learn use the other to accomplish similar tasks.

      You are completely missing the point, which is that developers who dont know websphere, java, oracle etc... will have to ramp up, good developers or not, if using a specific tech is that important to you, fine, you need to plan for it, and its going to affect the project.

      Believe me, theres a lot more to these techs than rendering html to the client. Give me a config error in asp.net, i can probably tell you exactly what it is. Give me a J2EE config error, I'm going to have to research it first.

      --
      Top 10 Reasons To Procrastinate
      10.
    7. Re:It all depends on your existing skillset by jbplou · · Score: 1

      Were I work we have an enterprize app that has both java and asp.net interfaces. They cover different functions but both use the same backend datastore.

      I not arguing that a programmer can switch overnight, but one can definatly swith in a relatively short time frame.

  13. Java by ValiantSoul · · Score: 1

    I would stick with Java - you can deploy on any platform without worry of premature implementations. At the company I work for we use BEA WebLogic with Java web applications and Struts - works quite well.

    1. Re:Java by josepha48 · · Score: 1
      I'd second that but with one comment. Do you have java developers or vb developers?

      struts is really cool, and I use that. I've come up with a few of my own tags though, because struts does not have them.

      The following, obvious things are missing from all the frameworks I've used.

      1) struts tags are nice, but if you use the dynaformbeans, then its a problem to fill the beans from a database. Not really a problem, its possible, but not easy. I've created a request to hashtable to object method, so I can create xml that describes my beans, and then my beans get specialized methods that can covert the data to and from hash tables.

      2) simeple things made easy.. certain tags are missing.. date tag. date formats are always a problem in any application, so I have had to create a custom date object, that has a display format and an output format. Some people want to see data in MMDDYY format, others want it in DDMMYY format and others want it with YYYY. So my tag handles this. Its nice because it is 1 tag that creates the 3 dropdowns with full month displayed to the user and some hidden fields, and also javascript for manipulating the format that gets put in the hidden field. To me this is needed for any real web application.

      Struts, AFAIK, does not have sort in their select tag. How many well done sites have you gone to that do not format states or coutries alphabetically? Also how many times do you want to get a list and display it alphabetically? Yeah you can do it with the struts tags, but the tag can take a hashtable. It should also be able to sort based on decending / ascending and either option display value or the value itself.

      Just my opinion. I'm not bashing struts, and have not played enough with jsf, so it may address these, but I doubt it.

      I can see though that web development will get easier when more of these issues are addressed in frameworks like struts and jsp and even .net.

      --

      Only 'flamers' flame!
      Does slashdot hate my posts?

    2. Re:Java by bloodredsun · · Score: 1

      I prefer Struts to JSF as it's more mature and you can use more JSTL in it (JSF has issues with ). The JSTL fmt tags can also be used for formatting, including dates and this is recommended by the Struts team which is why they probably didn't both with a competing struts tag to do the same thing.

      I'm also with you on the fact that what framework you use depends more on what language you are happiest coding in and what your company uses. Comparisons like this are a bit of fluff as you can say anything depending on your setup.

    3. Re:Java by MemoryDragon · · Score: 1

      JSTL... well, the issues are being adressed in JSF 1.2, to my knowledge only one issue really exists, which is JSF foreach, a construct which in 99.999% of all cases can be replaced with a tighter dataTable or dataList c:if normally works fine, but is not needed because every component has its own render attribute which can be combined with the jsf el. The rest is less verbose than struts, formatting there is an h:outputFormat component for formatting, validation is done within the form not from an xml file, the component libs already are very extensive, so programming a page with an html editor several date pickers and a scrollable data table with various links and actions is just a few lines of code. And the xml also makes way more sense than in struts. Sorry to say, that struts really shows its age, and almost anyone I know who knew newer frameworks and then had to move to Struts jobwise, cursed left and right for weeks.

    4. Re:Java by ValiantSoul · · Score: 1

      No VB developers at the company - it is an insurrance company and all the software we write is for internal use only and some external use by agents which are done via Java webapps using struts, java, jstl, jsp, etc. All of our dev machines are using WebLogic for test deployments and for running the servers locally to track down problems but I'm not sure about the production servers - maybe WebSphere or Tomcat or something.

      As far as tags go, we use a lot of JSTL and the tags that are missing or tags that wouldn't be there for things specific to our company we just write ourselves.

      (At least thats what I've understood from the week that I've been there - just started Monday as a full time (40 hour/week) intern until the end of August)

    5. Re:Java by josepha48 · · Score: 1
      My tag consists of

      <htmlcustom:dateSelect inputFormat="MMDDYY" outputFormat="MMDDYY" useLongYear="true" yearFrom="2001" yearTo="2010" name="foo" bean="mybean"/>

      The select shows January dropdown for the month, 1-31 for day, and the year goes from 2001 to 2010 or whatever you select. It can be dynamic using the Java Calendar object. If useFUulYear = true then the year is CCYY otherwise its just YY. The input format can change based on a user pref from MMDDYY to DDMMYY. Since its a dropdown, the chances of an incorrect date are slim to none, but there currently is the possiblity of Feb 30 2005, but the db update will fail in that case. The output format is more flexible, and can be MMDDYY, CCYYMMDD or January 1 2005, or January 1, 2005 ( notice the comma ) or 1 January 2005, etc. It makes it really easy to code date stuff and also really flexible. It is my new defacto date selection object.

      Does JSTL offer something that easy and flexable? Seriously I don't know, I've never used JSTL, just JSP.

      --

      Only 'flamers' flame!
      Does slashdot hate my posts?

  14. I'd choose Macromedia Coldfusion, but hey, it's just me :)

    --
    Per Aspera Ad Astra.
  15. I'd recommend Java for several reasons. by TechieHermit · · Score: 5, Informative

    In terms of being able to create and serve a web page, either one would probably WORK, but I think Java is a much better platform. Let me share with you my reasons why, keeping in mind that I'm a professional developer with eight years of production experience. Also, I've developed on Apache (straight HTML and some CGI), JSP (on Red Hat servers with Apache Jakarta), ASP3 (IIS with COM+ middleware and Oracle backend), ASP.Net with web services AND some COM+ middleware and oracle backend, and now, Oracle 10G with Java everything (basically).

    First of all, every platform in use supports Java, and you can download almost anything you might want to use for free. This is going to save you a bundle. YES, I know that technically Mono is sort of .Net-ish, and it's free, but I don't think Mono matches the sheer breadth of Java offerings you can acquire at zero to no cost. Java buys you almost complete freedom from vendor lock-in, if you play your cards right. .Net, in comparison, is vendor lock-in INCARNATE.

    Second, Java has an amazingly rich class library. If you can think of something you might want to do with a computer, there's a java library in there somewhere which will let you do it -- usually relatively easily, too. Although C# is approaching this level of functionality, I don't think it's exactly equal with Java yet. Close, maybe, but I think Java still has a little edge. Which makes sense, when you think about it -- Java's been around for several years longer.

    Third, most major vendors are now completely behind Java. Sun, IBM, Novell, and Oracle, for instance, are all putting their collective might behind the platform. That's pretty significant. It means that new innovations from these companies are going to be available in Java FIRST. Also, when you're ready to ramp up to big iron, you're more likely to be able to do so with Java, because all the big players there are Java shops.

    Fourth, you can download Oracle Express for free, and use it with Oracle's Java developer's tools to build a rather interesting type of system. Oracle's considering an interesting approach here; give away the low-end database so that as companies grow they think about going with Oracle first. That's pretty good business; be generous first, so you'll be thought of when it's time to purchase something big. And this can work for you.

    Fifth, the same skill set your developers use to create Java-based apps on your web server can be used to program just about anything from a Microwave to a PDA to cars and trucks (believe it or not, yes Java's finding its way into some vehicle systems). Java's everywhere these days; the language is the same, only the API changes. That makes your Java skillset very portable.

    Finally, I think JDBC is a little nicer than Microsoft's database approach. I've programmed both ways, and I like the Java approach better. It's easier, for one thing; I write less code working with Java (YES, I know, it's astounding, but nontheless true).

    I could go on, but you see where I'm going. Java's the nicer of the two platforms, and you can't really go wrong choosing it.

    1. Re:I'd recommend Java for several reasons. by Anonymous Coward · · Score: 0

      Third, most major vendors are now completely behind Java. Sun, IBM, Novell, and Oracle, for instance, are all putting their collective might behind the platform. That's pretty significant. It doesn't matter so much. If I wanted to develop a website, I would just look for stable and well-known technologies/frameworks, instead of choosing the latest super-duper stuff from Novell, which might be a failure. And, as far as I remember, Mono was developed by Novell...? Fourth, you can download Oracle Express for free, and use it with Oracle's Java developer's tools to build a rather interesting type of system. Yuck. Everything that comes from Oracle, EXCEPT their DBMS, sucks. Oracle Forms? Gimme a break. Even their Oracle Universal Installer, written in Java, is a total piece of crap. Also, don't forget that M$ is also giving away their Visual Studio Express, as well as SQL Server. There are also pretty nice free/open source development tools for .NET, like SharpDevelop or WebMatrix. Fifth, the same skill set your developers use to create Java-based apps on your web server can be used to program just about anything from a Microwave to a PDA to cars and trucks (believe it or not, yes Java's finding its way into some vehicle systems). Not that easy. OK, language stays the same, but so what? You have to get to know the functionality that was implemented in the specific VM, cellphones have different screen resolutions, you have to struggle with garbage collector due to small amounts of memory etc. You just can't take a Struts/Hibernate-guy and order him to write an embedded application in a week. Finally, I think JDBC is a little nicer than Microsoft's database approach. Like, to check if some field is null, you have to pull it first, then lookup up wasNull(), which is global in the scope of statement ;) Really, who writes in pure JDBC now? Just use Hibernate with Spring, and you will find it very similar to M$'s approach...

    2. Re:I'd recommend Java for several reasons. by Anonymous Coward · · Score: 0

      Two points:

      1. Yeah, Oracle Forms sucks. But the only people using Forms are "forms queens", people who can't do more. Real developers use JDeveloper. Plus, HTMLDB is a nice tool. Get away from the legacy stuff and try some of their new tools, they're nice.

      2. "Really, who writes in pure JDBC now?" OUCH! I do. So harsh! I just got done writing an access library for our database that lets us fetch and persist data pulled from a table while minimizing the burden on the server... It was pretty easy, and can be shared around the development staff so nobody has to reinvent the wheel. The nice thing about Java/JDBC is that you can create an API around your specific database, and share it with a whole team. Don't use the click and drool tools, man, they'll rot your brain. Old school approaches sharpen it... ;)

    3. Re:I'd recommend Java for several reasons. by P3NIS_CLEAVER · · Score: 1

      How about the lack of static connection in JDBC? (might be changed now but this was in 2000) We use a wrapper for ado.net that makes it really easy use.

      --
      Please sign petition to restore sanity to our banking system!!!

      http://financialpetition.org/
    4. Re:I'd recommend Java for several reasons. by Anonymous Coward · · Score: 0

      "Third, most major vendors are now completely behind Java. Sun, IBM, Novell, and Oracle, for instance..."

      I guess the author hasn't seen the news about Novell and Mono, and Oracle and IBM including .NET CLR capabilities in their databases. Also, Mono is being included with Red Hat Fedora.

      "Fourth, you can download Oracle Express for free, and use it with Oracle's Java developer's tools ..."

      And you can also download Oracle's .NET tools for free.

      75% of Fortune 100 companies use .NET as their primary development platform (http://www.eweek.com/article2/0,1759,1645550,00.a sp)

  16. More choices by LarsWestergren · · Score: 2, Informative

    If you go with Java, there are plenty of other choices than JSF. Struts, while a bit verbose and showing its age, is a very mature framework that scales well and has been used successfully in lots of projects. A lot of people recommend Tapestry or Cocoon. It all depends on the size of your project and what people are experienced with.

    A good thing with Java, no matter which framework you choose, is that you have a huge number of open source tools and libs to help you (Eclipse, Netbeans, JUnit, Ant, Maven, CruiseControl, JMeter, PMD, Checkstyle, xdoclet, Hibernate, Spring, Tomcat, commons logging, jsch...) , and there are also plenty of books, online tutorials, and programmers around who know Java.

    --

    Being bitter is drinking poison and hoping someone else will die

    1. Re:More choices by Anonymous Coward · · Score: 0

      Tapestry, wicket and webworks are the most prominent alternatives to JSF these days, yes.

  17. Rule of thumb by Raskolnk · · Score: 1

    Use Java if you can. Use .NET if someone pays you more.

    --
    Don't blame me, I get all my opinions from my Ouija board.
  18. My money.... by g1zmo · · Score: 0, Offtopic

    My money is on the JSF

    --
    I have found there are just two ways to go.
    It all comes down to livin' fast or dyin' slow.
    -REK, Jr.
  19. My recommendation: Java and Millstone by Anonymous Coward · · Score: 0

    Java given you a lot more freedoms than closed MS environment, so stick to it if possible.

    In Java space there are many frameworks to choose from. One should at least look into Millstone, Echo and Tapestry as well as JSF. My personal favourite is Millstone as it provides a really clean and efficient development model. I takes some time to get into it, but it really pays back to do so in large projects.

  20. Have you considered WebObjects? by plsuh · · Score: 2, Informative

    If you're looking into alternatives, perhaps you should consider Apple's WebObjects. It's essentially what JSF is trying to be, along with a robust, mature, *lightweight* JDBC object-relational mapping and object persistence layer that is scads more mature than Entity EJB's. Pure Java, runs on J2SE 1.3.1+, deployment licenses amount to $499 per server (free with XServes). It's also highly scalable -- this is the technology that drives the Apple Store online, the iTunes Music Store, and Apple's .Mac service.

    --Paul
    (disclaimer -- I work for Apple; however, I've been doing web development using ASP, J2EE, and WebObjects for years. IMHO WebObjects is far more elegant and robust than the alternatives.)

    1. Re:Have you considered WebObjects? by MemoryDragon · · Score: 1

      If you mean with alternatives EJB2 and pure then yes, if you mean with alternatives something like Seam+Facelets+JSF+Extensive component lib, or s/seam/ejb3 or s/seam/spring/hibernate then definitely no! Or if you subsitute xcode with something like Studio Creator 2 EA2 then definitely no. Do not get me wrong, WebObjects was groundbreaking, but it is mostly Apple to blame for that we now all code with other technologies not WebObjects. All the web stuff now is there where Webobjects has been around 2000 but the problem is, WebObjects mostly still is there where it was 2000 with small additional fixes and enhancements, while the rest of the bunch slowly but surely bypasses Webobjects, and XCode by miles!

  21. Dang you beat me to it by SmallFurryCreature · · Score: 1

    Yeah, I thought the same, the Joint Strike Fighter vs MS code. Damn the geneva convention and lets napalm that sucker! Colleteral damage highly advised. If only they can accidently take out Java as well. Then all will be well.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  22. Why compare only two? by HaydnH · · Score: 1

    For me the two obvious choices are ASP.net vs Java Server Faces.

    Why are they the two obvious choices? What about PHP for example? It sounds like you've already made your mind up - why bother asking the question?

    --
    Time is an illusion. Lunchtime doubly so. - Douglas Adams
    1. Re:Why compare only two? by rjshields · · Score: 1
      Why are they the two obvious choices? What about PHP for example?
      No offence intended, but comparing PHP with ASP.NET and JSF is like comparing a Trabant with a BMW and a Mercedes ;-)
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    2. Re:Why compare only two? by Thundersnatch · · Score: 1
      What about PHP for example?

      In my experience, PHP is an intepreted, unstructured, code-mixed-with-markup hellhole. Comparable to the original ASP or JSP. The state-of-the-art development platforms moved past that sort of thing several years ago... too many maintenance and scalability issues.

  23. JSF hard to develop by DeadSea · · Score: 3, Interesting
    I have a small project at work that I inherited that is written in JSF. It is a pain. Don't go there. I have problems with JSF:
    1. Non-existant error reporting: If an exception is throw by the code backing it up, the error message on the front end will be something like "Exception: '{mycomponent.dosomething}'". Which really means that dosomething threw some other exception that it is hiding from you.
    2. Everything is a post: JSF tries to apply MVC to the web, which is fundamentally broken IMO. The web is transactional, not event driven. To make it appear that everything has callbacks, all the links in the web app are done by making javascript submit a POST form for the page. Much harder to debug than any other web app that I've ever worked with. You can't just see the params on a GET url and expect links to work like every other link on the web
    I've never used ASP though, so I can't really compare. Myself I prefer servlets that spit out XML and use XSLT to give HTML. The designers don't seem to like the XSLT much though.
    1. Re:JSF hard to develop by MemoryDragon · · Score: 1

      I have been through 5 jsf projects, and I do not want to miss it anymore (although I agree the first project was rough) Actually the exception stuff is dependent on the implementation the post centricness is not really that true, yes there is lots of http post, due to the fact that post scales better than get, but you can do links with normal links (there is a h:link or something even in the standard codebase) as for post problems, like back button, the back button issue is solved in MyFaces and the ri, by simply restoring the state on a back. javascript is not mandatory for form posting, only command links use it due to the fact that it has multi action per form out of the box and doing such a thing without javascript is close to impossible, due to the limitations of html. If you need an alternative to this mechanism use a command button. The benefits you get however are huge, rich component sets, very tight markup template code, scoping (via extension frameworks and extension components), etc... I think in the end the benefits of JSF outweight the few disadvantages (after all we are still at the second revision of the standard) it currently has by miles. As for the post generally, it is nothing in the standard which would prevent the implementation of a getter form and getter command link, but the mere fact that hundreds of components even the most obscure existe and nobody has done such a thing shows that such a thing is not really needed that much.

    2. Re:JSF hard to develop by anomalous+cohort · · Score: 1
      I have problems with JSF...Everything is a post...The web is transactional, not event driven

      You're not going to like ASP.NET either. The reason why these two technologies are being compared here is precisely because they both attempt to make the web development experience (which, as you say, is transactional) look more like a windowing application development experience (which is event driven).

      I guess that the theory why this type of approach is popular is that there are many developers out there who are having trouble transitioning from event driven coding to transaction driven coding. I don't know if that's really true or not. I, myself, had no trouble making the paradigm shift but that may be because I was coding back in the transactional days of timesharing with 3270 and curses style screens. Everything old is new again.

  24. Try Tapestry 4.0 by yooniks · · Score: 1
    1. Re:Try Tapestry 4.0 by cecom · · Score: 1

      Amen!

  25. More than two options... by Randolpho · · Score: 1

    I've enjoyed developing PHP applications, so you might also want to consider some form of LAMP-oriented system. If you do, consider using Zend Platform, the new PHP server management system from Zend; it's supposed to make administration of PHP webservers much easier.

    That said, I have a radical suggestion: use a rich client rather than web application. Even with AJAX, the web is still a very limited user experience platform -- I've always preferred manly GUIs to sissified pansy-web-pages. ;) If you go that route, consider using either Java WebStart (if you prefer Java) or Microsoft's ClickOnce (if you prefer .NET).

    If you prefer the .NET route, which I would personally recommend over Java, you might also consider developing the application in the new Windows Presentation Foundation. Although it's still in BETA right now, WPF applications deployed with ClickOnce have the option of running inside the browser -- the user gets a much richer experience than web applications can grant even with AJAX, but are still on the web. Think of the browser option as a cross between a Java applet (which .NET has been sorely lacking) and Mozilla's XUL.

    Of course, there's a trade-off... if you go the rich-client route and use .NET, you cut off non-Windows platforms. If you run WPF, you are cutting edge (it's not even finished yet!!), but you have a small client-base until Vista takes off.

    --
    "Times have not become more violent. They have just become more televised."
    -Marilyn Manson
    1. Re:More than two options... by MemoryDragon · · Score: 1

      Good luck getting clustered transactions and other important things like maintainability over dozends of coders code with php or rails in any way... Sorry to say that but both php and rails are great frameworks but there are areas where you cannot choose both of them!

    2. Re:More than two options... by Randolpho · · Score: 1

      Clustered transactions aren't always a requirement (in fact, they're *rarely* a requirement), and certainly weren't listed as such by the article author.

      As for maintainability... good luck getting maintainability with *any* language when you have dozens of coders on a project. PHP is not inherently unmaintainable, it's a language, capable of some pretty sweet things. So are Java, C#, ruby, and python, just to name a few (note: I avoided perl, because *shudder* ;)). Whether or not a program is maintainable is dependent upon how the designers design, implement, and document the code, not the language itself.

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
    3. Re:More than two options... by MemoryDragon · · Score: 1

      Actually maintainability in teams is a huge problems in dynamic languages like PHP or ruby, you have to do excessive Unit testing to keep everything in place. These languages definitely have a team scaling problem, add to that in PHP at least the most popular version (4) no namespacing no separation of code concerns via mvc and you are in for a scaling desaster. PHP is fine for small projects but it does not scale for real world enterprise requirements. Both PHP, Rails etc... have their place but there are places where you better not use them as a tool. And those places are where J2EE todays is used most often.

  26. Open Appserver and Progress 4GL by cypherz · · Score: 1

    Is this really 'just a front end'? If your project is really just a front end to an existing body of business logic, it doesn't really matter that much. Front end coding will be the easy part. Going through your server or appserver business logic and tweaking it for your new interface will be where the work is. In a well designed web front end there should be as little business logic as possible. This way the front-end coding is reduced and replacing your web interface down the road with another front end becomes easier.
    Laugh if you want, but I'd probably code the appserver-side logic in the Progress 4GL running on Open Appserver and then use a Webspeed front end if the requirements were low, if not maybe write the web interface with Visual *.Net or whatever the team was comfortable with. IMNSHO, the middle tier is where your big decisions should be. That way you're not permanently tied to any particular front end.

    --
    This sig kills fascists.
    1. Re:Open Appserver and Progress 4GL by bean123456789 · · Score: 1

      In a well designed web front end there should be as little business logic as possible. This way the front-end coding is reduced and replacing your web interface down the road with another front end becomes easier.

      I totally agree with this, it is the best development scheme you can do for yourself. As a corollary you can also write multiple front ends, i.e. web based for quick deployment, and a rich client for in-house power use.

    2. Re:Open Appserver and Progress 4GL by cypherz · · Score: 1

      "...and a rich client for in-house power use."

      This is exactly the scheme we're using in house. We'll deploy various frontends (some TBD) based on client needs and bandwidth. On our company LAN, we'll use fat clients (better for serious data entry IMHO), and all will access the same body of business logic on our Progress Open Appserver (great product).

      Rant: I really wish Progress Software Corporation had better advertising and promotion. They've had a great DB and rich development environment for years. Now they have kick-ass middleware (SonicMQ etc). They've been around (and proftable) for over 25 years, and nobody under 40 ever heard of them.

      -=W=-

      --
      This sig kills fascists.
  27. Proprietary? It's 2006 already! by Travis_Tennies · · Score: 1

    Seems like every time I see .net deployed, it only really work with MS browsers. Then the under-knowledged team has to try to figure out how to get it work in the real world. Then there's also the endless security issues with very very long fix times. You'd have to be high to not know it takes way too long for MS to fix known security problems.

    Consider Microsoft for games, but not for business.

  28. Java- new tools slick and free! by acomj · · Score: 1

    .
    Java has some new ide's for free that seem to produce web pages (I'm not exactly sure what java flavor). They look really slick, and have me thinking about switching to java from php.

    http://developers.sun.com/prodtech/javatools/jscre ator/index.jsp [sun.com]

    http://developers.sun.com/prodtech/javatools/jscre ator/reference/quicktour/2/flash/index.html

  29. Compare to ASP.NET... by sheldon · · Score: 1

    I don't know JSF, but I'll comment on how this might compare with ASP.NET v1.1. (Haven't used 2.0 much, but it's much improved in many ways.

    1. Non-existant error reporting: If an exception is throw by the code backing it up, the error message on the front end will be something like "Exception: '{mycomponent.dosomething}'". Which really means that dosomething threw some other exception that it is hiding from you.

    I don't think this applies to asp.net. If the code backing it up throws an error, and you're displaying errors(rather than catching them) on your main page. You're going to see the full details.

    Now if you are using Remoting to a different server(usually like say from a presentation to data tier), that can get hard to debug sometimes. You'll get an exception, but not necessarily the full details.

    The worst is if your web.config file is malformed somehow, you'll just get a generic error telling you that there is an error and you pull your hair out. But once you get past that it's very easy to debug.

    2. Everything is a post: JSF tries to apply MVC to the web, which is fundamentally broken IMO. The web is transactional, not event driven. To make it appear that everything has callbacks, all the links in the web app are done by making javascript submit a POST form for the page. Much harder to debug than any other web app that I've ever worked with. You can't just see the params on a GET url and expect links to work like every other link on the web

    Well, you won't like ASP.NET then.

    But you know what? I seldom actually develop that way. IT's nice at times because it's easy to just throw a page together. But most of the time I seperate out my application in such a way that I use the querystring.

    Maybe I'm just old-school. But the point is, you don't have to develop the easy way, you can go in and make it specific. At least with ASP.NET.

    I've never used ASP though, so I can't really compare. Myself I prefer servlets that spit out XML and use XSLT to give HTML. The designers don't seem to like the XSLT much though.

    ASP is not ASP.NET. The only thing they share in common is those three letters.

    Most of my ASP.NET development is similar to your XML/XSLT to give HTML. Except I'm calling stored procs and getting back DataSets. I then feed the DataSet into some kind of rendering class, like the built-in DataGrid or DataRepeater.

    I find XSLT useful in certain cases. I think it's hard to work with, and the few GUI type editing tools I have found are crap forcing you to use a text editor all the time. Also, at least in my experience it has a lot of server overhead compared to the Dataset rendering that ASP.NET provides. I don't know why, may just be the MS XML parser controls.

  30. Tapestry vs. JSF detailed comparison by fbg111 · · Score: 1

    Not sure why you're considering JSF and not Tapestry, but in case you want to add the latter to your shortlist, here's a good, detailed comparison between Tapestry 3.0 and JSF:

    http://www.realsolve.co.uk/site/tech/jsf-vs-tapest ry.php

    Tapestry 4.0 was just released, so that comparison a little dated now, but still worth a read.

    --
    Flying is easy, just throw yourself at the ground and miss. -Douglas Adams
  31. JSF for Database Apps by Anonymous Coward · · Score: 0

    I am C++/Java Developer and at work was asked to write web-based applications that would display and manipulate very specific data to users from multiple data sources. Already Knowing Java I turned to J2EE for my web development, using a mixture of JSP and JSF. I found the most useful part of JSF for me has been the tag. I used a JavaBean to make JDBC connections and build and array/list of data objects. dataTable will display dynamic columns from your data structure on the web page. In your dataTable you can mix Java data types, html and other JSF components, CSS can be used to make your dataTable pretty. Using JSF saved me a lot of time with web page development.

    I did consider ASP for this project but there was too much MS overhead since time was a consideration on this project

  32. JSF using netbeans demo by shalu028 · · Score: 1

    You could check out this netbeans flash demo that explains the ease-of-use of developing a Java EE 5 application. That includes adding JSD support to the project.

    http://weblogs.java.net/blog/binod/archive/foss-in -2005-GlassFish-EJB3Persistence-NetBeans-Demo.swf

    1. Re:JSF using netbeans demo by shalu028 · · Score: 1

      Sorry, a typo. It is JSF support

  33. ASP.NET is incredibly productive by benjymouse · · Score: 1
    I'm a little concerned about the maturity of JSF, especially as Microsoft has just raised the bar (nov 7th last year) with the latest release of ASP.NET. The 2.0 release made up for some of the errors by omission from 1.x. But more importantly 2.0 also introduced a number of new concepts which really boost ASP.NET development:

    MasterPages. Page templating ensures consistent page layout throughout the site, without the hassle of a centralized dispatcher logic like e.g. a front controller.

    WebParts. Makes creating portal websites and/or -pages a no-brainer (well, once you get a grasp on the concepts involved). Drag&drop works in all common browsers. The user can rearrange webparts, collapse/expand individual parts, add from a catalog, hide/remove parts, export/import to/from local files, link properties across parts. For the developer creating a webpart involves roughly the same effort as creating a page with the same functionality.

    Declarative Localization. Finally lets you do those multilingual sites without cluttering the pages with conditionals or code to retrieve text values. Localization is declarative: The tags are adorned with a meta attribute which specifies a resource key. The lookup/substitution is completely automated. You are still working with the markup in your default language. Alternative languages are specified in external resource (xml) files. These may alter any attribute, e.g. image urls, text etc.

    Caching. Fine-grained control over output caching (page and pagelet caching). This includes declaratively setting up cache dependencies to invalidate the cache. Database systems (Oracle and SQL Server) can even be set to invalidate the caches automatically (event based) when the result of a query would change because of a database change. Other caching options inclused application managed caching and resultset caching.

    Themes/Skins. Lets you declaratively alter select properties of controls across the site. You can think of themes like server-side style sheets. Being server-side they can alter properties of server-side controls. One theme may choose to not use paging in GridViews, while another theme may choose to enable paging with a pagesize of 20 for all GridViews.

    Multiple compilation/deployment options. In one end of the spectrum you can deploy fully precompiled sites, in the other you can deploy sourcefiles and leave all compilation up to the webserver. There are pro/cons indicators of each model.

    Adaptive Rendering. Serves same purpose as renderkits. Lets you specify alternative rendering for specific devices. In 2.0 this has meant that the former special "mobile controls" for WML has been folded into mainstream ASP.NET.

    Asynchronous Webpages. Some web pages needs to call upon external resources, e.g. webservices. Some of these calls make take a long time (seconds). Tieing up the thread/process of the webserver while the page/model waits for the request will lead to decreased scalability. Asynchronous pages will let you relinquish the thread. When the external, asynchronous call returns, another thread is dispatched again to complete the processing.

    Membership Controls/-Providers. A number of standard controls for creating a membership sites: Login, CreateUserWizard, LoginView (showing alternative content based on login status and/or roles belonged to), LoginName, PasswordRecovery. All of these controls are fully customizable, i.e. you can take full control of the rendered xhtml. The controls includes membership specific functionality. The controls work their magic by integrating with a Membership Provider. You can go with one of the two supplied, or implement your own.

    Integrated Personalization. Choice of theme, language, webpart customizations etc. are by default integra

    --
    Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*