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.

iBATIS Article on ONJava.com

If you've heard of iBATIS, but never had the time to look into it, there's a good intro article on ONJava.com: Object-Relational Mapping with SQLMaps. iBATIS continues to be my persistence framework-of-choice when Hibernate doesn't mesh with the database schema. Now if we could just get someone to write a Middlegen Plugin to generate POJOs and SQL Maps from database schemas. ;-)

Posted in Java at Feb 03 2005, 06:35:03 AM MST 6 Comments

EclipseWork - Eclipse Plugin for WebWork

From the WebWork Mailing List, I learned that the Eclipse Plugin for WebWork has released its first version - and it looks pretty nice (demos). To install using Eclipse Update Manager, use http://eclipsework.sourceforge.net/install/site.xml.

Posted in Java at Feb 03 2005, 06:28:14 AM MST Add a Comment

Monitoring Tomcat with JMX

Larry Williams points out how to monitor Tomcat 5.5.x with JMX.

To monitor your Tomcat instance with JMX start Tomcat with the following JVM parameters.

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9000
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

I'm posting this hear so it's easier to find when I get time to try this out.

Posted in Java at Feb 02 2005, 03:23:17 PM MST 4 Comments

Generate your iBATIS mapping files with sql2iBatis

From the iBATIS mailing list:

Hi everyone, 

I just wanted to remind everyone of Alex Egorov's sql2iBatis tool. 
I've recently had the chance to try it.  If you have a database that's
already created, this will save you a lot of time.  It will kickstart
your project.

Given DDL, it generates the SQL Mapping files and the JavaBeans.  It's
super simple and extremely fast.  You may want to tweak the Perl to
generate bean field naming conventions to your liking, or just
refactor it afterwards.   You might also want to run the source
through Jalopy or your favorite IDE formatter to achieve the
formatting you want.

However you cut it, this tool will save you tons of time (even if you
don't use everything it generates...deleting is faster than writing).

http://alxeg.narod.ru/ibatis/index.html

Cheers,
Clinton

Too bad it's a perl script. It would be nice to add something like this to AppFuse so you could get the same generate-mapping-files thing like Hibernate has with XDoclet.

Posted in Java at Feb 02 2005, 07:10:11 AM MST 5 Comments

So Struts is Dead, huh?

So most folks think Struts is Dead, huh? I've got news for you folks. Struts has been dead since 2002. For that matter, most Java frameworks have been dead for the last year. Most folks think Struts is dead because there won't be any new and whiz-bang features added in future releases. I'm willing to bet the other Java Web Frameworks won't add any whiz-bang features in the next few years either. Sure, WebWork might get a little XMLHttpRequest lovin' for client-side validation, and Tapestry might get pretty URLs - but both of these are features that these frameworks should've had in the first place. So what's the big deal? At least the Struts Developers have the guts to stand up and say "we're in maintenance mode". Shouldn't all framework developer's be able to say this? It's really quite an accomplishment.

IMO, the only developers that shouldn't be saying this are Tapestry and JSF folks. Both of these teams should be saying - "we're going to make our frameworks easier." If these frameworks are going to be the future of Java web development, there's some work to do. The JSF folks should be saying, "we're going to fix all the stuff that's broken". This "stuff" includes POST for everything, lack of bookmarkability, and bad validation messages (the good news is the validation messages should be fixed in JSF 1.2). I think Tapestry needs some simplification too. In my experience, most Tapestry pages (by design) require 4 files. One for the Java class, one of the HTML template, one for the page specification and one for the i18n keys. This should be easier. It'd like to see two required files (template and Java class) and the others are optional. Maybe annotations could eliminate the page specification? I think there's a lot to be learned from frameworks like Ruby on Rails: default everything, allow overriding.

I think that Shale will be good, but only if it learns from the other MVC frameworks available. If I were on the team, I'd take the good things from all the others: IoC, Interceptors, HTML templates, etc. I wouldn't stop there either - there needs to be good examples of how to integrate it with middle-tier frameworks like Spring, Hivemind and EJBs. Often developers will take examples as recipes - so the more detailed and simple, the better. The Struts developers have quite an opportunity to make something great, let's hope they don't just create another framework.

Posted in Java at Jan 31 2005, 06:48:01 PM MST 13 Comments

Made it home!

We made it home today and boy is it great to be back in Denver ... and healthy. We had a great time with my parents and sister at my parent's place in Salem, Oregon. It was so cool being back in another place I call home. For the past few years, I've always looked at Montana as my true home, but I came to realize that I need to visit Oregon a lot more. It took me until this weekend to realize the power that your parents house can hold for you. I experienced one of several "perfect moments" in my life when I was holding baby Jack on Saturday night. It just felt great being around so much love. And their basement sauna rocks. I'll be installing one in my basement in the next year.

Friday was a nice and smooth flight out there. We left at 8:30 a.m. and Abbie slept for most of the flight. Not only that, but Frontier has individual TVs for every passenger. Julie loved it and watched HGTV for the 2-hour flight. The highlight of the trip is when both kids threw up (from coughing) w/in 5 seconds of each other. Like some kind of wonder-woman, Julie got both kids messes in the same hand.

My sister, Kalin, showed up a couple of hours after us - and we all enjoyed a nice evening together. Later that night, Kalin and I made a "Welcome Home Dad!" sign and drove to the Portland airport to pick up my dad. He flew in from Amsterdam (after visiting Germany and working in Tanzania for a week) and had been on a plane the past 20 hours.

We spent most of the weekend just hanging out and laughing with old friends. One of my best friends from high school (whose name is also Matt) has two boys (4 and 2) and Abbie had a great time trying to keep up with them. I was terrified of them at first b/c they were so crazy, but I ended up having a great time with them throughout the weekend. Julie dreads Jack growing up now more than ever.

Today was a nice easy flight, where Abbie slept half of it and watched Monsters Inc. the other half. We came home to melted snow, and missed the "2 feet" of snow that fell last night. After having the last week off being sick and then on vacation, I'm very motivated to do some AppFuse and Spring Live work this week - in addition to my regular job. It's good to be home.

Posted in General at Jan 31 2005, 06:27:01 PM MST 4 Comments

You know you're sick when...

You know you're sick when you lose 9 pounds in 36 hours. Ugh. The fever and cold sweats seem to have subsided, but my cold is still in full force. Abbie has a cold but doesn't seem to have the fever. Julie and Jack seem to be immune to this bug. Should be a fun plane ride tomorrow - good thing it's only 2 hours to Portland.

Posted in General at Jan 27 2005, 10:46:57 AM MST 2 Comments

Short and sweet contracts

This has been a good month for Raible Designs. Not only did I manage to land a new gig, but I've also had a couple of 1-day contracts. The first one was an architectural review (at the beginning of the month), and yesterday I delivered a presentation on TDD and Spring for a client. These short-n-sweet gigs are a lot of fun. It's a good way to get out and meet members of the Java Community and see what tools they're developing with. The first client is using Struts, Spring and Hibernate. The second client wanted to use Struts, but after my talk, they're thinking about Spring MVC. They plan on using Spring to make EJBs easier, and they're using TopLink on the backend.

The only bad part about yesterday's experience is I developed a full-body ache as soon as I left the client's site. I managed to catch a cold from Abbie this weekend, and that turned into a cold+fever last night. I've had the fever ever since and didn't go into work today. It's really shitty timing for getting sick - we have a deadline on Thursday and we're heading to Oregon to see my parents this weekend. Last I checked, my fever was at 102°F. Hopefully, I'll wake up tomorrow and it'll be gone.

Posted in Java at Jan 25 2005, 08:38:50 PM MST 6 Comments

AppFuse at Dallas JUG

Apparently, the Dallas JUG will have the pleasure of listening to a presentation on AppFuse this Wednesday. I can't seem to find any information on their site, but someone forwarded me an e-mail that looks genuine. You know a project is getting popular when other people are giving presentations on it! ;-)

Posted in Java at Jan 25 2005, 08:35:38 PM MST 4 Comments

AppFuse Startup Video?

Dion wants to see an AppFuse Startup Video like Mike Clark's CruiseControl Action Movie. While this sounds like a good idea, I think I'd be shooting myself in the foot if I created it. Why? Because then more folks would start to use AppFuse, and hence, I'd have to answer a lot more e-mails on the mailing list. Being a top-ranked project on java.net doesn't help. You might think that there's a lot of issues with AppFuse, and that's why the mail traffic is so high, but that doesn't seem to be the case. Most questions seem to be along the lines of "Why did you do this?", "What do you think about adding X technology?" or "My Hibernate relationships don't work."

Few of the issues relate to AppFuse directly (i.e. build file and directory structure), but many of them relate to the technologies it depends on. Good HowTos should lead to a lot less Hibernate questions, and I hope to work on that before the next release. As far as the other questions, I need to add some links from the FAQ to the mail archives so I can quite repeating myself. I think a lot of the mail traffic is just an indication of a successful open-source project. In other words, when you get popular - you have little time to develop anymore. I probably spend 1-2 hours per day just answering AppFuse e-mails.

Another unfortunate side-effect of this is that there seems to be a lot of newbies. When AppFuse was first released in April 2003, it seemed that only experienced, smart developers used it. Maybe this was because there wasn't any documentation (besides Pro JSP and Java Development with Ant, which explains the entire build.xml file), so folks had to really understand the dependent technologies to use AppFuse. Now there's questions about the basics of different frameworks. In most cases, I'd like to respond to a link to the framework's documentation - but sometimes the documentation just isn't there. I guess that's why frameworks like Ruby on Rails succeed - all the dependencies are part of the framework. If I tried to do that in the Java Community, it'd be project suicide. I'd spend all day answering questions like, "Why aren't you using Hibernate?", "Why Not Spring/JSF/Struts, etc." Furthermore, I'm not as smart as the framework developers, so it'd simply never happen.

But I digress. What's in it for me if I create an AppFuse Startup Video? I can see what's in it for Mike - his video is about a project he doesn't support (AFAIK) and the video should lead to more book sales. I suppose I could try and hook users that AppFuse is explained in Spring Live, but that's not really the case. Maybe I should just do an Equinox Startup Video. ;-)

Posted in Java at Jan 24 2005, 10:29:12 AM MST 15 Comments