No, I don't think so - the Wintel and Lintel JVMs from Sun perform well, almost embarrassingly so compared to Sun big iron like E10000s and E4500s (what they lose in raw MIPs they gain in multi-CPUs and better I/O though).
IBM and BEA are committed to producing high-performance JVMs for Intel too, so I the future looks pretty bright in this area.
We've found that we end up deploying the same applications multiple times, with restarts, in order to get the thing working correctly
Ugh. That should not happen at all - I'm working with news sites that redeploy and update several times a day on WebLogic.
The process is complicated, particularly in a centrally managed/clustered environment - your consultant needs to understand precisely what goes on so that servers don't accidentally share temporary directories, the component is targeted at the right thing etc. etc. It's a bit arcane, but not unreasonably so.
What's the central management console in JBoss? I didn't think it had one.
I don't mean to jump down your throat, but from your description, and having just wrestled with a big Apache 1.x-fronted site, this sounds like one of the least appropriate environments for Apache+Tomcat.
Apache 1.x handles concurrency very poorly, and transactions which take longer than simple static pages (such as XMLRPC ones going to a database) can quickly highlight the problems - suddenly your pool of 50 Apache processes looks mighty feeble faced with massed ranks of users out there whacking their submit buttons.
In this environment, something like WebLogic really shines because it handles concurrency in a scalable and easily configurable manner, plus with nifty things like WebLogic Workshop, you get to build Web Service components with a fraction of the effort of Apache SOAP or similar setups, comparable with Microsoft Visual Studio.NET in fact, if I'm allowed to mention the evil empire.
The WebLogic world is evolving pretty quickly these days - get those BEA salesmen to earn their commissions by keeping you up to date.
one has to step back from the plethora of big-name projects and realize that people are making considerable effort righting the mistakes made by the early pioneers of that medium
such as using Resin? I just had to migrate a big server from Resin to WebLogic two weeks ago.
You ever tried to update content on a Resin server, for example?
Tomcat on the back end means Apache on the web tier and I'm no big fan of Apache
then
tomcat is a reasonable choice
This sure looks like a contradiction to me. First, one key reason why you might not want Apache on the front end is that Apache 1.x is process-per-request. This scales appallingly badly if you have a lot of simultaneous requests in progress (database backend, search engine etc.).
If this scenario occurs in your environment, WebLogic on its own is a far better choice - it can serve static content surprisingly quickly, certainly in the same order as Apache 1.x and nearly as fast as the old Netscape releases, at least in my experience.
A lot of my time is spent sorting out overengineered WebLogic setups where people have felt obliged to put IIS or Apache in front. Netscape actually brings something to the party, performance-wise, the rest cause more trouble than they're worth.
The prospect of restarting the whole server just to update some JSPs or to redeploy a web app is, frankly, a complete non-starter for most large sites.
A lot of WebLogic shops update their content regularly, often using separate content management systems like Vignette (I know...), so if the original enquirer has requirements like this then Tomcat can be ruled out right now.
To wax on WebLogic's virtues a bit (hey, gotta restore some balance!) it allows you to redeploy a whole WAR (as a single file or as individual ones in 'exploded' format), to update JSPs automatically just by writing them to the source directory, and to update other servlets using the refresh tool.
[Disclaimer: poster is an independent BEA consultant type]
Boy, I hate posts like this, and not just because I make a living working with BEA stuff.
Not picking on you specifically, but whenever I mention moving projects from Tomcat or Resin to WebLogic I try to explain why the move was made.
Peoples' requirements differ greatly and the products are complex and varied - I doubt if one poster in ten that mention WebLogic here can actually name the principal components of the WebLogic 7 platform, for example.
Without a description of the context, blanket assertions of one product's superiority over another are just so much hot air.
6.1 requires the weblogic.xml file in your WAR. Huh? Why in the WAR?
Um, because it's an extension to the web.xml file that's in the WAR? I could be missing something here...
6.1 will hang for 30 seconds on your servlets if you open and close the stream without sending anything on the stream
What's the function here? Normally one wouldn't need to open and close streams like this, not least because it messes up buffering. This doesn't sound like your common or garden servlet app...
Yes, releases can be buggy - I never liked 6.0 - but after a couple of service packs it settles down. 6.1 is a fine J2EE 1.3 setup, and I like where 7.0 is heading, really pulls together all the complex bits.
On to specifics, if you're hitting memory leaks with the performance pack enabled, you are using some old version - no question! The only problems I've hit with the perf pack on current releases are to do with relatively obscure things like HTTP pipelining (the latter is a buggy spec if you want my opinion...). Turn on INFO level logging and check the report of java.library.path - you may be picking up an unintended version of the perf pack DLL/.so libs.
BTW Could be that now is exactly the wrong time moving an order management-type application from BEA to JBoss - WebLogic 7 has the Web Services and workflow management pulled together and when the Workshop tool caters for both (end of year?) constructing complex flows should be a breeze.
...whereas in fact the Government provides a significant source of pharmaceutical companies' profits.
Oft-repeated quote:
According to the NIH, U.S. taxpayer-funded scientists conducted at least 55 percent of the research projects that led to the discovery and development of the five top-selling drugs in 1995.
A corollary for the IT industry would therefore be a company like MS paying for the rights to exploit a publicly produced technology - an arrangement that is not necessarily in conflict with the GPL.
What gets me is that I don't even see region codes as a big loss for the MPAA
Worse, by imposing this constraint they have encouraged a truly vast number of normally ethical customers to align themselves with "pirates" and "crackers".
Region coding is very irritating - it's hard to convey to a general US audience just how annoying lame vendor tricks like the region change count in the Windows registry are. Cracks that fix this nonsense are a life-line, and now we've joined this jolly helpful community we're going to stay in touch.
That so? Makes sense now that promotion is so international.
Traditionally there were two reasons for a gap:
1) Cinema chains would gauge demand in the US first so they could plan the best distribution strategy in the others
2) The UK would get the same physical prints used in the US. This is why Germany, France etc. would sometimes beat the UK to release - they had their own.
Anybody who worked for the Nazis could reasonably be considered a "Nazi villain". These days, we have a pretty flexible notion of terrorist, for example.
V2 attacks were initially described as gas explosions by the British government in order not to ascribe high-technology prowess to the Nazis. This didn't fool the public for long though, and they became known as 'flying gas mains'.
Exhaustive and infallible though your sources of knowledge may be, as specialist publications they do not necessarily reflect what appeared in the mainstream media.
Well, I can imagine what it might have been like. An interview with my Mum could have gone something like this:
"So what do you think about Werner von Brown's team having got to the moon?"
"Oh, very impressive, a marvellous achievement. Werner who?"
"The guy who invented the V2, the one that landed in your back garden when you were at school."
"Oh, doodlebugs."
"No, not doodlebugs, the other kind."
"What was that then? We only saw doodlebugs."
"Well, that's because the other ones were travelling so fast you couldn't see or hear them."
etc.
Basically
a) W von B isn't that notorious as a Nazi villain with her generation because his rockets came so late in the war and there was some secrecy and confusion about what they were.
and
b) NASA kept pretty quiet about W von B's contribution. As a 6 yr old I tried to read a lot about it but don't remember seeing a mention of him.
You say 'financial support' but your examples of contributions - which from my limited experience are accurate - are not monetary.
Most UGs get intangible support. When I ran a group for Stratus users we never got a cent from the vendor, but they might buy sandwiches for the odd meeting if they were feeling generous.
It's a grey area, but users will quickly desert if it goes all promotional and they can't air their grievances.
Yes, especially as the platform and the database are supposed to become one in the Windows "Longhorn" release, meaning that the file system runs on top of the database.
It would be fun to imagine that developers might plan to unite, say, PostgreSQL and ReiserFS in anticipation but unfortunately Strategy is not Open Source's strong point. Like the dithering between supporting Java on Linux, cloning Dotnet or doing something new, by the time any clarity emerges Linux-the-platform will have given away a lot of ground.
Duh! Thanks, I really didn't twig that - C instead of C++, of course.
Not entirely convinced that good old C is unparalleled in portability. And flexibility is also a problem since people are forced into writing their own OO mechanisms, serialization formats etc. etc.
I think you hit the nail on the head w.r.t. Scheme/Lisp. As things stand, I don't think it's an exaggeration to say that Linux-the-platform is doomed unless either:
1) It embraces Java with the support of Sun and starts moving desktop and other apps to the VM.
2) It leapfrogs Java and Dotnet by developing a Guile or Parrot-like VM for an-extended-Scheme-but-not-as-big-as-CL, maybe with an optional Perl-like surface syntax.
As you will know, programs-as-data is the big attraction of the Lisp family - this is both where Dotnet/Java start to crumble and where Open Source could really benefit (it would be impossible to ship code without shipping the source, among other features).
So all we have to do is:
i) drop Mono and DotGNU ii) merge Parrot, Guile and possibly Kawa into a common VM targeted at a Scheme-like intermediate language iii) have Java as a fallback in case it gets nowhere
Surely if O'Reilly followed the Peruvian campaign he must have understood that the goal is to ensure that public data remains public, and that that implies openness in formats?
He seems to skate over this and just characterize any policy for open source as arbitrary prejudice.
Openness in requirements is important, just don't forget what the key requirements should be.
There are a bunch of open projects that implement bits and pieces of the Java platform
Right.
there is no standard or agreement on what constitutes an implementation of a core Java feature set.
Wrong.
J2ME, J2SE and J2EE are very well defined in public specifications. These are backed by comprehensive conformance test suites, the use of which was a significant source of revenue for Sun, and which they are now offering to open source developments to under their "Scholarship Fund".
Er, the point was that the languages usually used in teaching Comp Sci include those radically different from Java and C++, such as Scheme, Prolog, ML, Haskell, Smalltalk etc.
No, I don't think so - the Wintel and Lintel JVMs from Sun perform well, almost embarrassingly so compared to Sun big iron like E10000s and E4500s (what they lose in raw MIPs they gain in multi-CPUs and better I/O though).
IBM and BEA are committed to producing high-performance JVMs for Intel too, so I the future looks pretty bright in this area.
Use manual deployment? This is the standard recommendation for WebLogic environments.
Seems rather like you're cutting off your nose to spite your face.
We've found that we end up deploying the same applications multiple times, with restarts, in order to get the thing working correctly
Ugh. That should not happen at all - I'm working with news sites that redeploy and update several times a day on WebLogic.
The process is complicated, particularly in a centrally managed/clustered environment - your consultant needs to understand precisely what goes on so that servers don't accidentally share temporary directories, the component is targeted at the right thing etc. etc. It's a bit arcane, but not unreasonably so.
What's the central management console in JBoss? I didn't think it had one.
I don't mean to jump down your throat, but from your description, and having just wrestled with a big Apache 1.x-fronted site, this sounds like one of the least appropriate environments for Apache+Tomcat.
.NET in fact, if I'm allowed to mention the evil empire.
Apache 1.x handles concurrency very poorly, and transactions which take longer than simple static pages (such as XMLRPC ones going to a database) can quickly highlight the problems - suddenly your pool of 50 Apache processes looks mighty feeble faced with massed ranks of users out there whacking their submit buttons.
In this environment, something like WebLogic really shines because it handles concurrency in a scalable and easily configurable manner, plus with nifty things like WebLogic Workshop, you get to build Web Service components with a fraction of the effort of Apache SOAP or similar setups, comparable with Microsoft Visual Studio
The WebLogic world is evolving pretty quickly these days - get those BEA salesmen to earn their commissions by keeping you up to date.
[Disclaimer: earns living working with WebLogic]
one has to step back from the plethora of big-name projects and realize that people are making considerable effort righting the mistakes made by the early pioneers of that medium
such as using Resin? I just had to migrate a big server from Resin to WebLogic two weeks ago.
You ever tried to update content on a Resin server, for example?
First you say:
Tomcat on the back end means Apache on the web tier and I'm no big fan of Apache
then
tomcat is a reasonable choice
This sure looks like a contradiction to me. First, one key reason why you might not want Apache on the front end is that Apache 1.x is process-per-request. This scales appallingly badly if you have a lot of simultaneous requests in progress (database backend, search engine etc.).
If this scenario occurs in your environment, WebLogic on its own is a far better choice - it can serve static content surprisingly quickly, certainly in the same order as Apache 1.x and nearly as fast as the old Netscape releases, at least in my experience.
A lot of my time is spent sorting out overengineered WebLogic setups where people have felt obliged to put IIS or Apache in front. Netscape actually brings something to the party, performance-wise, the rest cause more trouble than they're worth.
The prospect of restarting the whole server just to update some JSPs or to redeploy a web app is, frankly, a complete non-starter for most large sites.
A lot of WebLogic shops update their content regularly, often using separate content management systems like Vignette (I know...), so if the original enquirer has requirements like this then Tomcat can be ruled out right now.
To wax on WebLogic's virtues a bit (hey, gotta restore some balance!) it allows you to redeploy a whole WAR (as a single file or as individual ones in 'exploded' format), to update JSPs automatically just by writing them to the source directory, and to update other servlets using the refresh tool.
[Disclaimer: poster is an independent BEA consultant type]
Boy, I hate posts like this, and not just because I make a living working with BEA stuff.
Not picking on you specifically, but whenever I mention moving projects from Tomcat or Resin to WebLogic I try to explain why the move was made.
Peoples' requirements differ greatly and the products are complex and varied - I doubt if one poster in ten that mention WebLogic here can actually name the principal components of the WebLogic 7 platform, for example.
Without a description of the context, blanket assertions of one product's superiority over another are just so much hot air.
6.1 requires the weblogic.xml file in your WAR. Huh? Why in the WAR?
Um, because it's an extension to the web.xml file that's in the WAR? I could be missing something here...
6.1 will hang for 30 seconds on your servlets if you open and close the stream without sending anything on the stream
What's the function here? Normally one wouldn't need to open and close streams like this, not least because it messes up buffering. This doesn't sound like your common or garden servlet app...
Feel free to email me your SAX2 problem
cheers
alex
[An independent BEA consultant writes...]
Yes, releases can be buggy - I never liked 6.0 - but after a couple of service packs it settles down. 6.1 is a fine J2EE 1.3 setup, and I like where 7.0 is heading, really pulls together all the complex bits.
On to specifics, if you're hitting memory leaks with the performance pack enabled, you are using some old version - no question! The only problems I've hit with the perf pack on current releases are to do with relatively obscure things like HTTP pipelining (the latter is a buggy spec if you want my opinion...). Turn on INFO level logging and check the report of java.library.path - you may be picking up an unintended version of the perf pack DLL/.so libs.
BTW Could be that now is exactly the wrong time moving an order management-type application from BEA to JBoss - WebLogic 7 has the Web Services and workflow management pulled together and when the Workshop tool caters for both (end of year?) constructing complex flows should be a breeze.
...whereas in fact the Government provides a significant source of pharmaceutical companies' profits.
Oft-repeated quote:
According to the NIH, U.S. taxpayer-funded scientists conducted at least 55 percent of the research projects that led to the discovery and development of the five top-selling drugs in 1995.
A corollary for the IT industry would therefore be a company like MS paying for the rights to exploit a publicly produced technology - an arrangement that is not necessarily in conflict with the GPL.
What gets me is that I don't even see region codes as a big loss for the MPAA
Worse, by imposing this constraint they have encouraged a truly vast number of normally ethical customers to align themselves with "pirates" and "crackers".
Region coding is very irritating - it's hard to convey to a general US audience just how annoying lame vendor tricks like the region change count in the Windows registry are. Cracks that fix this nonsense are a life-line, and now we've joined this jolly helpful community we're going to stay in touch.
That so? Makes sense now that promotion is so international.
Traditionally there were two reasons for a gap:
1) Cinema chains would gauge demand in the US first so they could plan the best distribution strategy in the others
2) The UK would get the same physical prints used in the US. This is why Germany, France etc. would sometimes beat the UK to release - they had their own.
Anybody who worked for the Nazis could reasonably be considered a "Nazi villain". These days, we have a pretty flexible notion of terrorist, for example.
V2 attacks were initially described as gas explosions by the British government in order not to ascribe high-technology prowess to the Nazis. This didn't fool the public for long though, and they became known as 'flying gas mains'.
Exhaustive and infallible though your sources of knowledge may be, as specialist publications they do not necessarily reflect what appeared in the mainstream media.
Is that Tom Lehrer again?
Well, I can imagine what it might have been like. An interview with my Mum could have gone something like this:
"So what do you think about Werner von Brown's team having got to the moon?"
"Oh, very impressive, a marvellous achievement. Werner who?"
"The guy who invented the V2, the one that landed in your back garden when you were at school."
"Oh, doodlebugs."
"No, not doodlebugs, the other kind."
"What was that then? We only saw doodlebugs."
"Well, that's because the other ones were travelling so fast you couldn't see or hear them."
etc.
Basically
a) W von B isn't that notorious as a Nazi villain with her generation because his rockets came so late in the war and there was some secrecy and confusion about what they were.
and
b) NASA kept pretty quiet about W von B's contribution. As a 6 yr old I tried to read a lot about it but don't remember seeing a mention of him.
You say 'financial support' but your examples of contributions - which from my limited experience are accurate - are not monetary.
Most UGs get intangible support. When I ran a group for Stratus users we never got a cent from the vendor, but they might buy sandwiches for the odd meeting if they were feeling generous.
It's a grey area, but users will quickly desert if it goes all promotional and they can't air their grievances.
Yes, especially as the platform and the database are supposed to become one in the Windows "Longhorn" release, meaning that the file system runs on top of the database.
It would be fun to imagine that developers might plan to unite, say, PostgreSQL and ReiserFS in anticipation but unfortunately Strategy is not Open Source's strong point. Like the dithering between supporting Java on Linux, cloning Dotnet or doing something new, by the time any clarity emerges Linux-the-platform will have given away a lot of ground.
Duh! Thanks, I really didn't twig that - C instead of C++, of course.
Not entirely convinced that good old C is unparalleled in portability. And flexibility is also a problem since people are forced into writing their own OO mechanisms, serialization formats etc. etc.
I think you hit the nail on the head w.r.t. Scheme/Lisp. As things stand, I don't think it's an exaggeration to say that Linux-the-platform is doomed unless either:
1) It embraces Java with the support of Sun and starts moving desktop and other apps to the VM.
2) It leapfrogs Java and Dotnet by developing a Guile or Parrot-like VM for an-extended-Scheme-but-not-as-big-as-CL, maybe with an optional Perl-like surface syntax.
As you will know, programs-as-data is the big attraction of the Lisp family - this is both where Dotnet/Java start to crumble and where Open Source could really benefit (it would be impossible to ship code without shipping the source, among other features).
So all we have to do is:
i) drop Mono and DotGNU
ii) merge Parrot, Guile and possibly Kawa into a common VM targeted at a Scheme-like intermediate language
iii) have Java as a fallback in case it gets nowhere
Easy really!
Surely if O'Reilly followed the Peruvian campaign he must have understood that the goal is to ensure that public data remains public, and that that implies openness in formats?
He seems to skate over this and just characterize any policy for open source as arbitrary prejudice.
Openness in requirements is important, just don't forget what the key requirements should be.
With the vast majority of OpenSource developers disliking writing code in C++...
That so? I agree, but I thought I was in a tiny minority. So presumably more Java APIs would be a step forward?
There are a bunch of open projects that implement bits and pieces of the Java platform
Right.
there is no standard or agreement on what constitutes an implementation of a core Java feature set.
Wrong.
J2ME, J2SE and J2EE are very well defined in public specifications. These are backed by comprehensive conformance test suites, the use of which was a significant source of revenue for Sun, and which they are now offering to open source developments to under their "Scholarship Fund".
Er, the point was that the languages usually used in teaching Comp Sci include those radically different from Java and C++, such as Scheme, Prolog, ML, Haskell, Smalltalk etc.
It's not the quantity, it's the breadth.
Except that the recourse for not agreeing to the W2K SP3 EULA is not to use Windows - rather late in the day to change strategy.
Java and C++, the full gamut of languages from A to B.