Discussions

News: IBM hits out at .NET technology

  1. IBM hits out at .NET technology (73 messages)

    IBM has hit out against .NET. They are claiming that WebSphere is far superior to .NET, and using the message that "IBM started from server technology. Microsoft has enhanced desktop technology and applied it to servers".

    They are using a Gartner study as ammunition, which said:

    - .NET is still in its infancy, whereas J2EE was further along the maturity curve and was now mainstream, proven technology, widely accepted in the marketplace and supported by software industry leaders.

    - .NET was not for demanding enterprise platforms. Enterprise server-side platforms must be able to address a host of problems not usually found in desktop programming, including multiple users, mixed workloads, transaction processing, message brokering, business integration, team development, formal test methodologies, reliability, scalability, clusters and deployment issues.

    Read the article Smackdown II: WebSphere versus .NET

    Other current news from IBM...

    IBM sells utility computing bundle
    As it vies with HP and Sun in the fledgling utility computing field, Big Blue unveils a hardware-software bundle that's designed to make it easier to use a new utility computing product.

    IBM expands top-end mainframe
    Big Blue has released two new higher-end models of its z990 mainframe, along with a promotion to coax customers to try blade servers and other products.

    Threaded Messages (73)

  2. Pap[ Go to top ]

    "The report said that .NET is still in its infancy, whereas J2EE was further along the maturity curve and was now mainstream"

    Everything at one time was in its infancy.

    "Enterprise server-side platforms must be able to address a host of problems not usually found in desktop programming"

    Not all of .NET is for desktop programming.

    "Also, analyst firm Giga found that .NET was more difficult to customise "

    How so?

    "... it [J2EE] also provided a greater range of features to assist in architecting, designing and building high-end enterprise applications. "

    What does J2EE offer to assist in architecting and designing?

    "IBM’s Hong claimed that developing applications on .NET is cumbersome. "

    And J2EE is not!?

    "“IT executives should look closely and carefully at the requirements and implications of .NET before becoming inextricably enmeshed in this challenging set of interlocking products, services and technologies. "

    Choosing J2EE does the same thing.

    “Once a company is entangled in .NET, it may prove extremely difficult to escape and regain control.”

    This is also true for J2EE - notwithstanding hardware/OSes.
  3. But that's the point...[ Go to top ]

    This is also true for J2EE - notwithstanding hardware/OSes.


    I would argue that hardware/OS independence alone is reason enough to go J2EE. And with a little attention to detail it's possible to be mostly J2EE vendor independent as well.

    t.
  4. IBM hits out at .NET tecnhology[ Go to top ]

    It's quite funny how MS interpreted the TSS "Case study" saying:

    "In July 2003, the Middleware Company, a leading J2EE consulting and training organisation, released results of extensive new independent benchmarks of .NET and J2EE., showing .NET delivering greater productivity and performance than two leading J2EE application servers across three distinct series of tests: Web application; 24-hour reliability; and web services. "

    If i recall correctly .NET only performed significantly better than the "leading" J2EE app server (X or Y ... I forget ;-) )during the webservices test.

    Don't really agree with everything IBM said either though...

    Cheers,

    Smythe
  5. For the record...[ Go to top ]

    Smythe<
    We can question design and implementation of
    this test, but careful study of the results show
    CONSIDERABLE relaibility of NET version vs. Java.

    If you are able to find the discussion in TSS archive,
    I had commented there that [according to results]
    Java version start giving errors in aprox. half
    of the maximum stable load of NET version.

    AV
  6. IBM hits out at .NET tecnhology[ Go to top ]

    "IBM's Hong claimed that developing applications on .NET is cumbersome. "

    Well, that's questionable... At our rather large software shop, we use both platforms in a multitude of scenarios. In general, we find .NET to be more productive than Java for all kinds of applications - except the few involving mainframes. But that shouldn't come as a surprise since M$ took the good parts of Java and improved upon it.

    As for scalability, our experience is that for well designed application, .NET and J2EE scales equally well, but with ~20-40% less code on .NET. There's nothing in the technologies that is inherently non-scalable.

    While I like Java, C# is clearly an improvement. I still think that if .NET goes multi-platform (mono is getting close), Java will be inferior. We have used mono on a couple of projects and it rocks!
  7. IBM hits out at .NET tecnhology[ Go to top ]

    Is han therman a real person or someone conjured up by Microsoft marketing?

    He's only posted twice and he's got a load of opinion about .NET.
  8. IBM hits out at .NET tecnhology[ Go to top ]

    Strike that last post... interpreted theserverside info incorrectly. Sorry.

    Okay, he's a real person.
  9. Is he real?[ Go to top ]

    Is han therman a real person or someone conjured up by Microsoft marketing?

    >
    > He's only posted twice and he's got a load of opinion about .NET.

    He is a real person but probably from (or at least incented by)Microsoft marketing. Notice the classic MS pattern of using the "damning with faint praise" for J2EE (to appear objective) as having a temporary advantage, but really portraying .Net as the better long term solution (don't worry about portability, Mono 1.0 will take care of that...).
  10. Is he real?[ Go to top ]

    "He is a real person but probably from (or at least incented by)Microsoft marketing."

    And _you_ appear to be incented by Sun, because, as browsing through the list of your posts revails, (http://www.theserverside.com/home/myThreads.jsp?user_id=136023), you are quite active in .NET vs J2EE discussions.

    "Notice the classic MS pattern of using the "damning with faint praise" for J2EE (to appear objective) as having a temporary advantage"

    John Hess, I take that as an insult. If bothered to read my previous postings, you'll see that I'm quite pragmatic and I'm actually advocating Java at times.

    What irritates me is that IBM does this kind of stunt. While I don't like MS$ as a company, I think .NET is in general better than Java TECHNICALLY, not necessarily politically or in any other way.

    ", but really portraying .Net as the better long term solution (don't worry about portability, Mono 1.0 will take care of that...)."

    So? It's true.
  11. and what about you? What happend to you when TSS released the ".NET Rocks" bench marks buddy?

    You guys scolded and picturized TSS as conjured up by MS ...be balanced always. Dont be childish.

    We should follow whatever is great and good for client, but for our sake or emotions on a company.

    Note : Evry company including $un and IBM are commericial and works for money only. They are not charitable trusts for developers.



    > Is han therman a real person or someone conjured up by Microsoft marketing?
    >
    > He's only posted twice and he's got a load of opinion about .NET.
  12. IBM hits out at .NET tecnhology[ Go to top ]

    "IBM's Hong claimed that developing applications on .NET is cumbersome. "

    >
    > Well, that's questionable... At our rather large software shop, we use both platforms in a multitude of scenarios. In general, we find .NET to be more productive than Java for all kinds of applications - except the few involving >
    >

    My experience is quiet the opposite. Having done VB for years then moving to Java (still doing VB) and then picking up VS.Net, I find VS.Net quite cumbersome as compared to my Java IDE(s) of choice. Yes, [VS].Net has improved somethings but is missing in others. I could go through a list but the point is my experience is the opposite. Some of it is more than just the IDE, for example the availability of things like Hibernate. I am quite familiar with MS IDEs and I just don't see what people are talking about. WebForms is about the only thing I can see and I like Echo more.
  13. IBM hits out at .NET tecnhology[ Go to top ]

    "My experience is quiet the opposite. Having done VB for years then moving to Java (still doing VB) and then picking up VS.Net"

    First of all: VB sucks and is a "mountain of hacks", as a former Microsoft employee called it. Tried C# yet?

    Besides, VS.NET is not .NET. When comparing Java vs. .NET, IDE's are irrelevant.

    Anyway... you can choose another IDE (like SharpDevelop.) Also, there are tons of plugs-ins for VS.NET that makes it very slick - like C# Refactory and QuickCode. With those tools, VS.NET is pretty much like IntelliJ for Java!

    Personally, I use emacs with a lot of Java and .NET refactoring support (some of it home grown, though)
  14. IBM hits out at .NET tecnhology[ Go to top ]

    "My experience is quiet the opposite. Having done VB for years then moving to Java (still doing VB) and then picking up VS.Net"

    >
    > First of all: VB sucks and is a "mountain of hacks", as a former Microsoft employee called it.
    >
    Yes


    > Tried C# yet?
    "and then picking up VS.Net".

    >
    > Besides, VS.NET is not .NET.
    I agree. And I tried to show that in my comments. But for 99% it is. They can't separate the two and won't or couldn't do .Net without VS.Net

    >When comparing Java vs. .NET, IDE's are irrelevant.
    Should be. But again most look at VS.Net and say "WOW, isn't .Net great!".


    > Anyway... you can choose another IDE (like SharpDevelop.) Also, there are tons of plugs-ins for VS.NET that makes it very slick - like C# Refactory and QuickCode. With those tools, VS.NET is pretty much like IntelliJ for Java!
    >
    Were can I download those opensource plugins?

    > Personally, I use emacs with a lot of Java and .NET refactoring support (some of it home grown, though)
    And there you have it. You have rolled your own and it seems you have done better with your .Net tools.

    Ok. Throw away IDEs - Still don't see the fuss or why .Net is better. I can see why it is better for you. Not for me. Not for many others. .Net on Windows is still MS stuff on Windows and that alone has been mostly pain for me.

    I'll agree that the findings by these groups are next to useless.
  15. IBM hits out at .NET tecnhology[ Go to top ]

    "Well, that's questionable... At our rather large software shop, we use both platforms in a multitude of scenarios. In general, we find .NET to be more productive than Java for all kinds of applications - except the few involving mainframes. "


    Can you be a bit more specific about what kind of scenarios. The claim sounds extremely dubious, matter of fact inflamatory.
  16. Is there persistance mechanism in .NET[ Go to top ]

    Answer no. You fallback on jdbc type ADO.NET code that becomes hard to maintain as it grows. . NET has fewer OR or JDO kind of tools and forget about CMP. ObjectSpace is still in development. So which one is better?
  17. <!-- . NET has fewer OR or JDO kind of tools and forget about CMP. ObjectSpace is still in development. So which one is better?-->

    100 % Agreed. .NET data tier layer is not as mature as Java (JDO, Entity beans, OR mapping tools) etc, even though ADO.NET seems to a bit improvement over JDBC. But then the Java presentation tier is way behind than WebForms. Caching page and page fragmentation as wells as controls, at presentation tier has no matching in Java world.


    <!-- Enterprise server-side platforms must be able to address a host of problems not usually found in desktop programming, including multiple users, mixed workloads, transaction processing, message brokering, business integration, team development, formal test methodologies, reliability, scalability, clusters and deployment issues. -->

    What of these you can not do it with .NET. Crap....

    <!--While I like Java, C# is clearly an improvement. -->

    I still think Java is more simpler, cleaner and better language than C#. Ok, C# adds some fancy stuff like autoboxing, in/out parameter passing, operator overloading etc, but it doesn't necessary make a language better. My 2 cents.
  18. Well, Can you list 3 reason why do you think java is better?
  19. 1. OS independent
    2. App Server independent
    3. Widespread use of open source tools

    None of these will ever be true in any Microsoft solution.


    > Well, Can you list 3 reason why do you think java is better?
  20. Sigh. Not this all over again.

    Well, without complicating things, here are three simple reasons why I like Java better than .Net

    1) (As has already been said) I can choose between several persistence mechanisms if I'm working with Java. Name a .Net-based ORM tool that can match any one of the top 5 ORM tools in the Java realm. In fact, going down a level, how many stable Data Providers besides the Sql2k and Oracle ones do you know of in the .Net world? Not to mention the fact that System.Data and everything below it in the .Net framework hierarchy are abominations.

    2) I can choose between web/application servers for development and deployment if I need to. If a vendor offers me better features, I can make a switch if I feel that it makes sense. If a vendor goes bust, then I have alternatives to switch over to another one. If a vendor ceases to innovate, or offers me substandard software, I can mix and match and improvise, and still stay ahead of the game.

    and of course,

    3) I can choose between platforms that I want to deploy on. Want to get on the Linux bandwagon? Sure, no problem. Want the security of a *real* server OS? Sure, my applications will work all the same. Even if I developed the whole thing on a Windows 2k box.

    The important thing to note here is that I've CHOICE. And that matters a lot to me. Especially when my alternative is to choose a vendor who is not just a proven pigopolist, but somebody who's business strategy revolves around "botching other available options".

    Nuff said. Back to work.

    Sandeep

    PS: All this is not to say that C# isn't a cool language. That's beside the point. What matters is that I can't build a house with just bricks and nothing else.
  21. Is there persistance mechanism in .NET[ Go to top ]

    "Is there persistance mechanism in .NET"

    A lot of ORM tools are popping up and most OODBMS' have .NET mappings by now - at least Poet/FastObjects, Merant, ObjectStore and Objectivity. Also, projects like Hibernate are beeing ported to .NET as we speak.

    And soon, M$ releases ObjectSpace...

    "The important thing to note here is that I've CHOICE. And that matters a lot to me. "

    You're missing the point: .NET is simply yet another choice! And the Java advantage of beeing platform independent is about to end, as Mono matures rapidly.

    "Especially when my alternative is to choose a vendor who is not just a proven pigopolist, but somebody who's business strategy revolves around "botching other available options".

    Interestingly, freedom of choice is EXACTLY what sometimes makes Java less productive, harder to maintain and more expensive to run. One of our solutions run at a customer site who have four departments and THREE applications servers (WebSphere 4, WL, JBoss.) Standards does not help when each vendor is looking for holes in the standard to provide VENDOR LOCK-IN's. Upgrading any of these application server take months of planning. In addition, one dept' use Sonic, another MQSeries and neither follows jms sufficiently well.

    We ve had some very serious interoperability issues and we've worked closely with the vendors to fix them.

    From what I hear, our situation is anything but unique...

    The moral? Freedom of choice can be very expensive.
  22. Is there persistance mechanism in .NET[ Go to top ]

    And soon, M$ releases ObjectSpace...


    Soon? Hmmph. I subscribe to microsoft.public.objectspaces. The newsgroup is a playing field for vendors hawking their own products, because there is no official word on ObjectSpaces. Even the (related) upcoming event at the PDC is expected to only be a preview. On that note, if MS does release Objectspaces, it will be a very cool tool. OPath is a very nice query language. I don't like the existing mapping semantics, but those are expected to change anyways.

    > You're missing the point: .NET is simply yet another choice! And the Java advantage of beeing platform independent is about to end, as Mono matures rapidly.

    Mono is years from adoption in large companies. Mention Mono, and most IT managers freak out. Or just blink.

    IMHO, I am not missing any point that I didn't deliberately make a choice about missing in the first place. ;-)

    Saying that .Net is an alternative choice is true. It is also true that several inter-operability tools out there can help you tie systems together.

    However, that does not change the fact that one company, and one company alone, today decides what .Net is, and will be. And if you think that creating the perfect platform, technology and API set is their top priority, you've got another thing coming.

    > "Especially when my alternative is to choose a vendor who is not just a proven pigopolist, but somebody who's business strategy revolves around "botching other available options".
    >
    > Interestingly, freedom of choice is EXACTLY what sometimes makes Java less productive, harder to maintain and more expensive to run. One of our solutions run at a customer site who have four departments and THREE applications servers (WebSphere 4, WL, JBoss.) Standards does not help when each vendor is looking for holes in the standard to provide VENDOR LOCK-IN's. Upgrading any of these application server take months of planning. In addition, one dept' use Sonic, another MQSeries and neither follows jms sufficiently well.
    >

    Common complaint. With greater freedom comes greater necessities for discipline and discernment. There are any number of best practices in the IT realm for enterprise or business-area architecture planning. Among other things, they cover areas like platform and infrastructure development, as well as effective and manageable tool and component sourcing strategies.

    > We ve had some very serious interoperability issues and we've worked closely with the vendors to fix them.
    >
    > From what I hear, our situation is anything but unique...
    >
    > The moral? Freedom of choice can be very expensive.

    Just having choice is not enough. At the end of the day, you need to make the right ones. That's what software engineering is really about.

    Sandeep
  23. Is there persistance mechanism in .NET[ Go to top ]

    Let's at least be fair here: Besides the ADO stuff that MS has in the framework there are some fairly decent O-R mapping tools for dotnet out there. PORT, LLBLGen and EntityBroker to name a few of them. And of course, if you want to get a feeling on how they measure up to say Hibernate it's best to do that yourself (instead of just reading about it on community sites that usually are fairly one-sided).
  24. Is there persistance mechanism in .NET[ Go to top ]

    Let's at least be fair here: Besides the ADO stuff that MS has in the framework there are some fairly decent O-R mapping tools for dotnet out there. PORT, LLBLGen and EntityBroker to name a few of them. And of course, if you want to get a feeling on how they measure up to say Hibernate it's best to do that yourself (instead of just reading about it on community sites that usually are fairly one-sided).


    Um, I've been following the .Net ORM space very closely for two years now. These tools that you mention are far from enterprise worthy.

    On my last project, I had to craft my own AOP-ish (using dynamic proxies, runtime code generation, interface implemenation and all), persistence framework in C#. So I know what I am talking about.

    I've been using Hibernate for about a year now. Man, does The Hibe rock.

    Sandeep.
  25. Is there persistance mechanism in .NET[ Go to top ]

    That's good. It would have scared me if you had come to the conclusion that port is better than Hibernate. But the argument still stands that there _are_ OR mappers in the dotnetworld, unlike what the other dude posted (to whom I replied to).
  26. Is there persistance mechanism in .NET[ Go to top ]

    I've been using Hibernate for about a year now. Man, does The Hibe rock.

    >

    Quite an interesting point. As it turns out, neither hibernate nor jdo nor
    one of the other multiple OR mapping tools are a part of J2EE. So I think the
    discussion about persistence totally misses the point. All that says is that "currently there are more products available". Now in the end that's what I call vendor lock-in.

    Oh, and while we are at it, ADO.NET has had detached result sets for years now......we are still waiting for the next JDBC release to support that. One might even consider ADO.NET a persistence mechanism in its own right, definitely on a somewhat higher abstraction level compared to JDBC.

    Also a lot of J2EE projects are carried out based on products on top of the application server, like IBM and BEAs commerce suites, Broadvision, Oracle's presentation components you name them. Vendor lock in again.... And all that talk about being able to port to different platforms is quite amusing. Ever seen an application ported from BEA to WebSphere, a corporation switching a database from Oracle to IBM? This is seldom even attempted and if it is most of the time the application is rewritten at the same time...
  27. <quote author="Karl Banke">Ever seen an application ported from BEA to WebSphere, a corporation switching a database from Oracle to IBM? This is seldom even attempted and if it is most of the time the application is rewritten at the same time...</quote>

    Sure - I've switched databases and application servers mid-project before, and will undoubtedly do so again. It's not uncommon for some J2EE projects with which I've been involved to not settle on an application server until quite late in the game. As long as you're writing code that follows the Java standards rather than vendor extensions, that causes almost no portability issues.

    In fact, the project I'm working on now has switched application servers once already, and came close to switching databases. It's not uncommon. I'd argue that it becomes very common once you have that capability and get used to it.

       - Geoffrey
  28. Can you kindly let us know whether your clients are FORTUNE GLOBAL 1000 companies?
  29. Swapping Databases/Application Servers[ Go to top ]

    I know several Fortune _100_ companies which use multiple J2EE application servers with common code running across them. Even more common is to see development on one OS platform and deployment on another - on one project I worked on for one of the top-10 investment banks in the world, development was done on Windows and Solaris (depending on developer preference) and deployment was on Aix (all three with Weblogic).

        -Mike
  30. Swapping Databases/Application Servers[ Go to top ]

    I know several Fortune _100_ companies which use multiple J2EE application servers with common code running across them. Even more common is to see development on one OS platform and deployment on another - on one project I worked on for one of the top-10 investment banks in the world, development was done on Windows and Solaris (depending on developer preference) and deployment was on Aix (all three with Weblogic).
    >
    >     -Mike


    The points I try to get at are:

    In a GLOBAL FORTUNE 500 company -

    1. It is extremely rare to switch database. As a reminder, the investment banks are all still using Sybase at the corporate level for their backbone business.
    2. It is common to have multiple app servers in the same orgnization due to the fragmented nature of app server market ~ Y2K, but this is fairly rare at the division or even less at the department level.
    3. It is a fact apps are developed on Windows/Linux or even Solaris, and deployed on Solaris/AIX/HP-UX.

    I just don't buy the fact that in a well-established/mature organization, people switch app server or even database like changing shirt! I am not talking about dotcom here obviously.
  31. Swapping Databases/Application Servers[ Go to top ]

    I didn't say people were switching like they were changing their shirt - just that multiple databases and/or app servers are indeed used, and that switching sometimes happens.

    The point is that J2EE gives companies flexibility, and many companies take advantage of this. They aren't constantly flip-flopping and thrashing among various app servers and databases, but sometimes a switch makes sense, sometimes business and/or departmental relationships dictate that you need to run on two or more platforms, and just about everyone takes advantage of the multi-platform angle to accelerate development on developer-friendly hardware/OS's and still get to choose an appropriate (and perhaps different) QA and production environment.

    Perhaps to you or others this is confusing or difficult, but _not to a Global Fortune company_. These guys have IT budgets in the high-tens of millions into the hundreds of millions. Even individual departments have multi-million dollar IT budgets. In that sort of environ, switching from JBoss<-->Websphere<-->Weblogic on various RDBMS and OS platforms is not all that traumatic an experience. It's not easy, but it's quite feasible (and "feasible" is often all it takes to happen).

    None of this flexibility exists in the .Net world, beyond some flexibility on the RDBMS.

        -Mike
  32. Swapping Databases/Application Servers[ Go to top ]

    The point is that J2EE gives companies flexibility, and many companies take advantage of this. They aren't constantly flip-flopping and thrashing among various app servers and databases, but sometimes a switch makes sense, sometimes business and/or departmental relationships dictate that you need to run on two or more platforms, and just about everyone takes advantage of the multi-platform angle to accelerate development on developer-friendly hardware/OS's and still get to choose an appropriate (and perhaps different) QA and production environment.

    No argument there.

    Perhaps to you or others this is confusing or difficult, but _not to a Global Fortune company_. These guys have IT budgets in the high-tens of millions into the hundreds of millions. Even individual departments have multi-million dollar IT budgets. In that sort of environ, switching from JBoss<-->Websphere<-->Weblogic on various RDBMS and OS platforms is not all that traumatic an experience. It's not easy, but it's quite feasible (and "feasible" is often all it takes to happen).

    Unless the vendor offers a really sweet deal that the IT manager cannot turn down, or the CIO mandates the choice of a particular vendor, trust me no IT manager wants to make the live of his/her own and those of his/her dev team miserable.

    None of this flexibility exists in the .Net world, beyond some flexibility on the RDBMS.

    Fine :-)
  33. What's killing .NET for me[ Go to top ]

    Until .NET has a *native* transaction-monitor (as in no COM+ wrapper) the idea of using it in an enterprise system is bizarre and suicidal. Other than that as far as I can see they are roughly equivalent, a matter of preference. I must say I enjoy some syntactic features of C#, like custom attributes and properties.
  34. What's killing .NET for me[ Go to top ]

    "Until .NET has a *native* transaction-monitor (as in no COM+ wrapper) the idea of using it in an enterprise system is bizarre and suicidal."

    No, it's not. In transaction scenarios, the overhead of manage-to-unmanage code transision accounts for < 0.001% due to IO, locking, latency, etc. COM+ 1.5 is a great tool. Stability is no problem because you can run COM+ components in isolated mode.
  35. What's killing .NET for me[ Go to top ]

    " Stability is no problem because you can run COM+ components in isolated mode."

    Stability under load is exactly the problem. Interop is fine for using your old ActiveX controls in .NET windows programs but it's unrealistic for server side applications under load.
  36. What's killing .NET for me[ Go to top ]

    "Interop is fine for using your old ActiveX controls in .NET windows programs but it's unrealistic for server side applications under load."

    You obviously don't have experience with this setup. COM+ works just fine in .NET and scales as hell.
  37. .net is really superior in some terms[ Go to top ]

    I have developed c# client and axis on the server end

    Really developing with c# gives better experience than java
    though it misses many additional features that IDEA and JB9 has.

    I hope it will be good to have a c# support(multilanguage)
    in j2ee which in turn converts to java (in the backend) may be by using extension feature of jdk1.5/jrockit (creating own scripting languages)
     so migration will be easier between java -c#(jump)
     or c# - java and we guys can get a edge over .net servers

       Like a common server language interpretter easily can support c# and java
    instead of making bridges between application
  38. Switching databases[ Go to top ]

    I've worked for three Fortune 50 companies in the past few years. It's not uncommon to switch app servers and databases at all. It has not been an issue for us, but we're a J2EE team. Yes, mature organizations do this. They'll decide to go with a different vendor for cost reasons, or decide to pursue a different data storage strategy, or move to open source wherever they can for the cost savings. Good IT groups are evolving with the technology, shouldn't your systems be able to do the same?
  39. I just don't buy the fact that in a well-established/mature organization, people switch app server or even database like changing shirt! I am not talking about dotcom here obviously.


    What has changing shirts got to do with anything? You only have to switch platforms once to pay back the investment in portability several times over.

    In a fortune 500 company, this is more likely to happen - not less! I doubt that a fortune 500 company exists that does not have several different OS's, RDBMS's and appservers. I have participated in several porting projects while working for fortune 500 companies. I know from personal experience that this is true at the departmental level in at least 2 of them.

    It is worth mentioning that while fortune 500 companies are desirable clients, smaller companies also spend plenty of money on IT. Why should they be considered irrelevant?

    ADK
  40. Sure - I've switched databases and application servers mid-project before, and will undoubtedly do so again. It's not uncommon for some J2EE projects with which I've been involved to not settle on an application server until quite late in the game. As long as you're writing code that follows the Java standards rather than vendor extensions, that causes almost no portability issues.

    >
    > In fact, the project I'm working on now has switched application servers once already, and came close to switching databases. It's not uncommon. I'd argue that it becomes very common once you have that capability and get used to it.
    >
    >    - Geoffrey

    I agree with Geoffrey on this. It is fairly common to switch application servers or even to have multiple application servers in house. It is true that some vendor extensions will lock you in to a specific server but those decision can be made strategically for individual applications if the extension saves you significant development time. You still have the flexibility to change OS/HW platform. You just don't have that with .Net ( and I really don't see mono as an answer to this )
  41. "You still have the flexibility to change OS/HW platform. You just don't have that with .Net ( and I really don't see mono as an answer to this )"

    John Hess,

    You must be wearing extremely dark SUN-glasses if you don't see that Mono 1.0 will provide a complete *NIX version of .NET.

    And let's not forget Rotor which runs on both FreeBSD and Windows.

    DotGnu/Portable.NET is also starting to rock big time. Since DotGnu is run by www.gnu.org, expect great things to happend! For instance, it is now possible to use .NET's Windows forms on several platforms instead of the slow'n'ugly Swing library.

    I like this one: "The mission of the DotGNU project is to defeat the monopolistic threat of Microsoft's .NET by creating a competing Free Software platform which is compatible enough with .NET to make migration reasonably easy."

    It appears that some people are scared by the fact that the Java cross-platform hegemony is over. I think it's a good thing since Java needs a competitor in this area.

    About M$ owning .NET. Yes, they do own an implementation, but they don't own the ECMA standard on which Mono, Rotor and DotGnu is based. It's what's in the standard that interests me, not Visual Studio.NET or any other IDE...

    Another reason for choosing a long-term .NET strategy is this: Sun is having financial problems and the risk is that within 2-4 years, Java is left in the dust because Sun has no choice but to start collecting runtime license fees. That's a scary, but realistic "close-to-company-death" scenario (ref. what SCO is doing to Linux now)
  42. Swapping Databases/Application Servers[ Go to top ]

    The previous-previous large (communications) company I was contracting at just became a "partner" with IBM. They are currently using iPlanet\Weblogic and Oracle. They forsee a move to Websphere and DB2. Also, we developed with Tomcat/Weblogic.

    The previous large (financial) company I was contracting at - we used JBoss for development/local testing and iPlanet for integrated testing and production.

    The company I am currently contracting at has Websphere and DB2 and Sybase (at the very least). We are moving our database from DB2 to Sybase. Hibernate allows this with a minor properties change. Other application servers could be used depending on pending decisions.
  43. Swapping Databases/Application Servers[ Go to top ]

    The previous-previous large (communications) company I was contracting at just became a "partner" with IBM. They are currently using iPlanet\Weblogic and Oracle. They forsee a move to Websphere and DB2. Also, we developed with Tomcat/Weblogic.

    >
    > The previous large (financial) company I was contracting at - we used JBoss for development/local testing and iPlanet for integrated testing and production.
    >
    > The company I am currently contracting at has Websphere and DB2 and Sybase (at the very least). We are moving our database from DB2 to Sybase. Hibernate allows this with a minor properties change. Other application servers could be used depending on pending decisions.

    So the patterns I am seeing here are:

    For database, the top 3 enterprise-level vendors are jockeying for position. But IMHO as soon as a company signs that million $ contract, the chance of it switching to another vendor any time soon is very slim.

    For app servers, because of the beauty of J2EE being a standard, people can develop on JBoss. However, on the deployment side it is a two-horse race between WebLogic/WebSphere. And often times if you database is DB2, your app server ends up being WebSphere.
  44. Swapping Databases/Application Servers[ Go to top ]

    For database, the top 3 enterprise-level vendors are jockeying for position. But IMHO as soon as a company signs that million $ contract, the chance of it switching to another vendor any time soon is very slim.

    >

    You would think so - but it looks like if change might happen.
  45. Is there persistance mechanism in .NET[ Go to top ]

    Quite an interesting point. As it turns out, neither hibernate nor jdo nor

    > one of the other multiple OR mapping tools are a part of J2EE. So I think the
    > discussion about persistence totally misses the point. All that says is that "currently there are more products available".

    Read my posts again. I wasn't talking about J2EE. I was talking about portable, standards-based Java, and what you can do with it.

    >> Now in the end that's what I call vendor lock-in.

    Perhaps. The fundamental issue still remains unresolved: I do not have a *viable* option for O/R mapping-oriented persistence if I use .Net. Why would I choose a platform if it cannot do what I need it to do?

    That's not to say I wouldn't choose it if it met another set of needs.

    >
    > Oh, and while we are at it, ADO.NET has had detached result sets for years now......we are still waiting for the next JDBC release to support that. One might even consider ADO.NET a persistence mechanism in its own right, definitely on a somewhat higher abstraction level compared to JDBC.

    Personally, I always prefer working at an even higher level of abstraction than JDBC or ADO.Net. That is where the Java world helps me find the tools that I need to get the job done in the way that makes sense to me. If you are using raw JDBC (and I really cannot see myself doing than on any large project, unless I needed to bypass the higher layers, say in the creation of an ETL tool), then maybe it does lack a few of the features that ADO.Net has. But you see, you can build on top of JDBC - and that's what ORM vendors in the Java space have done very successfully.

    >> Also a lot of J2EE projects are carried out based on products on top of the application server, like IBM and BEAs commerce suites, Broadvision, Oracle's presentation components you name them. Vendor lock in again.... And all that talk about being able to port to different platforms is quite amusing. Ever seen an application ported from BEA to WebSphere, a corporation switching a database from Oracle to IBM? This is seldom even attempted and if it is most of the time the application is rewritten at the same time...

    If you are suggesting that to have more options is worse than that having no options at all, I am sorry I'm going to have to disagree. Besides, these issues you mention are not related to the platform(s) of choice on a project. They are software engineering issues. You can have the same set of problems in any scenario (in the .Net world too) where you use non-standards-based software.

    Sandeep
  46. Is there persistance mechanism in .NET[ Go to top ]

    Ever seen an application ported from BEA to WebSphere


    Not BEA to Websphere but the TSS managed to port its app to quite a few application servers.

    Cheers

    Smythe
  47. Is there persistance mechanism in .NET[ Go to top ]

    Ever seen an application ported from BEA to WebSphere,


    Yes, quite a few times actually. In my current work all products must run on both weblogic and websphere (4 and 5). It hasnt been a problem so far, the few things that can not be done in a portable way can easily be isolated.

    > a corporation
    > switching a database from Oracle to IBM? This is seldom even attempted and if
    > it is most of the time the application is rewritten at the same time...

    Ever seen a large corporation that only uses one database vendor? Common combinations seems to be DB2 on OS/390 or OS/400, Oracle on Solaris, Sybase on HP, and SQLServer on MS. I have yet to work with a large customer that doesnt have at least two of those options in production. Maybe life is easier in your world though...
  48. BEA -> IBM[ Go to top ]

    Ever seen an application ported from BEA to WebSphere?


    Yes, and it was a pain in the a.. because of bugs in early versions
    of WebSphere 5 and WSAD.
  49. BEA -> IBM[ Go to top ]

    We've got one customer that develops with WSAD and tests on WebSphere in dev mode, then deploys to WebLogic, or at least they were for a while, because of the tight WSAD/WebSphere dev/build/debug support (with re-load capability in the middle of a debug).

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Clustered JCache for Grid Computing!
  50. Um, I've been following the .Net ORM space very closely for two years now. These tools that you mention are far from enterprise worthy.

    >

    Exactly what gives you the audacity to make careless statements like these? what according to you makes a ORM tool "enterprise-worthy"? Can you list the reasons that made you come to the conclusion LLBGen and EntityBroker are, erm, enterprise unworthy? Did you download the trial versions? Did you try them out?

    I know the primary developers involved in these 2 products. If you are not scared to ask them questions directly I can point your email to them. How about that?

  51. > I know the primary developers involved in these 2 products. If you are not scared to ask them questions directly I can point your email to them. How about that?

    Simmer down, pal.

    I don't make statements lightly. We spent multiple man months with these evaluations. In fact, made us change project course from one platform direction to another.

    With respect to evaluations:

    When we evaluated EntityBroker - we found it interesting, because Thomas was (is) positioning it as the only tool that made sense in the .Net persistence realm. Take a look at the discussions on the ObjectSpaces newsgroup.

    EB had its own defects, over which there was much (fortunately good humored) back and forth with Thomas. I used the word "fortunately" back there, because Thomas can be difficult if he wants to. Ask Sebastien Ros of Evaluant or Mats Helander of Pragmatier (competing vendors).

    Sort of reminds me of Marc (F) at his worst. Not necessarily the best PR persons for their product at their worst moments. Marc's PR has improved quite a bit I must say. Anyway, to cut a long story short, Thomas' attitude was also among one of many reasons that we did not choose EB.

    Oh. And by the way, I stand by my claim, when we evaluated EB, and that was about 6 months ago, it was definitely not "enterprise worthy". In fact, until a while back EB was not even up to Release 1. The release naming conventions have since changed, so that's not much of a problem, is it?. ;-)

    As for LLBGen, it ISN'T an OR mapping tool. It's a "data access tier generator", meaning that it's a code generator that generates new code that can be used for your data access layer. With a primarily emphasis on stored procedure based data access for Microsoft SQL Server. Um. Not what I would call a generic cross-database OR mapping tool.

    And I said, simmer down.

    Sandeep
  52. Simmer down, pal.


    Done! Actually I wasn't incensed or anything like that. Just trying to be argumentative... :-)

    > EB had its own defects, over which there was much (fortunately good humored) back and forth with Thomas. I used the word "fortunately" back there, because Thomas can be difficult if he wants to. Ask Sebastien Ros of Evaluant or Mats Helander of Pragmatier (competing vendors).

    Aaah. One of the statements couched in the above paragraph is causing ringing tones in my ear :-) Anyway Thomas mailed me sometime ago to let me know something which I am not sure is for public consumption. Let me just say that I think he seems to have taken all your criticisms into consideration.
     
    > Sort of reminds me of Marc (F) at his worst. Not necessarily the best PR persons for their product at their worst moments. Marc's PR has improved quite a bit I must say. Anyway, to cut a long story short, Thomas' attitude was also among one of many reasons that we did not choose EB.

    Another ring.. it goes bzzzzzzzzzzzzzzzzzzzzzzzzzzzz

    > As for LLBGen, it ISN'T an OR mapping tool. It's a "data access tier generator", meaning that it's a code generator that generates new code that can be used for your data access layer. With a primarily emphasis on stored procedure based data access for Microsoft SQL Server. Um. Not what I would call a generic cross-database OR mapping tool.

    This I am not so sure. There was new version LLBLGenPro released last month or so which claims to be *the* O/R mapper _and_ data access tier generator. Maybe you shouted loud enough and they heard? :-)
  53. Dilip, I realized that I didn't mention what I didn't like about EB itself.

    Here's three reasons:

    1) Well, for one, the fact that it mandates that I derive all my persistent classes from a root persistent class (EntityObject or something, if I recall right) was painful. One of the reasons I like Hibernate is the ease with which it lets me work with POJOs. Now, I couldn't do a POC#O equivalent with EB.

    2) Having to deal with abstract classes and properties all the time was another issue. This is problematic if you need to control the internal represenation of your persistent objects.

    3) The use of custom attributes to specify the details of custom mapping was just too intrusive. I do NOT want to make vendor-specific changes to my classes just so that I can persist them using this one product.

    So, basically I want a non-intrusive ORM solution that will let me switch away from it to another tool cleanly without much ado. I would therefore like to use a tool that lets me leverage regular POJOs (or POC#Os or POVBOs or whatever), and externalizes descriptions of their peristent behavior in some clean fashion (say XML).

    Sandeep

    PS: Of course, I must say that Hibernate does all of the above, and does it well.
  54. IBM hits out at .NET tecnhology[ Go to top ]

    I would say if you code applications the M$FT way (using data grid, stored procs, and no real middle tier), yeah .NET means less code and more productivity. OTOH, if you started coding C# apps the J2EE way (heavy use of patterns, MVC, true middle tier components, no stored proc etc.), then I doubt .NET will remain more productive and performant. I believe the latest PetStore vs. PetShop result from TMC proves this.
  55. Mono rocks ?!?!?[ Go to top ]

    There's nothing in the technologies that is inherently non-scalable.


    What about Windows?

    > While I like Java, C# is clearly an improvement. I still think that if .NET goes multi-platform (mono is getting close), Java will be inferior. We have used mono on a couple of projects and it rocks!

    You cannot use 'mono' in serious projects... I still would like to see a COM+ component running in Mono.

    Mono is a funny toy. Far from a real platform. M$ will take care of that...
  56. Mono rocks ?!?!? Yes, it does.[ Go to top ]

    "You cannot use 'mono' in serious projects... "

    Of course I can. We've already done it.

    "I still would like to see a COM+ component running in Mono."

    I would NOT like to see a COM+ component running in Mono, because it steps out of the managed .NET environment. The next major version of .NET will consume all the COM+ stuff in the form of Enterprise Services. And mono will follow up with a Linux version for that part too.

    "Mono is a funny toy. Far from a real platform. M$ will take care of that..."

    Oh? Fact is, Mono is a real, high-performant and comprehensive suite that follows the ECMA standards very closely. It's a far cry from beeing a toy.
  57. I watch the controversy surrounding J2EE vs .Net with a healthy dose of skepticism, and not a little amount of amusement. The same recycled arguments end up presenting themselves and far too often the debate turns into an emotional appeal rather than an examination of the applicability of a given technology to supply a solution.

    Here are two facts that I consider immutable: 1) J2EE is here to stay. It has done many, many good things and will continue to be a significant platform for many years to come. 2) .Net is coming like it or not. It will be a significant platform for many years to come.

    I feel that sometimes the endless chanting of “standardization, standardization, standardization” (albeit either on a company platform, or in the industry) in some respects misses the forest for the trees. What good is standardization if it takes longer to build, is more complex to deploy, or adds unnecessary layers of abstractions? (This comment, by the way, is directed at both the J2EE and .Net platforms.) Each and every one of us can come up with specific examples for one or other of the platforms where it worked well and where it didn’t work. All of us, except for "the lucky few" have a mixture of technologies, languages and systems to deal with inside (and outside for that matter) our organizations.

    The determination of better or worse for a given application has much to do with the personal experience, the existing infrastructure and the ability to deliver an expedient and cost effective solution to a business problem (han theman and Mark Nuttall are perfect examples). If we are to make a reasonable and realistic differentiation between the applicability and usefulness of a given technology, it in general has to be done by a skilled architect on a case-by-case basis. Generalizations are always dangerous. There are wider considerations, TCO, on-going support (today’s “Next Big Thing” is tomorrow’s legacy system), vendor or community support, ease of development, current infrastructure in the organization, etc.

    The thing that we should be doing is figuring out how to interoperate between J2EE and .Net in a performant and ubiquitous way!

    Jon Webster
    Technical Director
    Fitech Laboratories Inc.
    www.fitechlabs.com
  58. Well, if nothing else...[ Go to top ]

    ...this article should silence some of those suspicions that Gartner is nothing but a front for pro-Microsoft propoganda.

    ;-)
  59. That's it.
    That's what business unit for.
  60. IBM hits out at .NET technology[ Go to top ]

    Reminds me of the MSDOS blunder that IBM made that allowed MS to create it's monopoly. IBM is not going to be quiet this time around. With a giant like IBM on Java's side, MS is going to be rolled over. Feels real good to see MS being punched.
  61. Giant?[ Go to top ]

    IBM a 'giant', and MSFT 'rolled over'? The last time I checked MSFT is twice bigger than IBM, based on market cap.
  62. your point is?[ Go to top ]

    Yes, and Toys.com with less than US$10MM in total sales had a bigger market cap than Toys-r-Us. The worst thing about the last economic bubble is all the idiots that talk about a company's "market cap" as if a "market cap" actually means anything. Take the share price, multiply by the number of shares, and that gives you the market cap. Tada!

    The fact that Microsoft has US$50MMM in cash that it can buy companies (and apparently presidential administrations) with, now that's impressive! Or its gross margins, or its net margins, or its revenue, or its revenue growth ... all impressive.

    The fact that IBM has hundreds of thousands of employees, and is profitable, and has US$80MMM in revenue, that's impressive.

    But market cap?

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Clustered JCache for Grid Computing!
  63. point[ Go to top ]

    My point, dude, is just that IBM is no 'giant' compared to MS, unlike a long time ago. Where MS started and where it is today is what truly impresses me. Market cap is one objective measure of how big a company is. Total assets is another, but it is determined by accountants and past numbers, while market cap is based on investors and future projections. If IBM has more employees, maybe they are less efficient because they use IBM software and tools... :-)

    It takes quite a large group of investors to create a market cap of this magnitude, not just a few 'idiots'. Sure, prices go up and down, I admit, and in recent years it was mostly idiots who drove the stock prices of those .coms so high (I being one of them). But whenever the price of MFST drops the way toys.com stock did, I will gladly take back everything I just wrote. Somehow I think we'll have to wait a long time for that day to come...

    War,

    Christo Angelov
  64. point[ Go to top ]

    My point, dude, is just that IBM is no 'giant' compared to MS, unlike a long time ago.

    >Where MS started and where it is today is what truly impresses me.
    >Market cap is one objective measure of how big a company is.
    > Total assets is another, but it is determined by accountants and past numbers, while market cap is based on investors and future projections.
    >If IBM has more employees, maybe they are less efficient because they use IBM software and tools... :-)
    >

     I took a look to http://www.softwaremag.com/SW500_2002/index.cfm and looks like IBM still the biggest SOFTWARE company...
    Rank Company Soft/Services Revenue($M) Corporate Revenue ($)
    1 IBM $47,895.0 $85,866.0
    2 Microsoft $24,666.0 $25,296.0
        Corporation
  65. point[ Go to top ]

    Where MS started and where it is today is what truly impresses me.

    True. No argument there.

    Market cap is one objective measure of how big a company is.

    And it's a great measure of "expected potency" when a company is growing quickly and acquiring other companies with its stock. Microsoft is no longer in that position. They have excellent revenues, margins, cash-on-hand, etc. They have defensible positions in key markets. There's nothing "weak" or "small" about either Microsoft or IBM, I just think that comparing market caps is a poor refutation of what the original author was trying to point out.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Clustered JCache for Grid Computing!
  66. point[ Go to top ]

    Ok, fine. I declare Peace too.
    Nice report. It is still amazing, though, that IBM has so many employees and it takes them 6 times more people than MS to generate much less than 6 times bigger revenue. Whether that is a sign of efficiency on the side of MS or ability for 'blood sucking' based on their dominance on the PC market is another subject...
  67. point[ Go to top ]

    Note that a jet fighter quintuples its fuel consumption for a less-than-double thrust increase when it kicks in the afterburners.

    The last 30% of performance is a lot harder to achieve than the first 30%.

    ADK
  68. IBM hits out at .NET technology[ Go to top ]

    The J2EE vs .NET war seems alot better when the J2EE side is driven by IBM or BEA. Until now, most of it has come from Sun but in reality, IBM and BEA (Not to mention open source offers which have to be mentioned here or get eaten alive) are the real heavy hitters and the true competition. IBM and BEA ca punch holes in MS solution and back it up. When Sun dictates this fight, MS seems to be able to punch holes in Sun treating Java like a piece of legacy.
  69. Hehe, remember what serves IBM most.[ Go to top ]

    While IBM does consulting for both the .NET and Java platform,
    I belive they run WebSphere on their mainframes. So if people use
    Java instead of .NET they can sell WebSphere licences and sell
    their mainframes. That is a pluss.
    On the other hand they may have a point when it comes to critical
    systems. I would sleep better at night if the platform was running
    on a WebSphere installation than on a windows .NET installation.

    Anyway it is still possible to create unstable code with Java and
    it is possible to run .NET programs stable if you know what you do.

    So maybe we will be doing a lot of integration between the two platforms the
    coming years?
  70. Hehe, remember what serves IBM most.[ Go to top ]

    Arne: While IBM does consulting for both the .NET and Java platform,
    I belive they run WebSphere on their mainframes.


    I'm sure that they would like you to think that. WebSphere can run on 390, but AFAIK there are no accounts running production WebSphere apps on 390. The 390 (Z series) is far better suited for batch processing (applications with ludicrously high I/O requirements that are required to not lose or abuse data, such as utilities doing billing). IBM's mid-range AIX boxes actually run WebSphere significantly faster than the Z series does, and cost about 97% less.

    The other thing to consider is that a mainframe is designed to have a fault, like a bit set incorrectly, every 500 years or so (I forget the exact number for Z series, but I think it was over 500 years.) You pay for that level of reliability. When it comes to newer software like an application server that gets 17 new patches a month just to correct obvious NullPointerExceptions and missing JARs and incorrect properties files etc., it really doesn't match the environment that the Z series is intended for. In other words, why pay millions a year for a machine that has no faults, only to run software on it that is huge, constantly changing and (relatively speaking) faulty.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Clustered JCache for Grid Computing!
  71. Hehe, remember what serves IBM most.[ Go to top ]

    but AFAIK there are no accounts running production WebSphere apps on 390.


    I know of at least one. Not saying it is a good idea. And looking at their current track record it probably isn't. They were looking at running (and maybe are in some instances) linux instances.
  72. .Net is a toy[ Go to top ]

    Like single threaded VB and windoze 98 .Net
    is just Toy with a lot of fluff.
    Oh yea windoze 2003 the .Not server
    is secure ....muhahaha
  73. "People love winners. That's why we love research reports: They give us winners. Moreover, that's why companies will lie, cheat and steal to win in research reports. And when they can't do that, they'll hire someone to write reports in which they win.

        "Lately, Microsoft Corp. has taken to this last course like a duck to water with a report from Forrester Research that showed that it's cheaper to build enterprise applications with Windows and .Net then it is with Linux and J2EE. Who would have thought that a report paid for by Microsoft would say anything else?

        "Forrester, realizing that this kind of 'research' project was hurting its reputation, has decided to drop out of the 'paid for, publicized product comparisons' business, according to Forrester CEO George Colony..."

    http://www.eweek.com/article2/0,4149,1314541,00.asp
  74. Gartner article: name and author?[ Go to top ]

    I'm curious about this Gartner report/article.
    Does anybody now the name and author?