Matt RaibleMatt Raible is a writer with a passion for software. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Happy Birthday Abbie!

5 years sure goes by quick when you're a parent. It's hard to believe that 1) I started blogging over 5 years ago and 2) Abbie turns 5 years old today. It's pretty cool to be able to look back at previous birthdays: the birthday, #1, #3 and #4. I don't know what happened for #2, but I sure feel bad for not blogging the event.

Congratulations kiddo - you've turned into a beautiful (and awfully smart) little girl.

Pretty Girl

P.S. Don't tell her I called her a "little" girl - she's obviously a "big" girl. ;-)

Posted in General at Nov 05 2007, 12:37:24 PM MST 3 Comments

Roller and Struts 2 BOF at ApacheCon next week

ApacheCon Are you going to ApacheCon in Atlanta next week? If so, you might want to mark your calendar for the Roller + Struts 2 BOF on Wednesday night. It's from 8:30 - 9:30 in "Room 3" (whatever that means) and free beer will be sponsored by Atlassian. Thanks Guys!

Apparently, projectors aren't provided for BOFs, so we are in need of a projector to do a small presentation. If you happen to have a "projector connection" in Atlanta next week, please let me know.

Posted in Java at Nov 05 2007, 08:25:26 AM MST Add a Comment

RE: Life above the Service Tier

Yesterday I wrote the following:

I hope to develop with Flex, Grails, GWT or YUI + Struts 2 in the next 6 months. These seem like the most exciting technologies for Java web development in 2008.

This post is meant to explain why I think these are the most exciting technologies going forward.

A few weeks ago, a very interesting paper was posted on TSS: Life above the Service Tier. In this paper, Ganesh Prasad, Rajat Taneja and Vikrant Todankar introduce a new architectural style they're calling SOFEA, for Service-Oriented Front-End Architecture. To summarize:

The principles of SOFEA are:

0. Decouple the three orthogonal Presentation Tier processes of Application Download, Presentation Flow and Data Interchange. This is the foundational principle of SOFEA.

1. Explore various Application Download options to exploit usefully contrary trade-offs around client footprint, startup time, offline capability and a number of security-related parameters.

2. Presentation Flow must be driven by a client-side component and never by a server-side component.

3. Data Interchange between the Presentation Tier and the Service Tier must not become the weakest link in the end-to-end application chain of data integrity.

4. Model-View-Controller (MVC) is a good pattern to use to build the Presentation Tier.

Their paper can be downloaded from Life above the Service Tier.

I read this paper earlier this week and enjoyed reading it as well as thinking about the concepts it introduces. First of all, I believe SOFEA only applies to web applications and isn't a valid architecture pattern for web sites. While it may work for web sites, the traditional mechanisms (serving pages from the server side) seems to work well and isn't going away anytime soon.

So if SOFEA is the way of the future for developing web applications, where does that leave all the web frameworks that serve up pages server-side? This includes all Java web frameworks, Ruby on Rails and PHP. I think it leaves them in an interesting situation. They can still be usable if they can serve up the Application Download and the Data Interchange, but otherwise, they seem pretty much useless with this new architecture.

Is a SOFEA architecture a silver-bullet? I doubt it as there's still a lot of unanswered questions. How does SOFEA solve i18n and validation? Is it possible to re-use server-side validation rules in the client-side architecture? Granted this is probably a client-side framework feature rather than a SOFEA concept, but I still think it deserves some thought.

I don't know if i18n is that much of an issue for most applications. Most of the gigs I've consulted on in recent years were English-only, with no plans for internationalization. Validation is often server-side too. However, I believe server-side validation is often done simply because the web framework being used did not provide good client-side validation. How does i18n work in a JavaScript application? Can you bundle i18n scripts in the Application Download and have those read on the client-side - or do you serve up a different version of the application for different locales?

I think the most interesting part of SOFEA is how simple the backend becomes. With Spring and Hibernate (and some type of remoting) it should be easy to develop your SOA backend. But how do you publish those services? Do you still use a web framework on top to handle validation and such, or do you just markup POJOs with @WebService annotations?

Will 2008 be the year for SOFEA applications? It's definitely possible. I'm thinking of starting a Denver SOFEA user group to discuss and promote this architecture style. If I did - would you be interested in attending?

Posted in Java at Nov 02 2007, 12:03:49 PM MDT 13 Comments

Google Code for Educators

Google Code for Educators looks like some really great stuff from Google.

This website provides teaching materials created especially for CS educators looking to enhance their courses with some of the most current computing technologies and paradigms. We know that between teaching, doing research and advising students, CS educators have little time to stay on top of the most recent trends. This website is meant to help you do just that.

In the Tutorials area, you will find a set of online tutorials to which you can point students to learn basic concepts in important new technologies, or if you need a refresher.

In the Sample Course Content area, you will find materials such as lecture slides, readings, problem sets and projects that you can download to use in your own course. All these materials are distributed under a Creative Commons license, so you are free to use and modify these materials according to the terms of the license. This area includes sample course content developed by CS Faculty from various universities and Google engineers.

In the Video Lectures area, you will find a set of video-taped lectures from Google Video on our technology areas. These videos are great opportunities for students and faculty to hear directly from some of the current pioneers in high-tech.

In the Tools section you will find a set of tools and resources to help you get started with the material highlighted on the site. This area includes tools developed by Google engineers, as well as links to external resources.

Posted in Java at Nov 02 2007, 11:22:22 AM MDT Add a Comment

Flex and Grails Made Easy

I love how easy it is to start new projects these days. It was very difficult when I started creating AppFuse way back in 2002. We've come a long way baby!

Here's a couple of easy ways to get started with Flex and Grails:

I hope to develop with Flex, Grails, GWT or YUI + Struts 2 in the next 6 months. These seem like the most exciting technologies for Java web development in 2008.

Posted in Java at Nov 01 2007, 11:00:38 PM MDT 5 Comments

Draft Specification for automatically mapping URLs to Controllers and Views

Ted Husted has been working on a draft specification for "Heuristic Request/Response Mappings", based on technologies used by Rails, Struts 2 and Stripes.

The central idea is that instead of creating explicit mappings, the framework applies a series of heuristic transformations to match a URI with a code component and a view component.

The first part of the draft is available here:

* http://code.google.com/p/web-alignment-group/wiki/WAG_RFC_001

Before doing any more work on the description, I'd be very interested on feedback as to whether I'm making any sense, or whether the draft has turned into opaque gibberish :)

If you're developing a web framework (in any language) and use conventions to auto-map URLs-to-controllers and controllers-to-views, it'd be great to hear your feedback on this draft. It'd be pretty cool if you could switch frameworks/languages and use the same conventions across the board.

Posted in Java at Nov 01 2007, 03:03:49 PM MDT 7 Comments

Happy Halloween!

Little Bo Peep Abbie and Jack had great Halloween costumes this year. Abbie was Little Bo Peep (she even had a lost sheep) and Jack was Edward the Train. I emphasize Edward because everyone kept calling him "Thomas" and he kept getting mad and telling folks "I'm Edward, not Thomas!".

Julie's sister, Holly, made Jack's awesome costume. The best part about it was she made the back of it into his candy-holder so whenever folks would hand him candy, he'd spin around and look over his shoulder while they dropped it in. Today we found out the candy was actually coal - he said he needed a lot more to keep Edward chugging along.

Edward the Train

Halloween was a blast this year: great costumes, two nights of trick-or-treating, and a parade/party at the kids' school today. Good stuff all around.

Posted in General at Oct 31 2007, 10:10:09 PM MDT 3 Comments

Car Bombs

From Sox and Co. party like champs in Denver:

By the bar, players, front office guys and fans were toasting the second Series sweep with "car bombs," which, we are told, is a shot of Jameson's whiskey and a shot of Bailey's dropped into a Guinness stout. Ew.

"After every win we do car bombs," said one Sox exec, who asked to remain nameless. "So I went up to the bar and asked for seven of them. The bartender wasn't happy because it was mobbed. I had to tip him $100 to get them, but we had to do the car bombs."

I'm not happy that the Rockies lost the World Series - but it is good to see the Red Sox know how to party. Hat tip to one of most obsessed Red Sox fans I know.

Posted in General at Oct 31 2007, 07:17:59 AM MDT 1 Comment

My Upgrade to Leopard

By now, you've seen many stories about upgrading to Leopard. Here's mine.

In the past, I would've slapped the DVD in, selected upgrade and prayed for the best. Now I'm older and (apparently) wiser. First, I cloned my hard drive with SuperDuper!. Then I attempted to upgrade. I started the process on Saturday morning and didn't check it until Saturday afternoon. At that point, I was greeted with the lovely blue screen of death. I didn't even bother to look up the problem - instead opting for the clean install.

The next time I checked (Sunday evening), the installation was completed. I registered, clicked through some stuff and started copying files from my backup drive. On Sunday night, I closed the lid on my laptop and haven't used it since. I guess new operating systems don't excite me as much as they used to. Then again, I do have two MacBooks, so I don't really need the Leoparded one.

As far as the lack of Java 6, that doesn't surprise or disappoint me. I'm sure it'll be out in a few weeks. By the time it's released, I doubt any of my clients will have made the leap from Java 5 -> Java 6.

It could be that I'm burned out on technology - or it could be the Rockies and Broncos performance this past weekend has got me bummed. Who knows - the good news is there's lot of trick-or-treating to be done in the next couple of days and I'm sure to cheer up with the kids around.

Posted in Mac OS X at Oct 30 2007, 01:42:39 PM MDT 9 Comments

Xebia Web Framework Contest

I found an interesting blog post today about a contest (English translation) a French company (Xebia) had with some Java web frameworks.

4 teams have developed the same web application, each with a framework (very) different. The frameworks used were:

  • Struts 2
  • Google Web ToolKit
  • Wicket
  • My Faces (JSF)

Overall, I think it's a good summary of the strengths and weaknesses of the various frameworks.

Posted in Java at Oct 30 2007, 09:32:34 AM MDT 8 Comments