Red Hat announced a new JBoss Open Choice program today that gives developers the ability to employ and deploy more Java frameworks and applications than had previously been available.
With JBoss Open Choice, Red Hat says it "plans to provide application developers with the ability to choose the framework, language and programming technologies that best fit the application requirements they are trying to achieve without sacrificing reliability, availability, scalability or manageability across their projects."
Basically, this means that JBoss will interoperate more readily with popular programming models such as Spring, Seam, Struts, and Google Web Toolkit, all of which can be viewed as competitors to the JBoss app server.
While not earth-shaking, this announcement provides insight into the Java application server market--which is being supplanted in many situations by simple programming models. It also shows that a strategy of open-ness and integration, even with competitive products, is an inevitable path.
Follow me on Twitter @daveofdoom.
Skilled technologists tend to be able find jobs in economic downturns, even if they don't find their ideal positions. But getting a raise in a down economy is a tough trick to pull off. The good news is that jobs in open-source software and niche application skills actually saw pay increases, according to research from Foote Partners.
Foote Partners tracks pay for 371 certified and noncertified IT skills, and its first quarter research shows that pay for noncertified skills in Linux rose by more than 28 percent, while Apache and Sybase noncertified skills saw 25 percent increases in pay. Pay for Java and HTTP skills increased by 20 percent, while IT professionals with PHP, SAP and Unix noncertified skills experienced a more than 14 percent pay increase. Pay for various noncertified skills in virtualization also saw an increase of more than 12 percent, according to the research firm.
Certified IT skills that saw pay increases include HP/Certified Systems Engineer with a 14.3 percent increase in pay, and Sun Certified Programmer for Java Platform, which experienced an increase of 13.5 percent in pay. IT professionals with EMC Proven Professional certifications experienced a 12.5 percent increase in pay, as did IBM Certified Specialists. Systems Security Certified Practitioner pay increased in the first quarter by 12.5 percent.
As with anything related to jobs, there is an ebb and flow of needs and marketable skills. It is interesting to note that the differential between certified and noncertified is negligible--making me wonder what that statistic looks like historically.
Follow me on Twitter @daveofdoom
Last week, Google updated App Engine with support for the Java programming language, opening up another chapter in the development-stack-in-the-cloud concept.
Still the most popular programming language--if only by a margin--Java support could mean potentially more apps being built and more developers using App Engine. Does this mean developers will simply be more productive and can deploy apps that just work? Or are there hidden issues in pushing those apps into the cloud?
The latter is more likely, says Ben Chelf, CTO and co-founder of Coverity, which is set to introduce a new offering Tuesday to tackle these hidden issues. "There's a lot to consider when moving apps into the cloud. Race conditions, deadlocks, and performance problems due to poor locking decisions--these are the 21st century problems multithreaded applications face and you've got to be ready for them when you move to the cloud."
If applications aren't designed to be executed in a massively parallelized environment like the cloud provides, they could have flaws--flaws that while hidden in the comforts of your own home desktop, will be exposed to their very core when running in the cloud. A lot is going to come down to the execution of the application. Here are three areas that Chelf thinks developers need to consider to build their application right for the cloud:
- Will the application be run satisfactorily if each thread runs slowly? While your desktop machine might be screaming with processors churning at 3GHz or more, the situation up in the cloud might be different. You don't control the processor speed. You just get lots of them.
- Will the application be OK if it runs in parallel 10 ways? 100? The cloud affords you the luxury of potentially running your applications in a highly distributed environment. This means coordination between threads to ensure you don't corrupt memory as dozens of threads are simultaneously carrying out the work you've so carefully programmed them to. Is your application ready for that type of scale?
- Will the application scale? Imagine having thousands, tens of thousands, or more people pounding on your application. With the cloud, now you are not limited by hardware as much anymore, but will the performance of the app you've developed handle that type of usage scale?
When we talk about what can go wrong with cloud computing today, we typically blame cloud service providers and their uptime, infrastructure, and scaling capabilities. What if the app just wasn't built for the cloud to begin with?
Follow me on Twitter @daveofdoom
I spoke with company co-founder and recently appointed CEO Andi Gutmans about the upcoming product launch and the rise of PHP in the enterprise.
Q: What is Zend announcing this week?
Gutmans: We're announcing the general availability of Zend Server and Zend Server CE. We released the beta in February and have been working diligently over the last couple months to put the finishing touches on both products.
Zend Server is an enterprise-ready Web application server for running and managing business-critical PHP applications that require a high level of reliability, performance, and security. Zend Server CE is our first-ever community version of Zend Server that gives developers a complete, simple, and faster way to develop and deploy PHP applications. We're very happy with the end results!
When you start talking about high reliability, security, and performance, it sounds like you're working to disrupt traditional Java environments? Is my hunch correct?
Gutmans: The Java disruption by PHP is well under way.
PHP is everywhere, and Zend's solutions are being used in business-critical deployments by companies such as Tagged, Fiat, BNP Paribas, and Fox Interactive Media, to name a few. The strategic adoption of Zend in larger accounts, often in favor of Java, is related to our strong return on investment and shorter time to market.
The business is growing as a result of the maturation of Zend and the PHP ecosystem, which includes enterprise-grade frameworks such as Zend Framework and standardized tooling such as the Eclipse-based Zend Studio. We've also done a great deal of work with large vendors such as IBM, Microsoft, Oracle, and Adobe Systems to successfully interoperate in enterprise environments.
With Zend Server, we're taking this maturity to the next level and addressing the increasing market demand we see for a production environment that can support PHP developers and administrators.
... Read moreThere was a time when Java was the darling of the technology industry. It had everything going for it--technically advanced, relatively easy to use, and it held the magical promise of "write-once, run-anywhere."
But, over the last two years or so (seemingly ever since Sun changed it's stock ticker to JAVA), the language has become boring and moribund. Not that programming languages are such a thrill ride, but Java had a level of panache well beyond the norm.
Somehow Java has become really boring. People don't even argue about it anymore. Once thriving sites like TheServerSide don't have the excitement or vitriol that they did in the past. Based on some quick interviews I did, Java guys are all over the map as to why the excitement is gone, running the gamut from JSR bureaucracy, to the focus on things like JavaFX, to the changes in Java EE 6 that most developers didn't ask for and do nothing to support new paradigms like Web apps or cloud computing.
Sun has effectively lost the battle for the cloud to virtualization, which boggles the mind considering the enormous arsenal of servers, storage, and software that Sun has at its disposal to create a differentiated cloud offering for all of the enterprise Java shops. I remain of the opinion that Java should be the dominant platform for the cloud.
... Read moreJust as Sun announced the latest rev of JavaFX, AT&T announced that they would drop Java-based phones, favoring Symbian.
Tom Krazit reported earlier today on the news, quoting Roger Smith, director of next-generation services at AT&T who said "Java has not been a success," Smith said. "It's not because Java is bad, but we didn't manage it effectively."
The basic premise of the argument against Java is that it became fragmented with every manufacturer using its own version and defeating much of the purpose of Java as a platform to begin with.
And as mobile phones have started to become more and more like mobile computers, the software on those phones needs to become more and more sophisticated to run intriguing applications, Smith said. Java doesn't reach down far enough into the lower levels of the phone to exploit hardware in the manner that full-fledged operating systems do, he said.
I find it a bit curious that Smith felt that Java wasn't capable of exploiting the full hardware functionality. That sounds like more of a development issue then it does a functional requirement. Arguably the operating system should be abstracted to the point where Java can do what developers need it to.
As Stephen Shankland wrote about JavaFX today:
JavaFX also comes with a slick feature, the ability to move running applications out of the browser and onto the desktop--and back, if desired. Essentially, they can change their nature and abilities according to where they're housed. And the same application also can run on JavaFX Mobile, holding the promise for programmers that they won't have to endlessly rewrite the same applications for different media.
JavaFX looks to be very powerful as witnessed in the video below by Redmonk analyst Michael Cote. But the question is one of relevance. It's not clear that developers are terribly interested in JavaFX to begin with and the dream of monetizing mobile phones is clearly out the window with the largest wireless carrier.
The more I read about Sun CEO Jonathan Schwartz betting the company's future open source, the more I grow concerned that if it fails, Sun will be the harbinger of sorrow for the rest of the open source world.
Sun is arguably the most important open source vendor right now as Schwartz has bet the company on software instead of its traditional hardware revenue. (I'm not discounting Red Hat's place, just that RH has been on the open source path since the beginning.)
Sun's strategy is audacious and reshapes the way that everything is done, but it's not clear that the strategy is correct or that Sun's existing corporate structure can execute on this enormous change. Staff reductions and other cost-cutting measures have little if anything to do with the switch to open source. Those measures would need to be taken regardless as the company is simply too bloated and expensive to run even if it generates a decent amount of cash.
Sun's approach--at least the way I'm reading it from Jonathan Schwartz's statements, is about making the software totally free and trying to sell support and hardware. This clearly diminishes the value of the products and doesn't offer a mechanism that encourages people to pay for software. It also puts an unnecessary burden on the notion of open source--such that if Sun is wrong, everyone else will look wrong too. But, Sun's approach is quite different from most (all?) of the open source start-ups and also different from Red Hat, the obvious leader.
The most successful open source companies have figured out ways to encourage people to pay for software. This usually includes a commercial license that removes the open source license restrictions. Typically, we see the base "open core" product plus some type of value added feature or service set that can't be obtained for the community version. The idea of simply selling support fell by the wayside for most companies at least one year ago.
... Read moreI recently wrote a piece for El Reg about why Java should be the "cloud operating system" and all research points to the fact that Sun has all the components to make it so.
In fact, Java answers many of the cloud questions: Java is open source, mature, standardized, has plenty of development and management tools, and APIs that support a vast array of other systems. Java also has a very large enterprise developer base, a key to getting new technology tested and adopted.
Of course, it's not totally clear what Sun plans to do, but I'm hoping that they become relevant in the cloud-scape as opposed to their current status of "phantom limb."
One of the big problems at the moment is there is no definition of what Cloud computing means to developers. People are often just replacing "internet" with "Cloud" which is not right...but then again, what is?
There will clearly be more than one Cloud vendor (in fact I met with 3 that are not Amazon, Google or another BigCo this week) and they will all likely be different. Until there are base definitions and standards in place it will be difficult for enterprises to move outside their borders.
If you're a Java developer and use Ant or Maven to build your software, there's news coming out this morning that should catch your attention. Sonatype, the company built around supporting Maven, is announcing its Nexus 1.0 release, a repository manager that allows developers and teams to quickly and easily manage internal and external repositories, including the Maven Central Repository.
Behind a build and release framework, managing big repositories of artifacts and tools adds a level of complexity to software development that can slow or kill a build. Great idea, having a big bucket of stuff to pull out code snippets and tools whenever you need, but not simple. Nexus 1.0 addresses this directly.
Jason van Zyl, creator of Maven, the popular Java development framework, has quietly founded an open-source company around the popular build framework. Maven has over 2 million downloads and the Maven Central Repository--home, incidentally, to more than 50,000 main artifacts and averaging 100 million hits a month--has made access to and integration of Maven crucial to Java developers worldwide.
Sonatype has done a couple press releases this summer about joining the Eclipse Foundation and releasing a plug-in that integrates the two. But otherwise they've remained quiet about their audacious goal. Maven plus Eclipse going after Visual Studio plus .Net. This is a serious and popular open-source alternative to Microsoft's development juggernaut.
This is an open-source company worth keeping an eye on.
BONUS: O'Reilly and Sonatype have published a much-needed reference book, "Maven: The Definitive Guide," covered by a Creative Commons license and replete with examples. It's free online in html or PDF or can you can order it through O'Reilly.
Disclosure: My company shares investors with Sonatype.
Underlying all the cloud possibilities is a reliance on more traditional application deployments. So far virtualization and VM images are the dominant factor in both packaging and consumption.
This leads to an interesting quandary for those who want to embrace the cloud full-on, requiring a developers to adapt to the new infrastructure design.
Considering the challenges of clustering in general and then consider the challenge of clustering from the enterprise to the cloud in a federated manner. VMs have become much more manageable and easier to use, but there are still complexities. Many monitoring tools don't function well with VM systems. Or consider the potential annoyances associated with backup and recovery. Easy in theory, but in practice you need to have your ducks in a row.
The right answer is to move to a cloud infrastructure that runs in a virtualized layer, completely invisible to the end-user. And it should be on the user's operating system and development platform of choice. This is an unlikely scenario for Windows, but highly likely for both Linux and Solaris.
As the enterprise platform of choice, Java seems like the logical option to underlay cloud infrastructure. To the extent that Sun is interested I would say it's a decent bet, but efforts to date have been middling at best. And there continue to be some mixed messages-including some changes to JEE 6, which introduces some features that seem not very meaningful for cloud-based deployments.
Sun has an amazing combination of software, hardware and storage and so I would I would expect a more cohesive story. In fact, I would argue that of all the BigCo vendors, Sun has the best chance of becoming a meaningful cloud vendor.
At the moment Java is really only available if you are running in VMs. There is no cloud infrastructure that lets you natively deploy and run Java applications as you would deploy Python on App Engine or file downloads on S3. If we assume that .NET is the other big development platform (let's take PHP out just for the moment) then once again there is no direct deployment strategy. And Microsoft remains fairly clueless despite some recent news.
The big question is whether Sun can take the dominant position vs. IBM, HP, and Red Hat.





