Domain: apache.org
Stories and comments across the archive that link to apache.org.
Comments · 2,937
-
What about Cocoon?IMHO, one of the most exciting things to come out of the Apache XML project (or Apache in general) is Cocoon. Cocoon includes the eXtensible Server Pages (XSP) Processor which allows complete separation of content and presentation. XSP is what JSP wants to be when it grows up. It provides tags for the inclusion of Java logic into dynamic XML documents - other languages will be supported in the future. This, combined with the XSLT engine (Xalan) provides a very powerful content generation and formatting framework.
Anyone who has to design, implement and support large, web-based applications should check out Cocoon.
Neutron
-
What about Cocoon?IMHO, one of the most exciting things to come out of the Apache XML project (or Apache in general) is Cocoon. Cocoon includes the eXtensible Server Pages (XSP) Processor which allows complete separation of content and presentation. XSP is what JSP wants to be when it grows up. It provides tags for the inclusion of Java logic into dynamic XML documents - other languages will be supported in the future. This, combined with the XSLT engine (Xalan) provides a very powerful content generation and formatting framework.
Anyone who has to design, implement and support large, web-based applications should check out Cocoon.
Neutron
-
What about Cocoon?IMHO, one of the most exciting things to come out of the Apache XML project (or Apache in general) is Cocoon. Cocoon includes the eXtensible Server Pages (XSP) Processor which allows complete separation of content and presentation. XSP is what JSP wants to be when it grows up. It provides tags for the inclusion of Java logic into dynamic XML documents - other languages will be supported in the future. This, combined with the XSLT engine (Xalan) provides a very powerful content generation and formatting framework.
Anyone who has to design, implement and support large, web-based applications should check out Cocoon.
Neutron
-
Ralph Engelschall (was Re:Alan Cox)
4 weeks ago Alan Cox spend a weekend i Denmark and Sweden giving talks in Stockholm and Lund to the local LUG he speeks very well!
Absolutely. He's brilliant. In fact, it seems like all the top people in Linux are brilliant speakers. Which came first, the brilliant speaking or the high position in the meritocracy?
This week at ApacheCon Europe I listened to Ralph Engelschall (mod_ssl, mod_rewrite, etc) speak. He was speaking in English, which (seeing he's Swiss) must be his third or fourth language. He was talking about SSL and security, which is a deep technical topic. He was lively, witty, inspiring, fun. He obviously enjoyed himself. He obviously knew his topic inside out. And he was able to communicate both his enjoyment and his knowledge.
I think what it comes down to is the meritocracy. Ralph Engelschall, like Alan Cox, got to his position in the meritocracy because he produces exceedingly could code ('damned cool voodoo'). You need to be pretty brilliant to produce code at that level, and many (though not all) pretty brilliant people are good speakers.
-
XML + XSL + CocoonThe other alternative is to do it all on the server using XML to specify your content and XSL to do the transformation. It exists, it works, and it doesn't rely on hardware manufacturers implementing new standards properly.
I can't see that, in the near future, anybody will want the same style sheet for a desk top browser and a mobile phone - and I would expect the content displayed on a phone to be very much more restricted. Rather than send a lot of data that's going to get ignored, there's a good argument for only serving the data that's required. A producer->processor->formatter architecture allows for this. A servlet generates dynamic content, which is then passed to a processor that mungs it about a bit - inserts dates, side bars, menus and the like, before a formatter turns it into, for example, HTML, WAP, VoxML, or a binary format like PDF. Apache Cocoon is one architecture that does this, now.
-
Why a new MP stylesheet language? This is why!
We can credit W3C for being forward-looking, but I expect that CSSMP will go the way of WAP.
Perhaps not. I believe the point of this newly crafted subset of CSS2 is to provide a stable reference for useful functions that ought to be in mobile devices (meaning ultra-portable devices with limited display capabilities, and not meaning laptops which might have better display capabilities than many quite old desktop computer layouts with small VGA monitors which are still in use throughout the world).
This area is of keen interest to me, and after the long agony with simple HTML 3.2/4.0[1]+ and with CSS1 through the still not-quite-totally-there CSS2, any way to avoid any more standards wrangling will come as a great relief to those of us who have to actually do this stuff for a living. I'd imagine that XSLT 1.0+ engines will do much of the actual work, and it really helps to be able to more or less reuse all that existing work with a near-exact subset of CSS2.
Anyways, I'm back (in a few minutes, after a little more procrastination) to figuring out how to most efficiently split up parts of (simple for now) XML documents for later Java/Python XML/XSLT processing, while allowing simpler, more immediate PHP 4.0+ XML processing. Argh
.... -
Apache.org Server Status: 17 hits/second
Hey, look, the Apache website server status says they're serving 17 hits per second. That's around 1.4 million per day. Looks pretty fast. Looks like they're running Apache. Hmmmm.
-
Apache Performance Notesstraight from http://www.apache.org/docs/misc
/pe rf-tuning.html:Apache is a general webserver, which is designed to be correct first, and fast second. Even so, its performance is quite satisfactory. Most sites have less than 10Mbits of outgoing bandwidth, which Apache can fill using only a low end Pentium-based webserver. In practice sites with more bandwidth require more than one machine to fill the bandwidth due to other constraints (such as CGI or database transaction overhead). For these reasons the development focus has been mostly on correctness and configurability.
Unfortunately many folks overlook these facts and cite raw performance numbers as if they are some indication of the quality of a web server product. There is a bare minimum performance that is acceptable, beyond that extra speed only caters to a much smaller segment of the market. But in order to avoid this hurdle to the acceptance of Apache in some markets, effort was put into Apache 1.3 to bring performance up to a point where the difference with other high-end webservers is minimal.
-
From the Apache DocumentationApache is a general webserver, which is designed to be correct first, and fast second.
This was taken from Apache's own Performance Notes Site.
IIS may be faster. I actually don't know, because I've never used it. But I will say this: I worked at LinkExchange when we were the number one company in Internet reach (52%). That's right, more eyeballs than AOL, Yahoo, and MSN combined. And we did this using Apache; both for our site, and for our banner network.
Not to start a flame war, but there's also a chance that the performance bottleneck is Linux, and not Apache - LE was using FreeBSD. There's an excellent benchmark of various Unices, which may indicate as much. It well done, but doesn't get going until page 8 or so...
Anyways, be sure to take administrative costs and bandwith constraints before making a decision.
-
Performance depends on what's being served
There are several web servers that may outperform apache on serving static content. Search freshmeat for possibilities.
Dell themesleves (with RedHat) have claimed record-setting performance using their "Tux" kernel-space web server daemon. (again for static content)
If you need to support more general content, then look at the flexibility in apache (and other Unix web servers) to support a wide array of different services and the ability to tune apache.
There's more to performance than just performance. Can you tune the server? How easily? Content management? Scalability to multiple servers/load balancing? Integration with database back-ends or java servelets? Security! Server management? Ease of upgrading? Paltform-dependancy? Licensing costs?
IIS ties you to one vendor's solution FOREVER. You can migrate an Apache site onto just about any O/S and hardware platform. This may or may not be important to your decision.
Depending on what you need and the skills your company possess, Apache may be an excellent choice or just OK.
I know you asked for benchmark data; Sorry I don't have a link to any and benchmarks are usually heavily cooked beforehand anyway (such as the Dell/RedHat example). IIS has a marketiing-savvy corporation behind it. Apache has the largest installed base on the planet and thousands of success stories.
There may be some info at the main apache web site, Apache Today, the apache week and oreilly sites (don't have url handy).
Oh, unless your firm is tied to buying only Dell, look at the offerings from VA Linux and the other linux vendors - I know VA can provide specific tuning suggestions.
-
easy
While the current crop of readers doesn't handle the oebook spec, rest assured that they will. All the principal industry figures are participating in the specification. I can only assume that the lack of support is a result of the "rights management" issues currently occupying the time of the conferees.
In fact, the only feature of the oebook not supported is presumably the package format and "spine", the base of the spec is a simplified xhtml which should not break any current reader. Cleanliness of appearance is another matter, YMMV.
As to writing books to the spec, get yer data in XML, get Xalan and write a stylesheet. Don't get cheaper than that. -
Re:Maybe yes
Jakarta/Tomcat is a nice servlet container with jsp support. jserv is another servlet container. I personally prefer Tomcat because it's quite a bit easier to set up. For a full CORBA implementation, hook either container into ORBit, the Gnome ORB.
For full-on EJB (J2EE) support, try Allaire's JRun. Though not free in any sense of the word, it is a fully integrated EJB container and app server. -
Re:Maybe yes
Jakarta/Tomcat is a nice servlet container with jsp support. jserv is another servlet container. I personally prefer Tomcat because it's quite a bit easier to set up. For a full CORBA implementation, hook either container into ORBit, the Gnome ORB.
For full-on EJB (J2EE) support, try Allaire's JRun. Though not free in any sense of the word, it is a fully integrated EJB container and app server. -
debugging process - that article is *FLAWED*Quote from the article:
Another compelling (and often-quoted) section of The Cathedral and the Bazaar is the discussion about debugging. Raymond says: "Given enough eyeballs, all bugs are shallow" and "Debugging is parallelizable." These assertions simply are not true and are distortions of how the development of fetchmail proceeded. It is true that many people, in parallel, looked for bugs and proposed fixes. But only one person (Raymond) actually made fixes, by incorporating the proposed changes into the official code base. Debugging (the process of fixing the program) was performed by one person, from suggestions made by many people. If Raymond had blindly applied all proposed code changes, without reading them and thinking about them, the result would have been chaos. A rare bug can be fixed completely in isolation, with no effect on the rest of the program.
The above quote from the article suggests that "debugging" consists essentially of making the code changes themselves. - WRONG!
The most excrutiatingly painful part of the "debugging" process is to actually find the bug, not necessarily and exclusively fixing it which I consider more like the fun part of the challenge. Well that can be inverted in some cases too
...Anyway, the Open Source model, with "many eyeballs" looking at the code, helps you FIND a lot more bugs than one person would, and identify the weaker areas of the code and architecture. Of course the code doesn't fix itself because a bunch of geeks looked at it, and the OpenSource concept never ever claimed to allow that, but it does allow a more thorough debugging process which will eventually make for stronger code.
One of my favorite Open Source projects is the Xalan XSL processor, which I believe is another marvelous example of the success of the Open Source concept. I have tested its compliance against W3C Standards by using a good 99% of XSL-T and XPath's features in some complex XSL-based applications I'm working on, and I can tell you this thing is rock-solid, which I find even more laudable as language processors are some of the more complex applications one can develop.
-
Sending files to other users using TOC protocol
If your TOC-based AIM client can't send files to other AIM users, try sending them via industry-standard HTTP with an AIM addon called Apache Server. Now available for Windows 9x and NT.
<O
( \
XGNOME vs. KDE: the game! -
Re:Caching web proxies have their own problems
Some ISPs (cough) with policy routing to the caching HTTP proxies have such bad routing that news sites like Slashdot have day-old headlines.
Not to say that having 24 hour old documents by default is the best thing to do, but if slashdot used the Expires header the age of the document in the AOL proxy could be controlled. mod_expires can be quite useful in setting the expiration of a document. -
Leverage Frameworks - Post Only Subversive PartsI suggest that you minimize the amount of explicitly subversive code (and also your development workload) by making use of readily available frameworks.
It's preferable if these are open source, but they don't have to be to suit your purpose; for example Metrowerks PowerPlant is the most popular application framework for the MacOS, and although it is a commercial product it is inexpensively available and when you do buy the Codewarrior development system you get the PowerPlant source code on the installation disk.
You can even develop an open source framework yourself and publish it openly, and invite in contributors publicly, and distribute non-subversive demo and test programs. Alternatively, you can add functionality to frameworks that almost suit the purpose and submit your patches back to the original maintainers.
This will save you work, although you may have to write "adapters" to be able to use someone else's library for your own purposes, it will increase reliability of your product, because the framework will have already been debugged by someone else and also tested under a wider variety of circumstances than it will encounter in your code, and you can concentrate your work on the particularly subversive parts.
Then you post only the "interesting" parts of your source code, and provide hyperlinks to the needed application frameworks in your build instructions. Be sure to include the version numbers needed for this build of your program, and if the sources to any of the frameworks are signed with a public key, include the key which those sources were signed with when you got them. That way you can be sure future programmers can rebuild the same program as you did.
It may well be that you have a large application but only a few source files and some build instructions to upload, which could be done off a floppy disk at a public access terminal. If you upload these to a few free webhosting service pages, then email the URL to a bunch of warez site maintainers, your code will be looked after.
Note: to find lots of warez sites (and even more serialz sites) go to Altavista, click on "Advanced Search" and enter:
download and warez and photoshop and illustrator and crack
Probably only 10% of the sites you find will actually have live warez (they get taken down quickly) but some patient hunting will find you any software title you want - but of course your objective here is to contact the warez site maintainers so they can introduce your program into their archive system.Note that if you want to build a Windows application you can build it with Cygwin (a GNU shell environment for Windows including gcc) so you can be sure Microsoft doesn't embed Globally Unique Identifiers in your code. I'd also suggest that when you make a windows build, you buy a brand-new copy of windows 98 (pay cash), install it on a freshy formatted hard drive, build your binary, upload it, low-level format the hard disk you built it on and throw away the Windows 98 installation disk and all the materials that came with it. It's probably hard to get away with installing a development system on a public access terminal.
If you don't want to use a public access terminal (after all, you might be recorded on a surveillance camera, or the coffee shop waiters might remember you skulking around), then use Zero Knowledge Systems' Freedom to anonymize your web access.
Note that the way Freedom works is your HTTP packets are multiply encrypted with the public keys of the Freedom Network's servers, then "unwrapped" one by one as they pass through up to three servers until they are passed unencrypted to the public net at a faraway place.
Freedom provides both anonymous web browsing and anonymous email send and receive.
Some sources for open source libraries:
- Available C++ Libraries FAQ
- The Apache XML Project
- The Free Software Foundation software page
- Walnut Creek CDROM Free Software Archive
- SourceForge
- Freshmeat
- Gnome
On the other hand, when you write new code, it is definitely worth while to snip out little bits and make sure that they will compile and run on their own, or depend only on other readily available libraries. That way you can create a library yourself.
The book More C++ Gems has some articles on Large-Scale Software Architecture that discusses reducing cyclic dependencies in software projects, in part so that the projects can be rebuilt faster but also so that they can be unit tested in smaller parts and the parts can be extracted out and reused in other programs - although the claim is often made that object-oriented software is more reusable, this claim is baseless unless good engineering practices are observed.
-
XML FOPIf PDF will do (which is, of course, directly convertible to PS), you might want to look at the XSL:FOP, which is supported by the Apache XML group xml.apache.org.
They have C and Java libraries which serve this stuff up from XML files in real time via the webserver, but the cool thing is that these libraries also contain stand-alone tools for converting XML to PDF via XSL:FOP. I've used it to produce invoices for web orders. It works great.
-
Re:Web Programing, Display and Content
Take a look at Cocoon Cocoon maintains a clear separation between content, programming logic and presentation... Hope this helps, Gaius
-
Good suggestions here, but not complete.
Here are a few technologies to consider (using Perl):
There are many more, but these are the ones I would consider for people who already know ASP. Apache::ASP looks like a very mature and solid product, as does Embperl. I would trust either of those.
Also, is there a business need to convert the existing ASP code to work with the new platform? If so, you might consider looking into ASP2PHP, if you're already considering PHP. The author says that it will convert most of the code to PHP.
Also, I can tell you that there is (sort of) a project in the works right now to build an ASP to Apache::ASP/Perl converter and/or interpreter. To follow this, just keep an eye on the mod_perl mailing list at one of the archive locations. It will probably be called VBScript::Parser. See http://perl.apache.org/#maillists for a list of searchable archives. Most of them are updated weekly.
Also, I've noticed some comments along the lines of "JSP is without a doubt the best/fastest technology out there". Uh... Where is your proof on this? I have a suggestion, go to the mod_perl mailing list and make this statement. See where it gets you. According to them, "It's widely accepted that server side Java solutions such as JServ, JSP and JRUN, are far slower then mod_perl solutions" (http://perl. apache.org/perl_myth.html#Java_does_away_with_the
_ need_for).That being said, I think that JSP is a fine technology, and there is nothing wrong with using it. I'm about to embark on a project myself using JSP. Just don't try to tell people it's the "Holy Grail". That's more than arguable.
-
Good suggestions here, but not complete.
Here are a few technologies to consider (using Perl):
There are many more, but these are the ones I would consider for people who already know ASP. Apache::ASP looks like a very mature and solid product, as does Embperl. I would trust either of those.
Also, is there a business need to convert the existing ASP code to work with the new platform? If so, you might consider looking into ASP2PHP, if you're already considering PHP. The author says that it will convert most of the code to PHP.
Also, I can tell you that there is (sort of) a project in the works right now to build an ASP to Apache::ASP/Perl converter and/or interpreter. To follow this, just keep an eye on the mod_perl mailing list at one of the archive locations. It will probably be called VBScript::Parser. See http://perl.apache.org/#maillists for a list of searchable archives. Most of them are updated weekly.
Also, I've noticed some comments along the lines of "JSP is without a doubt the best/fastest technology out there". Uh... Where is your proof on this? I have a suggestion, go to the mod_perl mailing list and make this statement. See where it gets you. According to them, "It's widely accepted that server side Java solutions such as JServ, JSP and JRUN, are far slower then mod_perl solutions" (http://perl. apache.org/perl_myth.html#Java_does_away_with_the
_ need_for).That being said, I think that JSP is a fine technology, and there is nothing wrong with using it. I'm about to embark on a project myself using JSP. Just don't try to tell people it's the "Holy Grail". That's more than arguable.
-
Good suggestions here, but not complete.
Here are a few technologies to consider (using Perl):
There are many more, but these are the ones I would consider for people who already know ASP. Apache::ASP looks like a very mature and solid product, as does Embperl. I would trust either of those.
Also, is there a business need to convert the existing ASP code to work with the new platform? If so, you might consider looking into ASP2PHP, if you're already considering PHP. The author says that it will convert most of the code to PHP.
Also, I can tell you that there is (sort of) a project in the works right now to build an ASP to Apache::ASP/Perl converter and/or interpreter. To follow this, just keep an eye on the mod_perl mailing list at one of the archive locations. It will probably be called VBScript::Parser. See http://perl.apache.org/#maillists for a list of searchable archives. Most of them are updated weekly.
Also, I've noticed some comments along the lines of "JSP is without a doubt the best/fastest technology out there". Uh... Where is your proof on this? I have a suggestion, go to the mod_perl mailing list and make this statement. See where it gets you. According to them, "It's widely accepted that server side Java solutions such as JServ, JSP and JRUN, are far slower then mod_perl solutions" (http://perl. apache.org/perl_myth.html#Java_does_away_with_the
_ need_for).That being said, I think that JSP is a fine technology, and there is nothing wrong with using it. I'm about to embark on a project myself using JSP. Just don't try to tell people it's the "Holy Grail". That's more than arguable.
-
Re:Does this work with old clients?
reverse proxy can be done with Apache and mod_proxy, see the documentation for mod_proxy at http://www.apache.org/docs/mod/mod_pr oxy.html. To do name-based vhosting with it, you have two options: either have the <Virtualhost> directives on the rev-proxy and forward to different URL paths on the backend (i.e www.bletch.com/urf becomes backend.serverfarm.com/bletch/urf), or you pass the Host: field as Original-Host to the backend, and then setup a fixuphandler to put it back as the Host: header. There is an example module that does something similar (passes the original request's IP as X-Forwarded-For" at http://www.cpan.org/auth ors/id/ABH/mod_proxy_add_forward.c; it's originally meant for use with mod_perl, but there's no reason why it wouldnt work with anything else on the backend, with a tiny bit of C hacking.
-
How to do it with Apache...http://www.apache.org/docs/vhosts
/name-based.htmlI just set it up for all my hosted pages, and it works beautifully. It took less than 10 minutes.
-
Re:You are correct
I meant to include they will assign for IP-based on exceptions (which I would assume would include SSL). You can do FTP, POP, IMAP, etc... on a virtual host bases (even telnet) but it starts getting tricker (and more limiting).
We run a single IP / multiple host type scenario here... about a dozen and a half websites with individual FTP and email.
- qmail and vpopmail work wonderfully supporting tons of domains under one IP
- Naturally, Apache is what the web server is
- (check freshmeat) ProFTPd seems to use the same interface that Apache uses to give you multiple domains under one IP which remain seperate from each other
I'm not saying all problems can be solved, but the biggest ones (aside from SSL) are gone with some software.
vpopmail in particular is nice... combined with qmailadmin (also on inter7's site) you can give each domain owner the ability to control their email system from a web interface without any hassle on your end. Courier IMAP knows how to handle vpopmail authentication so POP3 and IMAP are done. The only change on the client end is that they must authenticate as "user@domain" instead of just "user". I usually inform people to use user%domain since Netscape tries to be smart and strip off everything after the @.
-
Tools of the trade?
Before all the comments start to fly about how it is good that Microsoft is willing to use products other than their own, I'd like to remind everyone of the theory of eating your own dog food. Companies, no matter how large or small, should all be willing to use their own product if they insist other people should use it. I had (had being they key word here) done WinNT support for quite some time and never once did I hear Microsoft customer support say anything along the lines of "it might be better if you used Oracle instead of Microsoft SQL for this project." Microsoft has constantly pushed their products, no matter how unstable or under-equipped, as the end all be all solution for every problem. The fact that they are unable to use their own products to support services that they own and administer clearly illustrates the poor quality of their products. How much faith would you have in Apache if you learned that they were running IIS on their webservers instead of their own product? Articles such as this should be staple reading for anyone wishing to switch to an NT shop.
-
Original ideas there are manyWhat have this gang of people done that isn't a "workalike"
The Internet
Internet Explorer. IE started life as Mosaic, one of the original browsers. Like all of the origninal browsers, Mosaic was open source. Microsoft bought the browser idea from its Open Source inventors.
Apache. This is the direct descendant of the original web server (it too was open source), and it dominates the web. Microsoft has tried to copy Apache's functions, but has had a tough time keeping up with Apache's pace of innnovation.
sendmail . Essentially all of the email that goes across the internet does so thanks to sendmail. The orginal (open source) developers now also run a company, but the orignal accomplishments all happened open-source.
BIND The Internet works on IP addresses (eg. 135.23.43.121). Any time you type a URL (letters) into your browswer, you are using BIND. This was invented open source (the B is for Berkely).
TCP/IP These are the two protocols (among others) that make the internet possible. In a sense, they define what is "internet." Developed and implemented open source
Eric Raymond addresses "creativity" issues in his essays. -
Dude, you should have bought this...
In an old article in Slashdot these guys had the ticket for you. This origin server could have been upgraded to easily handle your load. Concentric serves over 100k users with theirs. Of course, you want to load it with Apache and stay away from that crazy things like JSPs and to much CGI.
-
Wrong cool apps, for the wrong reasonsThere are tons of cool applications of Java, but you chose to show mostly the bad ones.
Standardized (albeit by Sun), extensible APIs, especially on the server end, and extensible products, is part of what makes Java thrive today. Transaction API, J2EE, JNDI, Java2D/imaging, Java3D, servlets, JDBC, CORBA. Plus a host of pre-packaged libraries for things like sockets and RMI. Products: object databases (Ozone, the Castor O/R mapping framework), transaction managers (Tyrex), web servers (Resin, Jetty, Orion, Enhydra), XML etc.
Above all, Java connect to anything, provides a lot of freebies (garbage collection, a simple object model), is high-level and easy to learn, and lets you be more productive right out of the box as opposed to languages such as C++. No wonder new stuff is sprouting up like mushrooms -- a phenomenon that I suppose Bjarne Stroustrup is mildly annoyed about and doesn't quite understand. Once you've written a C++ app, it's a dead end. It not reusable. Unless you wired it up with magical strings and CORBA and reinventing all sorts of technologies, it just sits there.
This is much the same reason Python is thriving, really. Unfortunately, Java currently does not have anything that comes close to Zope. Turbine and Cocoon sound like two different projects aimed at this area, but they're not even close.
Who cares about Amex or set-top boxes? Unless I can write TiVo-like apps on my desktop computer that controls the box in interesting and hitherto-unrealized ways, it's useless, just another closed implementation. And Amex, well, how do I connect to my card, then?
Now:
- Both Oracle 8i and IBM's DB2 use Java extensively both for their DB administration GUIs as well as for middleware code. If you didn't know, these are the number 1 and number 2 Enterprise database systems in the world
I wish you hadn't mentioned that. Oracle's bloated, clunky Java GUI stuff is their big black sheep. I wish they never screwed this part up -- Oracle's native NT tools used to be at least adequate. Compare Oracle's present, slow, unstable, overdesigned, Microsoft Bob-like Java GUIs with Microsoft SQL Server 7.0's flashy, fast, and hugely functional tools and you just want to crawl into your mama's arms and cry like a baby.
- Java servlets and JSP are used extensively on the web from sites like mail.com to Firstunion.com. Hundreds of sites use Java(TM) to deliver dynamic content these two are simply the most prominent that come to mind.
Servlets is hardly Java's finest moment, same goes for JSP. True, servlets replace CGI in a nice way, and anything is better than ASP and assorted horrors, but that's about it.
Servlets make up a very low-level layer, and servlets themselves are quite isolated entities, compared to the riches of Zope's DTML documents.
Please, developers, do yourselves a favour and read up on how to properly divide content, logic, and presentation. Hint: Putting Java inside HTML gives you no cigar. Look instead at things like Freemarker and Webmacro, or even that bastard son of template processing, XSLT. Even so, these are quite weak tools, and you need to buy a $35,000-per-CPU app server to get any sense of an integrated package.
End of rant.
-
webmin may be complicated but....
Don't forget you can always create a user within webmin who only has authority to tamper with HTTP configuration... thus eliminating all of the unrelated, "confusing" options presented by the other webmin modules. When the HTTP admin user logs in, they will only see Apache configuration. A bit of training there would go a long way. Not to seem like a hard-ass, but there's no substitute for intelligent admins.... I for one am not a super-skilled apache admin, but you'd be surprised how far the documentation at their site. For that matter, it's probably on your local server, too. Must it be web-based? If not, check into Comanche.
-
Re:A useful admin tool I'd like to see..
I think a project whose job would be to take many modern day UNIX configuration files (/etc/*) and translate them into XML formatted files would be quite useful.
This is a very interesting suggestion, and it may actually receive some enthusiasm. There are actually a couple software projects that I can think of that use an XML-like configuration file (take note of the "<DIRECTORY>" directives). Apache(example) and ProFTPd(example). Xinetd has a configuration file format that could easily be XML'ified, as could SAMBA.
Frankly, providing a generic, hierarchical, XML-formatted configuration file parser would be EXTREMELY useful. Personally, I'm ready to rip out Apache's or Proftpd's config parsers for my own projects and modify them accordingly.
Another interesting software project to take a look at if XML configuration files is something that appeals to you is Everybuddy, an all-in-one Internet Messanger client.
-
Re:A useful admin tool I'd like to see..
I think a project whose job would be to take many modern day UNIX configuration files (/etc/*) and translate them into XML formatted files would be quite useful.
This is a very interesting suggestion, and it may actually receive some enthusiasm. There are actually a couple software projects that I can think of that use an XML-like configuration file (take note of the "<DIRECTORY>" directives). Apache(example) and ProFTPd(example). Xinetd has a configuration file format that could easily be XML'ified, as could SAMBA.
Frankly, providing a generic, hierarchical, XML-formatted configuration file parser would be EXTREMELY useful. Personally, I'm ready to rip out Apache's or Proftpd's config parsers for my own projects and modify them accordingly.
Another interesting software project to take a look at if XML configuration files is something that appeals to you is Everybuddy, an all-in-one Internet Messanger client.
-
Some material for consumption
It's difficult to find good evidence on both sides of the argument for Open Source. For the record, I'm definitely in favor of open source (especially if your company has no competency in software). In any case, I've included some pieces of evidence, not necessarily in favor of open source per se, but perhaps a bit more generally about dealing with an open community with regards to development.
- Luc Barthlet's "The Simulation Sandbox"
Actually an overview of "The Sims" before it came out, but the end of the lecture discusses how they used immediate Internet feedback to improve the design of the game. - Linux GNOME FAQ
Hidden in the depths of the FAQ in the section "What CORBA implementation is GNOME using?", is a comment about how Xerox's implementation of CORBA was not used. If this had been open sourced, Xerox's name would be associated with an important part of one of the largest software projects around. - OpenSource.org
I apologize if I've being repetitive, but I didn't see this URL earlier. Anyway, this site has some very good arguments in favor of open source. You may wish to take what they have and modify it slightly for your specific purpose. - Successful OpenSource sites
Conferences like O'Reilly's Open Source Software Convention, LinuxWorld Expo, open source projects like Apache and MySQL, and sites like SourceForge and IBM DeveloperWorks are showing that Open Source Software (in some cases) is becoming quite mainstream. If you have even one really cool project, that's advertising that no budget could pay for.
Well, I hope this helps.
-Ray - Luc Barthlet's "The Simulation Sandbox"
-
Apache JServ name conflict
First check out this entry in the Apache JServ FAQ. JServ has a RL namespace conflict too, and yet, no lawsuit. Why does this bank thing have to get all pissed off about Samba (which is not SAMBA)? These people must never have heard of the raw flaming power that is Slashdot when they decided to go after the good people of Samba. And they must not be into Latin dance.
-
Re:Netcraft Result
Apache has been ported to NT, by IBM. There is nothing unusually about it. It's sort of neat to run Apache on NT. Confuses people to no end. Check apache for the binaries and try it yourself.
-
Entreprise Alternative
(Commercial) support like you say is just one of the arguments upon which the enterprise design should be based. I think there are some other points that are more important.
1) Human resources.
How many administrators and developers can you bring together with good knowledge of those IBM components (AIX, Websphere, DB2)? Here Linux or FreeBSD clearly beat AIX. For webapplication developers with Java and RDMS skills the scale (for now) is probably a bit more even, due to healthy competition between the different webapplication frameworks.
2) Product Continuity.
The basic architecture you lay down now will probably be around for a few years, maybe even more, so having your products evolve in sync with new standards is very important. OSS projects, by their very nature, nearly always tend to more aware of interoperabillity than their closed source equivalents.
3) Security, Robustness, Scalability, Performance.
I think the the OSS models, in general create products that score quite good on each of these points, especially when they have been activly developed on during more than a few years.
4) Product functionality.
The XML and Java features of the Java Apache Project or the entreprise ready Enhydra server (with commercial support from Lutris) are already more advanced than those of the IBM Websphere modules. Combine that with an excellent RDMS (with full JDBC driver support) like PostgreSQL and I think you got an excellent webapplication platform that is able to quickly evolve with future technology extensions.
- just my Euro 0.02c -
Re:Sybase is just plain cleaner
The Oracle installer (written in Java so you must have the blackdown JRE - it is just sick and wrong) commonly fails when configuring a database instance.
The latest version includes a JRE. I've installed it 5+ times and never seen a failure. No argument about earlier versions.
When you have Oracle running, it lights up your process table like a Christmas tree - at least 4 server processes, plus some sundry rubbish. A UNIX admin who admires efficiency will be happier with Sybase.
Yeah, no UNIX admin would ever run something like Apache because it creates too many processes.
--jb :-) -
Re:sitting in the office
PHP isn't really a competitor to Perl in the CGI space. PHP is embeded in an HTML page, whereas a Perl CGI is more likely to be in the backend, or at most generating HTML. There are HTML::Embperl, ePerl, and maybe other embeded perl options, but probably the way most people use Perl is not comparable to PHP.
-
Re:Painful names
-
It's obsoleteAlthough GSP was a nice implementation of an early Java Server Pages spec (0.92, I think), the current JSP language is significantly different. Since JSP 1.0 & 1.1 are widely supported by open source systems, including Apache's jakarta-tomcat and Caucho's Resin (which both completely rock), GSP seems like a poor choice for any new development.
Another problem is that GSP was written to the Servlet 2.0 spec, and fails to run under 2.1/2.2 compliant servlet runners. If you have to run JSPs within a servlet 2.0 environment (like apache jserv), look at gnujsp, which is largely JSP 1.0 compatible.
-
Color me stupid if need be; Just what is this?I've downloaded the code and browsed it; I'm not entirely certain precisely what Tux is.
Is it:
- A "hack" designed to make IIS look as stupidly slow on carefully "hacked-at" benchmarks as the IIS benchmarks make Apache look?
No particular flaming intended here; in either direction, this represents "benchmarketing" as opposed to anything realistic.
It may be as unrealistic to "real world" situations to use a highly tuned combo of TUX and Apache and make IIS "look sick" as it was for Mindcraft to use a heavily tuned IIS to make a poorly-tuned Apache look bad.
- Something that would be embedded into a sophisticated web application framework to make certain cases of page accesses run ravingly fast ?
In which case someone building the next Slashdot might care, as they need to write finely-tuned code, whereas I, when running a lightly loaded web server at home, will have a hard time detecting differences between Roxen, Apache, Boa, and WN.
- Something that I could run in lieu of Boa as a tiny, fast web server?
This isn't quite a flame; it truly is important for a piece of software that you want people to use to be described in an economical manner that makes it easy for people to determine its relevance.
- A "hack" designed to make IIS look as stupidly slow on carefully "hacked-at" benchmarks as the IIS benchmarks make Apache look?
-
Hacking insurance!Here at XYZ Insurance Corporation, we're proud to announce our new Hacking Insurance - protecting your business interests against hackers!
Hackers have been known to attempt to undermine your business interests with subversive activities like replacing IIS with Apache, and porting your product to Linux. Here's what we offer for protection:
- Instant Apache uninstall - we keep secured backup tapes that let you go back to your secure, responsive IIS environment instantly!
- Linux replacement - with proprietary tools we can search out Linux computers connected to your network and replace them with secured NT workstations!
- Source code security - we offer to help you write Windows-specific code so your developers can never switch to Linux if their hacker instincts flair up! As you can see, hacker insurance has many benifits. Protect your business investments today!
-
Re:OSS supporters may be the biggest threat to OSSApache is a webserver, as such, it imitates other web servers already in the market.
You're both right and wrong about this one. From http://www.apache.org/ABOUT_APACHE.html:
In February of 1995, the most popular server software on the Web was the public domain HTTP daemon developed by Rob McCool at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign. However, development of that httpd had stalled after Rob left NCSA in mid-1994, and many webmasters had developed their own extensions and bug fixes that were in need of a common distribution. A small group of these webmasters, contacted via private e-mail, gathered together for the purpose of coordinating their changes (in the form of "patches"). Brian Behlendorf and Cliff Skolnick put together a mailing list, shared information space, and logins for the core developers on a machine in the California Bay Area, with bandwidth donated by HotWired. By the end of February, eight core contributors formed the foundation of the original Apache Group.
The name Apache came from "A PATCHY server", because it was originally a bunch of patches to NCSA's reference httpd. So one could argue that Apache copied NCSA httpd, or one could say that it is an extension of it -- in which case Apache is the original product, and all the commercial webservers are copies of Apache.
But apart from that, you're quite right about OSS vs. commercial software: OSS is best at projects that meet a well-defined, pre-existing need. Innovation (real innovation, that is, not M$ "innovation") into new areas of software is typically done by companies with plenty of money to spend on R&D.
-----
The real meaning of the GNU GPL: -
Re:Porn sites in search engines
If you are a perl fanatic to the extent that you don't mind a proxy with sucky performance then htmlf can filter most things in a very flexible way.
-
Re:URIs don't change: people change them
How about a brand new protocol for locating documents on httpds? If a page has a link to http://foo.bar.org/baz.html then the client checks loc://foo.bar.org for the actual location of baz.html!
Uniform Resource Locators are actually quite flexible. URLs exist in an abstact namespace which does not necessarly have to map exactly to filesystemspace. mod_rewrite, a powerful URI-to-filename mapping system using regular expressions can be used instead of your protocol described above. Want to rewrite URLs in the form /Language/~Realname/.../File to /u/Username/.../File.Language?
RewriteLog /anywhere/rewrite.log
RewriteMap real-to-user txt:/anywhere/map.real-to-host
RewriteRule ^/([^/]+)/~([^/]+)/(.*)$ /u/${real-to-user:$2|nobody}/$3.$1
Also, the HTTP URI or Refresh header can be used to easily redirect an existing location to another. There is no need for a document location protocol.
And if it's been removed for good, then:
I somewhat disagree with this. After all, a URL could be bookmarked, linked, or be refered to in another way. Once a URI is created, it should exist forever. Freenet is an interesting distributed Internet-like network where documents can be uploaded, and since the files do not reside on a central server, exist as long as their is a demand for the file.
103 KILLEDSearching should, in my opinion, be higher level and not in the protocol. CGI can easily be used instead.
And a directory list, too... Client says: LIST /
This really shouldn't be necessary. Links should be able to get to all the public documents on the web server. HTTP is not FTP.
If you feel a new feature should be added to HTTP, suggest it on the ietf-http-wg working group mailing list and it might be accepted in HTTP 1.2.
-
coincidence or...?
I belive this project was inspired by my post of Monday June 12, @04:24AM EDT.
Ok, sure it's just a weak joke from a potential troll- but I do believe boards like slashdot are the perfect place to store such pads. No such conspicuous files to explain, and mountains of data to sift through to even find the millions of instances stored 'round the world.
Someone mentioned in an earlier post that no one would trouble themselves to check all 50 million variations, but I think this would be childs play to the NSA. Perhaps by mixing up portions of pads randomly you could greatly increases the magnitude of what's going on. This would require rather bulky decoding instructions though.
A much more useful idea would be to have a certain webserver (or maybe a standard protocol for all servers) generate a pad with every X web hits (up to a certain quota per day, and at either random or regular intervals), stored on a random message board. The randomness could even be taken from something cool like 'sub-ether' noise on the network, for a touch of Trekkie flair, or any of the myraid techniques used to generate randomness on a machine.
Also, this would allow a type of slang to develop, expressing swift and accurate decoding instructions. As an example; "..dot ..3 ...last thursday." could be buried in an email under other pretenses, and indicate (presuming regular intervals) slashdot's 3 am pad, 3pm pad, 3rd pad of the day, 3rd from the last or 3+x from the y (x being some third source like a stock price fluctuation rounded specifically down). The proper interpretation of the hints could be pre determined by the parties before hand.
This whole idea of 'soft export' encryption certainly has a lot of room for refinement, but it could come in very handy from a web cafe terminal in Europe, when Harrison Ford and the CIA are hot on your hax0r trail.
:)Fudboy -
Re:To be blunt, CVS sucks
Look into Ant, the XML based build tool from Apache.
It's still in its infancy, but the idea is solid I think. Just needs to be developed more. -
Re:Asynchronous communications???We use standard Java, in the form of the java.net.URLConnection class, which does all the work of making an HTTP connection with the server and retrieving data - very little code is involved.
Sun has an example which uses URLConnection.
Another useful tool we use is IBM's XML4J, now part of the Apache project. There are a number of useful Java, XML and other tools at the same site (alphaWorks), it's worth browsing around.
Finally, here's the XML-related Apache site.
-
More free adviceThere's a lot of useful advice in prior posts, so I won't try and rehash it; I'll just add a few additional comments. I'm assuming that you're mainly interested in creating and sustaining an open source alternative to the current proprietary software you're using, and you don't have any larger business goals related to the software. I'm also assuming that a primary reason you want to convert to using open source software is to share development costs, etc., with others; thus sooner or later you'll have to get other people actually working with you on the open source development project.
You didn't say whether you planned to develop the software using only internal people and then release it, or whether you wanted to co-develop with some independent developers from the very beginning. This can make a big difference. If you develop everything internally and then release the software then you'll face the problem of interesting people in working on something that they didn't have any part in creating, and which appears on the surface to be a company-specific project of limited general interest. On the other hand, if you try and bring people in earlier on then you'll be in a situation where you won't have anything yet that runs and is usable.
If you develop the software totally in-house and then release it, this is to some degree comparable to projects like Mozilla. In the Mozilla project the original Netscape developers started out as the designated "module owners" responsible for particular portions of the code, and then as non-Netscape contributors came on board they first contributed patches that were checked in by others, then they could get check-in access themselves (with their code being reviewed by module owners or others) and then finally they had the opportunity to become module owners themselves for particular components. So except for people in your company everybody else starts out "on the outside looking in"; this is unavoidable under this model, and has the effect of stretching out the period before the project is seen as a true open public effort (mostly) independent of your company. (Again, Mozilla is the classic case of this.)
So there are some good reasons to try to get other people outside your company involved relatively early on. Then they can participate as code contributors and module owners for whatever part of the project interests them. As for exercising overall control, you can have a single person overseeing the project or you can try and do a committee-style structure like the Apache folks did.
(The Apache project is one of the most formal ones in terms of their internal organization, and it's probably worth you're checking out what they did with the Apache Software Foundation. Also check out Brian Behlendorf's chapter in the "Open Sources" book, particularly the "Bootstrapping" section, for some information on the types of people you'll need in the course of the project, either from your company or from somewhere else.)
If you want to get people involved early on then you'll need to find people who are motivated to participate at the design stage. You might try looking for existing open source projects that are related to the problem space that your planned software addresses; those projects might have existing software you can reuse, and even more important may have people interested in participating in your project starting at the ground floor. (Even if you develop the software internally you're going to want to do this sort of "market study" anyway, because there's no point in doing work and then finding out that someone else has created a project that duplicates yours and prevents your project attracting developers.)
Another option is actually contracting with independent developers to work on the project in the early development phases, either to supplement your own developers or even to totally outsource the work. (For example, this is what Galactic Marketing did with the open source workflow project they're doing.) Even if you contract work out there's nothing to stop you from running the project "in the open" so others can check it out and provide useful feedback (as indeed happened with the Galactic Marketing project); whether you host the project yourself or somewhere else, you want to have some level of public access so interested observers have an entry point into the project.
That's all the comments I have time for now; good luck with your project!
-
The mod_perl guideThe mod_perl guide is an excellent resource to get you started on. A lot of the performance tidbits are not specific to mod_perl.