Interviews: J2EE Questions No One Else Dared to Ask

Discussions

News: Interviews: J2EE Questions No One Else Dared to Ask

  1. The JDJ has interviewed representatives from BEA, JBoss, Sun, Orion, Oracle, Pramati, and the JDJ editorial team themselves regarding their views on the future of Java in the enterprise. They ask about both strong points and weaknesses of J2EE, how to evaluate an app server today, the value of Sun open sourcing its app server, and where J2EE will be in a few years.

    Some answers that came out of these questions were:

    "Innovate-then-standardize" beats "standardize-then-implement" - BEA responds
    "[A] fear that .NET is a superior development language" - JBoss responds
    "J2EE...could be simplified further" - IronFlare (Orion) responds
    "while the JCP in general encourages a consensus-based approach. . .the job [isn't] done" - Oracle responds
    "J2EE will face stiff competition at the bottom from .NET" - Pramati responds
    The Java platform "can only become more relevant" - Sun responds
    "There are clearly too many servers, and at the same time not enough" - JDJ Advisory Panel member Bill Roth responds
    "I think you'll see a ubiquitous Java" - JDJ's J2EE Editor Joe Ottinger responds

    It is definitely interesting to see the different perspectives out there. What do you think?

    JDJ SPECIAL - Answered: The J2EE Questions No One Else Dared to Ask

    Threaded Messages (59)

  2. gotta love those salesmen at bea[ Go to top ]

    How would you advise someone looking for a J2EE App server to evaluate all the choices?

    i especially liked the answer from bea on the above question. bea, we all know why PHB's "invest" in your app server. you included about 2 sentences (both leaning much twords your app server) on evaluating all the choices, and about 50 sentences on the features of your app server.

    i'd say, you need to evaluate the current and future requirements of your application and choose a solution that will meet those requirements.
  3. gotta love those salesmen at bea[ Go to top ]

    Have to agree, BEA's answers show quite a bit of arrogance. We shall see if that attitude comes back to bite them on the back-side.

    They don't strike me as a company in position to show this attitude. I'd buy it from IBM but not from BEA.
  4. gotta love those salesmen at bea[ Go to top ]

    They don't strike me as a company in position to show this attitude. I'd buy it from IBM but not from BEA.


    i haven't personally had the "opportunity" to use IBM's websphere, but the word on the street is that gettings things to run in it are a black magic. mostly MQ issues and configuration.

    weblogic doesn't seem too bad, and if you're paying, their support might help guide you to a solution. weblogic's knowledge base, documentation, newsgroups, and support sites are all over the place and finding the answer to a problem is a black magic.

    can anyone comment on jboss support/knowledge base or user support?

    i do very much like IBM's contributions to the free/open software space.
  5. MS is now pushing its "Smart Client" initiative. It's basically (as I understand it) rich clients calling web services. This allows for a rich user interface within a "secure" sandbox. It makes it much easier and, more importantly, much cheaper to develop better applications. Having to deal with things like http sessions, etc. become non-issues.
    Since MS owns the desktop this can be a big success. Especially in closed environments like corporations, governments, etc.
    J2EE/Java has no answer to this and this could be a huge problem.
    It is complex and expensive to develop feature poor user applications because of HTML (browser) limitations and the stateless nature of HTTP. And Java as a rich client platform stinks and will probably always stink.

    I think J2EE will continue to do well in the back office and maybe devices but will die off in the web front end space.
  6. Hi Sartoris,

    J2EE/Java has no answer to this and this could be a huge problem. It is complex and expensive to develop feature poor user applications because of HTML (browser) limitations and the stateless nature of HTTP. And Java as a rich client platform stinks and will probably always stink.

    I haven't run into any of these limitations you are suggesting. Could you be more specific? I have developed rich clients accessing J2EE systems where the Web didn't offer a good enough user experience. I had no real problems there, and my users were very happy with it. I am currently doing the same with JXTA (very cool!) instead of J2EE. There is no question Microsoft has an advantage on the client side, but Java has compelling advantages for me on the client side that won't go away anytime soon.

    Back to work...
  7. I am currently doing the same with JXTA (very cool!) instead of J2EE.

    Just wondering: what is the amount of effort involved in using JXTA. I admit that I know absolutely nothing about the technology.
  8. Just wondering: what is the amount of effort involved in using JXTA. I admit that I know absolutely nothing about the technology.

    It takes a wee-bit of study up front (not drag-n-drop), but the community is very active (supported by some core Sun engineers) with a lot of great examples and interesting open source projects. There are also some books available. If you are looking to build P2P applications, then JXTA is a great choice. Much of the JXTA core and surrounding services will provide the infrastructure you need so that you can concentrate on your applications. It is also being ported to other languages (besides Java), which was an intent from the beginning. I haven't had this much fun building an application since when I first discovered Delphi and object pascal years ago.
  9. "Could you be more specific? "

    The ease of building a rich user app with VisualStudio using VB.NET or C# as compared to using Swing, AWT, etc.

    I admit that I haven't tried to build a Java GUI app in a long time. I have never even heard of JXTA so I could be totally out dated. But I am a user of rich client Java apps and the performance on every one of them is lousy. The look and feel is bad, too.

    I will look at JXTA.

    There is no debating, however, how easy it is to build those kinds of apps in VisualStudio.

    How do your client apps communcate to the server(s)?
  10. "Could you be more specific? "

    The ease of building a rich user app with VisualStudio using VB.NET or C# as compared to using Swing, AWT, etc.


    When it comes to GUI building tools, I think you are correct. However, as IDEA and Eclipse finally get into the GUI building game soon, this advantage may begin to disappear. Swing is a very powerful toolkit, and it can do some amazing things if you take just a little time up front to understand its basic architecture. I must also point out that it has improved dramatically in the last couple of years! I personally don't use GUI builders because they generally get in the way of good development practices and generate reams of bloated code. I mainly use the JGoodies (thanks Karsten!) forms framework, which is a joy to use.
     
    I admit that I haven't tried to build a Java GUI app in a long time. I have never even heard of JXTA so I could be totally out dated. But I am a user of rich client Java apps and the performance on every one of them is lousy. The look and feel is bad, too.

    JXTA is basically a platform independent set of protocols for peer-to-peer computing. It is independent of Swing. I personally feel that P2P computing will be the next major battleground between Microsoft and others. Swing applications can perform just as well as others, and I have seen some very good L&Fs. The same can be said of applications coming out of Visual Studio shops. I have seen some very bad ones too like you have, but I know the underlying toolkit is capable of much more (for Swing and others).

    There is no debating, however, how easy it is to build those kinds of apps in VisualStudio.

    I won't argue with you there. It is even easier in Delphi, which soundly spanks Visual Studio in that regard. However, the applications you typically get are very difficult to maintain. I need cross platform support, so Swing is a great choice for me. There are other important reasons why I choose Swing, but that is the main one.

    How do your client apps communcate to the server(s)?

    For my last Swing application, I communicated to a J2EE back end via RMI (session bean remote interfaces). I could have used Web services, but this would have been slow and more complicated (doesn't mean Web services aren't useful elsewhere). My current project involves a rich Swing client that hooks up with a JXTA-based P2P network.
  11. best of both worlds[ Go to top ]

    My guess: MS will rule the desktop (as it already does), Java will rule the serverside (as it already does), the difference will be that with web services, both will be able to talk to each other easily. You won't have to have the same platform both on the client AND the server, we will mix and match as we like. The best of both worlds, and web services connecting them.

    Regards,
    Zenrique Steckelberg
  12. best of both worlds?[ Go to top ]

    My guess: MS will rule the desktop (as it already does), Java will rule the serverside (as it already does), the difference will be that with web services, both will be able to talk to each other easily. You won't have to have the same platform both on the client AND the server, we will mix and match as we like. The best of both worlds, and web services connecting them.

    >
    > Regards,
    > Zenrique Steckelberg

    You have to choose the language.

    .NET means Windows only clients and Windows plus (non complete) mono on linux as server side.

    Java means lot's of different client and server platforms with only the serverside that can beat windows. Client side is ok, but more difficult than 'native' .NET. If you have Linux or Mac clients, then java is your only option.

    Both platforms can probably talk at least 10x more effective with 'their' native protocols. Web services with XML-SOAP whatever are seriously slow compared to more direct binary protocols. That means you can have 10x less expensive servers performing nicely.

    Interoperability via web services is nice, but it makes no sense to build your system with non compatible components and glue them together with *human readable* protocol. Web services can enable different applications to communicate in a limited way, but it sucks as an internal communication mechanism.
  13. How so?[ Go to top ]

    J2EE/Java has no answer to this and this could be a huge problem.

    > It is complex and expensive to develop feature poor user applications because of HTML (browser) limitations and the stateless nature of HTTP. And Java as a rich client platform stinks and will probably always stink.


    Please explain why SWING/J2EE amounts to "no answer to this"?

    I fail to see how web services are anything more than a bloated communication protocol, albeit useful for eliminating cross platform issues. Certainly there's nothing I can see that makes "Smart Client" a superior platform.
  14. I fail to see how web services are anything more than a bloated communication protocol, albeit useful for eliminating cross platform issues. Certainly there's nothing I can see that makes "Smart Client" a superior platform.


    Smart clients talking to server using Web Services/HTTP wud be similar to browser talking ot server using HTML/HTTP with the obvious advantage of ease of n/w config (just the port 80). So the "bloat" due to protocol will be the same. BUT, the big bang for the buck comes from the reduced payload that a smart client will have because it can *smartly* cache some data and make intelligent roundtrips to fetch only the *data* w/o the presentation code (HTML).

    But to me, smart client model is useful only in the corporate/closed environment models.
  15. Web Services make sense in this scenario[ Go to top ]

    Did you just hit on the next step in browser evolution? A data extension to cookies? I've gone back to using hidden frames myself to "hide" information. I have a javascript "controller frame" that uses XMLHTTPRequest and manipluates 1 or more "data frames" that handle temporary data sets and updates the "display frame." The only thing missing here that a rich client would add is rapid redrawing. For what I use, most updates are inputs, selects, and images from the server, so this isn't a problem, but I could see charts or large tables of data that change dynamically being better served by a rich client. It would be nice to have the features I use handled automatically by the browser, but it really isn't that much javascript, though I admit mine is not as general purpose as I'd like.
  16. How so?[ Go to top ]

    "Please explain why SWING/J2EE amounts to "no answer to this"? "

    Swing is still looks bad and performs poorly.

    "I fail to see how web services are anything more than a bloated communication protocol, albeit useful for eliminating cross platform issues. Certainly there's nothing I can see that makes "Smart Client" a superior platform. "

    From the MS perspective I think it means that there is still a reason for people to want their desktop OSs. It means that they don't have to dominate the server side to continue dominance of the desktop.

    "Smart Client" will be a superior platform if it can foment better UIs that can be built inexpensively.
  17. Swing performs poorly? Looks bad?[ Go to top ]

    "Please explain why SWING/J2EE amounts to "no answer to this"? "

    >
    > Swing is still looks bad and performs poorly.

    Right, right, which is why people always ask if IDEA is written in Java, since it's beautiful and performs very well. And yes, it's written in Java. While your taste in not "looking bad" is your own subjective view, the existence of a performant, visually acceptable editor in Java lays the blame for poor performance and visual effect at the feet of Java developers... not Swing. Your statement is a straw man. Find another.

    > "I fail to see how web services are anything more than a bloated communication protocol, albeit useful for eliminating cross platform issues. Certainly there's nothing I can see that makes "Smart Client" a superior platform. "
    >
    > From the MS perspective I think it means that there is still a reason for people to want their desktop OSs. It means that they don't have to dominate the server side to continue dominance of the desktop.

    Sure, and that means people and companies work together instead of competing antagonistically. That's actually a good thing.
  18. I wholeheartedly agree with Joseph here on IntelliJ IDEA. What a wonderful example of a performant Swing application. I use in on both Windows and Linux (Red Hat 9.0) and on both platforms it performs very, very well. The wonderful people at JetBrains have given the Java developer community a great example of how Swing applications can look and work. Another Swing app that I've become enamored with lately is SmartCVS (which JetBrains is using in IntelliJ 4.0 for CVS support). SmartCVS is also available as a WebStart application. On Linux, it just rocks.

    http://www.smartcvs.com/


    I really feel that Swing is getting better and more performant. The upcoming UI builder in IntelliJ IDEA 4.0 may make the complexity argument go away. I have confidence in the JetBrains team that they will provide some awesome tools for Java developers.

    BTW, I also use Visual Studio .NET 2003 and it's no where near the IDE that IntelliJ IDEA is. Thankful, JetBrains is also investigating the .NET VS plugin market.

    http://www.eugenebelyaev.com/begblog/general/000050.html


    Regards,

    -- chris --
  19. I have to agree with Russ P on this[ Go to top ]

    Swing applications -- these days (1.4.2+) -- perform well and look professional. The Windows look and feel is especially professional out of the box. *Finally* my java applications don't *look like* java applications -- they look like Windows applications.

    WebStart as a distribution and auto-update mechanism via the Internet is definitely something rich-client Java developers take advantage of now.

    I also think the advent of Eclipse/SWT will also help Java desktop market in the long term. Eclipse as a platform 'for everything and nothing particular' is resulting in a ton of software plug-ins popping up for all kinds of things. These plugins are mostly IDE/development related right now, yes, but there is a big push from IBM (upwards of 40 million $?) to greatly enhance Eclipse's capability as a full-fledge desktop application platform complete with a visual application builder for rapid development. In essence, a direct competitor of Microsoft's Visual products with the backing of a huge open source community.

    The future for Java is bright; it's a great time to be a Java application developer.
  20. What about WebStart?[ Go to top ]

    MS is now pushing its "Smart Client" initiative. It's basically (as I understand it) rich clients calling web services.


    This is fairly easy to do. JNLP (aka WebStart) pushing out Swing clients. Build your web-service and embed the proxy Jar file along with the Swing client. Not only does this run on a large number of platforms (including Windows, Mac, Linux and Unix), but it also auto-updates the clients when new versions are available. Since most new PC manufactorers are including JDK 1.4 with their systems, WebStart is already built in.

    > J2EE/Java has no answer to this and this could be a huge problem.

    Completely wrong. WebStart is the answer. In fact, Microsoft doesn't currently have an answer for clients that will work in many of the environments that currently access the Web. Flash and Swing/WebStart are, at least, alternatives to HTML that still deliver on the promise of accessing Internet based information regardless of platform.

    > And Java as a rich client platform stinks and will probably always stink.

    Perhaps your opinion. My firm has developed clients just like these that are being used by a major standardized testing company. The clients are being used in 3 states with 10's of thousands of students taking tests using these clients. QA and testing has demonstrated that these clients are extremely well received.

    > J2EE will continue to do well in the back office and maybe devices but will die off in the web front end space.

    I think you are wrong. I just think that Sun has done a lousy job of pushing WebStart and these types of clients.

    Russ
  21. What about WebStart?[ Go to top ]

    "This is fairly easy to do. JNLP (aka WebStart) "

    This is a pipe-dream.

    The clincher will be who can deliver rich apps that can be built cheaply. That is the (current) holy grail. It is the VB (pre VB.NET) model.

    VB was (and probably still is) garbage. But look at the penetration it got because it made development less expensive.
  22. What about WebStart?[ Go to top ]

    "This is fairly easy to do. JNLP (aka WebStart) "

    >
    > This is a pipe-dream.

    How so? I've done it a number of times on a number of projects with great success. Development time/effort has been similart to development of rich clients in many other technologies. We have found it to be more productive than Flash and just a bit less productive than VB.NET

    > The clincher will be who can deliver rich apps that can be built cheaply. That is the (current) holy grail. It is the VB (pre VB.NET) model.
    >
    > VB was (and probably still is) garbage. But look at the penetration it got because it made development less expensive.

    It didn't make it less expensive. It made is simpler for more developers. Ultimately, VB systems must be replaced whole-sale because many developers did a poor job in developing a sound design. The life-time cost of many of these systems is way beyond the cost of others. (Penny wise, pound foolish.)

    Also, how do you address the multi-platform issue using VB (or VB.NET)? You can't yet. (And please, don't say Mono.) OTOH, Flash and WebStart are there today with answers. Frankly, I don't see anyone stopping the Flash train... If only Sun did a better job of saying: "Hey, get the platform advantages of Flash, the rich,standard interfaces of Windows and the security of Java all in a single client easily distributed over the Internet."

    BTW, try these webstart links: www.puzzlepirates.com, www.smartcvs.com

    Russ
  23. What about WebStart?[ Go to top ]

    "How so? "

    Just my opinion. Time will tell. Nothing I've seen convinces me that Java will ever be anything on the desktop.

    "Ultimately, VB systems must be replaced whole-sale because many developers did a poor job in developing a sound design. "

    How can you make a wholesale claim like this?

    "Also, how do you address the multi-platform issue using VB (or VB.NET)? "

    I don't think it matters at this point. It appears that MS will own the desktop for a good bit longer.

    "Hey, get the platform advantages of Flash, the rich,standard interfaces of Windows and the security of Java all in a single client easily distributed over the Internet."

    Part of the problem is the difficulty (expense) of writing non-trivial apps for the web. The session management, for example, is more difficult than having a fat client keep its own state.

    Then again, I could be 100% wrong.
  24. What about WebStart?[ Go to top ]

    "Ultimately, VB systems must be replaced whole-sale because many developers did a poor job in developing a sound design. "

    >
    > How can you make a wholesale claim like this?

    Didn't mean to imply that "all" VB-based systems require replacement. But, based on personal experience and many stories I've heard, most VB-based systems are built by non-IT folks or less skilled developers. Usually, to meet performance and scaling requirements, these systems need to be replaced.

    > Part of the problem is the difficulty (expense) of writing non-trivial apps for the web. The session management, for example, is more difficult than having a fat client keep its own state.

    Thus WebStart, right? With web-start, you have apps that can maintain their own state on the client independent of the application/web server. Then, you make stateless web-services calls back to the server. Wasn't this the whole point of the discussion?

    Russ
  25. Before the Web there were millions of computer programmers around the
    world, just as today. Of them 20% was good and 2% really good, just as today.

    Enter the Web

    Many watched with fascination as young students with some HTML
    understanding announced that "the old consultants don’t understand anything". Then the Internet boon pass away and the students are out of work, HTML now
    done mostly by webmasters and advertising agency’s.

    Today, the "real" programmers, the ones that that does operating
    systems and big GUI projects like Eclipse watch the J2EE world in fascination.
    Personally I don't see any big difference between the HTML guys and the "Java
    computer software theoreticians"

    Just remember that of any given group of people, the 80-20 rule never
    changes.

    But with the "old VB" staff the 80 incompetent ones managed
    somehow to construct system that worked..

    Regards
    Rolf Tollerud
  26. <snip>
    > But with the "old VB" staff the 80 incompetent ones managed
    > somehow to construct system that worked..

    Rolf,

    I didn't intend for this to be a VB-bash or VB flame thread. Simply put, most projects that could be built with VB did (and do) not require a complex design. I have written many VB projects myself starting from VB 3. I have also written commerical applications in C, C++, Java and C#. The difference in solution is night and day.

    Does that mean that the VB solutions don't work? Not at all. Does that mean that VB developers are incompetent? No. (Just like a golfer playing with PING equipment vs. K-Mart. Just because the equipment is different doesn't mean that the golfer will score better. As a matter of fact, I have PING... and I shoot in the 90's. Pretty pathetic, really.)

    But, it does mean that many (not all) of these solutions don't support over 15 or 20 users. Many of them don't optimize storage or worry about database collisions. They also don't worry about transaction isolation. Do some of them? Sure. Heck, I wrote VB applications AFTER C/C++ ones. I knew about those issues and made sure that my VB applications worked appropriately.

    The best applications in the Microsoft world usually had a VB front end and a C++-based COM middle tier. Great front-end productivity matched with excellent middle-tier component support.

    Today, using WebForms (thick client that is) along with web-services to a .NET middle tier is fairly analogous to these solutions. So, I would support that.

    However, Java Swing with JNLP to a J2EE-based middle tier is even better! My thick client has automatic sychronization built in. I can support a larger number of end user machines (including both Mac and Windows). EJB components support a rich transaction model within the core server. (Unlike .NET which requires external calls to COM/MTS.) There are rich integration solutions using JMS and JCA that I can plug right in. And, if I'm lucky enough to be using WebLogic 8.1., I have a great editor for both building the web services (along with generated web service proxy JAR files I can plug right into my web-start application) as well as true BPM capabilities. (Something I would have to pay a lot more for and use a 3rd party for my Microsoft solution.)

    Does that mean that client-server is bad? No. Does it mean that a WebForm .NET solution is bad? No. But, my preference is to use the tools that get me closest to the solution with the least amount of code/customizations. Right now, nothing can beat BEA 8.1. (IMHO, of course.)

    Russ
  27. sigh..[ Go to top ]

    15 or 20 users? You must be joking. A "good" programmer can make large enterprise critical solutions in VB as they can in Java or any other language. For example Merrill Lynch: 21,000 tps (yes, twenty-one thousand) 75M tx/day, mostly made in VB/COM+.

    The "20%" people never have any problem in VB
    as they have no problem in Java either.

    But the "80% incompetent" VB ones somehow got along.
    The big problem is the "80% incompetent" Java programmers.

    Regards
    Rolf Tollerud
  28. sigh..[ Go to top ]

    Rolf,

    I don't even know what app that actually is, since last time I was at ML, all the enterprise apps were WebLogic or WebSphere, and J2EE was the enterprise standard for the company. Maybe they put a Windows front end onto a WebSphere app?

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Clustered JCache for Grid Computing!
  29. Merrill Lynch Case Study[ Go to top ]

    www.microsoft.com/resources/casestudies/CaseStudy.asp?CaseStudyID=12035

    Cameron, it is not your dishonesty that bother me it is the hypocrisy and false sentimentality.

    Regards
    Rolf Tollerud
  30. Merrill Lynch Case Study[ Go to top ]

    Rolf,

    Thanks for the link. Did you actually read it? You'd know that the system you referred to is a telephone answering system. The "transactions" are actually handled by back end systems (hehe .. J2EE and mainframes) that the telephone answering system just delegates to.

    As far as the ridiculous volume claims, it says "This infrastructure is designed to handle up to 25 million users and 75 million transactions per day." So their mainframes and their J2EE systems handle the 75 million transactions per day that theoretically could come in through the .NET phone answering system, plus the hundreds of millions of other transactions that ML processes.

    Cute. I like it.

    Peace,

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

    I am sure you have made the "80% segment" believe that your nonsense have some merit..

    Regards
    Rolf Tollerud
  32. No platform/language Perfection[ Go to top ]

    Well I'm not definetively a Java Guru but I don't need any kind of technical experience to read that behind your verbal word you both (talking about Rolf and cameron) lose some perspective.
     Trying to defense Java/Swing as a nice option against .Net/VB client is so useless as to say that C# will make Java dissapear from the server side, and I'm talking about our present time.

    Probably in the future Swing could be nice and offer a good performance (IBM's SWT make a impresive improvement in the visual aspect even if you notice that is not a "pure" Swing enhacement), and C# could gain a piece of the server programing cake, But the perfect language/platform does not exist... it always depends on your needs.

    So first evaluate what you want and then find your tools.. but remember that even when the steel was discover it hasn't made dissapear the carpenters.
  33. WebStart is great, and it worked very nicely on one of the major projects I worked on.

    However selling WebStart to management and customers is very hard, as no-one has heard of it or know the benefits it brings. Everyone knows what you mean when you say, "I'm developing this app for you as an applet". Very few know what it means when you say "I'm developing this app for you using WebStart", and you have to convince them it is the right thing to do.

    This is purely because Sun are not doing anything to promote it. Compare this to MS, and you'll see why unfortunately our management chose .NET instead for GUI work...

    And thats the problem, it doesnt matter how good WebStart is, if management and customers dont know about it.
  34. What color is the sky in your world?[ Go to top ]

    Since MS owns the desktop this can be a big success.

    > Especially in closed environments like corporations,
    > governments, etc. J2EE/Java has no answer to this
    > and this could be a huge problem.
    > It is complex and expensive to develop feature poor
    > user applications because of HTML (browser) limitations
    > and the stateless nature of HTTP. And Java as a rich
    > client platform stinks and will probably always stink.

    Are you kidding?
    - Java's VM with a robust and proven sandbox
    - Java Web Start, an insanely great deployment tool
    - Swing, mature Linux/Windows/Whatever client support
    - RMI or JMS, or HTTP w/ serialized objects
    - Net Beans ... or Eclipse as your app shell
    - JAAS, JDNI, etc. etc.

    I don't know what universe you're building rich client apps in, but I know for a fact (as in been there, done that) -- Java IS THE rich client platform for enterprise development.

    Ben
  35. What color is the sky in your world?[ Go to top ]

    You wrote -
    <quote>Are you kidding?
    - Java's VM with a robust and proven sandbox
    - Java Web Start, an insanely great deployment tool
    - Swing, mature Linux/Windows/Whatever client support
    - RMI or JMS, or HTTP w/ serialized objects
    - Net Beans ... or Eclipse as your app shell
    - JAAS, JDNI, etc. etc.
    </quote>
    i agree with everyting except "java has rich client".
    SUN SWING sucks big time - worst client side apis available tiil date. and dont try to give me any exapmples of sites using swing etc . I have done swing programming - tried making it most efficient , tuning memory etc etc etc - it still sucks.
       Java is good for server side programming only. And its the best on server side. .NET is no where near it.
  36. Did Swing Insult Your Mother ?[ Go to top ]

    Your complete generalization of Swing in this regard reveals some ignorance on your own part. Certainly, Swing has fallen short in some areas, but there is extensive evidence that Swing is at the very least a blank slate that ends out reflecting the talent and skill of the developers that use it to write applications. On the other hand, MS have excelled at making decent appearing applications, even for developers who are marginal or below.

    At any rate, a news flash for you is that there are few, if any "sites" using Swing. Swing is for applications, not sites. I realize that you do not want any examples of sites using Swing (and I cannot name any off the top of my head) but there are plenty of examples very robust and functional Swing based applications. My own favorite would be JBuilder, which, as a result of being implemented in Java allows it run on Windows, Unix, Linux and Mac OSX with equal (and excellent in my view) functionality on each.

    It also amazes me to no end when people pompously degrade Swing for all sorts of things like appearance, memory management, thread management or efficiency. You give it too much credit. All of that stuff is up to you. You can make Swing apps look any way you want. The thread management can also be up to you. Memory management is a frequent complaint, and while the Swing designers might be accused of not addressing this issue adequately, there is no special mystery to memory management in Swing that is seperate and distinct from Java in general. The problem is that there are too many Swing developers treating their apps like the second grade drag-n-drop apps that have been made so popular in VB. But to give all their due, there are plenty of VB drag-n-dropped apps out there that suck too. Use them enough and you will hit DLL conflicts, memory leaks (inevitable, since MFC itself has plenty of documented and undocumented memory leaks) and eventual blue screens.

    I must concede that Swing is clearly a higher bar for developers, but like I said, the results are an absolute reflection of the skill of the developers, enhanced, in some cases, by some of the unique qualities of Java. As to your efforts in Swing, you should reevaluate exactly what it is that sucks.
  37. Instead of asking me whats bad with Swing - you should ask me whats good about Swing. That will be a one line answer. Almost Nothing.

    1. I didnt want to get a list of sites from you mentioning use of swing , how to use swing effectively etc or comparing swing with any VB etc. Thats what I meant by examples of sites. If you had a brain and your mother ate a lot of vitamins before giving you birth, you would have understood what I meant.

    2. JBuilder takes forever to open a project or compile when you have projects involving more than 100 files. The refresh time sucks. So is the case with Together. But look at Eclipse - they do a wondeful job of a IDE - mostly becoz they didnt use SWING. Ever wonder why ?????

    3. Drag - n Drop functionality was good in VB. As you said its upto developers to make it a good or a bad project. But if you put a developer of a comparable skill on Vb and SWING - he will be more than happy and thanking Bill gates's mother to have made VB. And at the same time he will bitch about every mother out there fixing issues on swing right from trying to just adjust the layout of all the controls.
       
       And next time on before you bring anyone's mother or father in a thread kick your own butt 1000000 times and ask your mother why she didnt educate you well. ( i m sure she has disowned you by now. )
  38. Senseless[ Go to top ]

    Man, sounds like Nicholas hit a nerve or something. You just went a little overboard with your reply. Calm down. I don't want to put words in Nicholas's mouth but I think he just saying that Swing is a tools, and that some of the complaints come from the fact that the user don't know how to use it properly. Yeah, Swing was slow before, but they made improvements. And it's only going to get better.


    > 1. I didnt want to get a list of sites from you mentioning use of swing , how to use swing effectively etc or comparing swing with any VB etc. Thats what I meant by examples of sites. If you had a brain and your mother ate a lot of vitamins before giving you birth, you would have understood what I meant.

    Doesn't make much sense to compare Swing and VB. VB is a language with GUI functionalities. A better comparison would be Java+Swing and VB. I guess you can build a small to mid-size app easier with VB. If your purpose is only to build something quick.

    >
    > 2. JBuilder takes forever to open a project or compile when you have projects involving more than 100 files. The refresh time sucks. So is the case with Together. But look at Eclipse - they do a wondeful job of a IDE - mostly becoz they didnt use SWING. Ever wonder why ?????

    Compiling a project doesn't have anything to do with Swing. You might want to blame your compiler for that. If JBuilder and TogetherJ take forever to load you might want to think about getting a faster computer than a 486.

     
    > 3. Drag - n Drop functionality was good in VB. As you said its upto developers to make it a good or a bad project. But if you put a developer of a comparable skill on Vb and SWING - he will be more than happy and thanking Bill gates's mother to have made VB. And at the same time he will bitch about every mother out there fixing issues on swing right from trying to just adjust the layout of all the controls.

    Put two developers with the same skills and ask them to develop a large complicated project and see who wins. Now add more functionalities and see who win. Make it scalable and robust and see who win. Now hand that Swing or VB app to the support team to maintain and see which one they think is harder to maintain. I'm not saying one or the other is better. But you need to look at more than just how easy it is to create a GUI front end by using VB.

    BTW, what would happen if you take away the GUI builder from the VB developer? Would they even know how to build a GUI from scatch?

    Swing is powerful and flexible. Yes, there's a learning curve, but it's not that bad compare to something like X/Window or Motif?

    >    And next time on before you bring anyone's mother or father in a thread kick your own butt 1000000 times and ask your mother why she didnt educate you well. ( i m sure she has disowned you by now. )

    Yeah, but if he used Swing it'll take him forever to kick himself 1000000 times. He might want to switch to VB then.
  39. Senseless[ Go to top ]

    Please children, calm down. Nobody cares about either of your mothers (unless they are good looking and want to get into bed with us).

    I love Java, I hate M$ for all sorts of reasons (not least for holding back development of the human race by destroying companies with better ideas than Billzebub). I use Swing and have to say it LOOKS slow while you wait for it or the JRE to load, but once it's up and running it's as fast as anything else. If you throw in a splash screen to amuse the user like most VB apps do, then the percieved start up time is easier to deal with.

    I've used VB as well as I used to lead a team of VB developers even though my skillset was Java. I learnt enough VB in a few hours to be able to help out my "experienced" developers when they got stuck. Easy to learn? Yep, a complete dork could use VB. What happens when the drag and drop components don't work or you need to figure out some slightly complicated algorithm? VB developers are lost. Learn a real language, learn how programming works, then you know enough to decide whether drag and drop programming is worth using.
  40. Senseless[ Go to top ]


    > I've used VB as well as I used to lead a team of VB developers even though my skillset was Java. I learnt enough VB in a few hours to be able to help out my "experienced" developers when they got stuck. Easy to learn? Yep, a complete dork could use VB. What happens when the drag and drop components don't work or you need to figure out some slightly complicated algorithm? VB developers are lost. Learn a real language, learn how programming works, then you know enough to decide whether drag and drop programming is worth using.

    Back in '94, I was doing RAD development with VB. VB was used as a shell for our UI and functionality was implemented in C/Perl in our backend servers and hooked into VB using DCE. Honestly I miss VB as a GUI composer and can only imagine how good it is now 9 years later(or the C# equivalent). Reason? It wasn't the language, it was how ridiculously easy it was to build a fairly complicated UI. With the oldie, but goodie, 3-tier architecture, we let the GUI just be a GUI and do all the complicated stuff and DB access on the Server. I tell you I despise writing Web apps. Takes freekin forever for a usually poor interface. Maybe I'm just not using the right tools.

    Although IntellJ has ripped me away from Emacs and brought me into the 21st century (I can't wait to see their GUI stuff in version 4), I really believe Eclipse is the future for Java. If we can get the community using and developing the same Free IDE, we can use the vast resources of open source development to catch up to M$. Not only that, a free open IDE clears the way for innovation. One of the biggest advantages Microsoft always has had is that their tools have always been nicely and tightly integrated with some kind of UI and IDE. Eclipse gives the small nimble innovators a common platform to provide ease-of-use development for their new tools and not have to hire a new GUI dev team to build ACME Workshop. Innovators have an easier time for their superior technology to be adopted because they can hook into the mediocracies of the world through the standard Eclipse IDE.

    Bill
  41. Senseless[ Go to top ]


      I tell you I despise writing Web apps. Takes freekin forever for a usually poor interface. Maybe I'm just not using the right tools.
    >

    amen! i don't so much mind the time, as much as the POOR INTERFACE. i much prefer a rich user interface to web based crap. web has it's uses, but it should be used wisely.
  42. First, I hate Sun for all sorts of reasons. Second - Java is a dead end.

    .NET is not going to exist on "all" desktops for at least 2-3 year yet. And when that time come Mono will be available for Unix/Linux. So in the meantime there is a window of opportunity for VB, at least in corporative and enterprise environments.

    A few years ago activex controls got into discredit for two reasons.
    1) It didn't work in "the other browser".
    2) Too big a download.

    Neither of them exists anymore.

    1) The other browser has only 1% of the market.
    2) All supporting files (VB runtime files, ADO) come with win 2000 and XP.

    So the best way today to make rich web application clients is not in Flash or Java or DHTML (all which I tried extensively) but a digitally signed VB6 control. Why not C#? Because the .NET framework of ca 20MB is too large download and doesn't exists on all clients yet.

    50.000 rows of code application can be compressed into a 500-600KB digitally signed cab file which downloads in seconds the first time it is accessed and after is transparent to the user.

    That is the best solution for the time being until C# is everywhere.

    Then we can retire VB6.
    Then we can retire Java.

    I might be right or wrong - one thing is sure the rich client is just around the corner. Do I detect a pathetic anxiety?

    Regards
    Rolf Tollerud
  43. blah[ Go to top ]

    You made the crappiest language system ever, as best (really, viruses written in VBscript cost world billions of dollars) with this spectacular reasoning:
    " First, I hate Sun for all sorts of reasons. Second - Java is a dead end. "
    who are you? bill gates?

    as we say here, "Even crows laugh at this.."

    Swing+WebStart.. there you have your rich client. if you ask more, try XTT, thinlets or Droplets or many more..
  44. Java's ease of use == 0[ Go to top ]

    I have been a java guy since 4 years... I coded Swing n stuff...
    Yeah Swing is amazing. But didn't Sun kinda freeze it's development in 1926 or somthing ? All i saw recently was a lot of tutorials about JSpinner.. too many actually.

    Come on guys... Give us something new... Its pathetic how long it takes to implement a decent GUI in Swing. (And those layout managers.. Ever tried to do some sane programming with the new SpringLayout??? its horrible)

    What programmers need is productivity. Sane design comes later. As i was saying in another thread, what we need is "Feature Driven Programming". Not architecture driven features. (Im not a fresh college grad who thinks design and architecture are useless..)

    Sorry for the harsh voice in the quote. Not motivated against any person. ENTIRELY motivated against Sun.

    Sun doesn't have a clue what they are doing. U can't give software for free and expect to do great. (Price sun servers too high.. will not help u.. ur stock will still plummet)

    It is unfortunate that the Principal Driver of java lives in a hypothetical world. If they know writing software soo well, how come we don't see ANY software written by them ? Their re-started attempts of releasing a single decent IDE or application server reflects this.

    Its also unfortunate that there is NO driving force in the desktop environment. Look at LongHorn guys... Microsoft is just unstoppable...

    Dushy
  45. Senseless ?? only to you[ Go to top ]

    1. I didnt want to get a list of sites from you mentioning use of swing , how to use swing effectively etc or comparing swing with any VB etc. Thats what I meant by examples of sites. If you had a brain and your mother ate a lot of vitamins before giving you birth, you would have understood what I meant.


    - If u want to build a more than mideum size app using SWING then you are going to be pretty old till it starts loading itself. Just stop convincing me how swing can handle large sized apps. IT cannot sustain more than 25 controls on one layout. And then there are 1000 issues of refresh, loadingvalues in combo boxes etc etc etc. And I compared it with VB becoz logically it was done so in previous threads and it makes sense too. You are saying java + swing - itsnt swing a part of java anyway. I dont need to be politically correct. USe some common sense.

    > Compiling a project doesn't have anything to do with Swing. You might want to blame your compiler for that. If JBuilder and TogetherJ take forever to load you might want to think about getting a faster computer than a 486.

    - I have a pentium 4 with 512MB RAM. so before you make a ( expected) stupid guess of my machine configuration, ask yourself why are you so stupid. It takes minimum 10 seconds for these IDEs to just come up and thne if you open a project - forget about it. It drains all the memory. They are a good to cpmpetition to Netbeans though - netbeans is the slowest. Well not a surprize as its using swing all over the place.

    > Put two developers with the same skills and ask them to develop a large complicated project and see who wins. Now add more functionalities and see who win. Make it scalable and robust and see who win. Now hand that Swing or VB app to the support team to maintain and see which one they think is harder to maintain. I'm not saying one or the other is better. But you need to look at more than just how easy it is to create a GUI front end by using VB.

    - USPS runs one of their largest client applications using VB( it was power builder before) So does UK postal services. If it was to be built in JAVA+ Swing , project would have never taken off. It would have taken years before the first screen to show all data and needed 1000 MB ram in each workstation.
    My point was if you have 2 comparable programmers with good design skills , VB programmer and VB app can beat swing in terms of quality , speeed of development and ease of use etc etc etc etc by 10000 miles.

    >Yeah, but if he used Swing it'll take him forever to kick himself 1000000 times. He might want to switch to VB then.

     - Are you really so stupid ? Do you even know whats humor / joke ?? I pity you and your sense of humor. Senseless is really your first name i guess.

    P.S> - As usual TSS will put this in noisy list. so please read it ASAP. TSS wont see how other replied to my message and why I reacted. They would just shut me up. Thanks TSS. This shows how biased your editors are.
  46. Senseless ?? only to you[ Go to top ]


    P.S> - As usual TSS will put this in noisy list. so please read it ASAP. TSS wont see how other replied to my message and why I reacted. They would just shut me up. Thanks TSS. This shows how biased your editors are.


    It's not the editors who mark a message NOISY but the readers.

    Every single message I have read from you contains poor spelling, personal insults and ridiculous claims. No wonder nobody wants to read you.

    --
    Cedric
  47. Senseless ?? only to you[ Go to top ]

    It's not the editors who mark a message NOISY but the readers.
    Every single message I have read from you contains poor spelling, personal insults and ridiculous claims. No wonder nobody wants to read you.
    --
    Cedric

    oh yeah - why dont you read the thread fully and then you will realize how people insulted me to start with. I replied only to those stupids. And you dont have to solicit for TSS. I know what I say unlike most of you here who just talk big on a high level.
  48. Man ! open your eyes[ Go to top ]

    Instead of asking me whats bad with Swing - you should ask me whats good about Swing. That will be a one line answer. Almost Nothing.


    You should open your eyes and look at the real world man. Take a look a rich Swing UI in JBuilder or in IDEA and tell me how bad it is. Your sentence quoted here is pointless, I guess you love your VisualStudio/.NET Microshizzle but don't blame other technologies until you REALLY have evaluated them.

    For shizzle my nizzle !
  49. Man ! open your eyes[ Go to top ]

    2. JBuilder takes forever to open a project or compile when you have projects involving more than 100 files. The refresh time sucks. So is the case with Together. But look at Eclipse - they do a wondeful job of a IDE - mostly becoz they didnt use SWING. Ever wonder why ?????


    I wonder if your talking about version 4 or 5 of JBuilder (the actual version is X) and BTW Eclipse is a wonderful job, but don't even try to compare eclipse whith actual commercial IDEs. Eclipse is actually slower than any of them. Eclipse is FREE that what makes it cool, but SWT is'nt as good a swing for a Java developer. Did you try to build rich UI whith SWT ? Looks like a nightmare.

    Again I give you that piece of advice : don't criticize if you don't know. I don't criticize .NET because I don't have enough experience whith it.


    As Cameron always say : Peace.
  50. Man ! open your eyes[ Go to top ]

    IMHO. Swing has become alot fster with JDK1.4.2 but on the development side we still lack the tools to develop rich client apps as fast as the C#/VB .NET . I haven't seen any visual designers that enable us java guys to be as productive as the C#/VB .NET guys at building these client side apps. Also... Swing is pretty fast now BUT IMHO I still think .NET thick clients respond faster...

    Cheers

    Smythe
  51. What color is the sky in your world?[ Go to top ]

    I beleive Swing has an excellent feature rich API. Only thing a person need to know is how to use it (it is very simple) and it fits to all other languages API.

    Regarding performance and robustness,it is the developer who has to take care of all these stuff, which includes fine-tuning application. Also the new JIT compiler are very smart enough to handle their part.

    Overall Swing is a very simple and robust compared to Visual Basic and C++ and only drawback it lacks very low-level features (which many may not need). Some missing features and minor flaws always exist.

    Last it mainly depends upon what you need and what fits the best to your requirements. If can be C#, Java, C++, SmallTalk..... or any other new language.


    Cheers
  52. I think, client containers will become more and more important. WebStart is not enough, though it's a good point to start. What we need is something like SmartCC in combination with webstart and a standard for long transaction semantics (optimistic locking) on the client. The common value object pattern with all it's concurrent modification implications is way too complex.

    JBoss has a transparent http transport (HttpInvoker), that can be used instead of SmartCC's transport abstraction. JBoss AOP Remoting will probably support that, too.

    Question: is long transactions with optimistic locking something, that can be implemented completely as an aspect and can that aspect be transparently combined with a remoting aspect using http transport? what about undo support inside the long transaction (nice to have!!!) .. another aspect?

    Holger Engels
  53. "> Question: is long transactions with optimistic locking something, that can be implemented completely as an aspect and can that aspect be transparently combined with a remoting aspect using http transport? what about undo support inside the long transaction (nice to have!!!) .. another aspect?
    >
    > Holger Engels"

    The kind of lock you use is somewhat orthogonal to the general problem of concurrency in long running activities, which is why most models sacrifice atomicity for throughput, ie, they are designed to hold locks for very short periods in incremental steps. Also, long transactions don't typically have "undo", instead they compensate. If you want to reason about the semantics of the transaction itself, it's an important distinction. I'm not convinced that aop is a good model for atomic transactions (though it can be made to work). I'm at a loss as to how this would be a good model for extended transactions.


    Greg
  54. There is a J2EE "Smart Client" already[ Go to top ]

    "> Question: is long transactions with optimistic locking something, that can be implemented completely as an aspect and can that aspect be transparently combined with a remoting aspect using http transport? what about undo support inside the long transaction (nice to have!!!) .. another aspect?

    > >
    > > Holger Engels"
    >


    >I'm not convinced that aop is a good model for atomic transactions (though it can be made to work). I'm at a loss as to how this would be a good model for extended transactions.
    >
    >
    > Greg

    AOP not a good model for atomic transactions? You need to be a bit more specific. EJB's already provide separation of concerns for transaction boundaries between Bean code and the XML Deployment descriptors. Generalize this for AOP by writing a Transaction advice that integrates with the transaction manager and you can do the same for POJOs. This is exactly what we have done in JBoss 4.0.

    As for locking, we have also written a transactional pessimistic lock advice that can be applied to any pojo.

    JBoss AOP Cache, can make any POJO's state transactional. At first with pessimistic read/write locks, but in the future with optimistic locking. I actually did a cache prototype before JBoss AOP Cache that did optimistic locking at the field level that could have been extended to the object level.

    So to say AOP is not a good model for atomic transactions is about the same thing as saying OOP is not good for atomic transactions as AOP is just a different way to define and apply functionality. There are more than one way to skin a cat, and AOP just happens to be a fluid way to apply atomicity to your POJOs. We are/will be proving this with JBoss 4.

    Bill
  55. There is a J2EE "Smart Client" already[ Go to top ]

    Bill, haven't we done this dance before? I'll pass this time around, but if anyone is interested they can look up the old threads on this board that cover the distinctions between AOP and EJB re transactions. They should be sufficiently specific.

    Incidently, OO transaction systems aren't always the best way to do ACID transactions either. I agree with you on one thing: one size certainly doesn't fit all.

    Thanks.

    Greg
  56. There is a J2EE "Smart Client" already[ Go to top ]

    JBoss has a transparent http transport (HttpInvoker), that can be used instead of SmartCC's transport abstraction. JBoss AOP Remoting will probably support that, too.

    >
    > Question: is long transactions with optimistic locking something, that can be implemented completely as an aspect and can that aspect be transparently combined with a remoting aspect using http transport? what about undo support inside the long transaction (nice to have!!!) .. another aspect?
    >
    > Holger Engels

    This is exactly what you'll be able to do with JBoss AOP Remoting + JBoss AOP Cache. Replicated, transactional, multi-threaded, remote, session objects.

    Bill
  57. JBoss has gone nuts...[ Go to top ]

    I am so tired of JBoss guys just being arrogant.

    In their note about advise to sun.They are pretty much saying sun to close its app server businees. what makes JBoss think that there is no more need for one more open source application server.
  58. How many times are they going to change the name of their product? How many times are they going to change the code base? Why continue to invest heavily in a product you make no money from? How can you sell a certification and a server at the same time and be even handed about it. They need to do one or the other, ship a server or give J2EE to the JCP and make the JCP a not for profit entity, that is funded by the licenses.
  59. Rich Clients and J2EE[ Go to top ]

    Let´s not forget that java already has "Smart Clients". How about Java Web Start Applications calling Web Services (using solutions like Apache AXIS) ?

    The J2EE platform should make a effort for more integration with Java Web Start.

    By the way, BEA is very right wen they say "INOVATE then standarlize", I would go even further and say: "INOVATE to standarlize"
  60. Im getting real tired of this J2EE against .NET! To many of us, this is not an issue! .NET is windows only!!!!!

    There are people who don't do windows, and for good reason will not in the future!

    So for all you windows guys - go ahead an be scared! I can rest easy!

    PS! Tomcat, Xerces, JBoss, NetBeans, JDOM, and thousands more - in Java! .NET is light-years behind in community support!