Maven and JPA Programming

It cannot be overstated just how helpful it is to have a lightweight persistence system in your testing configuration. The problem with JPA annotations like @PersistenceUnit for dependency injection is that a lot of your primary code can only be run from within a full-fledged J2EE application server.

I wanted to take a moment to rant a little about Maven and JPA programming. If you haven’t switched to the Maven way of things (It took me years to give into the dark side!) or you just started doing Maven-ized projects recently, you might still be getting the hang of things.

I won’t lie: it can be relatively hard to get used to. For example, take a look at the traditional directory structure for your project:

standard Maven directory layout

This may look a bit complex (like the first time you looked at a Unix directory structure!?) but in fact it’s a fantastic convention. For example, it’s so amazingly easy for me to create sample data files, drop them into src/test/resources/sampleData and then pull the data will a quick Unit Test using

InputStream sampleData = getClass().getResourcesAsStream("/sampleData/myFile");

and away you go! Continue reading “Maven and JPA Programming”

Dependency Injection + ESB = SwitchYard (Coolest New Thing This Year)

Switchyard takes Web Services to the next level. Whereas JAXB2 and JAX-WS (and JAX-RS) have brought the development and deployment of Web Services to the necessary level of maturity for clean, easy and practical development, Switchyard let’s us take things to the next step: it makes Web Service Composition similarly clean and easy. And with Web Service Composition comes the entire arsenal of SOA Design Patterns.

I’m sure everyone right now thinks the biggest advances in the computer industry today are Social Media and the iPad. Or maybe they were last year’s big news and there’s something I don’t know (or yet care) about that just appeared in SXSW this year. Well, as much as I’m still chomping at the bit to do a little iOS development (I still watch the Stanford ¬†class lectures from iTunes U on my iPhone while I run the elliptical at the gym at 5:30am every morning!) I’m actually really the most excited about something else. And when I mean excited, I mean that first thing every morning I’ve been checking the JIRA “open tickets” report to see how the countdown is going. I’m talking “kid counting the days to Christmas” sort of behavior.

The countdown to what? Well, I’m glad you asked. I’ve been waiting since about November for the countdown to the release of the 0.4 version of JBoss Switchyard. Continue reading “Dependency Injection + ESB = SwitchYard (Coolest New Thing This Year)”

Running JSTL 1.2 on Tomcat 7 using Maven

I finally decided to bite the bullet and try using cleaner JSP methods, including JSTL tags for some looping constructs. I thought I could slam out a quick “hello world” on my Tomcat 7 instance, but what I found instead was a world of hurt! I wrote this blog article so that anyone facing a similar road can avoid the speed-bumps.

Okay, I know I haven’t posted anything on my blog in over a year, but this falls under the OMG-Why-Couldn’t-I-find-a-straightforward-answer category. Whomever suffers the same headache I suffered will hopefully get led here by Google…

The Problem: Running the most basic JSP Example

Up until now, the few times I’ve needed to cobble together a JSP file for some sort of front-end functionality, I’ve used raw, low-level JSP Scriptlets. Which means typing things like

<% if (something) { %> <some-html> <% } else { %> <some-html> <% } %>

all over the place. And if I wanted to do any looping, well forget about it! It’s a nightmare. So I’ve got these few books and articles that talk about the better ways to solve these problems using cleaner xml-y solutions, and most all of them dive into using JSTL (JSP Standard Tag Library) which is a damned standard and yet isn’t included with Tomcat. It’s one of those things that each vendor is supposed to implement independently, and yet the only implementation out there appears to be Oracle’s Glassfish implementation! (There’s an Apache JSTL project, and they say on their web page that a version 1.2 implementation (which is the stated version for the Java 6 EE standard collection, alongside Servlet 3.0 and JSP 2.2) but that webpage hasn’t been updated since October 2009!!

So apparently JSTL is so basic and simple that it’s included in the elementary pages of any JSP books, but like some bastard stepchild that nobody wants, it’s support is freakishly missing. Okay, enough bellyaching about how FUBAR that is… what about just getting the thing to run? Continue reading “Running JSTL 1.2 on Tomcat 7 using Maven”

iPad continued… Article about file access

Ted Landau writes a cogent article about the wackiness of iPad’s document access weirdness, specifically with the iWork suite. I’m in complete agreement.

This goes beyond just files, though. As I mentioned in my last post apps like Bento and Things have to set up their own little “standalone syncing servers” that you run on a Mac to synchronize/save data. This is ridiculous! MobileMe sync and Core Data (the latter of which already exists in the iPhone SDK) are already well-thought-out solutions for data synchronization!
Continue reading “iPad continued… Article about file access”

Murray’s Reaction to the iPad

it’s time to write down some of my reactions to this device that has generated so much buzz and so many blog posts and news stories. I’m going to tackle this blog posting in a slightly random way: breaking my reaction into small, isolated snippets.

During the two-week countdown to the iPad release, for reasons I cannot fully comprehend, I was consumed with anticipation and the need to buy one. Honestly, I am aware that I tend to possess a childlike excitement for various things, like the arrival of a movie that I want to see (e.g. How to Raise a Dragon, Julie and Julia) but the iPad launch completely hit my “little kid on Christmas morning” nerve. Worried that the line to pick up my pre-reserved device would be too long, I showed up outside the NYC 14th Street Apple Store at 6:12am. At about 9:20am my purchase was complete, and I was headed home to try the thing out.

48 hours later, it’s time to write down some of my reactions to this device that has generated so much buzz and so many blog posts and news stories. I’m going to tackle this blog posting in a slightly random way: breaking my reaction into small, isolated snippets.
Continue reading “Murray’s Reaction to the iPad”