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.

JSF and Apache Axis at DJUG

I attended tonight's DJUG Meeting. The meeting was informative and well attended, but it was way too long. I just got home and it's a bit after 11:00. To put it in perspective, I arrived at 6:00. That's 4 1/2 hours of Java love. Elections contributed to the delay, as well as David Geary's 2 1/2 hour JSF presentation.

The basic concepts meeting covered Apache Axis, presented by Scott Davis. He showed us how easy it was to use Axis to create a web service and how to call it from the command line. The biggest highlight of his presentation (for me) was Keynote - his presentation software. It had wicked transitions and the slides looked awesome (good purchase Scott). Other cool software noted during Scott's preso was CodeTek's Virtual Desktop.

Next up was David Geary for a presentation on JSF. This guy has quite a resume: worked for Sun from 1994-97, member of the JSF and JSTL Expert Groups, author of 6 books, designed and implemented the Struts Template library (2nd committer to Struts after Craig). Books coming soon from David: Core JavaServer Faces, Core Rave, and Extreme Struts. Extreme Struts sounds very much like the Struts chapter I wrote for Pro JSP - XDoclet, StrutsTestCase, JUnit, Tiles and Validator. If you're looking for documentation on AppFuse or Struts-Resume, you'll find it in this book. If you don't remember, I wrote these apps for my chapters.

Most folks reading this blog probably know what JSF is. If you don't, it's a Java-based framework for building web applications. It is designed to replace Struts, but that probably won't happen until well after it's 1.0 release (March, Beta in December). JSF was also written to compete with .NET's WebForms, kinda like how JSP was developed to compete with ASP.

Sun's Project Rave is what supposedly will make JSF easy. Can Rave really be that much better than Eclipse or IDEA? Good luck Sun, those are two killer IDEs that are going to be very difficult to beat. And besides, has Sun ever produced any good applications? iPlanet sucks, so does Forte - comparing both to the other options out there.

I could go on and on about what I learned at this presentation, so let me just give you a brief synopsis. JSF generates JavaScript for you for event handling. The JSP tags are long and ugly, but they're named this way (i.e. <h:selectone_menu>) to distinguish a component (selectone) from a renderer (menu). David said he complained about this immensely when he joined the Expert Group, but now sees the point. No XML attributes are used in faces-config.xml - it's all entities. Reminds me of web.xml, lots of typing for not much information (what a pain - today's tool suck at deployment descriptors). JSF has no client-side validation - looks like Commons Validator will be around for quite some time. Especially since JSF requires you to specify your validation after each component in the JSP (vs. declaratively using the Validator). JSF EA4 does not work with Tiles - they're working vigorously to fix this. You can specify your navigation-rules separate from you actions in faces-config.xml (very cool feature).

If you know JSPs and Servlets, it's much easier to learn Struts (and presumably other webapp frameworks). If you know Swing, it'll be much easier to learn JSF. To me, this seems wrong. Some of the examples given tonight had HTML in .java files (for custom renderers). Are we reverting back to Servlets? Is Sun making a mistake with JSF? How is it better than WebWork or Struts? It seems to me to be an over-designed product developed by a bunch of Swing addicts.

My first impression of JSF is that it's going to be harder to teach to newbies (vs. Struts). Everyone says it's a standard so the tools vendors will come through and make it easy. The tools vendors haven't done shit for JSP and JSTL IMO, so how is JSF different? It's a good idea, it just needs to be simplified - a lot. KISS.

Posted in Java at Oct 08 2003, 11:24:35 PM MDT 1 Comment

New Gig starts November 3rd

I gave my notice on Monday and will be starting a new gig on November 3rd. My reasons are simple: I can bill for the commute (45 minutes each way), I can work from home 1-2 days per week, mentoring/teaching opportunities and the biggest - they want me to help them build a Resume Entry application. Sweet - I'm hoping to use Struts Resume as a baseline. If they agree to use Struts Resume, we'll have half the project done on my first day! The hard parts will be getting it to run on WebSphere and DB2 - their platforms (that I've never worked with). They're hiring me as a mentor on Java and Eclipse and also expect me to cut a fair amount of code. It'll be cool to have mentor as part of my job description. It's also a government agency, which means 40 hour weeks and no weekends. If anyone has gotten WebSphere running on OS X, hooka brutha up!

I gave my current gig a 4 week notice because I want to help them roll out the first phase of websites, and verify that architecture I helped them build actually works. They're looking to replace me with someone that has similar skills. They're located in Lafayette, Colorado - and it really is a fun place to work. Here's the most important things to know for this position: Struts, Ant, JSP and Tomcat. Let me know if you're interested.

Posted in Java at Oct 08 2003, 04:00:47 PM MDT 2 Comments

IDEA seems dumb

I'm going to rant about my issues with IDEA here because it always gets to so much praise in blogs. I like the fact that it opens quickly on OS X. However, every other time I open it, after it spends 10-20 seconds "loading project files," then synchronized local VCS and then the dialog hangs and I can't get rid of "storing local CVS." Closing IDEA fixes the problem usually. Secondly - and this is a new one - I just created/opened a new project (Canoo's WebTest) and it can't find import java.util.Map; What the? You can't find "java" files even though I told you my JDK was in "/usr" (which it should've detected anyway). It's highly likely that I'm the dumb one, but at this very moment it seems that IDEA gets to wear the dunce cap.

Posted in Java at Oct 08 2003, 09:27:54 AM MDT 9 Comments