Archive for the ‘Frameworks’ Category

Getting Behind Python: Sun Hires Python & Jython Developers

Tuesday, March 4th, 2008

As both a fan and user of the great technologies Python, and the Sun JVM (primarily via Java), jython.png I was very happy to come across this eWeek article which says that Sun announced the hiring of two key Python engineers. You can read more about the hiring of Ted Leung and Frank Wierzbicki at their respective blogs.

I had pretty much written off Jython as being dead quite some time ago, but luckily it has had a lot of recent activity and is starting to catch back up with C-Python. By both hiring key JRuby and Jython developers, it looks like Sun is making sure the JVM stays relevant beyond Java and continues to evolve as what in my opinion is the best option for cross-platform applications.

Having a long background in ColdFusion (an Adobe language which compiles down to Java bytecode and runs on the JVM), I’ve seen first hand the benefits of moving a language to the JVM, and I look forward to seeing more progress on both JRuby and Jython on the JVM.

Maven: Including Axis2 Artifacts into EAR’s

Wednesday, January 30th, 2008

I’m going to skip over a rant about how much Axis2 sucks in order to pass a tip on how to include Axis2 artifacts (AAR’s, MAR’s, etc) into an EAR file using the Maven plugin to package EAR files, maven-ear-plugin. It’s a pretty obvious solution but if you’re in a hurry like I’ve been to convert a project from a single WAR to one with several EJB’s, a WAR, etc, there are a lot of new things to learn all at the same time (how classloading works with EAR’s in JBoss, how to share the same Hibernate transactions between your web app and EJB’s, etc), and this was one of those little things which wasn’t immediately obvious. If you’re seeing exceptions like these when trying to package an EAR in Maven:

[code]
[INFO]
————————————————————————
[ERROR] BUILD ERROR
[INFO]
————————————————————————
[INFO] Failed to initialize ear modules

Embedded error: Unknown artifact type[mar]
[INFO]
————————————————————————
[DEBUG] Trace
[/code]

… you’ve came to the right place. :)

There are many ways to setup your package structure under Maven2 to build EAR’s, but essentially what I do is create a root level project which packages a given application into an EAR, and nothing more. Once you have the maven-ear-plugin setup for the most part, all that you need to do is to tell the Maven EAR Plugin to treat the various Axis2 pieces of shit packages like JAR’s:

[code]

maven-ear-plugin



true






[/code]

This is just one of many gotcha’s I learned about while working on an aforementioned project. In fact it’s really pretty hard to find any comprehensive documentation on getting EJB3, Spring, and Hibernate working together on JBoss with a typical Java web application, especially while using Maven. I have a sample project I used to work through some of the integration issues with this, and will hopefully be able to wrap it up and add it to Google Code in the next few weeks to provide an example of getting all of these technologies to play together.

Google Releases Guice: A Java Dependency Injection Framework

Sunday, March 18th, 2007

Google recently released yet another interesting piece of Java machinery, Guice. Given the direction that Spring 2.0 is going in, this looks like a good alternative if you’re looking for a simple dependency injection framework. If you’re curious about what is different between Guice and Spring, you can read more about their differences here.

Technology Predictions for 2007

Tuesday, January 2nd, 2007

A couple of weeks ago Sys-Con published various industry opinions of what we’d see in 2007 in many of it’s magazines. The article showed-up on Slashdot (with a misleading title) among other places and included various industry luminaries. A couple of people you might of heard of contributed to the article including David Heinemeier Hansson (creator of Ruby on Rails) as well as myself. It looks like my response for the article was edited a bit for content length and doesn’t quite make sense in spots, so I thought I’d repost it in original form below:

My Technology Predictions for 2007

In general, I think this oncoming year will be one in which a lot technology built in the last several years becomes less of a burden, and more of a utility. That said, the top five technology trends I see happening in the new year are:

1. Server virtualization is just getting started, and will really make itself known in the coming year. Once we start seeing the quad core CPU architectures as a part of standard infrastructure, it really starts making a lot of sense to start deploying and managing servers and applications as virtual entities rather than specific pieces of hardware. This helps manage the cost and pain of software configuration management, take advantage of being able to process many tasks simultaneously because of hardware support, as well as allows legacy hardware to be retired in favor of applications running on virtual servers.

2. Container based hosting is the new kid on the block, and will also start making it’s presence known in the upcoming year. Commonly labeled as “grid” hosting (which is a technical misnomer if you understand distributed computing), it essentially claims to be an infinitely scalable hosting platform. This technology still seems to be half-baked at the moment, but you could have said the same thing about Linux ten years ago.

3. People who normally wouldn’t use Linux start to explore it and even replace Windows with it permanently. With Vista, Microsoft seems to be moving to a model in which the Windows operating system is a method to police users with DRM and other nonsense rather than provide developers a good platform on which to use hardware which is what Operating Systems are really supposed to be. A lot more consumers who haven’t noticed this happening in the past will stand-up and notice this year.

4. Dynamic languages and frameworks will continue to make leaps in popularity and adoption. Given the current squeeze on technology talent in the US, companies are going to have to learn how to do more with less resources. Moving to dynamic languages and frameworks as well as other simplification such as varying Agile software development practices will enable this to take place. I think the obvious leading candidates here are Ruby on Rails and Django.

5. The enterprise will embrace ways to simplify development by continuing to embrace open source software and Agile development strategies. While there are a lot of cries to the effect of Ruby on Rails replacing Java, I think that’s complete nonsense as Java is a language and Ruby on Rails is a framework. Rapid development languages will certainly make some inroads, particularly where heavy tools have been used to build simple applications, Java is still going to be a major part of the service oriented enterprise for years to come because of the power and tools it provides as well as it’s industry support.