Matt RaibleMatt Raible is a Web Developer and Java Champion. 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.

Is XMLC a dead project? Is anyone using it?

From an e-mail I received a while back:

I'm interested in hearing your opinion of XMLC? And when will we see it in AppFuse? ;-) Seems to me that with it's base in xml and all the ajax and SOA hubub that it could be primed for a resurgence. And what about BarracudaMVC as an AppFuse option?

[Read More]

Posted in Java at Nov 15 2006, 10:13:03 PM MST 14 Comments

Learn about Geronimo tonight and AppFuse on Thursday

If you happen to be in downtown Denver tonight, and you're interested in Geronimo, you may want to stop by the Rock Bottom Brewery for the Geronimo Special Interest Group. IBM is sponsoring the food and beverages and Bill Dudney will be providing the conversation. I highly recommend attending if you can as there will be a plethora of good beverages for all. I won't be missing it.

Also, for those interested in learning more about AppFuse, I'll be speaking at the Denver JBoss User Group on Thursday night. There's a lot of cool stuff happening in AppFuse's SVN right now. This is, in large part, caused by a number of new committers: Mike Horwitz, Bryan Noll and David Whitehurst.

Mike has done a lot of work to allow Maven to recognize a WAR's dependencies. Furthermore, he's in the process of trying to get this functionality added to the maven-war-plugin. Bryan Noll (a.k.a. "Country Bri") has recently converted the data module to have a Generics-based generic DAO implementation for Hibernate and iBATIS. Bryan has recently become an OpenJPA committer as well - so feel free to start harassing him about doing the JPA implementation for AppFuse. Finally, David has been working feverishly on the AppFuse Maven Plugin that replaces AppGen. Welcome aboard gents and thanks for all your contributions so far!

Posted in Java at Nov 14 2006, 02:43:08 PM MST 2 Comments

ICEfaces gets open sourced

As far as JSF Ajax frameworks are concerned, there seems to be two major players: Ajax4jsf and ICEfaces. I don't know that either one is a true open source project (where developers are from multiple companies), but Spring isn't either, so I don't know that it actually matters. I think it interesting that both products don't seem to care about capitalization, but I digress.

Today, ICEsoft announced they've open-sourced ICEfaces. Was this inspired by Java going GPL?1 I doubt it, these things take time and it's likely that ICEsoft had this one in the cooker for quite a while. I do think it's interesting that the major JSF component vendors (Oracle, Exadel and now ICEsoft) have all open-sourced their products. Must be a tough market out there.

Apparently, ICEfaces works with Facelets, so it should work with AppFuse and Equinox. Looking through ICEfaces documentation and sample apps, they seem to be missing a straight-forward "here's how to integrate it into your existing application" guide. They do show how to modify your web.xml, but there doesn't seem to be a short, concise guide to what configuration settings you need to add to your faces-config.xml. I was somewhat motivated to write such a guide this morning, but lost motivation quickly as I realized it might be quite the effort. If someone wants to create the Maven bundles for ICEfaces, I'll try to carve out some time later this week to write up instructions for integrating ICEfaces into Equinox and AppFuse.

Unfortunately, integrating ICEfaces into your project is only the beginning. The hard part is choosing which is a better Ajax toolkit: ADF Faces/Trinidad, Ajax4jsf or ICEfaces? Trinidad and ICEfaces seem to be more about components, whereas Ajax4jsf is more about Ajaxifying regular ol' JSF components. So I think Ajax4jsf still remains, and ICEfaces looks like a better out-of-the-box component library than Trinidad. I guess time will tell.

Update: I forgot to mention Infragistics NetAdvantage as a JSF Ajax framework. OpenLogic decided to use Infragistics in the project I started for them. I was able to get it working in AppFuse fairly easily, but it's kinda ugly from a setup standpoint. They require you to copy a bunch of static files (images, stylesheets and scripts) into your project. Yech.

[1] Stephen O'Grady has an excellent writeup on this: And Sun Said, Set My Java Free: The Open Source Q&A.

Posted in Java at Nov 14 2006, 10:27:07 AM MST 8 Comments

Hug your kids

I saw this story in the headlines last week. It's a tragic story that I never expected to hit close to home. Today it did. The little girl, Macie, was one of the four girls in Abbie's ballet class. Julie and Jack used to hang out with Macie's Mom and little brother while Abbie was in class. I can't imagine what the father is going through right now.

Hug your kids. There's no such thing as showing them too much love.

Posted in General at Nov 13 2006, 08:57:58 PM MST 2 Comments

Should I rename Equinox to AppFuse LE?

I'm curious to know if folks think I should rename Equinox to "AppFuse LE"? LE stands for "Light Edition" in this context, but I'm open to other suggestions. Even though my Equinox project is ranked higher than Eclipse's Equinox project, it's obvious there's a name clash. It seems to make sense for me to change the name since it's a one-man project and Eclipse is a huge organization. AppFuse LE seems like a good descriptive name, as does "AppFuse Light" and "Spring Kickstart".

Eventually, I'd like to figure out a way to merge AppFuse and Equinox. If users could start with something like Equinox (no features) and plug-in the various features, that'd be pretty cool. Some web frameworks (i.e. Struts 2) have a plugin feature, but most don't. I figure we can leverage Struts 2 for all frameworks, and convert to specific frameworks' plugin features if they're added. Of course, we're also looking at OSGi and Spring's OSGi support for our plugin architecture. The only problem with OSGi is it looks pretty complicated compared to Struts 2's plugin system.

The other advantage of changing the name is I could create a new java.net project with SVN support and not have to pay for the CVS -> SVN conversion. Of course, leaving the name the same also makes it pretty easy as there would be no additional work for me. ;-)

Thoughts?

Posted in Java at Nov 13 2006, 09:36:59 AM MST 20 Comments

Bus Project Update

On my way up to the NoFluff show this morning, I stopped by Twins Auto Body and snapped a couple pictures of the bus. From the looks of it, the guy hasn't worked on it in quite some time. I'd like to be driving it around next summer, hopefully it'll be done by then.

Stripped Still needs sandblasting

Posted in The Bus at Nov 11 2006, 09:26:28 PM MST Add a Comment

Why NoFluff Rocks

Fat Tire I'm attending the Denver NoFluff show this afternoon. For the first session, I attended Glenn Vanderburg's talk titled JavaScript Exposed: There's a Real Programming Language in There! (Part 1). It was the first time I saw Glenn speak and it was a real pleasure. His talk was more like a conversation than a traditional conference talk, as are most sessions at the NoFluff shows. While I was tempted to stay for Part II of Glenn's talk, I figured it'd probably suite me better to experience Justin Gehtland for the first time.

Justin's talking about Advanced Hibernate and his slides are online. Most of you probably know that NoFluff shows are the best conferences out there. However, did you know you can drink beer during the sessions? I'm drinking one right now. How? Because if the show is at a hotel, you can drink anywhere in a hotel1. Being that it's Friday afternoon, it feels somewhat appropriate.

1. Of course, I asked Jay for permissions before I brought a beer to this session. His only criteria was that I buy one for the speaker. Nice!

Posted in Java at Nov 10 2006, 03:45:45 PM MST Add a Comment

Denver Weather

Denver has two seasons, Summer and Winter. Sometimes summer seems to creep into the winter months. Checkout today's forecast:

79 F!

Of course, it's supposed to snow on Friday.

Posted in General at Nov 08 2006, 09:45:51 AM MST Add a Comment

DJUG Tonight: Google Maps and Struts 2

If you're in the Denver area, tonight's DJUG should be a good one. Scott Davis is presenting on how to Roll your own Google Maps and I'm talking about Migrating from Struts 1 to Struts 2. I've seen Scott's presentation and it's very good. He explains the basics of CSS and JavaScript so even if you're new to web stuff, you won't be lost.

The nice thing about being the main speaker is I can almost guarantee that the talk will finish on time, pending questions and answers of course. With any luck, we'll be at the Rock Bottom by 8:30. Here's the current agenda:

5:30-6 p.m. Food and Networking
6-7 p.m. Basic Concepts
7-7:15 p.m. Break and Announcements
7:15-8:15 p.m. Main Meeting
8:15-8:30 p.m. Questions and Answers
8:30 p.m. Door Prizes

Update: Download Migrating from Struts 1 to Struts 2 (PDF, 4.7 MB).

Posted in Java at Nov 08 2006, 07:37:46 AM MST Add a Comment

Voting Sucks

This morning, I stopped by my local voting center to vote. When I got there, the line seemed awful long (maybe a 30 minute wait), so I left. My goal was to come back around 2:30 in the afternoon, when the line would (hopefully) be a lot shorter. Of course, I got caught up with work and didn't make it back until 5:00.

It figures, now I'm standing in an enormously long line (est. 2-3 hour wait). Oh well, it's a nice night - currently 68°F. I can't help but think that there's quite a few folks who won't vote because the lines are so long. I know I'm awful tempted to abandon ship. ;-)

Update: My total time standing in line turned out to be 2:45. Apparently, the long waits were due to overwhelmed computer systems. Here's a great quote:

The system became so bogged down by 1 p.m. that election officials were forced to shut down the computers and reboot them, Dillard said.

Sounds like they were running Windows, doesn't it? The one cool part of the night was Mayor Hickenlooper came by to thank all the everyone for their patience.

Posted in General at Nov 07 2006, 05:47:35 PM MST 11 Comments