JSF and ASP.NET technology and IDE comparison

Discussions

News: JSF and ASP.NET technology and IDE comparison

  1. A number of major IDE's have tooled up JSF support, including Oracle JDeveloper, IBM's WSAD, etc. Chris Schalk has written a comparison of the features of JSF + major Java IDE's vs. Microsoft's ASP.NET technology and Visual Studio.

    Chris gave the two technologies a tie when it comes to integrated security, WYSIWYG rendering and built in mobile development. Microsoft won on easy page templating and skinning, and easy to use property editors. JSF won on easy databinding.

    Chris concludes:
    Although the Microsoft feature barely edged out the equivalent JSF IDE development features in this basic comparison, I think the new JSF enabled IDEs still offer a worthy challenge to Microsoft's technology. It should also be pointed out that the features highlighted from Microsoft's stack while compelling, are still beta. So for today's JSF IDEs to compete quite well with Microsoft's proprietary visual development environment which has yet to be released leads me to conclude that JavaServer Faces integrated development environments can now effectively take on Microsoft's development environment today...

    Threaded Messages (57)

  2. how about comparing JSF with ASP.NET 1.1 and VS 2003 (considering that VS 2005 and ASP.NET 2.0 isn't out?)
  3. How old is JSF (final release) compared to ASP.Net 1.0?
  4. how about comparing JSF with ASP.NET 1.1 and VS 2003 (considering that VS 2005 and ASP.NET 2.0 isn't out?)
    And why was WSAD used and not RAD? RAD has been out since the end of last year.
  5. Look, when ASP.NET runs on Unix, then let me know how it compares to JSF or whatever.

    I wonder, does this community really care about these apple and oranges reviews?
  6. I wonder, does this community really care about these apple and oranges reviews?

    I do. Many organizations have .net developers talking up the wonders of .net. More Java developers need to know the power and productivity that JSF provides, either by itself or with a productive IDE like WSAD or Oracle ADF.
  7. ASP.Net on Unix/Linux[ Go to top ]

    http://www.mono-project.com/Main_Page

    With this you can run ASP.Net applications as an Apache module or with their own app server.
  8. Look, when ASP.NET runs on Unix, then let me know how it compares to JSF or whatever.I wonder, does this community really care about these apple and oranges reviews?

    ummmm .... actually it does

    http://www.mono-project.com/ASP.NET
  9. the Java/.NET war is over[ Go to top ]

    Haven't you noticed? The largest jobsite in US indeed.com, which is an aggregator, now shows more .NET jobs that Java jobs. Old maintenance project included.
    To test for yourself just go to indeed.com and search on,

    1) java or j2ee
    2) c# or .net

    The still considerable development in vb6 and classic asp is not included…

    Then go to www.it.jobserve.com and observe how .net every month creeps closer to Java by 1-2 percent every month.
    Obviously Europe will soon follow.

    Try to explain away that.

    And in the future? Where is the Indigo of the J2EE world? EJB3? ;)

    Regards
    Rolf Tollerud
  10. the Java/.NET war is over[ Go to top ]

    Tried, just for fun
    Java 54,951
    J2EE 22,326

    C# 17,728
    .Net 57,222

    Some of my favorites for .Net:

    High Net Worth Client Advisor
    Medical Director - Health Net & PacifiCare-National Team
    Pharmacy Technician, Health Net, Inc
    Product Development Coord, Health Net, Inc
    Account Executive, Nothing but net

    Anyway, let's call it a tie. Java is still going strong, actually stronger than I expected, with .NET maturing and all.

    Indigo is not yet there, and it is not a silver bullet either.
  11. the Java/.NET war is over[ Go to top ]

    Haven't you noticed? The largest jobsite in US indeed.com, which is an aggregator, now shows more .NET jobs that Java jobs. Old maintenance project included.To test for yourself just go to indeed.com and search on,1) java or j2ee2) c# or .netThe still considerable development in vb6 and classic asp is not included…Then go to www.it.jobserve.com and observe how .net every month creeps closer to Java by 1-2 percent every month. Obviously Europe will soon follow.Try to explain away that. And in the future? Where is the Indigo of the J2EE world? EJB3? ;)RegardsRolf Tollerud

    Rolf. We have been over this endless times. Unless you can directly show that Java is declining and that this is due to .NET picking up a significant number of jobs that Java would have been used for. these figures are meaningless in terms of competition.

    You also have to look at what the job adverts actually say. I pointed out to you on another thread a job advert that mentioned .NET and Java, and required developers for a conversion from ASP.NET to Java Swing Client - strange but true. Many of those 'old maintenance projects' show .NET being used as an upgrade to VB6 and VC, not as a competing technology for Java.

    I proved that such job figure comparisons were meaningless a month or two ago, when I showed on one jobsite a fast growth in COBOL jobs, while VB.NET jobs were declining. By similar reasoning to yours, COBOL would then have 'won the war against VB.NET'.

    You know full well that both .NET and Java are growing in use. There is no real 'war' anymore. The future is .NET/J2EE integration. Even Microsoft realises that. perhaps you will too, one day.
    Obviously Europe will soon follow.

    Then I would suggest that you don't know Europe as well as you think you do! IT practises in many European countries don't follow the States.
  12. Look, when ASP.NET runs on Unix, then let me know how it compares to JSF or whatever.I wonder, does this community really care about these apple and oranges reviews?
    ummmm .... actually it does http://www.mono-project.com/ASP.NET

    From the FAQ at that site:

    "Not all applications written for ASP.NET work on Mono".
  13. Mono ASP.NET a non starter[ Go to top ]

    Look, when ASP.NET runs on Unix, then let me know how it compares to JSF or whatever.I wonder, does this community really care about these apple and oranges reviews?
    ummmm .... actually it does http://www.mono-project.com/ASP.NET
    From the FAQ at that site:"Not all applications written for ASP.NET work on Mono".

    Yeah, ah...where do I get that Oracle OLEDB driver that works with Mono ASP.NET on a Linux platform?
  14. data binding[ Go to top ]

    J2EE currently does not have an equivalent of the disconnected DataSet of ADO.NET. I wonder what is the data source for the JSF components to bind to?
  15. data binding[ Go to top ]

    J2EE currently does not have an equivalent of the disconnected DataSet of ADO.NET. I wonder what is the data source for the JSF components to bind to?

    check out this thing call a RowSet or a WebRowSet or a DisconnectedRowSet....

    http://today.java.net/today/2004/10/15/jdbcRowsets.pdf

    http://java.sun.com/developer/Books/JDBCTutorial/chapter5.html
  16. data binding[ Go to top ]

    check out this thing call a RowSet or a WebRowSet or a DisconnectedRowSet....Rowsets.pdfChapter 5
    Had read about Rowset before (but didn't realise it is the DataSet equivalent in Java). Still wonder

    (1) Why hasn't Rowset been widely used as DataSet in the .NET world? Will JSF change the story (of Rowset) completely? (if data binding is also pervasive in JSF as in ASP.NET).

    (2) Why did BEA and IBM want to bring in a spec for Service Data Objects (SDO)? Purely politics?
  17. RE: data binding[ Go to top ]

    Strictly speaking about webapplications. I think there are not many uses fot the disconnected dataset, since the pages of the application are filled with data on the server, NOT on the client. The only thing it will create is an extra layer to go through and add extra complexity (and thus prone to bugs). There are enough persistence models to suit the java worlds needs.

    SDO I dont know.. have read the spec, but not something I would use in the near future.
  18. RE: RE: data binding[ Go to top ]

    Strictly speaking about webapplications. I think there are not many uses fot the disconnected dataset, since the pages of the application are filled with data on the server, NOT on the client.

    Yes, you are right. The ASP.NET DataGrid control (or DataList etc) can actually be bound to a SqlDataReader (the equivalent of JDBC ResultSet in .NET) instead of a DataSet. Don't tell me you can bind a JSF component to a JDBC ResultSet.
  19. RE: RE: data binding[ Go to top ]

    Don't tell me you can bind a JSF component to a JDBC ResultSet.

    Even if you can, you wouldn't do it, would you?
  20. RE: RE: data binding[ Go to top ]

    Don't tell me you can bind a JSF component to a JDBC ResultSet.
    Even if you can, you wouldn't do it, would you?

    Yeah, you would for simplicity in some cases. JSF's DataModel can be treated as an adaptor to just about any data set, including a ResultSet or RowSet. The pushed JDBC data is treated the same as in JSTL and can be accessed by property name within your JSP page. With this, you can remove the overhead of developing JavaBeans, while retaining some semblance of abstraction within JSF's Component Framework.

    -- Jacob (JSR-252 EG)
  21. RE: RE: data binding[ Go to top ]

    I did a similar comparison between Whidbey and WebLogic Workshop 8.1 a while ago.
    While Workshop is not component/event based, just MVC/Struts based, it stands up very well in terms of features.
    It does have data binding using JDBC RowSets (through RowsetControls) for example, and it has similar login, and security features, templating, etc.

    http://fb2.hu/x10/Articles/WorkshopVsWhidbey.html
  22. RE: RE: data binding[ Go to top ]

    Every 2 years or so I make sure I explore new MS data binding features.. just in case. The lure of so few lines of code..

    If memory serves me, I tried to bind a winforms listbox to a colletion that implimented IList. When compared to manually scanning and adding, the data-bound display times were just too slow. So I shelved this part of the .Net feature set for yet another 2-3 years.

    I undersatand JSF has matched .Net's code behind structure. That is core. .Net partial classes will make this pattern even more flexible, but I have not seen any hint of this feature in J2SE 1.5 - shame.
  23. data binding[ Go to top ]

    IBM IDE websphere studio v5.1.2 or the newesr Rational application developer both integrate JSF with SDO (disconnected nature) in the easiest way
  24. JSF won on easy databinding.

    But not the sort of data binding I'm interested in. I would be far more interested in JSF components that could use JDO (or, in future, EJB 3.0). I would like to be able to provide components with a PersistenceManagerFactory (or a list of properties to set one up), then specify the classes and fields the components are bound to, and enter JDOQL queries to retrieve sets of data.
  25. JSF won on easy databinding.
    But not the sort of data binding I'm interested in. I would be far more interested in JSF components that could use JDO (or, in future, EJB 3.0). I would like to be able to provide components with a PersistenceManagerFactory (or a list of properties to set one up), then specify the classes and fields the components are bound to, and enter JDOQL queries to retrieve sets of data.

    At a presentation in Minneapolis recently, Gavin King hinted that EJB 3 components for JSF were already in development. It wouldn't be hard to do the same for Hibernate.

    Jacob (JSR-252 EG)
  26. JSF won on easy databinding.
    But not the sort of data binding I'm interested in. I would be far more interested in JSF components that could use JDO (or, in future, EJB 3.0). I would like to be able to provide components with a PersistenceManagerFactory (or a list of properties to set one up), then specify the classes and fields the components are bound to, and enter JDOQL queries to retrieve sets of data.
    At a presentation in Minneapolis recently, Gavin King hinted that EJB 3 components for JSF were already in development. It wouldn't be hard to do the same for Hibernate.Jacob (JSR-252 EG)

    And, presumably, JDO.

    This is excellent news.
  27. I'm working in a framework called
    Xkins that could be used in JSF renderers. Xkins Faces package is intended to be used along with JSF.
    Xkins Faces define a skin type, so third-party vendors could create many skins that feature this same skin type. Thus, if you develop an application with JSF and Xkins Faces, you could download a new skin for your Web application, deploy it, and use it with no changes, since all templates needed by Xkins Faces are defined in the skin type. So in the near future, many skins could be available for download and use in your Web applications, or your users could compose their own skins based on existing ones and use templates directly from the Internet without deploying them.
    Xkins Faces is a beta, and actually are decorators of existings renderers, but i'm working on it to make a whole JSF Renderkit, and to integrate within JSF IDEs.
    You can read an article on Xkins at http://www.javaworld.com/javaworld/jw-10-2004/jw-1025-xkins.html.

    Regards
    Guillermo Meyer
  28. This is an interesting comparison. I'm sure if you took any technology stack in java-land vs. .NET-land they would be comperable with a few exceptions.

    IMO the advantage on the .NET side is that there are a lot of choices made for you. You know which IDE, web server, app server (the OS), persistence model, etc you are going to work with when you say "I'm going to use .NET". With java, those choices need to be made, which is no small task because of the sheer volume of choices and compatability issues.

    This is not to say Java-land doesn't have its advantages because it certainly does, but IMO, having these decisions made up front is a good thing. If some uber-geek could create a "platform" where these decisions were made for you in the form of suggestions, documentation, and compatablility testing, that would be a big boost to java.

    On a side note, I think this is what IBM is trying to do by getting Apache in it's back pocket, creating a new JVM, etc. If they can set up a linix distro that, when installed, gives you database-of-choice, geronimo, their JVM (which I think they couldn't use Sun's for licensing reasons, try to install Sun JVM on gentoo to see what I mean), commons logging, their IDE, etc. If they can have this installed and configured by default, this would attract the lesser-geeks and the corporations who would feel warm and fuzzy that the entire stack is supported by one place.
  29. .. but IMO, having these decisions made up front is a good thing.

    Except when those upfront decisions don't work or aren't the best solution for the task you are trying to accomplish.
    .. and the corporations who would feel warm and fuzzy that the entire stack is supported by one place.

    I find that in my 10+ years of consulting, that no corporation gets the warm fuzzies from having their entire stack be supported by one place. No wise corporation is going to put all their eggs in one basket because vendors and the vendor's technologies they are pushing come and go over time.
  30. I find that in my 10+ years of consulting, that no corporation gets the warm fuzzies from having their entire stack be supported by one place. No wise corporation is going to put all their eggs in one basket because vendors and the vendor's technologies they are pushing come and go over time.

    While I agree that no company wants put all their eggs in one basket inherently, they do have to make technology and platform decisions and then periodically validate those decisions over time as the technology & business landscapes change.

    Do you really think Microsoft and .NET do not possess long term viability? Do you think Microsoft is going somewhere?

    Based on what we are seeing at our clients there is a definite trend, especially in the portal space, to standardize on a single vendor stack as much as possible. IBM, Microsoft, Oracle, etc. They want tools that will integrate together and work. A definite switch in mindset of the late '90s when best of breed seemed to win the day.
  31. Do you really think Microsoft and .NET do not possess long term viability?

    As someone who has used Microsoft products since Microsoft started, I feel qualified to comment. No, I would say they don't possess long term viability. Microsoft have always been deprecating older products and ways of working, and it never fails to surprise me how often people forget this. I am currently trying to deal with compatibility problems arising with several programs that worked fine less than a decade ago under Win 3.1 - Win 98, but won't work under XP even in compatibility mode. I am also, at some point, likely to have to deal with VB6 code that will have to be ported to something else now that Visual Basic not on .NET is deprecated.
    Do you think Microsoft is going somewhere?

    Microsoft is always going somewhere, and regularly leaves developers behind. As they say, "Where do you want to go today? (tm)".
    They want tools that will integrate together and work. A definite switch in mindset of the late '90s when best of breed seemed to win the day.

    I see the opposite - an increased interest in Java and JSR specifications, so best-of-breed implementations can be used.
  32. Do you think Microsoft is going somewhere?
    Microsoft is always going somewhere, and regularly leaves developers behind.
    I like Joel's article on the topic: Fire And Motion
    http://www.joelonsoftware.com/articles/fog0000000339.html
  33. Do you think Microsoft is going somewhere?
    Microsoft is always going somewhere, and regularly leaves developers behind.
    I like Joel's article on the topic: Fire And Motionhttp://www.joelonsoftware.com/articles/fog0000000339.html

    Yes, although I would put a different interpretation on things than Joel:

    "The companies who stumble are the ones who spend too much time reading tea leaves to figure out the future direction of Microsoft. People get worried about .NET and decide to rewrite their whole architecture for .NET because they think they have to."

    With Microsoft, if you want support, you DO have to re-write your architecture to keep up with what they are doing. If you don't, then eventually you won't get support from them, and soon after that, your product may not work on their systems any more.

    This is why, if I have to put my trust in any technologies, it is Java + JSRs.
  34. As someone who has used Microsoft products since Microsoft started, I feel qualified to comment. No, I would say they don't possess long term viability. Microsoft have always been deprecating older products and ways of working, and it never fails to surprise me how often people forget this. I am currently trying to deal with compatibility problems arising with several programs that worked fine less than a decade ago under Win 3.1 - Win 98, but won't work under XP even in compatibility mode. I am also, at some point, likely to have to deal with VB6 code that will have to be ported to something else now that Visual Basic not on .NET is deprecated.

    If you are looking at the situation as past performance is the leading indicator of future direction I see your point. But I am not sure it is fair to go back to Win 3.x in your comparison, Java did not exist at that time and a LOT has changed in the technology world. IMO to be fair I think you need to see how Microsoft moves forward with .NET before passing judgement, since it was a direct response to J2EE, although not its original purpose.
    Microsoft is always going somewhere, and regularly leaves developers behind. As they say, "Where do you want to go today? (tm)".

    Not exactly the point that I was trying to make. There are a lot companies, smaller middle market companies where the MS stack makes sense or companies that want to embrace both J2EE and MS. Like it or not, there is a market for their products, so they are going to remain a viable option for now, even if you do not agree with that option.
    I see the opposite - an increased interest in Java and JSR specifications, so best-of-breed implementations can be used.

    Again, not exactly the point I was making. In terms of standardizing on a stack companies are tired of dealing with multiple vendors who point fingers at one another when enterprise solutions fall apart. For example, one company for an App Server, another for LDAP, another for RDBMS, another to provide a Portal, and another to provide SSO.

    I see JSR specs providing a security blanket to companies that can choose a particular tool vendor (Portal, CMS, etc.)knowing that the shift to another vendor's tool supporting the same JSR spec will allow for an easier port.
  35. There are a lot companies, smaller middle market companies where the MS stack makes sense
    This is the area where I believe that that Java stack makes more sense. Or at least an open source stack.
  36. But I am not sure it is fair to go back to Win 3.x in your comparison, Java did not exist at that time and a LOT has changed in the technology world.

    I did say Win3.1-Win98. Surprising little has changed server-side in a decade. Java is still considered to be relatively new; there is still major development using decades-old Unix APIs, and even COBOL development is still significant!
    IMO to be fair I think you need to see how Microsoft moves forward with .NET before passing judgement

    On the contrary, I think it is wiser to judge a company by it's past record, rather than hoping that this time with .NET they might change their usual practice.
    Not exactly the point that I was trying to make. There are a lot companies, smaller middle market companies where the MS stack makes sense or companies that want to embrace both J2EE and MS. Like it or not, there is a market for their products, so they are going to remain a viable option for now, even if you do not agree with that option.

    I think we are shifting the meaning of 'viable'. If you mean something short term - the ability to design some client-side interface to something longer term, then I can see some use for .NET.
    Again, not exactly the point I was making. In terms of standardizing on a stack companies are tired of dealing with multiple vendors who point fingers at one another when enterprise solutions fall apart. For example, one company for an App Server, another for LDAP, another for RDBMS, another to provide a Portal, and another to provide SSO.I see JSR specs providing a security blanket to companies that can choose a particular tool vendor (Portal, CMS, etc.)knowing that the shift to another vendor's tool supporting the same JSR spec will allow for an easier port.

    Good point. I agree.
  37. IMO the advantage on the .NET side is that there are a lot of choices made for you. You know which IDE, web server, app server (the OS), persistence model, etc you are going to work with when you say "I'm going to use .NET". With java, those choices need to be made, which is no small task because of the sheer volume of choices and compatability issues.

    Then go with a single Java Vendor stack. Sun, IBM, Oracle. So, in reality, the advantage is still on the Java side.
  38. Then go with a single Java Vendor stack. Sun, IBM, Oracle. So, in reality, the advantage is still on the Java side.

    You could go with an entire stack from some places, but from what I've seen, the integration isn't as tight as with the M$ equivalents. This is by design because Java-land is more about choices than .NET-land. This is not a bad thing, but choices imply descisions that need to be made and if I can get equivalent productivity without having to make and prove those choices I'm better off.

    Also, I'd like to see a nicely integrated java stack that is free. IBM, Oracle, BAE all cost $. The free part is one of the best features of Java-land, but personally, at this point, if I have to pay out of my own pocket, I'd pick .NET.

    A quote from someone different...
    No, I would say they don't possess long term viability

    M$ has enough money to buy long term viability if the fail by all other means. .NET is newer the Java, but I think it's poised to wipe the floor with Java. Tight integration with server products is key. Less decisions to make is also key. Less frequent releases breaking compatablilty is key (I have open source in mind here). The java community is too divided and not well enough coordinated to reach the level of integration and simplification the M$ enjoys in .NET.

    You may dismiss me as having been assimilated by M$, but I'm not. I'm a consultant (read technology whore). I'm an expert at whatever my customer needs an expert in. Fellow consultants know what I mean. This is the opinion I have formed after swimming around in java-land and M$-land for a while now. Java's got some great stuff going for it, but I think that if it doesn't clear the hurdle of not being well coordianted or well integrated it's going to fall on tough times. Hopefully EJB3 and JSF will be the catalyst for this happening
  39. A quote from someone different...
    No, I would say they don't possess long term viability
    M$ has enough money to buy long term viability if the fail by all other means.

    You are missing my point. Microsoft doesn't deprecate technologies or APIs because they are unpopular or because they aren't profitable; Microsoft simply keeps changing direction, and these changes of direction means that it simply is not interested in older systems. For example, Visual Basic 6 is still a phenomenally popular and successful development environment, but it did not fit with the .NET plans, so it is being dropped.
    .NET is newer the Java, but I think it's poised to wipe the floor with Java.

    How is that possible, when most .NET is simply not being used in the same context as most Java? Sure, .NET can dominate client side, but until Microsoft systems have overwhelming dominance at all scales on the server side... .NET can't wipe the floor when it is not even in the same room!
    Tight integration with server products is key.

    Exactly, which is why there is such emphasis today on .NET/J2EE integration, and why Microsoft has announced Linux support on it's server systems. The future is a mixed environment, with plenty of room for both .NET and Java/J2EE.
  40. Microsoft doesn't deprecate technologies
    Visual Basic 6 is ... being dropped

    This seems contradictory to me, so I must be missing your point or you are saying M$ doesn't make good choices when deprecating.
    ... most .NET is simply not being used in the same context as most Java?

    I agree that .NET has the market share on for rich clients and Java has the market share for the server side, but there is very little that one can do that the other can't. This being equal, it comes down to which environment are people able to more productive in. This is a difficult discussion to have because people are most productive in the environment you are familiar with. If you can put that aside and look at it from a perspective of someone learning a new environment you might be able to see the point I've been trying to make. In .NET, it's fairly easy to figure out which IDE you should use, which OS to use, which DB you should likely use, etc. Just because Java have market share on the server world doesn't mean they will keep it. I'm not making a bold prediction saying the M$ is going to rule the world, I'm saying that Java needs some leadership to make sure they don't.

    Someone on the board made a comment:
    not being well coordianted or well integrated
    I scratch my head when people say this and wonder if they have used current day Java.

    It seems they had the luxury of working in an environment that I've been looking for. Unfortunately, I've not had the luxery of working in such a java environment, so I must wonder how many other people have not.

    As for .NET/J2EE integration, from what I've seen, this is just a marketing spin for Web Services and announcing linux support on its server systems, I think, refers to making linux run a little better as a second class system in a virtual pc. I will, however, admit that I don't know much about the details of these topics.
  41. Microsoft doesn't deprecate technologies
    Visual Basic 6 is ... being dropped
    This seems contradictory to me, so I must be missing your point or you are saying M$ doesn't make good choices when deprecating.

    I'm saying that MS has it's own reasons for deprecating technologies. You can't predict which of the ones are currently in use that it may dump at some time in the future. That a technology is profitable (like VB6) does not seem to be an indication that it won't be dumped.
    ... most .NET is simply not being used in the same context as most Java?
    I agree that .NET has the market share on for rich clients and Java has the market share for the server side, but there is very little that one can do that the other can't.

    On the contrary, there is something that Java can do that .NET can't that is crucial - it can run and be supported on non-Microsoft systems.
    This being equal, it comes down to which environment are people able to more productive in.

    No - it is far more complex than that. Many companies refuse to work with single-source products for their entire IT infrastructure. This results in a mixed environment where Windows, Linux and Unixes compete on the server side. This situation is likely to continue. This is why Java wins.
    This is a difficult discussion to have because people are most productive in the environment you are familiar with. If you can put that aside and look at it from a perspective of someone learning a new environment you might be able to see the point I've been trying to make.

    I think you are concentrating on one aspect - integration, and neglecting other aspects which are just as important, such as the ability to competitively tender for key parts of your IT infrastructure and to have the security of multiple vendors, and the existence of stable legacy non-Microsoft systems that are not going to be replaced by Windows servers.
    Just because Java have market share on the server world doesn't mean they will keep it. I'm not making a bold prediction saying the M$ is going to rule the world, I'm saying that Java needs some leadership to make sure they don't.

    Microsoft is going to have to rule the OS world before .NET 'wipes the floor' with Java. Unless, of course, they open up the entire .NET framework and make it possible for multiple vendors to supply compatible certified implementations on multiple platforms. I would say that Java is pretty secure server side, but it needs leadership to help it make more impact on the client side. From what I have seen with new desktop integration and Longhorn compatibility work from Sun, that may happen.
    As for .NET/J2EE integration, from what I've seen, this is just a marketing spin for Web Services and announcing linux support on its server systems, I think, refers to making linux run a little better as a second class system in a virtual pc. I will, however, admit that I don't know much about the details of these topics.

    I admit I am a bit puzzled by what they are doing regarding Linux! However, the .NET/J2EE integration is not a marketing spin - all you need to do is look at the job market: there is a huge demand for .NET client side (WinForms etc) and J2EE server side.
  42. Both a design flaw![ Go to top ]

    Even though they like to claim that ASP .NET is a component model in some way and jsf as well. It's design problem is the fact that it still lets you write code the old fashioned asp/jsp way. So you can mix and match with components you write! That gets quite messy!

    Especially with people converting from asp to asp .net. The tendancy will be to throw everything into the aspx files...

    You would defently have to discipline your self to push everything in components dlls/beans.

    At least in tapestry everything must be a component. Oh and exceptions must be caught unlike asp .net, jsp and jsf where you can ignore exceptions all together...
  43. All very good points.

    I would like to revise what I am saying in the hopes to hone in on the point I've been trying to make.

    Java would benifit greatly from having well documented, well tested, well integrated "systems" where a system defines many aspects of technology choices for a particular problem space down to the software & frameworks which would be used for the system. It could include recoomendations of which versions should be used. It could also give suggestions about patterns and practices similar to the java blueprints.

    A generic problem definition or problem space could have many of these "systems" defined as potential solutions to the problem.

    For instance, there could be a system defined to create a simple CRUD Web app where it could define the following:
    * JBoss 4.0
    * Hibernate 3.0
    * Tomcat 5.5
    * Velocity
    * Log4j
    * MySql

    An alternative might be
    * BEA Web Logic
    * CMP Entity EJB
    * JSF
    * Commons Logging
    * Oracle

    You could then create efficincies based on these system definitons. They could easily document how to change DBs (or maybe Dbs should be defined here). They could create linux distributions and installation medium to set up the server or development environments easily and quickly. You could create IDEs that would have features specific to these technologies. And best of all lesser-geeks would likely flock to these types of systems at an incredible rate because they wouldn't need to evaluate all the choices themselves.

    I understand that Java is all about choices, which is great. I just think there could be efficiencies by having industry experts make some choices or suggestions at a higer level than patterns, specifications or blueprints. This could provide some direction for the java community to rally around.

    Perhaps this is not yet well enough thought through on my part, and I understand this is more complicated if you are migrating an existing system, but I've always appreciated the fact that in .NET, a lot of these decisions are implied and you don't need to do as much compatability testing to make sure certain tools and products work together.

    (One good example of this, I was recently futzing with Jboss & Hibernate and I had issues propogating database exceptions correctly using Hibernate 2.0 with Jboss 4.0. I finally figured out had I had to upgrade to Hibernate 3.0 to fix this problem. On top of that, I had to figure out if I should use hibernate directly in my SLSBs or use 1 of the handful of methods of plugging in hibernate as a JMX service)
  44. You could create IDEs that would have features specific to these technologies. And best of all lesser-geeks would likely flock to these types of systems at an incredible rate because they wouldn't need to evaluate all the choices themselves.

    I may be being idealistic, but I would suggest that your requirements are largely met if you stick to products that implement JSR standards. You can then get integrated products from single suppliers. For example, you can get the entire J2EE stack and database from Oracle, or IBM.

    I consider the idea of an IDE having features specific to non-standard products with unrestrained horror :) Java should be about the ability to have alternate sources for API implementations - for me, that is the point of Java. I want to be able to have an IDE that can deal with (for example) any JSF implementation.

    Personally, I rarely find the integration problems you suggest are hindering Java. On the contrary, I routinely switch between different suppliers of different parts of my 'stack' of APIs with few problems.
  45. but from what I've seen, the integration isn't as tight as with the M$ equivalents. ... if I have to pay out of my own pocket, I'd pick .NET.

    Well, I have used (and use) the IBM and MS stack. I would pick IBM's stack any day. As for tight integration - I have .Net project that I have been doing that involves ASP.NEt and AD. Oh and Exchange too. Wish it was as integrated as people purport.
    I'm a consultant (read technology whore). I'm an expert at whatever my customer needs an expert in.
    Me too. The opinion I have formed - as long as you stay on the straight and narrow with .Net, it is ok. But leave that box ... .
    not being well coordianted or well integrated
    I scratch my head when people say this and wonder if they have used current day Java.
  46. M$ has enough money to buy long term viability if the fail by all other means. .NET is newer the Java, but I think it's poised to wipe the floor with Java. Tight integration with server products is key. Less decisions to make is also key. Less frequent releases breaking compatablilty is key (I have open source in mind here). The java community is too divided and not well enough coordinated to reach the level of integration and simplification the M$ enjoys in .NET.You may dismiss me as having been assimilated by M$, but I'm not. I'm a consultant (read technology whore). I'm an expert at whatever my customer needs an expert in. Fellow consultants know what I mean. This is the opinion I have formed after swimming around in java-land and M$-land for a while now. Java's got some great stuff going for it, but I think that if it doesn't clear the hurdle of not being well coordianted or well integrated it's going to fall on tough times. Hopefully EJB3 and JSF will be the catalyst for this happening

    ASP.NET vs J2EE
    About two years ago I attempted to use ASP.NET for a project, but after that project was concluded - and due to experiences encountered - I abandoned using ASP.NET and have been using J2EE for middle-tier development ever since. Here is a write-up:
    http://humbleblogger.blogspot.com/2005/04/aspnet-vs-j2ee.html
  47. IMO the advantage on the .NET side is that there are a lot of choices made for you. You know which IDE, web server, app server (the OS), persistence model, etc you are going to work with when you say "I'm going to use .NET". With java, those choices need to be made, which is no small task because of the sheer volume of choices and compatability issues.
    Then go with a single Java Vendor stack. Sun, IBM, Oracle. So, in reality, the advantage is still on the Java side.

    The other alternative of course is the open source stack, sans J2EE. Spring has everything covered. Get yourself a copy of Pro Spring, perhaps download AppFuse if webapps are your focus, you'll be all set.
  48. One thing that answers your request for a "platform" is the Java Blueprints team http://java.sun.com/blueprints/enterprise/.
  49. Choice[ Go to top ]

    Choices being dictated by a vendor is great (from an corporate IT perspective) until the vendor makes a choice that you would never make.

    For example, we have a department that seems to absolutely love ASP.NET for developing webapps, and for apps they support they think being MS based is a real plus...

    ...as long the apps run on Unix-hosted Oracle.

    So having no choice but using MS is great for them until someone tells them to use MS SQL Server, at which point a giant magical wall appears.

    Same thing can happen with something like Websphere vs. WebLogic, AIX vs. Solaris vs. HP-UX vs. Linux, or you name it. If the standard (with standard in some cases being very, very specific with good reasons (like using Oracle), and in other cases it amounting to no more then some random person's preference).

    What's the lesson to be learned from this?

    If you're an ISV, don't lock your customers into middleware or operating system vendors (hmmm, rack some points up for Java), because you will lose customers.

    If you're corporate IT, be flexible, because it really pisses off your internal customers when you say no to an off-the-shelf application because it uses the "wrong" OS, database, app server, etc. I'm not saying you should never say no because an application uses the wrong components, but it should be for good reasons, not random corporate policies or personal preference.
  50. I'd like to thank Floyd and TheServerSide for mentioning my write-up on JSF and ASP. I'm glad it has provoked some interesting conversation.

    In general, I think it's always worth it to keep up an informed perspective of how the other "alternative" software "development experience" compares to Java and OpenSource in general.

    Although I am very impressed with certain aspects of ASP.Net and its Dev environment, especially in the ease of development for "Web or Corporate" developers, I think the Java/OS/Vendor community is definitely making great strides in this direction. This is essentially the point of my write up.

    Simplifying serverside Java development can only help to grow the overall Java influence on IT.

    -Chris

    http://jroller.com/page/cschalk
  51. ASP.Net vs jsf[ Go to top ]

    Does JSF offer the same components found in .Net?
    Like the .net datagrid control....what is JSF's equivalent.

    Seems like the JSF components are "primative"..and more of a framework than actual UI components like .Net

    am I wrong with this??


    how about the .Net membership API controls? anything in JSF like this?
  52. ASP.Net vs jsf[ Go to top ]

    Does JSF offer the same components found in .Net?Like the .net datagrid control....what is JSF's equivalent.Seems like the JSF components are "primative"..and more of a framework than actual UI components like .Net am I wrong with this??how about the .Net membership API controls? anything in JSF like this?

    There is no one set of JSF components - there are hundreds of them, available from different suppliers. You may want to look at MyFaces and Oracle's ADF implementations.
  53. JSF is just a framework,,, no components[ Go to top ]

    Steve -

    I went through the JSF tutorial at http://myfaces.apache.org...

    it looks as though JSF is just a framework, much like Struts., but much better,,, but you still have to construct your components/datagrids for it to have any value..

    Where in .Net, you have ready-made components, built on top of the framework, that come with the framework...ex: DataGrid. There is no need to search for a 3rd party component, or build your own.

    Does JSF offer such components, or do they have to be built?
  54. JSF is just a framework,,, no components[ Go to top ]

    Don, you don't need to construct anything in JSF. I think what you are looking for is an IDE that does some of the work for you (I am basing this on my JSF and ASP.Net experience). For example, try to do ASP.Net without VS.Net. For a good JSF IDE try looking at http://www.exadel.com/web/portal/home.

    With MyFaces (and now ADF) you will have more than what comes with VS.Net.

    That being said JSF is a "framework". More correctly, it is a spec. It is up to vendors to implement the spec. And add extra controls. Yes, it is different than ASP.Net where you get the spec/framework/IDE from one vendor.
  55. JSF is just a framework,,, no components[ Go to top ]

    There is no need to search for a 3rd party component, or build your own.Does JSF offer such components, or do they have to be built?

    There are standard components that come with JSF:

    http://java.sun.com/j2ee/javaserverfaces/1.1/docs/tlddocs/index.html

    But there is also a lot of work going on to construct 3rd-party components. This is one of the reasons I find JSF so exciting. Here is an example:

    http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/doc/tagdoc/core/imageIndex.html
  56. JSF is just a framework,,, no components[ Go to top ]

    http://www.orablogs.com/jjacobi/archives/001574.html
  57. JSF is just a framework,,, no components[ Go to top ]

    http://www.orablogs.com/jjacobi/archives/001574.html

    I had heard this was going to happen for some time. It is great news!
  58. I dont think that some asp we can compare with powerfull jsf 2.0