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.

Developing Services with Apache Camel - Part II: Creating and Testing Routes

Apache Camel This article is the second in a series on Apache Camel and how I used it to replace IBM Message Broker for a client. The first article, Developing Services with Apache Camel - Part I: The Inspiration, describes why I chose Camel for this project.

To make sure these new services correctly replaced existing services, a 3-step approach was used:

  1. Write an integration test pointing to the old service.
  2. Write the implementation and a unit test to prove it works.
  3. Write an integration test pointing to the new service.

I chose to start by replacing the simplest service first. It was a SOAP Service that talked to a database to retrieve a value based on an input parameter. To learn more about Camel and how it works, I started by looking at the CXF Tomcat Example. I learned that Camel is used to provide routing of requests. Using its CXF component, it can easily produce SOAP web service endpoints. An end point is simply an interface, and Camel takes care of producing the implementation.

[Read More]

Posted in Java at Sep 30 2014, 10:05:38 AM MDT 9 Comments

Developing Services with Apache Camel - Part I: The Inspiration

In early May, my client asked me to work on a project migrating from IBM Message Broker 6.1 to an open source solution. Their reason was simple, the IBM solution was end of life and outdated. To prove how out of date it was, the Windows version required Windows XP to run. IBM WebSphere Message Broker has been replaced by IBM Integration Bus in recent years, but no upgrade path existed.

At first, I didn't want to do the project. I was hired as a Modern Java/UI Architect and I had enjoyed my first month upgrading libraries, making recommendations and doing a bit of UI performance work. I hadn't done much with ESBs and I enjoy front-end development a lot more than backend. It took me a couple days to realize they were willing to pay me to learn. That's when I decided to clutch up, learn how to do it all, and get the job done. This article is the first in a series on what I learned during this migration project.

My approach for figuring out how everything worked was similar to working on any new application. I get the source code, install the software necessary to run it, and run it locally so I can interact with it.

[Read More]

Posted in Java at Sep 23 2014, 10:58:25 AM MDT 7 Comments

Rafting the Green River through Desolation Canyon

After rafting the Yampa in June, we knew we'd experienced a once-in-a-lifetime kinda trip. We never expected to have two in one summer. When we got an invite to raft Desolation Canyon over Labor Day weekend, we jumped at the opportunity.

The trip started on Jack's birthday: Thursday, August 28th. We drove from Denver to Green River, Utah the night before, and had some adventures along the way. As we were heading down Vail Pass, our trailer started to swing from side to side, almost whiplashing us off the road. We quickly slowed down and didn't go over 65 MPH for the rest of the trip. I figured this was caused by the rear spring spacers we added to the Syncro. The heightened rear caused the raft trailer to be out of balance, and we needed a new hitch to drop it down.

We arrived around 1:30am, popped the top on our camper and went to sleep. The next morning, we woke up and met some of our fellow floaters for the first time. An hour later, were were getting ready to leave and I was inspecting our trailer. That's when I noticed one of the wheels was about to fall off. The bearings were shot and the wheel was barely hanging on.

Luckily, one of the guys we just met had replaced all his trailer's bearings the week before and was on it. He knew exactly what to do and went to work. There was a Napa Auto Parts store a mile away. Two hours and several trips to Napa later, we were back in business and on the road.

We celebrated Jack's 10th birthday while driving to the put in, opening presents and having a good ol' time. We also had some cupcakes to celebrate with everyone once we arrived. Jack was especially pumped for the huckleberries my Mom overnighted.

Happy 10th Bithday Jack! YAY Huckleberries from Mimi and Baba in Montana

We launched with five families total, 10 adults and 10 kids. We had five rafts, a duckey, an inner tube and two motors to get us through the flat water. We didn't get on the river until 6pm that first day, and only made it seven miles before dark.

[Read More]

Posted in General at Sep 20 2014, 05:11:17 PM MDT 2 Comments

Getting Started with JHipster on OS X

Last week I was tasked with developing a quick prototype that used AngularJS for its client and Spring MVC for its server. A colleague developed the same application using Backbone.js and Spring MVC. At first, I considered using my boot-ionic project as a starting point. Then I realized I didn't need to develop a native mobile app, but rather a responsive web app.

My colleague mentioned he was going to use RESThub as his starting point, so I figured I'd use JHipster as mine. We allocated a day to get our environments setup with the tools we needed, then timeboxed our first feature spike to four hours.

My first experience with JHipster failed the 10-minute test. I spent a lot of time flailing about with various "npm" and "yo" commands, getting permissions issues along the way. After getting thinks to work with some sudo action, I figured I'd try its Docker development environment. This experience was no better.

JHipster seems like a nice project, so I figured I'd try to find the causes of my issues. This article is designed to save you the pain I had. If you'd rather just see the steps to get up and running quickly, skip to the summary.

[Read More]

Posted in Java at Sep 08 2014, 11:30:33 AM MDT 7 Comments