Will Open Source Lose the Battle for the Web?
snotty writes "A well written article by Ganesh Prasad over at linuxtoday arguing that the shift towards web services has reduced the attractiveness of the current generation of Open Source web products. He talks about the market share decrease in Apache. Also mentions how .NET, Microsoft, Sun, Java, and Open Source Software fit into the picture." I think that the decrease in Apache's share is a red herring, but the bigger picture of web services is a troubling one.
Second, and more importantly, since when has feeding the fires of corporate IS departments been the prime motivator of free software development? It's a pity so many otherwise intelligent people have swallowed this poison pill of believing that profits are the sole metric of human accomplishment. What is important is this: How many people have a choice that they would not otherwise have, at work or, better still, in their private lives? How many people have we helped ?
That's all that matters in the Big Picture. Everything else is just ego games with twisted little men in suits who fancy themselves alpha males because they have a bigger number in the bank database than you do.
Proud member of the Weirdo-American community.
I agree that Tomcat is much more relevant than Apache here. But Tomcat's leadership is tenuous.
.NET becomes available, it will come with documentation that will take you step by step through the a very easy process of deploying a simply amazing application running on it. Getting your amazing application developed and deployed may be a totally different proposition, but how are you supposed to know that?
Open Source advocates scoff at Microsoft's claims to lower TCO. It flies in the face of our experience that Microsoft products are a bitch to keep running and Open Source products just hum along with very little support effort.
But let's face it -- most of us didn't initially choose Open Source software because of TCO. We chose it because we had a need and the open source alternative allowed us to address it without the bother of getting permission to buy the commercial products. Low TCO was a pleasant surprise. This leads us to understand the other benefits of Open Source and perhaps eventally Free Software.
People who do have the power to buy things don't follow this adoption path. They do worry about TCO but not having a crystal ball the have to guesstimate TCO by some substitute metric.
The most obvious way of doing this for yourself, if you are not a profound technical thinker, is to estimate TCO by TCGFW: the Total Cost of Getting your Feet Wet. If there's one area that Microsoft has a tremendous lead over Open Source it is in this area.
Having installed Tomcat myself in order to evaluate a servlet based product, I don't think it is that hard to get working. But you do run into pitfalls with mysterious configuration files. A few hours of noodling over documentation and fooling around with settings and everything was running. In a production environment this kind of initial difficulty matters not at all -- it will all become as natural as breating I suppose. But in an evaluation environment it can make all the difference.
You can bet that when
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Search for IIS: over a thousand jobs. Search for Apache: 130 jobs.
130 jobs at the biggest job website on the web.
I give up.
Yes...
I'm really perplexed as to what the great benefit of those is supposed to be? Isn't all that web services crap just a hyped up way of designing a typical dotcom shopping cart?
No. You obviously don't write serious business software all day every day, and been doing it for years. Sun's API standards are nothing short of a godsend. It's not about building a fscking shopping cart, you can do that in PHP. As the author said (and im paraphrasing), Web Servers have been commoditized, what matters now is Web Services.. or better yet, e-business platforms. That means alot more than shopping carts. That means robust infrastructures for moving your entire business online, moving everything (including your partners). There is immense complexity in taking all of your in-house (in-enterprise) business systems and moving them to a web or internet (think Workflow-enabled and P2P) model. I'm sorry but you can't do that in PHP on Apache. Well, in truth, if you had a good platform Apache and PHP could factor into that but only as a small component of a much bigger picture. In-house business software is moving away from what it was in '98 -'00 and back to what it's always been: integration, integration, integration. The problems facing businesses today however are much more complex because you don't only have to integrate your "shopping-cart" with your ERP, you have to integrate it with your suppliers' MRP/ERP systems, your customers' purchase systems, and your partners' services. That's hard to do in any simple language/platform alone.
Microsoft has enough high paid strategist to know that much of server software is being commoditized, what they are trying to do is sell web services built on an infrastructure that you'll use,... their infrastructure. J2EE ,on the other hand, is less the Java language and more the API's for an e-business infrastructure. With that in mind, what the author says makes a whole lot more sense. To the most principled (or bigoted) of us, the situation looks like a choice between two evils. So be it, just make sure you choose the right one. IBM has certainly chosen J2EE and they seem to be good at choosing bedfellows lately (i.e. Linux).
Admittedly, the documentation has gotten far better since I used it -- it was simply disgraceful when I was using it (an undocumented framework is not very useful). But I seriously doubt that the concepts have become any easier since then.
Honestly, I think it has a lot of the problems that MS products have -- at a certain level, it's dead easy. But as soon as you try to understand what you are doing, you realize the underlying logic is spotty, the metaphors not really complete, and the whole thing doesn't feel deterministic.
I was seduced by the promise of Zope, mostly I think by other people who thought Zope would be really cool as soon as they really learned it. So with this I caution others.
Don't put off learning Zope any longer folks. This is the real deal.
J2EE? ColdFusion? .Net? PHP?! If the thought of using and of those makes you gag, ZOPE IS PERFECT FOR YOU.
I heard about it for years until I sat down and actually looked at it. There's a book from the New Riders out right now ("The Zope Book") that explains it all. Ask management to buy it. Now.
The book isn't necessary. Zope is incredibly simple to use. But I found that the book held my hand just to the point where it got me excited about all of the things it could do, whereas I'd normally lose interest.
The learning curve is incredibly small if you're a web developer with some Python experience. This is no major feat. Learning Python is extremely easy.
Zope has a real open source community, a beautiful design, and is extremely fast to develop. We are definitely doing all of our new sites in Zope. You should consider it. Check it out.
Did you even bother to check with Netcraft as to what the actual cause of Apache's drop was? Are you there? Wakey, wakey?
Since you can't be bothered to follow the link, here's the quote:
What will happen next month? Apache won't be losing ground, unless Namezero had a couple of thousand domains lying around somewhere on Apache and decide to change them to IIS as well.
Namezero have thousands of domains. As for physical servers, no, they don't have many. The drop in numbers is due to a couple of free web sites that Namezero hosted being shifted.
I don't think it bodes badly for Apache. The author of the article linked was a troll, and comes from an disreputable trollish bundle of bollocks organisation. Do you think I believe their trash? As much as I eat my faeces.
Your post blames Microsoft for things that are really your companys fault. SQL Server doesn't "shut itself down automatically" unless there is something wrong with the machine or its setup.
Agreed. At the same time, more so than the actual choice, I would blame the consultant who installed a database for which we don't have a real DBA (in house). We have had a number of 'experts' look at it, but to no avail. There's probably nothing wrong with the server hardware itself, from what we could tell.
Sounds like you got to clean up a mess left by someone else and you persuaded your company to use the tools you are most comfortable using. I just don't think its fair in this case to blame MS for things that are the fault of the company and the consultant that it hired.
Actually, during the course of my employment I was QUITE comfortable using the MS stuff. I was finding Java scary, mostly because of the scope of how much rewriting had to be done. I chose the platform best-suited. While researching, I did actually consider sticking with ASP/COM, and just doing a rewrite with that. My research (which I won't go into), just showed that Java was going to give me a lot more for the effort.
You will need to get on the Apache mailing list and regularly apply patches to keep your application secure. Thats not something unique to IIS.
I will never argue that. I will argue, however, that the 'reboot and pray' method of upgrading isn't acceptable. I can upgrade an Apache installation without bringing the box down, and have done so before, and worrying that it might not come back up.
And what do you plan on replacing SQL Server with, Postgres? Plan on rolling your own full text indexing, replication, and transactions, features I'm sure you already use being an eBusiness company and all.
You sound skeptical. Ok - we are not an eBusiness company. I work in the eBusiness department of a company which has been in existence for 20 years. Mind you, I never mentioned that the database is necessarily going to reside on Linux (though the front-end might). We have a lot of Informix expertise on our end, and are reviewing what needs to be done to move to Informix (possibly/probably on SCO), which will have the added benefit of having to only administer a single db platform. And of course there's the access to the legacy data and apps which is a nice bonus.
So in fairness, the technology that is "well-suited for the job" is the one you are most skilled at, and doesn't really have to do with the relative strengths and/or weaknesses of either Apache or IIS. Right?
Probably not. I have less experience with Apache than I do with IIS, and before we started with Java, my VB/COM experience was more developed. We did have unique requirements, however. I cannot really go into them (usual NDA-type stuff), but let's just say that we have *so* much customization with our tools that it would have been impossible to keep sorted out using VB and COM. Again, there were other tools that we considered, but when reviewing our requirements Java came out on top for everything.
Although I'm glad you got your company to switch. I'm thinking of doing the same thing, but its primarily due to licensing and $$$.
Licensing is a bitch, but we're not getting away from that with our choices anyway. Our database will be Informix, and we will definitely be maintaining support contracts for the OS platform we decide on. The money is there. We had people willing to deal with whatever platform was decided as the best one, per our requirements. Our choice has been made for Java, and we're pretty much decided on the database. The OS for the front-end servers is still to be tested.
You can accomplish anything you set your mind to. The impossible just takes a little longer.
Enterprise-class solutions usually consist of:
-Scalability. Replicate tiers from the solution to provide solutions that scale beyond a single computer.
-Transactional support.
-Built-in declaritive security. Leave the role of security to the deployers where it belongs, not with developers.
-A rich API that has built-in connectors to legacy systems, such as CICS.
In short, you need an application server.
Hmmm....CGI+Perl doesn't offer any of this. Gee, J2EE does. So does Site Server (many people forget that MS invented the market we now call "application servers").
You know, I've heard that, during wartime situations, pilots often resort to things like duct tape to repair their aircrafts. Does that make duct tape suitable for commercial airlines? No. Just because one person uses it, successfully, for certain tasks does not mean that it is the appropriate tool for those tasks.
--Be human.
Coming from experience, i suggest you stick with windows if you're using java as your backend. The java offerings for linux are buggy, slower and in some cases, just plain broken.
-
Sounds like you got to clean up a mess left by someone else and you persuaded your company to use the tools you are most comfortable using. I just don't think its fair in this case to blame MS for things that are the fault of the company and the consultant that it hired.
You will need to get on the Apache mailing list and regularly apply patches to keep your application secure. Thats not something unique to IIS. And what do you plan on replacing SQL Server with, Postgres? Plan on rolling your own full text indexing, replication, and transactions, features I'm sure you already use being an eBusiness company and all.
So in fairness, the technology that is "well-suited for the job" is the one you are most skilled at, and doesn't really have to do with the relative strengths and/or weaknesses of either Apache or IIS. Right?
Although I'm glad you got your company to switch. I'm thinking of doing the same thing, but its primarily due to licensing and $$$.
No, Thursday's out. How about never - is never good for you?
imho, it may easier to create a m$ web services solution, but i don't think you'll have the same flexibility and performance
Allow me to humbly disagree. There are things that certain technologies can do and certain things they cannot. In this world, no one technology is ever 'best' or 'worst', they are either well-suited for the job or they are not.
In my example, I work for a company which was always a Microsoft shop (Microsoft partner, and sells tons of MS stuff). Guess what - our particular eBusiness solution, which was developed using the latest/greatest MS solution wasn't up to snuff. We couldn't get the flexibility out of the application we needed (even a redesign wouldn't work - VB had too many limitations), IIS either crashes on a regular basis or needs constant hotfixes to keep it secure, and SQL Server shuts itself off whenever it feels like it. And we can blame the 'expert' consultant who set the thing up initially, took off, and left me to try to support the damned mess that was left.
Enter Java. Using Tomcat as the Servlet engine, and the Velocity template engine, we have nearly completed rewriting our entire eBusiness web application, and this new model demonstrates the ability to customize both the look and feel (a custom framework using Velocity which can load customized templates per customer), and a Servlet framework which can automagically load custom code on a per-customer basis. This code is simply written to extend previous code. Both are loaded on the fly (not necessarily compiled into the main application). Speed/ease of development? We are adding new customizations and features in a day or two when they used to take a week or two to complete when using VB/ASP and COM. In other words, by doing the complete rewrite we have already saved significant amount of developer time, after that initial investment.
We are using this new app in production now, and there have been no problems, other than SQL Server still shutting itself down. This will change within the next two months, as we are moving our database to something more robust which we already use for our backend.
Still being a MS-shop, I was shocked to find out that the president of our company decided to let me go ahead and use what I want on our servers. He was getting tired of the constant security worries and instability of the thing. And yes, we are going to switch to Linux/Apache as soon as we eliminate our final few dependencies on MS-specific code.
You can accomplish anything you set your mind to. The impossible just takes a little longer.
I'm pretty sure (IANA Java Expert) EJB's have access to the session object (at least under Allaire's JRUN server). JRUN can store session in a JDBC datastore, giving access to any Bean on your network.
.NET takes the lead. There are multiple ways that .NET maintains state. .NET comes with a "session service", that allows a cluster of machines to act as session servers. It also allows OLEDB or ODBC compliant datastores to host sessions as well. It can also (with a performance hit if your page is large) maintain state between pages via ungodly URL's or hidden form variables - all behind the scenes of a developer.
This is where
There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
Should it?
Hell no! I've administered to IIS and Apache servers for years, and all that IIS's GUI ever does is get in the way. Let's imagine for a moment that you have an IIS server hosting multiple sites, and that one of those sites is working properly while the other doesn't work at all. Now tell me how you'd go about comparing the settings on the two to see what's different? It's a god damn pain in the ass. You can't compare the two side by side, and there's a handful of entirely separate panels to check for differences, each with sub-panels.
Now, with apache, I can open two terminals/editors and compare the comparisons side-by-side in just a moment.
With text configs, I can also compose a template for new sites and set them up with a quick cut and paste operation. Much less work than creating a new site in IIS...
I can't speak for all of those tools/languages -- I'm certainly not using all of them myself -- but I have used Jython, SQLJ, BSF/BeanShell, and WebL, and can see a use for many of those languages in different situations. Certainly *someone* saw a need for each of them, and languages like Ada, Cobol, Forth, Lisp, Scheme, Pascal, Fortran, TCL, Prolog have their own proponents.
While I know that people are using C# and VisualBasic.NET for .NET development, what other languages are currently available *and being used* for development with .NET and how many applications have been actually deployed using .NET? There are literally tens of thousands, if not hundreds of thousands of applications deployed on Java/JVM -- that's the REAL difference between .NET and JVM.
We call it art because we have names for the things we understand.
Great use of popular acronyms, but you're missing the point. A socket library and strings support? No, you obviously haven't worked on a truly ENTERPRISE CLASS web application. It's nto that simple. If you were to spend your time trying to develop an enterprise class system using a development platform that is as basic as you describe, it would cost several times as much, and take several times as long as the current ASP/COM, .Net framework.
Wake up... complacency is Microsoft's best friend. Just assume we're winning already and suddenly we'll find they've stolen the goalposts and the spectators, moved to the next field over, built a stadium & are making millions from the pay-per-view market. Zealotry, and a blind preference for whatever version of the story puts OSS/Free software in the best light, gets us nowhere.
It's amazing what corporate types will do when they're playing with other peoples' money.
Benchmarks have shown that for typical server applications, modern JVM/JIT combinations are as fast as unoptimized C++ code.
.net, etc, all you want. But don't tell me an interpreted language with garbage collection and bullshit container classes and 1970's i/o is as fast as c++. I write networking code in both languages, and i'm not buying it. Sorry for spelling: late, drunk.
load of crap. they may come close to being speed-equivalent if you write c++ constrained to the language features java supports. That is, you use heterogeneous container classes and downcast all the time, don't use templates or multiple inheritance, use threads where there is no good reason to, and whip expensive exceptions around like you're getting a commision on them.
Oh, and typical server applications?!? If you're writing server applications using a one thread-per-server-scheme, you are nowhere, and you are if you're writing java, cuz it doesn't know from multiplexing, at least in 1.3.
Bash c#,
You said you've watched the internet spend 10 years trying to come to terms with the lack of a hosts.txt. Seemed like a very odd statement.
.Net. It's clearly developer centric, just like all their other development tools. It's also clearly not Data centric other than the ADO.NET piece and a realization that most web apps do save/retrieve data using a database.
As far as the HUH? More specifically I was trying to figure out why you had misunderstood Microsoft's
SOAP isn't complex, certainly not compared to COM or CORBA. That's one of the great things about it, it's relative simplicity.
As far as being slow, that's a debatable question. It depends on your bandwidth available, I suppose. That seems to be your point. No more slow than using http to display web pages, and I see no reason why it couldn't take advantage of compression like mod_gzip across the http stream.
The problem with stupid people is that they're stupid. Stupid people aren't competent.
What stupid people who become server admins want is for the server to solve the problems on its own.
Perhaps, eventually, AI research will advance to the point where this is a reasonable expectation. Right now, though, I really don't think so. :)
my old sig used to be funny, but then slashcode ate it and now it's not funny anymore
The need for a graphical configuration tool has been acknowledged as important, even in the 2000 OSCon keynote, yet only about 15 people showed up for the Comanche presentation at the same conference. Getting such a tool packaged as part of the standard Apache dist is something that could happen if somebody championed it. There are plenty of choices for anybody motivated to pursue this. Problem is, a good champion would be someone who used a graphical interface him/herself, and most hackers (like me) prefer the text interface.
Six months ago, I thought about starting a software company because I saw a problem coming. The next wave of Internet growth will be in Web-based applications. I think we've all grown up and realized that discussion forums with free email are not commercially viable options, but applications that folks (or companies) will pay to use are. Many already exist, but for there to be a boom in this sort of Web application (not to be confused with the overused term "services"), we need a decent development framework (not page generation tools like PHP or web-server control tools like mod_perl, though their like need to play a part).
.Net is an attempt to develop one, and I think it's pretty bad, as it emphasises the same development models as Java, which are fundamentally cool for one developer but a disaster for a 10-year, 20-person development effort which is what any successful application springs from (if you're still mired in the belief that applications spring forth, fully formed from 6-month 1-to-3-person development, just take a look at any stable commercial software application with significant market share. What you start off with after that first six months has to be good, but what it BECOMES over the years must FIT your users and that's what makes or breaks software).
.Net is designed to satisfy the needs of an architecture and of your data, but not of the developer. UNIX has always been a better development environment than anything that Microsoft can put a GUI on, and scalable Web application infrastructures will not be any different.
Right now, there are no options.
What we need is the ability to develop these applications in a scalable and modular way with the components of our choice. I was planning on using a mod_perl-based system as the core framework, but with a set of development tools for any language. Presumably when the Web application market matures, we'll find that language and platform interoperability is still key and C is still the only language that is, itself, language and platform neutral. But, that's only my guess.
What I know is that Microsoft is winning this race because it has no competition. Does that matter? Probably not. Open source efforts almost always get started late. The advantages of coming in after MS screws it up could be large.
I think that MS is missing one large item here (one they always ignore): the developer.
I've worked with the likes of Vignette, and I know that building applications there is a mistake. I've worked with low-level tools like mod_perl, and while I think that mod_perl is fundamentally the best technology for talking to a Web server, it's also very poor for developing applications. Why don't I have a debugger for building Web applications?
Ok, now that I've pissed everyone off or conviced you all I'm a loony, let me really jump off the deep end with a few assertions about the coming age of Web application development:
1. Using HTTP and (may all the little gods defend us) XML to shuttle data between application components is so fundamentally brain-dead, I'm suprised anyone's even taking it seriously. Let's just take a step back and remember that performance and complexity are the reasons that most people didn't like CORBA, and CORBA will soon be made to look light-weight by comparison.
2. You will soon begin to see the dawn of a scary phenomenon: shrink-wrapped, store-shelf Web applications.... Yep. Scary (and probably wrong, but that never stopped anyone).
3. Java is never going to die, but it's about to start entering the COBOL phase. Because it's a poor language? No, in fact it's a pretty cool language. No, Java will begin to atrophy because we've reached a point where the strongest advocates have begun to see projects get mired in the Java platform and its isolation from the rest of the world. The only people left touting Java will be the people who are saying "look at the giant, insulated, institutional system we built" or "look at the tiny self-contained widget frobnitzer" I built, and the next generation of developers are going to get wise to the common thread in those two statements.
Please understand that this rant is the result of 10 years of watching the Internet come to terms with the lack of a HOSTS.TXT. I'm not just jumping into this. I may be wrong in several places, but you should at least have considered these things before you jump of Microsoft's OR open source's band-wagons.
Even though Java's turned into a flop both for standalone client apps (erm, where are they?)
There are actually a lot of them, although I'll grant that they're not widely used. That doesn't mean that they're not good, though. Look at ThinkFree Office for a good example: 100% Java, runs beautifully on all kinds of machines, and is good. I think you can make a credible case that the ThinkFree Office components are far better and more usable than almost all of the "free" office alternatives out there, including all the Gnome and KDE office apps. ThinkFree Office has far better and more bulletproof Microsoft file capabilities than those types of competitors. In fact, except for lacking support for a few advanced things in Excel, like cell notes, conditional formatting, and autofilters, it interoperates flawlessly with the MS world. It's also quite speedy on an old P75 laptop that is otherwise incapable of running office apps.
(BTW: for those that will inevitably gripe that ThinkFree requires a subscription - you're wrong. ThinkFree Office is freely downloadable and usable locally: you only have to pay the subscription fee if you want to use thier backend services, which are good, but a bit overpriced, I think...)
"The future's good and the present is nothing to sneeze at." - Roblimo's last
Dude, I don't know if you've done any benchmarks, but Tomcat sucks royally. It's about 1/3-1/5 the speed of JRun and Jetty, the latter of which is available free of charge for non-commercial use.
Tomcat v3.3 (in beta now) is a performance release to Tomcat, and improves things a lot. But it's still quite a bit slower than Jetty & JRun.
Tomcat v4.0 has the promise of working better. It's got the right architecture. Craig McClanahan, the chief architect, deserves big kudos for laying things out nicely, and writing really good code. But it's still in beta, too. I haven't done any benchmarks since beta 1 (before any performance tuning, IIRC), but it was pretty slow back then--slower than Tomcat v3.2.
All I mean to say is that Tomcat is a very poor implementation of a servlet engine. It is the reference. It does work reliably. But it is not very efficient.
If you've got a commercial site, use Jetty or JRun.
--Be human.
I understand that, but I guess what I'm trying to say is that there already is development on the J2EE technologies as far as open-source goes. I have them running in a production environment right now. Maybe more marketing could help; JBoss is a very nice product, and its integration with Tomcat is superb, but nobody seems to know about it. I think there's plenty of room for the Monos and dotGnus out there. The author tried to say that OSS is losing because there's not enough web service-type development available, but that's just false.
If it ain't broke, you need more software.
I think you make a number of good points, but in the end Microsoft's great power comes down to two things: persistence and marketing. They don't give up, they stay on point, and they keep whacking away.
Open source can meet or exceed one of Microsoft's great virtues: persistence. As long as there are handful of programmers committed to Apache, it will never go away.
The great remaining advantage Microsoft has is marketing. Examples:
First impressions. They understand the value of first impressions much better than Open Source. Prime example: MS Access. It is amazing the sheer number of people who are struggling with the shortcomings of this product. But it makes certain things very easy at the outset, so that people get it in their heads that "Access is easy". When they are inevitably mired in the defects of the product, they perceive the underlying problems as hard. A consistent pattern in Open Source is to shortchange initial impressions for long term utility -- to reduce TCO. Which is fine but people judge TCO by their first impressions.
Hype: Now exactly what is it the ".net" does that you can't do with CORBA? Somehow they've convinced people that XML and SOAP are magic pixie dust. Open Source people of course have their own propensity to hype, but they hype things that matter to them not the customers.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I wonder if the drop in Apache market share has anything to do with people getting Win2k and mistakenly installing IIS on it. I seem to be getting about 810 requests per week from infected IIS Servers, prolly from people who are clueless.
I believe that you are correct about implementing J2EE in competition with .NET. Your arguments and the arguments of Prasad suggest that Java is David's weapon against Goliath. What really convinces me that this is true (sort of icing on the cake) is that Microsoft has said that they will not be including the Java Virtual Machine in Windows XP. I think the folks at Microsoft are thinking along the same lines.
Always do right. This will gratify some people and astonish the rest. -- Mark Twain
A:This month Apache did have lost a big share on the Web. But that's not the first time it happened and it is frequent to see it recover steadly the lost track.
.NETs and SOAPs. And the technology is not offering nothing real, killerapp and blow your enemy. So only hot air may help it bloat. However baloons tend to blow. Well, it's bad anyway but it's better than preaching All Mighty Gates for the rest of your life.
B: Why the author did not note that M$ does also suffers of this? In Mars or April BigSoft did also lost a large share of Web servers. And it also recovered.
C: Web apps? Does anyone gets the idea of what is this and what will lead to? I don't wanna say that Web apps are Bad Thing (TM). But I believe there is a lot of whoopla about this. Too much indeed. Some people also predicted the dead of Unix because of the lack of "normal" GUIs and that now we would all look the Web through Internet Explorer.
D: There is a crisis going on. Has anybody noted it? And it is natural that things will slow down. And this seems to concern volunteer work doesn't it? Well people need to care to eat...
E: M$=The World in 20 years? Two years ago I would agree. Now, I'm sure that even if they get near it, then they will blow it up. They made too much air in these XPs
No flame intended. But.
Microsoft's new "technologies" (which I put in quotes because what they call a "technology" is usually just a new implementation of features) always look cool in demos and books. You don't find out about the hidden "features" until you actually develop a reasonably large project.
I'll give one tiny example since it's on my mind right now. Microsoft's Component Object Model (COM) provides a function CoCreateInstanceEx, which takes a parameter indicating the DNS name or IP address of the remote host where you want a new COM object to be instantiated. Neato! It's like RPC but with type safety! As long as the remote host is configured to let your host do so, you can instantiate and use a DCOM object anywhere on the Internet or your private network. Not really a new idea, strictly speaking, but nice nonetheless.
But there's an annoying catch. You can't specify your own hostname or IP address. If you want to instantiate a COM object on your own host, you either have to pass a NULL to CoCreateInstanceEx or just call CoCreateInstance (without the "Ex") instead.
It's no big deal, but it breaks perfectly reasonable code for no reason. Gratuitous non-orthogonality.
I love Linux and other free software, and I'm a vocal Microsoft critic, but that doesn't mean I write this stuff out of ignorance. I've been programming in Windows since the 3.0 release, and have recently been spending probably about two-thirds of my work time programming various Win32 projects, from end-user database applications with CA-Visual Objects (anybody even heard of that?) to the C++ middle tier of a couple of 3-tier client/server systems. I don't hate the stuff, I just have plenty of practical knowledge of how it sucks.
COM (and DCOM--"Distributed COM") is littered with barely-documented or undocumented details like these. Like the way strongly-typed parameters can be passed by reference across process boundaries--just not from Visual Basic clients, even though COM is claimed to be language-neutral.
Microsoft development tools, I've found, generally stop doing what you expect the moment "gee-whiz!" settles into "can you make it do this?" When you read Microsoft docs or third-party books on a new "technology" it pays to be skeptical whenever the CS student inside your head says, "That's amazing! How can they do that?"
I guess I'm saying two things:
If you write a few pretty decent-sized .NET applications and they work out as well as expected, super. But until then, I'd withhold judgement.
My feeling is that a dedicated group of Java fans needs to get involved in Mono, and promote Java as a first class citizen alongside C#. Heck, the open source community already has a Java compiler that's miles ahead of the Mono C#/CLR combo. It shipped as part of gcc 3.0.
While Java was not submitted to ECMA, Sun has stated that anyone is free to implement it based on the open specification as long as the "Java" brand isn't mentioned. This is quite similar to the Mesa 3D library vis a vis OpenGL, and Mesa has been quite successful. Further, Sun and IBM have both provided high quality VMs and development kits for Linux.
Java (despite all of Microsoft's spin to the contrary) is still growing in popularity, and is the dominant technology in several important areas. Over 100 million Java enabled phones should ship this year, for instance. Java is also dominant in the application server arena. Sun is still investing heavily in desktop Java (most of the 1.4 release is aimed at an improved client side experience), and MacOS X proves that Java on the client can be very nice. In fact, another area that could really use work is simply better integrating Swing applications into the Gnome/Ximian desktop.
As a final point, Sun has stated that it has no problem open sourcing Java at some point...when it is clear that Microsoft won't co-opt the platform with it's famous 'embrace and extend' tactics. C# is the latest (weak) attempt to do so. The best thing you can do to prevent .NET (.NOT!) from taking over e-commerce is to learn Java, and leverage the tremendous amount of high quality Java code out there to write great cross-platform web applications.
Extra credit for client side development...check out the Grand Canyon Demo for inspiration...it is pretty awesome!
186,282 mi/s...not just a good idea, its the law!
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
But I'm doing exactly what you say using Perl/CGI. I've got a nice object-oriented framework for handling interaction with the various parts of the business, and it works great. So, what am I missing out on? I'm handling a reseller network, our own ERP functionality, workflow, online store including our own and our reseller's pricing, multiple views of our assemble-to-order items (resellers are too dumb to price assemble-to-order, so we have to make it look different), etc. What am I missing, or what would "web services" simplify compared to what I'm doing now?
Engineering and the Ultimate
"Hi. My name is John... and I have no understanding of the proper way to do n-tier development".
I've always wondered about what the issues here were... I have no experience with anything beyond some very simple client server apps. Would you be inclined to point out print or online resources that could give me a point in the right direction?
Libertarianism is rich wolves and poor sheep playing gambler's ruin for dinner.
Notice I didn't way they're invincible. I said they have a good formula for nibbling away at markets that makes them look that way. As long as they keep taking small bites, they "leverage their monopoly," and are darned close to invincible, though.
Laying over and playing dead, like their competitors of the past isn't the answer. But neither is getting rolled over, kicking and fighting. The answer is to have a smarter battle plan, recognizing their strengths and weaknesses.
I HATE putting it this way. "Battle Plan" Perhaps that's what I dislike most about Microsoft. They engender this attitude in others, because they are continually at war.
The living have better things to do than to continue hating the dead.
Check out JOnAS, which serves as the core for Enhydra. Both are functional, real-world application servers.
Check out Exolab, consisting of OpenEJB, OpenJMS, OpenORB, and more. Again, this is another open-source application server.
For web services, check out Apache SOAP. The wonderful folks at IBM have gifted the open source community with a SOAP/WSDL/UDDI implementation. There was some talk a while back about JBoss integrating Apache SOAP into its offerings, although the mailing list now causes me to doubt this.
Of course, I'm taking Mono and dotGNU.
What does all this add up to? It looks to me that Mono and dotGNU provide migration paths for existing MS customers. J2EE provides a software scalability that is not possible with Microsoft application servers. Between Sun, SGI, and IBM, the MS/Intel hegemony don't stand a chance with respect to hardware scalability. And with JBoss, Microsoft can't compete on price. It seems to me that the Unix camp will do quite well with this whole web services thing.
That said, it's not like one side will win while the other side loses. No matter what happens, MS will have a sizable camp of die-hard devotees. Likewise with the Unix camp. Somewhere in between, web services will support mixed solutions. Throw in non-MS implementations of the CRE, and the current quality of Java under Windows (it's still better than Linux...and, yes, I have tried the IBM VM), and we've got a situation where the underlying platform is really not that important. Finally, I'll get to focus on what I do best (programming), while avoiding all the religious hype surronding MS vs. Unix.
--Be human.
Wow. The propaganda show really got to you. Well, I have been creating e-commerce / dynamically driven web sites for a while now, and I have to say that there are different tools for different applications. For most jobs apache is great. If you have to run a transaction manager (with cashing / pooling), both fall short (unless you are going to write one yourself). And java, while very good at server-side html / dynamic web page generation is not the only language out there. I have seen some pretty bloated, over engineered java programs. Mostly because java is easy to learn, while good programming/engineering is not. J2EE is not really a robust web server. It is designed to support java applications. Just my 2c.
-CrackElf
"Blake is an idealist, Jenna. He cannot afford to think." - Kerr Avon, Star One, Blakes 7
It's all uncharted territory. MS would like for .NET to catch on because A) it would greatly strengthen their server side role, and B) it would allow them to gradually shift their focus from selling software to renting services (providing a much steadier income without the necessity of coming up with and sucessfully marketing new versions of their products).
However, this doesn't mean that Web Services is going to actually take off. Some poor sap (with a big pile of money) thought that FED-EXing catfood around the country was a good idea, it didn't make pets.com a winner.
Just remember, Microsoft also thought that people were going to want to use Microsoft Bob.
Now, I am not saying that the idea of web services is completely bogus. I just know that the cool parts of this concept will almost certainly be available to Free Software hackers in plenty of time to meet customer demand. The reason for this is simple. Free Software hackers are right on the forefront of actually building solutions. Microsoft is busy building a product that they hope others will turn into solutions. There's a big difference.
I believe that the reason for the myths about Java speed are created by poorly coded applications (Dynix WebPac, anyone?). Applications with a start time around 5 minutes on a machine any slower than a gigahertz. It would be amazing if something were ever to be done about this, and it would improve the reputation of Java immensely.
Could not disagree with you more. X is old-- and has been continuously developed. The first version of X is over 16 years old iirc. It moved into markets which offered the consistant user interface you mention over and over because it had a good architecture. Part of having the good architecture was making that architecture extensible so you could plug in an engine to give windows certain behavior. X will likely continue to do well, IMO, though perhaps home users will do better with a frame buffer than an X server... Office environments stand a lot to gain from X's network transparent architecture.
How many other computer programs span decades of constant development?
One has to laugh at this story though... Two large companies switch from Sloaris to Windows and suddenly it is the end of Open Source...
LedgerSMB: Open source Accounting/ERP
there are more Win2K server installs than Linux server installs, at least more than the subset of distros that install Apache by default.
more Linux server installs also are done by technically inclined people who don't just click defaults randomly. :)
these two factors tend to support the claim that M$ enabling IIS by default would enhance its marketshare more than Linux distros bundling Apache.
my old sig used to be funny, but then slashcode ate it and now it's not funny anymore
Well COBOL.NET is reportedly very robust.
.Net. You have to remember when Microsoft left the Java market back in '97 their JVM was the fastest available. Some have suspected that was Sun's real reason for pushing MS out, because they were showing 'em up. .Net has been in development since '97 and is remarkably stable today. Much more so than Java in it's first years of release.
But I was trying to focus on the [Everything But Java]/JVM apps, not Java/JVM. If these other languages are seriously being used, seriously supported I'd like to know about it.
I can't say that someone saw a need for each of them, it appears from going through the list that someone had an interest in seeing if it would work. But a good chunk of that list results in 401 errors, so I question the viability.
Sun certainly doesn't support or even encourage it, whereas Microsoft does.
As far as viability of
We'll see.
But again I just wanted to question the reality of this [Everything but Java]/JVM myth.
I mean seriously, i read /. almost religiously 4-5 times a day, and its just getting redundant to hear fud stories like 'Will Open Source Lose the Battle for the Web?' or 'Will linux die?' 'is this the end of the GPL' and so so so many questions and doubts.
I'm just getting tired of hearing so many 'experts' predict the end of something and then watch it prosper for years to come..
Face it people, Software and Stock analysts are the same as weathermen, except less dependable.. The wind shifts and they scream "its a hurricane", well i'll be one to stay calm until my shed blows away, then it will be time to worry...
I did say *unoptimized -- I know that a properly coded and optimized application written in in C++ can easily outperform a properly coded and optimized Java application. My point was that Java is *fast enough* ... given that no one has time in their development schedule to completely optimize anything, and no one has enough competent programmers to code it that way, even if they had enough time to do it and money to pay them.
Oh, and typical server applications?!? If you're writing server applications using a one thread-per-server-scheme, you are nowhere, and you are if you're writing java, cuz it doesn't know from multiplexing, at least in 1.3.Ah ... you're talking about using select() to code I/O handlers. I begin to see the problem -- you seem to think that a web server is a typical server application. I suppose I should have been more specific; I was referring to business applications -- ERP, DSS, HR, A/R, A/P, Inventory Management, etc -- the type of applications that businesses pay money to have developed, because they need them to run their businesses. These sorts of applications are rarely I/O bound, because they typically have no more than hundreds of users and spend most of their time waiting on database queries and user input. With this sort of application, the use of multiple threads to manage code execution is perfectly sensible, and results in very clean and easy to maintain code. You'll note that I was not advocating writing webservers or databases in Java -- but backend applications that serve webservers and use databases are excellent targets for Java development.
Bash c#,Go back and read what I wrote -- I didn't claim that Java was as fast as C++ for *everything* -- just the sorts of applications I develop: business applications. Of course, if you continue to think of Java (and the JVM) as strictly an interpreted language, you're not keeping up with what the JIT compilers are doing these days, and you're completely ignoring the native-code compilers for Java.
Sorry for spelling: late, drunk.Friends don't let friends post drunk.
We call it art because we have names for the things we understand.
MS bashing aside, .NET is a really great idea from a developer's standpoint, and its implementation is great.
/. vibe, but come on... This is New for Nerds, not News for Platform-Exclusive People. PHP, Perl, Java, they all have their uses--why can't people accept that, maybe, MS actually makes good products once and a while? :-)
I'm a web developer, so it's my job to stay up on the newest technologies. I recently picked up "Professional ASP.NET" by Wrox, and, about 650 pages in, I have come to the conclusion that ASP.NET is one of the most fuctional, flexible web platform I have ever seen.
Sure, PHP is just dandy... But ASP.NET adds on so much functionality, it's scary. Sure, that may be one of the reasons to shun it from a certain viewpoint--letting a MS platform have so much control--but as a developer, ASP.NET is a dream come true.
I know this goes against the general
What's a sig?
Location transparency is non-existant. I've not seen a single app that benefits from not knowing whether a service it's using is local or remote. This is bunch of overhyped crap from CORBA. If you do distributed objects you're always forced to cater for network failures so you might just as well have it explicitly stated in the code. Before you jump here, note that I'm not dissing the idea of a naming service or some other directory lookup system I'm just saying that if you're accessing a remote service you might as well be explicit about it. EJB is big, bloated and it's almost never the right approach to take. It's java specific (yes I know about RMI/IIOP but it's more pain than it's worth) it's complicated for its own good and very slow. You've been reading too many press releases from SUNW
Your pizza just the way you ought to have it.
IIS does not run in a privileged (a.k.a. "kernel-mode") process. It cannot directly read/write addresses in kernel memory. As an IIS developer at Microsoft for the SMTPSVC who actively debugs IIS every day, I know very well that INETINFO.EXE is a user-mode process.
The source of your confusion may be that IIS threads have SYSTEM tokens, granted from the NT SCM which launches INETINFO.EXE. This, however, does not offer any performance boost, nor does it allow access to kernel memory space. As with any user-mode process, any attempt by an IIS thread to read/write kernel memory results in an access violation, regardless of the thread's access token.
The good performance of IIS's W3SVC is due to its asynchronous architecture that allows its threads to avoid blocking on I/O operations. Thus many I/O operations can be pending concurrently without a bloat in the number of threads, avoiding excessive context switching and VM swapping for extra stack space.
D
I normally don't write Micro$oft, but in this case I was trying to get across, "Big, Bad, American company with lots of Money." I tried to use it only in that one context, I believe you'll see I use 's' in other places.
The living have better things to do than to continue hating the dead.
also, I'm not convinced it's totally reliable when dealing with firewalls.
for example, I asked it to look at my domain. it correctly identified the server I'm running (PersonalNetFinder/1.0, which is the MacOS 9 personal web server) but when it looked at the operating system, it got the firewall's operating system (FreeBSD). this is because I'm running rinetd on a NAT firewall. port 80 is forwarded to the Mac that works as a little mini-server. (someday I'm going to buy a Real Server(tm) and move my web stuff over there. until then, the Mac works fine.)
the fact of the matter is that PersonalNetFinder/1.0 does not, and will never, run on FreeBSD. it's a MacOS-only server (it doesn't even run on OSX as far as I know). so if it was a little brighter, it would know that.
my old sig used to be funny, but then slashcode ate it and now it's not funny anymore
I agree. But here's the thing: we're talking about how Apache just lost marketshare to the pointy-clicky IIS types. So I'm going to make a break from my /. brethren and suggest the following: lower the bar. Don't cater to Only People Who Know What They Are Doing(tm). Find out what tools stupid people need to become competent, and give them that. If stupid people don't like to read and hack .conf files, fine. Build a GUI with mouseover help and wizards that protect them from themselves. Surprisingly, you will find that many people are comfortable admitting that they are stupid and want a product that lets them stay stupid. In fact, while I fully geek-out on computers, I will pay through the teeth to not have to think for one single second about my car. I trust the car to be safe, and if it breaks, I find a shop to fix it and spare me the details. Do the mechanics make fun of me? I don't care. I'll make fun of myself in that regard -- "I'm car-challenged!" But I will not stop driving. Apache is losing market share? People will not stop serving Web pages, even if they're Web-challenged. So we have to fix it and spare the details, or cede that market to MS.
My Greasemonkey scripts for Digg &
THEY are fine ones to ignore "worse is better". ;)
The choice now is simple 1) SQL Server 2000 / IIS 5.0 + .Net or 2) Oracle 9I and J2EE.
Actually, a significant number of enterprises are using Oracle + COM/IIS. That happens to be my speciality, and I can tell you that there is no dearth of work.
OSS has yet to produce something that competes with the complexity and webservices potential like .net and the like.
Heck, even for people using java on the backend (which is where java seems to be finding itself more and more these days) windows the choice because java simply runs better on windows than linux.
-
Sorry, dude, but a "Dot com", meaning an Internet web site with a few thousand visitors a day that sells stull if not considered "enterprise class". If you're building a REAL web application for a large enterprise that say, managers their HR, purchasing, etc., then you DO need and you do use the current systems. CGI+Perl may be nice for Dot-Coms, but remember that Dot-Coms are considered small potatoes when compared to a real "enterprise-class" web app.
I have yet to really figure out what all the hoopla is about. I run vanilla Apache, which then runs a persistent Perl process. We do e-commerce through an international reseller market, have web sites for our resellers to enter prices and shipping charges, and maintain our own through our main database. I have yet to see what _any_ of these technologies offers. What does Java offer that I'm not already doing easily and well? What does .NET offer? How does a "web service" differ from a well-documented CGI interface, perhaps using XML as the transfer language?
As a web developer, this really baffles me. If anyone can shed any light on the actual advantages of this, please comment or email me at johnnyb@wolfram.com.
Engineering and the Ultimate
Indeed. Our evangelist friend appears to be on the Java Mafia's copious supply of marketing crack.
People, kindly take a few minutes to browse through the LinuxToday talkbacks on that article, and watch Ganesh's claims being dismembered from a multitude of perspective -- including those of quite a number of professional Java developers. You'll see his essay mocked for playing dumb games with Netcraft statistics, zinged for pushing the licensing issue under the carpet, derided for trying to urge a bloated, inappropriate, sweeping solution to a basically non-existent problem, and outright flamed for trying to hustle us with the threat of Micorsoft's vapourous marketing initiative du jour.
And, as the hucksters say, much, much more.
(And, people: Kindly tell me that you're not dumb enough to get stampeded by this blatant con job. Please.)
Rick Moen
rick@linuxmafia.com
The question is, will anyone care about web services. I'm not about to pay for these so called services if I have to wait long periods to download the software, wait for the software to talk to whoever is supposed to be running it for me, and then get disconnected while using these services. Like most Americans who have internet access today, I'm still on a POTS connection. Web services simply won't work for home users until we have ubiquitous broadband that's easy, and reliable.
The best way to accelerate a windows box is at 9.8 meters per second square.
Wish I could, but I'm fresh out of mod points.
I use Zope a lot. Doing a webhosting kind of a thingy at a ISP. A collaborative environment at a university. A online game by myself. That last is of course a hobbyist project, but the other two are "enterprise-level".
I am very much into the web services paradigm (seen it called at least "application server" and "web application platform") and have looked into a number of different implementations. Zope compares really well. It's unproven at highest levels of scalability (the Megaportal class), but also is the most flexible and has the best user management I have seen.
Don't despair about J2EE or
(A few quotes from earlier replies.)
"I admit Zope is cool. But mention it to your average pointy-hair, and they'll look at you cross-eyed. Java and J2EE they've at least heard of - maybe they don't really understand it - but they've heard of it."
"I perfectly agree. I don't know how come Zope has never taken off. Zope and Python are sweet
"Zope is cool. Python is cool. But neither have the marketing budget of IIS and ASP."
Don't be the defeatist! Remember the time not so long ago when somebody would the same thing, except it was about Linux or Apache. So you might get the same funny stares and sighs you did the last time, but you probably already have their ear. After all, you were right the last time.
A point to stress in the excellent list above: Zope is useful out-of-box and, while extensive development is going on, the core of Zope is a mature product.
--Flam, an admited Zopista
Computers are useless. They can only give you answers - Pablo Picasso
My original (sarcastic) remark stands. It would be impossible to upgrade from NT 4 to 2000 without rebooting, and 2000 has been out much less than 4 yrs, therefore you have not had your computer online nonstop.
Microsoft's .net is going to automatically share out this investor information? If not why is this something you couldn't do with apache/mysql/php?
How will this be easier, quicker, and cheaper than using open source? I'm intrested to know what a traditional web server (with a database and xhtml) not handle? You seem to be rambling about something but failed to give any facts. Explain to us exactly how buying NT, MS-SQL, Oracle 9I and J2EE is cheaper than an opensource solution.
Maybe the Microsoft marketing machine has infected the brain of your company but I've done work for plenty it hasn't.
> The real question is how the Open Source
> community should respond. You can quote me
> on this one, if we simply stand behind
> reliability and laugh at Microsoft's security
> holes and crashes, WE ARE TOAST.
Very well spoken and I agree with your points.
I have been working as a professional unix software dev for over 15 years now.
I love unix and open source, but I feel that, in general, a lot of the open source that is out there is nowhere near prime time.
It has been very frustrating for me, as I think that there are some really smart people working in unix and open source. I think that ego and other stupid not-invented-here (TM) mentalities have REALLY hurt the unix and open source communities in general.
As much as I loathe M$, I have to give them credit for a couple of things:
-consistency of user interface
Yeah, I think skins are cool and everything,
but in the end, most users want a consistent
and useful user interface and could give
a rats ass about the GUI wars that unix has
had forever (one of my major pet peaves).
-more money and effort into producing usable
products.
I'm not trying to defend M$, because they
certainly have more than their fair share
of really evil and stupid bugs, but the
perception on the part of the user is
that of a stable, consistent and
full-featured environment and suite of
software.
-incredible marketing.
Joe User could care less about us thumbing
our noses at M$. They want consistent,
useful and good products.
Some areas that I think unix/linux/open source community requires some major work on:
-consistent user interface
The X guys REALLY dropped the ball here by
saying that they are not specifying a look
and feel.
I think that having a dozen different GUI
toolkits is not only ridiculous, it is
harmful in the end.
If a particular [dominant?] toolkit doesn't
cut the mustard, have a design and revamp
review to get things right rather than
coming up with YAFGT (Yet Another F****ng
GUI Toolkit).
-let's get some good fonts
The standard X font set is pretty bad.
-some good UI designs. I've seen some pretty awful stuff and concepts that seem to go out of their way to make themselves different from what people are used to using. Being different/inconsistent is a BAD idea in UI.
-getting coding standards higher and having better design and code review processes.
There are a lot of newbie programmers out there that contribute a lot of code that is probably not suitable to go into production software...
-It almost seems as though the open source community needs a seasoned and very smart benevolent dictator to say what is ok and what is not.
-better documentation in the unix kernel sources and header sources. Some of it is just awful.
It's not all bad; I've seen lots of wonderful, intuitive and useful tools over the years.
In the end, a lot of the code that is crap will die off anyhow; sometimes it is just a painful ride to get there...
-Ralph
Cool, Zope. I'll take a look at it. Like I said "...as far as I know..."
Does Zope compile, or is it yet another interpreter? Mega-cross platform - probably the biggest example would be that it will run on both Unix-types and Windows? (Not that I'd want to run it on windows)
I could not agree more with your points as to why MS is successful and why linux/open-source remains fringe. You're diagnosis is accurate, but:
-It almost seems as though the open source community needs a seasoned and very smart benevolent dictator to say what is ok and what is not.
This is exactly what will NEVER happen. This whole "movement" started because hackers hate authority, hate being told what to use, and would rather start over a hundred times than help to fix something.
I can't stand it when people say they like diversity in the desktop; they feel that having umpteen desktop environments is beneficial. How the fuck is that remotely true? Everyone's doing they're own thing, re-implementing the news client, the browser, the text editor, etc. Meanwhile, in the centralized command hierarchies of the non-free world (yes, I mean Microsoft), orders are handed down from the top (the top consists of smart people with a goal and a plan) and people spend their work days improving shit, instead of re-inventing because they don't like the leader of so-and-so project, or they don't like the other toolkits, or they'd rather do it in XYZ language.
And why the hell shouldn't centralized hierarchies be more successful? It's how civilization (and it's industries) has operated for centuries. Instead, the "movement" has dozens of toolkits, dozens of desktops, dozens of architectures - one for each ego out there.
For Christ's sake, shouldn't there be a consistent way for an app to, e.g., open a web browser to a certain URL? Sorry, no-can-do. Every app does it differently... sigh. Enough to drive you nuts.
Will we ever have the "benevolant dictator" you speak of? Not while there's ego's to be fed...
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
I don't think you fully grasped the guys argument. He was arguing that the guy was arguing that though other platforms are capable of doing what's needed, J2EE does it so much better that the alternatives are not really interesting.
Among other things, that goes for performance and code maintanability. J2EE is a truly impressive platform. Trust me. Learn it before you diss it.
Web Services will need to handle huge amounts of traffic when somebody discovers them and develops a liking for them. Performance and scalability are key!
Stop the brainwash
All MS GUI's SUCK
Maybe it would be possible to make a good GUI?
I have found that Webmin provides a GUI for Apache. But have never tried using it.
Trust me, anybody doing anything interesting with Java on the server isn't going to want to use Microsoft's JVM to power their solution. MS's JVM kicked everyone else's ass back in the day, but it hasn't been updated with any of the newer Java technologies. Even if they did want to use Microsoft's JVM — and believe me, they won't — they'd know that they can still download it from Microsoft. If they're worried about the clients not having JVMs, they'd still be better off having the clients use more modern JVMs.
The whole Java on XP thing is just a way for Microsoft to tweak Sun by giving them exactly what they asked for (removing their "bastardized" Java from Windows) while taking away even more from Java's "buzz." Even though Java's turned into a flop both for standalone client apps (erm, where are they?) and now for web applets (in favor of Flash), Java still had a little buzz going on with the people who were familiar with it from web applets. Once this is gone, which Sun fears and Microsoft knows they fear it, Java will be "just another" server technology. Sure, it'll get a lot of use, but so do CORBA, DCOM, and TP monitors, and when's the last time anybody got excited over the latter three?
Now I know why Windows installs IIS by default! They want higher Netcraft-ratings! ;-)
I doubt, therefore I may be.
Amongst all this talk of the importance of "web services", I wonder where the real value to the user comes in. My question is: what's the Killer App of a website that goes beyond Apache+PHP? I haven't seen it, and the only thing that anyone seems to be able to say about it is "login authentication." I've worked with EJB, and they are neat - but I have yet to see what they could offer the end user that standard PHP can't.
This reminds me a lot of the talk I heard going on about ActiveX. This cutting-edge new technology was supposed to revolutionize creating components for viewing on the web or, in fact, in any application. Three years later and high-profile websites like amazon.com, yahoo.com, and google.com are still running on Apache, and a Killer App for ActiveX has yet to emerge.
I'm not saying that this "web services" thing _couldn't_ have a killer app - I'd just like to see it first before I decide that forking over tens of thousands of dollars to Microsoft in order to run my website is a good idea.
Python is a much more reasonable language for web applications.
And there's no reason it has to gain massive market share to be relevant. If using Python with (say) Zope is our little secret, isn't that just as good?
Our next major site will definitely be Zope based. PHP? Never heard of it.
However, almost all of the technologies you mentioned (JMS, J2EE, etc.) were designed by a consortium of companies doing work in that space for far longer - like BEA, makers of Tuxedo, helping with JMS (the messaging spec). Thus the API has many years of thought behind what is needed, and the actual implemetations ARE based on code that have been around even longer than Java.
J2EE and related technologies have a good lead, and a powerful range of supporters. It will be inetresting to see how the battle goes, but I agree that's where the fight is (and you seem to as well, from what I could make of your response).
"There is more worth loving than we have strength to love." - Brian Jay Stanley
The percentage of IIS versus Apache is soon becoming irrelevant. What is important is the percentage of Servlet/JSP versus .NET/ASP sites. Which is kind of hard (impossible) to measure using Netcraft by the way.
One of the most succesful Servlet engines now is Tomcat, which is also open source coming from the Apache Jakarta project. I don't see any indication at the moment that the number of Servlet/JSP/J2EE sites is dropping in favour of ASP or .NET. No reason to worry yet.
You miss the big contradiction in your post. You question why someone would use IIS after something like Code Red happens. Well, if someone cares enough about security for it to be the deciding factor in the OS they choose, then they also know that (1) Microsoft released a patch and a workaround for the security hole long before Code Red existed, and (2) all the Linux distributions have tons of patches for all the security holes in them. So if someone really cared about securing his own boxes, he applied the patches or the workarounds and never had to worry about his machines getting bitten. You act like a security-conscious person would just move to Linux, set up a box and forget it, and conveniently forget about all the holes that have been needed to be patched in the Linux distributions. Doesn't sound like much incentive to switch for anybody who knows what they're doing.
Don't worry in a month or two all the code red victims will switch, apache use will go up 20%, and the media will say Microsoft is having a bad month.
The previous poster pretty much made it clear that, yes, his former boss doesn't have a clue how to run a server.
Right now, PHB is in a panic and their site is still down, because NT+IIS really isn't easier then UN*X+Apache , despite what MS says in Pointed Haired Boss Weekly
Oh yes.
When I resigned my job, my former boss, within a week, grew a hardware budget, bought a new machine, bought and installed Windows 2000 Server, went through a week of downtime and finally got IIS and the company's LAN back up.
According to Netcraft, they have yet to break that elusive 7-day uptime barrier. And, I know for a fact that they got hit by Code Red I, because their webserver appeared in my logfile (see sig below, they've been rotated out now).
All this to replace a Pentium 100 Linux box which had been running for 178 days, handling several hundred website hits a day, providing DNS, DHCP, NAT services, and handling about 500 megabytes of AutoCAD attachments in the outgoing mail spool every day. Without a hitch.
Hell, the guy was so tight, he wouldn't let me at least buy a big hard disk to throw into an old 486 we had kicking around so that we could get the rather sensitive data that Sendmail was handling onto another host. But Windows 2000 and IIS were money well spent. [Nelson: "Ha-ha."]
The ISP goes down, the Linux machine's nameserver can't find the top-level servers, and everyone gets Server Not Found errors from Internet Exploiter. His solution? Windows reflex: Reboot the Linux machine. I had to physically remove the power and reset switches so that he wouldn't fsck up the filesystem.
He tried to log in because he'd decided he had to administer it, too. From the depths of nearly 20 years of DOS/Windows experience but absolutely no other operating systems whatsoever, he came to me shouting that the machine had a virus, because typing "SCANDISK C:" gave him back an error message with the ominous word "bash".
I calmly told him that the machine didn't even have a C: drive, and referred him back to the Linux book I'd bought him when he decided he wanted to have root access, too.
"What?! No C drive? What did you do with it, I saw you putting it in when you built that machine with spare parts!"
Yes. But it's not actually called a C drive in Linux or any other UNIX variant...
"That's preposterous! Just where the hell am I supposed to save my files then? Hmmm?"
Uhh... /home/$USERNAME comes to mind... (almost told him to save his things to /dev/null but figured it would only cause me more work in the long run)
So, he went with IIS after I left, because it seemed more intelligent to him.
Catastrophic failure is usually idiocy's best reward.
Fire and Meat. Yummy.
Many megacorps have millions of dollars invested in Oracle.
MS SQL is way cheaper than Oracle already. They don't care. They like Oracle's uptime. 'Cause when your accounting database goes down, you can lose very large sums of money very quickly.
Oracle gets to charge its frightening fees for that reason, and that reason alone. Nobody minds that it's uber-expensive (well, not too much anyway) because it's dependable.
Netscape was never dependable. ;)
my old sig used to be funny, but then slashcode ate it and now it's not funny anymore
I know I keep hearing a claim that the JVM supports dozens of languages. You even provided a link.
.Net and the JVM.
But my question is...
Are any of these actually being used? Or are they just experiments.
That's the difference between
Which begs the question of Apache's marketing budget, or Linux. 8-page glossy pullouts don't move mindshare, 30-second StuporBowl spots don't move mindshare, the casual chat at the table after the staff meeting moves mindshare. So start talking.
illegitimii non ingravare
In my job I've used BRL in many small-to-medium projects, plus another project larger than BRL itself that my employer isn't ready for me to talk about. I'm training two coworkers in Scheme/BRL.
The Kawa manual has an appendix listing projects using it.
Umm... The GUI tool in IIS is simply an easy way to get at the Metabase where all the configurations are saved.
There are tools and such available to dump this out into a text file, or you could write a script to compare between the two servers.
It's not that difficult, and from a scripting perspective far far easier to deal with than the "dumb" text files.
Microsoft is moving back to text configures in IIS6. Although they'll be XML files this time around, which will help alleviate the scripting problems of "dumb" text files.
Apache decreased, what, 1.5% or something? This is somehow a signal of the end of Open Source? When Microsoft loses a dime a share, does that signal its imminent demise too?
Let's get real.
"Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
We keep the porn sites, you keep all the dot-com startup. There, end of the battle.
Je t'aime Stéphanie
Seriously, the article has a few good points. E.g., a decent standard gui administration tool would be nice.
Of course, how long until MS starts trumeting the cool P2P aspects of IIS? You know, Code Red contacts other IIS systems, each contacting others, eventually building a gnutella-like network...
Buy Hex-Rated Stuff, fight the DMCA!
I would like to see the netcraft study after all of the unintentional IIS sites are shut down because of CodeRed.
.NET works out as intended. If it does (and it might), exit Apache. If it doesn't, Apache will be ok, if only because a lot of sysadmins at server farms prefer Apache over IIS for security reasons. Or because most ISP's (over here, in Europe, at least) run *nix instead of NT (2000) and IIS just doesn't run that well on .nix. Sure, Windows 2000 ft. IIS has made inroads, because, finally, there's a Windows That Doesn't Suck, but to say that Apache is doomed is going a little too far.
News and bla for computer musicians: http://lomechanik.net/
Apache wont die. Maybe it will become less popular commercially, but it wont die. All the people who cant afford commercial hosting (like me!) will use it. Its always nice to have a free alternative.
What would a user rather have -- a free server that does plain webserving, or a moderately priced one that does webserving plus e-commerce? Faced with such an adversary, does a plain webserver stand a chance, much less one that is virtually stagnant? True, the dramatic drop in Apache's market share comes from just two large ISPs, but will they be the only ones to switch?
.net people. You know, the people over at MS that think we want to plug in our websites like our TV sets, pay metered fees to a webservices provider, and pretend we are actually running a business.
I don't know about you, but I think this guy is a shill for the
I'd rather run my own shit web-server wise, and then have someone like Loudcloud style business model advise me on the e-commerce and user interface and stuff like that - then do it myself.
So many companies are going bust these days, outsourcing the very marketing and user interface of one's e-business is like getting one's automotive steel supply from a steelmaker that is 40% likely to go bankrupt in the next year.
Linux et al is for the radical libertarian survivors out there. Like the Ford corporation, which was one of the first vertical integration innovators, with control of its supply chain, you should know from mouth to anus what your company, and industry, is up to at any given moment.
You can always control and update your own software, and pay for technical advice when needed instead of metered-cost tushy wiping from a big e-services provider that's going to give you shitty tech support anyway.
Goat sex free since 2001
Right now, PHB is in a panic and their site is still down, because NT+IIS really isn't easier then UN*X+Apache , despite what MS says in Pointed Haired Boss Weekly
Next month, we'll see a 1.5% gain in Apache use as the Pointy Haired Bosses are sacked and replaced by an Apache admin who is able to restore the UNIX partition from backup :)
"Can of worms? The can is open... the worms are everywhere."
Looking at Apache vs IIS, I don't think there is a lot to worry about. From the average user's viewpoint, Linux is a server OS, and Windows is a desktop OS. I don't think normal people will run Linux on their desktop's anytime soon, nor do I think that the majority of people will operate Windows based servers. Of course there are always expections. But of all of the Open Source projects, I think Apache will be the last to go.
What I don't understand is why people insist on running IIS when it is *known* to have security problems a la Code Red. Sure, they could install Linux and run Apache, but then they would *gasp* have to spend more than 5 seconds configuring it! The problem is that whether they know Linux is better or not (in terms of security, it most certainly is), most admins are too damn lazy to want to learn how to use it. They got their pretty little M$ server up and running, and are happy.
I pledge allegiance to the flag...
of the Corporate States of America...
Take EJB for instance. What a bloated overhyped piece of crap. There's so much bullshit from Sun about EJB when the bloody thing just plain doesn't work. Just about every project is better off with just using servlets and standard beans and their own persistence instead of relying on the slow and crappy CMP. EJB is bullshit and so is the dotNet crap and all that web services circus. It seems to me that good coders with PHP and apache knowledge seem to be able to pull a better magic than all the Javas and dotNets of this world. I'd say OpenSource is not missing the bandwagon at all unless you have a bandwagon of hype in mind.
Your pizza just the way you ought to have it.
The huge, big point here is the thing about J2EE vs .NET - that's the focus moving forward. Where we really don't have any other answer but J2EE. dotGNU/Mono/whatever are going to come so damn late it won't matter.
Clusterable, component-based architecture is where it's heading, and PHP/modPERL/whatever ain't doing it NOW. The corp world has gone n-tier architecture, and other than using Apache to front-end WebLogic/WebSphere/whatever, most open source stuff is far behind.
Don't even WASTE your time whining about where they got their numbers on Apache - figure out what to do to address the big picture of web services. What do we got? Not much, JBoss is it as far as I know of for non-vaporware offerings. Tomcat is cool, but it only does servlets and JSP - Tomcat is NOT a bean container. Beans (way stupid, misleading name) are the componentized pieces of code that are needed to beat .NET.
He nailed it on the head - The same way we've been harping about the world changing and rendering Microsoft irrelevant, the way the Open Source world does things is pretty much irrelevant and obsolete as well.
His point about finishing the Open Source versions of j2EE (like way quickly now too) is pretty much the only way we are not going to fall behind. We don't have the time to architect some beautiful dream, we need to shit or get off the pot NOW, it's starting to stink in here!
Apache is often the right tool for the job, and it certainly shows
What about if you're a small business and you've bought a copy of Office 2000 XPerimental and you'd like to serve up pages based on whatever content your Access database holds? I've seen them, worked with them, tried to convince them, even, but finally had to concede that if you don't have the money to pay for a sysadmin, Access ft. an extension made available by your local "association of mom and pop stores" is a cost-effective choice, and if you want to do internet, in such a case IIS is the only thing that'll work for you.
News and bla for computer musicians: http://lomechanik.net/
"In a few years from now, it will either be a Java-Linux world, or a .NET world. The choice is ours."
I highly doubt that one will win out on the other totally. Either there will be somewhat of a crossover in the technology or a new candidate will come into the frey. Apache is solid, IIS has been proven to be somewhat insecure. Yes, as IIS becomes more stable it will be accepted by a wider audience.
"Now this is going to be controversial and will not win me many friends, but I think the Open Source community has to get real about a couple of things."
That comment I totally agree with, if the Open Source community wants to compare itself to, and compete with companies that are driven by profit, they have to appeal to the people that use the products for profit, Microsoft sees this, and takes advantage of the fact that people want solutions that can be developed quickly, trading a loss in performance and security for a solution that is first to market. The point about the lack of a GUI config for Apache is a good point, and should not be brushed off by those (including me) that don't have a problem configuring a httpd.conf file through vi (or emacs).
Companies are looking for solutions that require less cost in implementing, and when you (well, not most programmers, but the management "you") compare the cost of training someone to use Apache vs pressing a button to run IIS.....
http://www.codewolf.com - Just good stuff to waste time
Which web server you choose is an operating platform decision rather than application decision.
Nobody just wakes up one morning and says "wow, I'm going to switch from Apache to IIS". Rather, if a switch is made it's a much broader move from an MS platform to a UNIX platform, or vice-versa.
Anyone who's worked in an IT facility knows that changing platforms (or even allowing non-homogenous platforms in the first place) is a huge decision, and rightfully so.
So when people talk about relative market shares of IIS vs Apache, know that they are really talking about Microsoft vs Linux (or maybe MS vs UNIX, but you get the idea).
Invisible Agent
This post is a mirror; when a monkey stares in, no hacker gazes out.
Coming from a dot-bomb that preached web services as the solution to every problem and the wave of the future, I see nothing to worry about in this article. The concept of web services as proposed by .NET doesn't boost anything other than Microsoft's bottom line as far as I can tell.
What all the pundits who praise the concepts behind a technology seem to keep missing is that just because you can do something doesn't mean people are willing to pay for it. Look at WAP, sure I've done work with it, but I wouldn't buy a phone with it now and I certainly wouldn't pay a premium for services that can be delivered better and cheaper through an alternate medium. The internet is just another communications pipeline - the stock market and the dot-com shakeups have proved the fact that it is not ipso facto a revenue stream. Have 900 numbers and pay-per-view revolutionized our telephone and cable systems?
When someone shows me a real use for .NET, maybe I'll take a look again but for now Apache fits the bill pretty damn well as far as our business model and budget are concerned. If we need web services with our clients, PTP holds far more promise for keeping our data where we want it - out of Microsoft's hands.
"...Apache hasn't introduced any significant user features in two years. (For example, has Apache even managed to deliver a standard GUI configuration tool in all this time?)"
And, why is a GUI necessary for configuration of a web server. It's already (finally) becoming clear that server administrators need to know how to do more than just aim their mouse and click. Insufficient security training is being acknowledged as a business liability.
Sure web services are useful and may very well become the business model of tomorrow, but define it. Your company's soon-to-be-released new revolutionary product line won't be authored in WordXP or ExcelXP documents on some other company's server. If that's a "Web Service" the author is thinking of, it's not and won't become a business model anyone will buy. Interactive applications is probably one of the more viable prospects, and Apache does not offer such interactivity natively. Apache hasn't really advanced much in a couple years, but does that mean it's dead? You can plug a helluva lot more into Apache to make it an interactive, secure, and functional application server for the web than anything IIS will ever produce.
And, you don't need to reboot your whole flipping server when Apache, PHP, MySQL, PostgreSQL, or mod_mp3, or whatever else you've rolled into that application server submits a security patch. Just apply the patch and kick start the service. Ouch! That was painful....
Apache is far from dead or dying. It probably won't come with a GUI configurator/wizard thingy. Should it?
www.dedserius.com
VB != VisualBasic
I may not be up on this whole 'web services' thing, but wouldn't it be possible to implement some of this stuff in apache modules?
I completely agree. I'm amazed by people at work who have been using a large number of software packages and only know enough about them to fufill their typical tasks. If anything unusual arises they are lost. We're computer people, aren't we supposed to assimiliate as much as possible?
I forgot that Netcraft requires nearly weekly "checking" of your own sites to ensure the Linux/Apache combination are always near the top. I forgot to fix the results over the last couple of weeks. Sorry, dudes.
Perhaps some others forgot to re-list their sites as well?
Long, cute, or funny Sigs are just another form of over compensation, used by geeks, nerdz, etc.
The trend is that IIS is gaining little and apache is gaining alot wiht small ups and downs while the others fade away at the exepense of apache/IIS.
With the code red worm and all the latest news about security holes in IIS/NT, I believe corporate mindshare has dwindled quite alot. I have a relative who works at FedEX(one of the huge victims of code red), and bussiness was down for close to 2 days. They are a mainly unix vased company trying to adopt to win32 but now they are having second thoughts.
Go look at the chart and you will see that apache usually wiggles up and down while it rises. Also expect the number of apache installs to rise up significantly due to some bussinesses worried about security holes of Microsoft products. However the introduction of WinXP may change this. I assume college students who are not cs-majors will form their own webpages with IIS because its there on their computers for free.
http://saveie6.com/
>Let's get real.
.net becomes real, MS can toast Quicken at will. Then consider what the X-Box portends, beside entry into the lucrative gaming market and a route beyond the static PC business.
.net, bringing the new territory 'into the fold' and making it immune to assault - Microsoft Forever.
.net. Instead, Microsoft learned from the problems of Java, in addition to attacking it, so that .net has emerged stronger in its first existence, however vaprous.
It is real. Unfortunately, take a look at history. With only a few exceptions, every time Microsoft loses a market battle, they come back stronger, only to lose, again. Eventually they come back and win.
Then (and here's the history for you) the competition lays over and dies. Again, with only a few exceptions, (not universal, but darned close) every time Microsoft wins, they win for good.
To be more concrete and less pessimistic about it, we have to hope Open Source and Linux fit into the exception side of that. But in order to do so, one must look at exactly what Microsoft is really doing. Whenever they pick one of these battles, it tends to be 'near' their core competence. Even though they lose several times, they've got the deep pockets to keep at it. When they finally win, it is close enough to their core to quickly become part of the body, instead of an extension. Kind of growing by engulfing markets, like an amoeba.
They are generally smart enough to not attempt something too far from their core. The few times they have ventured too far are when they've been stymied. Quicken and Talisman, to name two. Incidentally, once
It's now becoming apparent that there are at least three fronts on the battle with Linux and Open Source. First is legal, with patents and the like. Next is web services, essentially negating the positive values Unix (and clones) bring to the web of mere reliability by raising the bar on base function. That way Unix no longer 'meets requirements' because it is missing thise 'essential' Win-services, no matter what the reliability. Finally, consolidate those web services with the desktop - the focus of
Perhaps this is the real tragedy of Java, because in many respects it formed the underpinnings of competition to
The real question is how the Open Source community should respond. You can quote me on this one, if we simply stand behind reliability and laugh at Microsoft's security holes and crashes, WE ARE TOAST.
We need a better response to Microsoft. IMHO part of the process will be "Walling them off in the US." There are several factors in our favor here, one of the foremost being other countries' distrust of the US-based Micro$oft Corporation. Second is the MS revenue model, putting them beyond reach of the third world, where the bulk of the growth is going to occur.
So as a US citizen, I suspect I must advocate not wasting a lot of time on unique requirements of our market. Please fight the battles in South America, in Europe, in Asia, in Australia. They are *much* more important to Linux and Open Source. I suspect in the USA it now pivots around the release of Windows XP as a litmus test. If the courts allow it to happen as-is, Microsoft will feel it a green light to do anything they want, and the genie will be back out of the bottle that has been partially constraining it for a few years, now.
Yes, Virginia, they sky IS falling. There are simply too many defunct companies who failed to heed the warning for us to fail to heed it this time.
The living have better things to do than to continue hating the dead.
To implement a simple web service, one doesn't even need a "web server" at all! Just instantiate the xml-rpc server in Python or Perl, or instantiate a SOAP server in Java. And apache can certainly hook into any of these things just as well as IIS can. As for the other things... well, UNIX types have been living without Microsoft's hold-your-hands-and-stick-handcuffs-on-them pre-rolled 'architectures' & components & and everything else.
As the article says, Reduced to the technological basics, it's just XML over HTTP. Are we seriously saying that Apache has some sort of problem serving XML over HTTP? I think the author has bought into the "Web Services!" hype and seriously over-estimates the problems in creating them. Web services are not cool because of technology. They're cool because we're finally finding formats that we can all practically agree on for remote procedure calls.... shorn of the hype, web services are purely social innovations. Microsoft had to hook tech to it to attract the attention of people who are driven by flash, but the tech is almost incidental.
If we were wiser 5 years ago, there's no technological impediment to creating web services then... but there's no known way to shortcut the aquisition of wisdom.
... except there's talk of MS SQL coming with XP like IE came with 9x. And we know what happened to Netscape when Microsoft shipped their OS with a competing, free application.
There are a lot of cool projects going on over there, the most famous of which is Tomcat, an excellent (and free!) J2EE servlet engine (which Sun has made *the* reference implementation of their servlet spec). In the web services game, servlets are the point men. The author should have at least brought up the Jakarta name... although he probably would have lost his own arguement if he did :-P
Still, I think it was a good article overall. All the World War II analogies were quite entertaining.
At first it's talking about how apache is losing market share because it doesn't have a GUI configuration tool. Then it moves right along to make sarcastic comments about dotGNU and how it was written by a desktop applications company. And finally, sugests that java is the answer to all your problems.
.NET was over hyped. Corel is talking about how their new word processor will be fully .NETiffied and how wonderfull that will be. Aparently you'll be able to pay for components individually and get them from all different vendors. You could get your GUI from Corel and your spell checker from Some Other Company! WOW!!! "That's just like open source but even better because you don't have the source code!!!"
These are my favorite quotes from the article:
"There is an excellent Open Source J2EE server called JBoss" But later it says:
"There is nothing in the Open Source stables to match J2EE"
On the other hand, I'm biased because I've always felt that
Of course, some apps are going to move to the internet and but word processors? Sheesh.
Read this: it may not change your life, but it might just change your mind. If it does, mod it up ;)
Zope has Enterprise-level scalability and is the closest OS competitor to the most advanced Java app servers, with much, much more and no Java BS.
However, Zope is more advanced than those, and has now:
Improvments being made continually via current Projects:
Zope is open-source, works well with Apache and Squid, has great RDB abilities. It naturally exposes objects for publishing using a strong, easy to use security model. It supports authentication off of LDAP, NT Domains, RADIUS, etc. It's odb catalog features allow the development of applications that use dynamic queries to organize content (and potentially code) objects. It's the strongest suite of features for web-services oriented middleware out there, because it has a several year lead in many respects on the competition! Python is XP, so it has the same advantages as a CLR, provided it is coupled with an XP GUI component model or class library, like PyXPCOM (Mozilla) or wxWindows (Unix, Win32, Mac). Last, but not least, it is easy to develop for.
An open challenge to all the folks trying to develop their own toolkits from scratch (dotGNU, Mono, etc): DON'T - instead use something that is already proven in this problem domain: Zope and Python!
www.zope.org
www.python.org
Sneer at the article all you want, but he has some excellent and valid points. Having just been through a 7 month design for a customer portal and e-commerce site for my company, I can tell you that this man is right. I actually argued for a Apache + PHP approach to our system. I'm QUITE glad that I lost the argument becuase we'd still be trying to scale that approach.
.NET. I saw the Java Community Process in action at JavaOne and it's actually quite impressive. I went to many seminars where it turned out that Sun's own implementations for Java in the JCS were voted down in favor of externally derived ideas. One of the noted speakers was one of the major developers for Tomcat and the Apache-Jakarta project (Sorry, I forget the name now). Tomcat is a wonderful platform that is an early concept of how the Open Source community can rally around a not-quite-open source product.
I attended JavaOne in June. Granted, it's a 17,000 attendee propaganda show but you'd be amazed at a lot of the software coming out of companies that are doing J2EE. Application platforms like Oracle 9iAS, iPlanet and IONA are amazingly powerful and robust. The J2EE implementation has 5 years of maturity behind it. Microsoft, while honestly having some interesting ideas, is at least 3 years of development effort behind Sun. It's a complete framework that handles everything from massive database connectivity to advanced XML parsing with technology such as XSL, DOM and SAX to guaranteed-delivery messaging systems for distributed applications.
Java is not free software or open source, but it's a lot better than
Open Source would do well to embrace Java as much as possible. Eventually Java will turn into C, where there are many compilers and run-time environments available for all sorts of uses and needs. It's already happening comercially from a lot of companies who have a good idea and are running with it, such as KADA Systems for J2ME. Sun's primary interest in Java is a Microsoft-killer and if they have to relinquish more control to get that they will. Remember that at its core, Sun is a hardware and OS company, not a programming/application company like Microsoft.
Some people take their .sig way too seriously
I've been run over by so many bandwagons in the last 7 years that I don't think I have enough energy left to jump on the J2EE war wagon. I'm older, but I'm going into grad school and I'm not coming out! Still, I have to agree with the author: Linux/Open Source people tend to be purists at the expense of having anything for the real world public. I think .NET has a lot of people worried, and that's good. A few voices have been screaming about getting something for the real world, but I think they're largely ignored by the pencil-necks that just want to hack a kernel onto the erasure of a mechanical pencil. If anything, the author is dead on about the proud, old Unix world chasing MS's tailights on .NET. I say go with Java. It's from a BSD-derived company and started by J. Gosling, a good guy. Why not?
--- WWSD? What Would Strider Do?
skunk? You mean sco?
shudder.
I surely hope its at least based on AT&T's unix-ware and not sco-openserver that has lots of unstable microsoft-Xenix code still in it.
Think about it. How did the name skunk arise? Because frankly it stunk.
http://saveie6.com/
Would that be an effect of Code Red. It made a lot realize that they WERE running a web server after all! That's a plan from MS: make sure that every IIS server can be counted.
Opus: the Swiss army knife of audio codec
THe new apache 2.0 is alot faster then the previous versions. Apache is winning not because its fast but because it is very programmable and customizable. However with .net, the arguement on why to use apache has muted. WIth the new release it will give apache a speed boost that should help.
http://saveie6.com/
As soon as he started reading the minds of the users who switched. It would be bad enough as pure speculation, but if he'd done his homework he would have found out if someone had already accounted for the change. As it happens, someone has.
Apparently, a major client (IIRC including NSI) switched hosting companies from an Apache shop to an IIS shop. Host enough domains and that will do it, but it only reflects a business decision on the part of one company almost totally divorced from technical issues.
Lacking <sarcasm> tags,
Oh, yes they [sic] is ... JBoss. It's not part of the Jakarta project, but it integrates nicely with Apache/Tomcat. It mentioned (although only briefly) in the article, had you bothered to read it.
(Before I continue - no, I am not a Novell employee, and no, Novell is not dead) .NET is to build something around some other (non-MS) technology.
I think Ganesh is on to something here - the only way to compete with
Novell did exactly that - created a portal environment by combining Open Source, XML and Java components, while using the existing directory structure for authentication. It is still in early stages, but it does work, and it works incredibly well.
Before I see eyes rolling - yes, portals are basically warmed over web pages, but it is a corporate buzzword du jour. Your average CIO/CTO loves it, and will allow unholy amounts of money to be spent on it.
How does it work? You have an Apache/Tomcat combo sitting on one of four supported platforms (NT, NetWare, Linux or Solaris) and JDK with JNDI. (Java Naming and Directory Interface) When you log in, JNDI taps into your existing LDAP3-supported directory for authentication and profiles (Novell of course hopes you will be using NDS/eDirectory), and presents you with cutomized, pre-formated page (done with XML/XSLT) that contains your mailbox, calendar, MetaFrame apps, news, queries your databases via JDBC, etc.
And now the kicker - because Novell is using Open Source and Java components, this product is about three times cheaper than the first comparable solution - something even CFOs might appreciate.
Why I like this so much? I gives Linux foot in the door. Now I can actually *justify* using a Linux box for a web/application server instead of IIS, and once it proves itself as more stable and secure, more will follow. It may look like a small victory, but wars are usually won that way.
Oh yeah, and an obligatory link:
http://www.novell.com/products/portal/
So it's nothing short of miraculous that Apache managed to retain its market share for about two years while essentially treading water. Let's face it, in spite of a few point releases, Apache hasn't introduced any significant user features in two years.
/these/ are the strengths of Apache.
/any/ job we throw at it. Jakarta is a great example of a web-services enabling extension to the Apache project.
This is a completely unfair statement. While work on a 2.0 release of Apache has been ongoing, development has hardly stalled in the 1.x series. The strength of Apache was never the server itself - It was the modular design. Mod_rewrite, libphp, etc -
Yes, you can run PHP under IIS/Apache for Win - But you have to run it as a CGI. It loses one of it's major strenghs.
Apache is constantly being refined and extended with modules. If the author has any doubts about this, I strongly suggest he 'grep -v ^LoadModule' his httpd.conf. I suspect he would soon realize his Apache did nothing at all.
My guess is the author has never actually admin'd Apache. He's probably been just an Apache user his whole life. (I see nothing to the contrary in his bio at the bottom of the article). Apache is a wonderful tool that is upto
Please excuse the poor thought-line of this post:) I was in a hurry to get my thoughts out the door.
- James
While it's certainly scary that IIS is enabled by default, when one considers the recent (and not so recent) problems it's had, the fact remains that Apache is also enabled, by default, in quite a few Linux distributions. So I don't know if this is a very strong against the survey.
- James
Why the hell do we have to run out and invent new stuff all the time? I like the web just like it is. I can call up pages and see things. I can interact with pages and do things. Works great. Just because MS and the Java crowd are all busy making more work for themselves doesn't mean I'm going to panic and re-write my web apps. Until browsers fail to render HTML 4.0 / XHTML adaquately I'm going to stay put. Maybe Fortune 500 has a need for all this crap, but I don't.
Zope is cool. Python is cool. But neither have the marketing budget of IIS and ASP.
Sure:
1 - of course e-commerce apps are run by Apache, but there's a very strong contingent of commercial products that support IIS.
2 - ASP vs PHP religion is irrelevant. What is relevant is how many MS trained people are out there. I have no data beyond my own difficulties in getting people, but I can shake a tree and get ASP devs to rain down upon me, but PHP devs are much harder to find (caveat: I work near Redmond). And as for CORBA development, now that's hard (flame on!)
Invisible Agent
This post is a mirror; when a monkey stares in, no hacker gazes out.
Lets see - they're trying to move data processing and storage to a centralized (in some respects) server and move the interface to the client (the web browser). You know what that sounds like? X-Windows. Does web services sound like thin client to anyone else?
What's limiting about web browsers is that you have a very limited range of widgets (and so are limited in what kinds of interfaces you can make). Web browsers also tend to talk to the server infrequently (as compared to normal interface/backend communication in the world of locally run apps). This makes web based services less fat than X is, but X gives you a lot more flexability (maybe too much).
Because X is too fat for much more than running apps over a LAN, something more light weight is needed. How about a protocol that functions similarily to X, but allows one to negotiate the frequency of communication between client and server for a connection? I think that sort of protocol could bridge the worlds of the web and thin client.
Odd thing is that Microsoft is explicitly giving up control over C# in its current proposal to the ECMA wheras Sun insisted that it have sole control over the future direction of Java.
If the Open Source Community wants to have an open standards based successor to C then C# looks a better bet than Java at this point.
dotNet is not going to kill Apache for the simple reason that the concept of dotNet requires the ability to take existing applications and wrap a SOAP front end arround them so that other dotNET applications can access their resources.
In the very near future Open Source is going to become a serious threat to Sun's survival. Already Linux is taking serious market share from Sun for the same reason that Office Max furniture is taking market share from Herman Miller's Aeron chair. VC capital is harder to come by and much more impressed by a rack of cheap Linux boxes than a high end Solaris server.
For Sun to survive they have to make sure that their platform is too complex and rapidly changing for the Open Source movement to keep up while all the time pretending that they are on their side.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
Comment removed based on user account deletion
Now that it seems clear that, unless it be by the brute force of government, Microsoft et. al. aren't going away soon, it has become more interesting to wonder, "Maybe we're the ones who are doomed! What if we lose?"
Will we win or lose? That's the big question. Perhaps when, after a bit, it becomes evident that Free Software isn't going away soon either, it will become more fashionable to consider the answer, "no".
No, we won't win and no, we won't lose. In fact, we were probably right in the first place; we can't lose. That just doesn't imply that we can win. It's possible (though, to be honest, not certain) that we're moving towards a balance of power between mutual, vigorous antagonists.
If this is so, than the 5% gain in MS's webserver market share at the expense of Apache is indeed overdue. It's quite like Linux moving into the OS market... the first gains are the easiest. Complete dominance is very hard to maintain. But that's not necessarily a dark omen for Apache, or even a sign that Apache's not doing all it should. In a situation where there is more than one viable (I certainly won't say high-quality) alternative, different people will make different choices.
Even if this is so, of course, it's not a call for complacency. Has Apache dropped the ball?
The author complains that Apache is merely a webserver, and that it doesn't take on the additional roles that IIS does? To the extent that the Free Software community is a Unix community (and this happens to be a pretty large extent) we must wonder whether we want apache to take on other roles. Apache "does one thing, and does it well"... very well. In fact, it's outstanding. So good that it makes me, for one, rather nervous to hear folks talk about fixing it.
Why would we choose to fold web applications into Apache? Offhand, I can think of two reasons: simplicity for the user, and speed. Simplicity shouldn't be discounted... sure, people running serious websites should aspire to great skill with their craft, but many don't, and we know that. But simplicity for users at the expense of vastly increased complexity for developers is a dangerous road. The Unix world has prospered (to an arguable extent) by avoiding it. Likewise speed. First and foremost, in order to develop good software, you have to be able to understand it. Code which pushes the limits of human cognition usually turns out to be bad.
The divide between modular tools and monolithic ones is one of the reasons we have diversity... some people will choose one type, others the other. Maybe the Free Software community should make both, but it's not likely to happen. You don't see many people clamoring to write a GPL'd Window/Mac-type OS, after all.
But back to the article... I must say, I liked the World War II metaphor on several levels. The very same strategy is being used here to promote collectivism and a monolithic power structure... it's necessary. Sure, it's rotten, but if we don't do it, we'll lose.
Well, if we're going to unify everything into Apache we're going to have to pick a technology to go with... Prasad thinks this should be Java. It has "mindshare, maturity, and corporate respectability", so even though it's only free, not Free, we should rally around it.
On the other hand, if we're going to stick with a more modular approach... well, Java is just another scripting language, isn't it? It has its advocates and detractors, but it doesn't really serve a different role than Perl or Python or Ruby or numerous other languages competing in that niche. Except, of course, that it can be used to create applets... but that's no longer what Java's about, we're told.
In short, I don't see it. Maybe we need to push harder into the web applications arena, but in my mind that means pushing further down the path that projects like Zope are already on... more apps you run with Apache, and with each other.
As for Stalin... well, he was an evil son of a bitch whose only real virtue over Hitler was that he was willing to fight on the Allied side. We probably did need his help. We didn't have to hand over Eastern Europe.
Sun isn't that bad, but neither should we hand the web over to them. Making Java Free is today's battle. Keeping the web Free does not require a unified front with 100% marketshare. In fact, freedom pretty well precludes such; diversity is the inevitable mark of an open society.
"The best we can hope for concerning the people at large is that they be properly armed." - Alexander Hamilton
- Webservices are simply RPC via XML over HTTP which can be implemented in any language with a sockets library and on any platform with a web server.
- The predominant web services protocols and standards are open and are in fact W3C recommendations or are soon going to be including XML, SOAP, WSDL, and UDDI.
Whenever I read articles like the one referenced in the above post I can't help but feel that people like screaming like Chicken Little simply to hear the sound of their own voices. The fact of the matter is that the goal of web services has always been for interoperability between platforms and languages hence the use of XML and HTTP, heck even Microsoft's Hailstorm claims to be language and platform agnostic with regards to accessing its web services.Repeat after me, all you need to do web services is a web server and a programming language with a socket library and strings support (i.e. almost all of them). Everything else is syntactic sugar and icing on the cake to maximize developer productivity the same way VB and ASP are supposed to versus C++ and Perl CGI.
Granted, Apache is great. But the big picture is not whether or not Apache will lose the battle for the web, but whether or not Open Source will lose the battle for the web. I think that we can honestly say that if past experience is any indicator, then no, Open Source will not lose the battle for the web.
There are still plenty of businesses who want to have something on the web, although many of them don't know what. Either it's a "corporate presence" or actually putting a useful application on the web...whatever. All they know is they want it. Many of those businesses are cash-strapped (especially in times that are supposed to be poor, like now), and they don't have the vision to consider all the costs of a web-based project. They only see the cost of the software, hardware and either salary of who they have to hire/contract to get it done or the training budget to teach someone in house. Based on those factors alone Open Source in general (and Apache + PHP in particular) win. But, even if those poor saps in the IT department are called upon to actually give reasons besides money to go with Open Source, they can point out that there are many, many existing deployments of Open Source web servers that are happily humming along handling gobs of traffic without the susceptibility to attacks that Windows NT and 2k are normally susceptible to. Pair that with the overwhelming support of the Open Source community and you've got yourself a viable product.
But hang on, Virginia, it really isn't that simple. Microsoft is a really huge company (duh) and they've got clout in name if nothing else. Plus, IIS is ain't a half bad server and Active Server Pages really are easy to implement. Web services could make the server software more or less irrelevant, so Open Source could be on the ropes, right? WRONG! We, as the developers who are responsible for presenting all the options to our superiors, continually appeal to their desire for profit and remind them that there are alternatives to the pricey software packages they have been limited to knowing about.
If human nature is still what I think it is, the price alone will make the bean-counters salivate. The stability, proven performance and community support will make the IT managers grin. And a goddamned working product will make the customers/clients happy. Open Source may have to simply find itself a comfortable niche as the alternative to budget-busting name-brand software, but it most certainly not lose the battle for the web.
Good night.
My sigs always suck.
This is more true than many people realize. I am in the process of deploying a web app for my company and am using Tomcat to serve it. The way the very MS oriented networking guys are reacting to having to read docs and edit config files is amazing. You would think I had asked them to crawl through glass and modify the configs with their own blood. You can SEE what is going through there minds, "Where's the SETUP.EXE I click on? Where are the checkboxes and Next/Finish buttons? Why can't I just fake it for now and worry about the details later if/when it breaks?!"
:) Oh, and KOL had better be able to run AOL too heh... Oh my!! BETTER PLAN!!! Get AOL to distribute a copy of KOL on their CD's (in return for an AOL icon on the desktop)! Automatically convert their 'office' files to StarOffice... World domination is within our grasp folks!!!!
To make learning how things work optional is obviously an MS goal. And a strategy that is guaranteed to succeed due to the average persons desire to gain maximal slack. I'll restate the obvious yet again by saying that Linux/Apache/otherbestOSS are doomed to marginal levels (IOW - Apache's share will continue to decline) of usage by the world at large, due purely to human laziness. UNLESS and until an easy-to-use and _knowledge-optional_ Linux/Apache/whatever comes out. We're talking pablum-dripping-fuzzy-bear-and-talking-flower easy here.
I kind of like the sound of it though. Knowledge-Optional Linux - The KO punch to MS!
All joking aside, (s)he who implemented KO Linux/Apache/whatever and it's ultra-anti-1337 interface would in fact be the most 1337 of them all...and likely have a nice FAT bank account out of the deal too.
LEXX
"Gold still represents the ultimate form of payment in the world." - Alan Greenspan, 1999
Not that Windows machines would place very well anyway...
When I hear stuff like that, I think, "Uh oh, here come the consultants". I've been there: and believe me, the emperor has no clothes. This stuff is just what the term "FUD" was invented for. When someone quotes "enterprise component architecture" at me, and then adds "WSDL"and "UDDI", and then throws in a measure as Java jargon as the solution, I think: "there's no there there". Usually, this means the person saying this wants me to pay him a lot of money because he is so much smarter than I am.
We have OK clustering and failover solutions today. If anything is an obstacle there it is open source databases, not server/service platforms. WDSL? UDDI? Must it be those acronyms or will others do? I would like to hear what the real missing functionality is. A GUI and a few acronyms du jour buy me very little.
So web services are the next big thing? Maybe. But we thought the same about thin clients 5 years ago, or B2C's two years ago, or B2B's just last year. Wrong, wrong, wrong. Give me choice between an acronym consultant or a competent PHP programmer, and I will tell you who makes the biggest and fastest difference to my business's bottom line. And that counts nowadays. (Hint: it's not the consultant.)
That, and the obvious Java bias of the author, and his Sun links, makes me doubt the article even more. I put this one down as "In spite of his bias he may have a point but if so, I'd like to hear that point, not just hype.
Michael
---
BDOS ERR ON A:>
First and foremost, the USA wants to control all software development, to some extent.
Microsoft is a US company. Several sectors of the USA entity, whether corporate, military or economic, want to have a certain level of control over the web, and other compute schemas.
Having Eastern European, Chinese and Indian/Pakistani Engineers holding the reins of software development in the near future is a most unappealing scenario to these sectors.
This is not to say they won't USE these emerging overseas assets, they just want to control them under the terms the USA sets. Open Source is giving up control -- a big no-no to the control freaks.
What we are seeing is a race -- all three branches of the US government are watching, are keeping their distance -- look how slow and predictable the "Microsoft Trial" has been -- really little more than a dog and pony show.
Second, Microsoft has on-the-spot management. While the open source people argue about KDE and Gnome, Reiser and XFS, for weeks at a time, MS comes up with object hierarchies and deploys them to 90% of the world's desktops. Open source is only a few percent of what the public see -- if you control the desktop, you will eventually control the back office and pipe.
Third, corruption. Plain and simple, a lot of powerful people made a bundle on MS and would like to keep that ball rolling. Thus, throughout the US government and civil service, there is a wave of "get rid of Unix for Microsoft". They say there is simply no option, although modern Linuces are pretty easy to install and use.
Fourth, deprofessionalisation. People want to plug a new computer into their net and have it run. They don't want to pay someone $75K a year to run around fixing them. The "suits" I deal with, plain and simple, think MS will lead them to a mantainence-free office long before Open Source ever will.
So, what is the fix? Like we saw on Linux Today, Java is a great platform. There are independent implementations getting strong and going online.
This alone is not enough, however. To beat MS, a few things MUST happen:
1) They must lose market share. In the USA the only way this will happen is via the law. The conviction must be upheld, and stringent controls applied -- like the opening of Exchange, permission for vendors to add a dual boot partition and modify the screen, restrictions on bundling, and a legal requirement for all state and federal computers to move to 2/3 non-MS platform or OS within 10 years.
2) A longer term solution will be China, India, Eastern Europe taking over software. This may take 50 years or more, so I will be dead before it happens. I'd prefer scenario one.
3) Somehow, Computer people need to stop looking at software and administration as a "cash cow". The customer wants smaller, faster, cheaper. What are we doing to give them a "plug-n-play" network? Even though it may cost us our jobs? These people have a bottom line, and it's time for programmers and admins to stop being so greedy.
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
I really don't think there's going to be any one winner in this battle. Some people are going to gravitate towards .NET; some will stick with Apache/PHP/Perl/MySQL/etc and will get excellent results with it.
.DLL and soon replaced. The second company were hot-shots who thought they knew everything and ran themselves quickly into the ground. (Second company switched to Linux.)
.NET; go with what you know. But if .NET has stuff that is genuinely appealing and useful to you, then learn about it and make good use of it.
Most of the time this stuff is dictated by the existing conditions of the company (or the prior experience of the employees). I know of two companies, both of which used Windows, for their web services. The first company had people who actually knew what they were doing; they had no problems more major than a memory leak that was traced to a bad
All this proves, to me, is that the companies that thrive will be the ones with competent people at the helm, no matter what the OS in their servers. Apache works for you? Great! Don't bother with
Honorary Member of Jackie Chan's Kung Fu Process Servers
If it took five Windows2000/IIS servers to do the same work as one Linux/Apache/MySQL/PHP, is that really a net loss of market share when it goes from Linux to Windows, or is that just yet another system for the black hats to go carding at?
I give a rats (_o_) about what OS I run, I really just want to
Get the job done
for low bucks
secure
available
When it takes 5 pretty good servers on one OS to do the work of 1 low end server, gee, do you really think I would want to change?
Oh, the change from 1 Linux to 5 2000's was driven by a boss that thought because the tech's didn't use a GUI, it must be old, bad, no good software.
Sure, point and click to your ignorant pea brained content, jerk. But I'm not bitter.
Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves.
I'll let you in on a little secret..
Once upon a time there was a wise old (okay, he was pretty young) man named Linus. One day, he created this thing called "Linux." Many moons later, and after many people followed his trail, he uttered some words jokingly. Those words were something to the effect of "Linux will strive towards World Domination." A little news site, called Slashdot, was running at the time. They posted the word of Linus. People far and wide took notice and took his words literally. For the people of Linux hated the empire known as Microsoft. They saw Linux as a way to bring them freedom from the empire. They weren't too keen on the points of GNU's idea called "free software," but they did realize they would not have to pay the Microsoft tax anymore.
And here we are today. In a battle of words with no action. The free software coders for the most part do not care about Microsoft's market share. And some *gasp* actually want the freedom provided from free software.
Honestly, I would simply _love_ it if we could all go back to 1996 or 97. The community was thriving, but not being hyped. There was no news site (except maybe Slashdot.. can't recall the exact time period). Now it is too crowded, it seems. Freshmeat used to be a place where quality software could be found (not the landfill of use-once-and-throwaway perl scripts it is today). Today I suppose we have Advagato (Kuro5hin isn't exactly 100% technology forum, but it's nice). It's just not the same anymore. Will people continue writing free software knowing people are making money off of it? If I knew big corporations were making money off Apache (and I coded for Apache) I'd be asking questions. If IIS is selling, is my time worthless? Could I be making money coding on proprietary? Serious questions need answering.
Dijkstra Considered Dead