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.
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.
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.
Am I the only one failing to grasp the importance of Web Services?
.NET Web Services are great for certain applications (anything can be overused). I've seen a lot of PHP, ASP/COM, and Cold Fusion code that could have been so much easier to maintain if they would have stuck some of the core logic into a "distributed object model" of some sort.
The concept behind a web service has less to do with "metered services", and more to do with managed code (like EJB's). Internally for my Fortune 1000 corporation, I can share the "login authentication code" amongs 10 seperate applications without the applications needing the compiled Servlet or DLL on the machine itself. Moreover, applications like Microsoft Passport (or similar solutions) can be seamlessly integrated into non-Microsoft sites. Both of these scenarios promote incredible Code Reuse, at the expense of the overhead caused by HTTP and XML serialization.
Both EJB's and
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.
It's really all about the bigger picture. Sure, some little site that uses a couple of include files and global variables can be managed fine by PHP, but it's all about scalability in terms of the applications power and complexity. Now, I'm not saying PHP or CF can't do these things - they can. It just get's to be more of a kludge then a solution as the project requirements get larger ).
There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
- 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.