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.

SiteMesh 2.3?

Did you know the SiteMesh folks released version 2.3 back in October? Here's proof. Unfortunately, there's no release notes and the release hasn't been uploaded to Maven's repository. There are release notes in JIRA, but not all of them seemed to be fixed. What's up with that? Did you guys forget how to manage a project? ;-)

Posted in Java at Dec 18 2006, 11:53:32 AM MST 7 Comments

Back in Denver

After living out of a suitcase for most of December, it was nice to arrive back in Denver last night. I left here on December 3rd to travel to Boise, Idaho to teach a Spring course. From there, I flew to Ft. Lauderdale, Florida to attend The Spring Experience. This was an excellent show, and I blogged most of the sessions I attended. To read about my AppFuse talk on Saturday night, see my Spring Live blog.

After TSE, I spent the next week with my family in Florida. We drove up to Disney World on the 2nd day of our vacation and had a blast. No one was there, so lines where short and the kids couldn't stop smiling.

Stitch at Disney

While watching the kids' faces light up at Disney was cool, driving Julie's Mom's Cayenne Turbo S around all week was a highlight for me. It was definitely a gas-guzzler, but 520 horses is an awful lot of fun. It rained a lot the remainder of the week - almost 8 inches in 12 hours one day. Even when raining, the temperature still hovered around 80°F all week long. As crazy as it sounds, I'm actually happy to get back to the cool weather in Denver (high of 30°F today).

I'll be in the office all week, trying to tie up some loose ends before the end of the year. This weekend, it's back to vacation mode for another week. This time we'll be heading up to Steamboat for skiing, holiday cheer and (hopefully) lots of snow.

Posted in General at Dec 18 2006, 08:43:15 AM MST Add a Comment

[TSE] Hop into Real Object Oriented (ROO) with Ben Alex

This session's goals are to:

  • To detail the "ROO" DDD architecture
  • To show you how productive ROO can be
  • To profile an Australian project using ROO

ROO is more of an implementation than an architecture. So what is ROO? It's not an Australian marsupial or an Australian airline. It's a Domain-Driven Design (DDD) implementation.

Real Object Oriented (ROO) is both an architectural approach and a framework with code generation.[Read More]

Posted in Java at Dec 10 2006, 10:32:04 AM MST 19 Comments

[TSE] Building Modern Web Applications with Mike Stenhouse

Mike Stenhouse is the creator of the CSS Framework we use in AppFuse. Mike is going to talk about the tools he uses to develop web applications. Mike works solely on the front-end, no backend work.

"In 2007 we’ll witness the increasing dominance of open internet standards. As web access via mobile phones grows, these standards will sweep aside the proprietary protocols promoted by individual companies striving for technical monopoly. Today’s desktop software will be overtaken by internet-based services that enable users to choose the document formats, search tools and editing capability that best suit their needs." -- Eric Schmidt, CEO Google

Web Standards is a methodology and philosophy, not just valid CSS and XHTML. The main philosophy behind web standards is progressive enhancement. The methodology behind web standards is a 3-step process.[Read More]

Posted in The Web at Dec 10 2006, 08:51:40 AM MST 2 Comments

[TSE] Keynote: The Bigger Picture with Adrian Colyer

We've seen a lot of things over the last few days, but what about the big picture? It's not just about the Spring Framework anymore, but there's also a lot of sub-projects: SFW, SWF, SWS, S-OSGi. Then there's Enterprise services: clustering, persistence, messaging and scheduling. Industry trends: SOA, Web 2.0/RIA, RAD stacks.

Agenda

  • Spring portfolio: unifying themes, fitting the pieces together (by layer) and future direction
  • Facing the feature: my boss says I need a SOA, from auto-suggest to RIA and the quest for ever-increasing productivity

[Read More]

Posted in Java at Dec 09 2006, 07:26:49 PM MST 3 Comments

[TSE] Spring-OSGI with Adrian Colyer

One of the first questions people ask about OSGi is "what the heck is it?"

Most people don't even know what it is. OSGi stands for Open Services Gateway initiative. From the very beginning, it was designed to be lightweight and dynamic. This is the major difference between it and other containers. It's always been designed to have things added and removed. Now it's tagline is: "The Dynamic Module System for Java".

It's designed to allow you to partition a system into a number of modules (a.k.a. bundles). There's strict visibility rules (similar to protected and private). There's a resolution process (dependencies are satisfied) and it understands versioning.

It's dynamic! Modules can be installed, started, stopped, uninstalled and updated - all at runtime.[Read More]

Posted in Java at Dec 09 2006, 02:29:58 PM MST 6 Comments

[TSE] The Holy Grails of Web Frameworks with Guillaume LaForge

Under the hood, Grails uses Spring MVC. It has support for "flash scope" between requests.

I find it funny that flash scope is so popular these days, we've had this in AppFuse for four years. However, web frameworks didn't add native support for it until it had a name (provided by Rails). To be fair to Struts Classic, they had support for it before Rails was even invented.

Rather than JSPs, Grails uses Grails Server Pages, which look much like JSPs. Grails uses SiteMesh by default and allows you to easily change the layout used with a meta tag.

<meta name="layout" content="main"/>

Most of the dynamic attributes in a GSP are rendered using the various "g" tags. There's dynamic taglibs for logic (if, else, elseif), iterating, linking, ajax (remoteFunction, remoteLink, formRemote, submitToRemote), form (select, currencySelect, localeSelect, datePicker, checkBox), rendering (render*, layout*, paginate), validation (eachError, hasError, message) and UI (i.e. richtexteditor). [Read More]

Posted in Java at Dec 09 2006, 12:31:25 PM MST 6 Comments

[TSE] Good ol' I-95

I left West Palm Beach at 11:30 this morning, seemingly plenty of time in order to make the afternoon sessions at The Spring Experience. Unfortunately, a truck caught on fire on the side of the freeway and stopped traffic for a good hour. So it took me two hours to get here. Damn. I just walked into Guillaume LaForge's talk on Grails, hopefully I can learn something in the last 30 minutes of his presentation.

Update: It looks like I missed a good talk on testing this morning.

Posted in Java at Dec 09 2006, 11:44:34 AM MST Add a Comment

Selenium Plugin for Maven

On the Maven users mailing list, Mick Knutson recently posted a question asking if there's a Maven 2 plugin for Selenium. Since we're hoping to move from Canoo WebTest to Selenium for AppFuse, this piqued my interest. It looks like the Geronimo guys have created a plugin and they run their Selenium tests from TestNG. While another user agrees, Wendy Smoak recommends following what Shale does.

While these solutions sound doable, David Santiago Turiño seems to suggest the best solution: Mavenium. The main limitation of Mavenium seems to be it only supports HTML-based tests. Since I expect most AppFuse users to generate their tests using the Selenium IDE, I doubt this will be an issue.

Is anyone using this plugin? If so, do you think it's the best way to integrate Selenium into AppFuse? We'd like to implement the most popular and easiest to use mechanism.

Posted in Java at Dec 08 2006, 05:04:55 PM MST 6 Comments

[TSE] Designing Stateful Web Application Control Flow with Erwin Vervaet

Spring Web Flow (SWF) does not fit into an application or a feature where free-flow navigation is required. It works best where you need to lock down and control navigation. SWF is not designed to be a web framework, but rather to solve the specific problem of navigation and state management between many pages.

Erwin is a Senior consultant at Ervacon and has extensive experience using Java SE and Java EE. He is the inventor and co-lead of the Spring Web Flow project.[Read More]

Posted in Java at Dec 08 2006, 03:47:49 PM MST 5 Comments