Jump to content

PHP or Java for Enterprise Open Source Adoption

jon.unger's Photo
Posted Dec 16 2010 09:14 AM
8144 Views

I'm working on building a software suite that would be used in the enterprise information technology industry. This application would be released as open source and help technical support desks and the like better serve the business users. The platform will use Adobe Flex and either PHP or Java.

I know many of the existing types of this system software is written in Java and/or .Net. While building it in Java would make sense from an enterprise side, it seems to contrast with the Open Source notion because the most successful applications to gain adoption were written in PHP.

Java = Standardized Platform for Enterprise IT
PHP = Wider Developer Audience

Have large businesses become more open with PHP based applications? What are your thoughts on using PHP vs Java in delivering something to the enterprise community but still gaining the traction with the Open Source community?
---
Jon Unger

1 Reply

+ 2
  cothomps's Photo
Posted Dec 20 2010 02:46 PM

Have large businesses become more open with PHP based applications? What are your thoughts on using PHP vs Java in delivering something to the enterprise community but still gaining the traction with the Open Source community?

This is a pretty tough question to answer - it does require some thought as to what segment of the "enterprise" market you're trying to reach.

I can't speak well to the .NET world, but many companies have adopted Java as a standard for a few reasons, in no particular order:

- The idea of middleware. When software is isolated from the hardware or runs on a platform like Weblogic/Websphere, then you end up with code that is relatively easy to port from machine to machine - you can make a software investment with the idea that you're not tied to 'the machine'. This reason will likely fade a bit in our new era of virtualization, but J2EE apps do not require a particular hardware configuration to run.

- For the same reason, porting apps from environment to environment (particularly developer machines to a common build environment to a QA environment, etc.) is also relatively painless, at least compared to the system dependencies of PHP, C/C++, etc.

While PHP is maturing past some of those issues ("what shared library dependency!?!?") there just hasn't been that period of experience yet.

- There is also a great deal of experience in creating high availability environments in J2EE using clustering and other techniques - it's easy to add capacity by adding servers. (Again, virtualization is stepping into a void here that will take time to fill.)

- ... and the middleware environments also have pretty slick monitoring and managing toolsets.

- In the pro-PHP mindset, PHP apps are usually dead simple to set up if you have the right environment. I've seen a lot of PHP apps at the 'department' level where a group might have set up MediaWiki or some other tool for use while the 'enterprise' level sees large deployments of J2EE/.NET apps.

... so if your tool is something you're gearing toward a small business/departmental use (call center?) PHP might be fine and might actually see more adoption compared to a heavy-duty J2EE app - but if you want into the 'data center', J2EE/.NET might be the way to go. (Open source project have often caught fire in the enterprise market, particularly the Apache/Jakarta apps. Those tend to be 'framework' type of apps, however.)