[snip] I'm being asked you evaluate a fairly complex web project using the MS SQL Server 2000 back-end. A large application will be built, involving lots of technical and financial information from multiple sources and types of sources input daily, weekly, monthly, etc. Reports will also be run daily, weekly, monthly, etc., against this data. All the data including input, views and reports has to work well with a standard web browser client, although some of the reports will be emailed to clients who use Blackberry PDAs.
I'd rather take more time with the specifics before committing to a single technology but the client is asking which technology we'd propose before they award the job. At this point I'm leaning towards PHP as the solution (although to CIOs, I'm sure 'Java' is still a sexier word than 'PHP'), but I'd like to ask for general opinions on the value of PHP vs. Java (specifically Apache Struts-type J2EE applications) for this kind of web-enabled application. [/snip] I am not going to go at this from a JAVA vs. PHP viewpoint as each have strengths in certain applications. What I will do is evangelize about PHP for the application you describe. We regularly use PHP for "Enterprise Level" applications for a number of reasons including development time, application speed, modularity, cross-platform stability, usability in many situations (for instance, we have many PHP functions that run as standalone scripts or in conjunction with other shell scripting languages that can be called from timed events, such as those found in CRON jobs and other command line executions). I will give you an instance; Retrieve files from remote location each day, Extract needed files each day, Parse files, Import parsed files into database, Do multiple reports in multiple versions (Excel, HTML, PDF, etc), Request needed files from database, Put those files into usable form for billing application, Forward those files to the appropriate location for billing. Eventually we will move our entire billing, customer service, aging and collection information to a PHP application(s) running in a set of web-interfaces...replacing legacy software, some of which still runs as a DOS application. PHP is a terrific solution for developing such a large scale application as modules can be added to the application either singularly or in groups to add needed functionality to the overall application without compromising other modules utilizing the same data. We receive millions of records each week that are handled by the PHP applications, it has the needed horsepower. >From a testing and approval standpoint it allows the cycle to be shortened from conception to production, a very good thing. Errors can be quickly found and corrected while new functionality does not require rewriting tons of code. If you plan carefully each module can remain independent enough from other modules, allowing modules to be added or depricated without affect the performance of other modules. Sound database planning is also key to this. As for the PDA's PHP plays well with XSLT, CSS, and any other formatting tool that you can think of to deliver reports. The same report data can be formatted by PHP using these tools for many different interfaces (again, modularity). PHP, to my way of thinking, is easier to maintain for others who may have to come in contact with your code after you have gone down the road to another project. It is well documented and features tons of extensions that can be added to the core for increased functionality (i.e. http://www.phpclasses.org/mirrors.html?page=%2Findex.html). And finally, you can use JAVA with PHP should the need arise, therefore not locking yourself into a particualr technology and allowing you to flex the strengths of appropriate technologies for appropriate tasks. My .02¢ Jay -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php