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.
You searched this site for "&amp". 294 entries found.

You can also try this same search on Google.

[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] 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

Florida Bound

I'm getting ready to hop on a plane at the Boise airport. I'll be stopping in Denver to pick up our puppy and then flying to Ft. Lauderdale to attend The Spring Experience conference. Should be a fun weekend. I'll be staying on Singer Island, which sounds pretty nice after being in cold Idaho all week.

Singer Island Sunrise

Update: It doesn't look like I'm going to make Rod's Keynote tonight. Hopefully someone else will blog it.

Posted in General at Dec 07 2006, 06:35:41 AM MST Add a Comment

Boys Weekend

Julie and Abbie left on a jet plane this morning to spend the weekend in South Carolina. Abbie's best friend, Annabelle, moved there in May of this year. Julie thought it'd be fun to get them together again, as well as attend a Doodlebops concert. So the girls are off, and it's me and the boy for the weekend. We plan on having a great time.

First off, the new Light Rail opens today and Jack loves trains. So we're going to hit the grand opening in about an hour, and then he's going to join me in "going to work". I don't know how long he'll last in the office, but I'm sure he'll have fun regardless. Tomorrow, there's a DU hockey game, as well as free passes on the Light Rail all day. Should be a fun weekend, especially with all of the good football on tap. Now it's time to head out for some pancakes and eggs, I'm not much of a cook when Mommy's out of town. ;-)

Posted in General at Nov 17 2006, 09:20:47 AM MST 3 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

[CSS 2006] To ESB or not to ESB?

Do you have to have an ESB to have a SOA?

I'm sitting in Denise Hatzidakis's talk titled "To ESB or not to ESB" as requested by Mick Huisking. Dinese is the Chief Technologist at Perficient, Inc.. It's interesting, on her opening slide she has a @perficient.com e-mail address, as well as an @us.ibm.com address.

"SOA stands for Same Old Architecture"

This talk focuses on using an ESB and how to build it. There's a lot of ESB products out there. An ESB is not about a product - it's about what kind of connectivity you need between your systems.[Read More]

Posted in Java at Oct 24 2006, 06:08:48 PM MDT 1 Comment

Equinox (a.k.a. AppFuse Light) 1.7 Released!

This release's major new features are upgrading to Spring 2.0, Hibernate 3.2, an Ajax + Spring MVC version, an Acegi Security + Spring MVC version and Struts 2.0 as an optional web framework. It's highly likely that the "extras/security" package can be installed with other web frameworks, but it's only been tested with Spring MVC. Furthermore, this release provided all of the different combinations that Equinox provides - all 50 of them!

All of the frameworks used in Equinox, as well as most of its build/test system is explained in Spring Live. A summary of the changes are below (detailed release notes can be found in JIRA):

  • Added extras/spring-ajax with examples of ajaxified displaytag (with AjaxAnywhere), in-place editing (Script.aculo.us), in-page updates (DWR) and lightbox (Lightbox gone Wild) popups.
  • Added extras/security with Acegi Security integration for authentication and authorization.
  • Automated creation and testing of all possible combinations for distribution.
  • Converted from JSP to Facelets for JSF/MyFaces option.
  • Integrated Ajax4JSF into JSF/MyFaces option.
  • Added Struts 2.0.1 as web framework.
  • Upgraded to Spring 2.0, including improved XML syntax and JSP Form Tags
  • Added Cargo settings to pom.xml so it's possible to run web tests from Maven.
  • Changed dataSource bean to use a connection pool.
  • Added popup calendar (using jscalendar) to Spring MVC and Struts 2.
  • Added OpenSessionInViewFilter for Hibernate and OpenPersistenceManagerInViewFilter for JDO/JPOX.
  • Fixed foreign-language encoding issues with Spring's CharacterEncodingFilter.
  • Changed from DAO to Dao to be more consistent with other projects.
  • Dependent packages upgraded:
    • Canoo WebTest 1393
    • Cargo 0.8
    • Commons Validator 1.3.0
    • DWR 1.1.1
    • FreeMarker 2.3.8
    • jMock 1.1.0
    • JPOX 1.1.1
    • Hibernate 3.2
    • MyFaces 1.1.4
    • Spring 2.0
    • Spring Modules Validation 0.5
    • Struts 1.2.9
    • Tapestry 4.0.2
    • WebWork 2.2.4
  • Dependent packages added:
    • Acegi Security 1.0.2
    • Ajax4JSF 1.0.2
    • AjaxAnywhere 1.2-rc2
    • Facelets 1.1.11
    • Struts 2.0.1

Download. For more information about installing the various options, see the README.txt file.

Demos:

Thanks to all the users of Equinox for making this a great release!

P.S. I'm fully aware that this project's name conflicts with an Eclipse project. ;-)

Posted in Java at Oct 20 2006, 04:28:31 PM MDT 16 Comments

High Performing Java Web Frameworks

Steven Haines appears to be gearing up for a showdown among Java web frameworks. In his Web Frameworks article (found via dzone), Steven notes the following:

There are many factors that you need to consider when choosing an application framework, including but not limited to:

  • Suitability for your specific business needs
  • Developer productivity
  • Performance
  • Support and community activity
  • Technology maturity
  • Developer prowess
  • Business relationships

He goes on to say that he's planning on comparing a number of web frameworks, and his study will give special attention to how these frameworks perform. He'll be comparing Struts 1.x, Struts 2.x, Shale and Spring MVC. If you think your framework can compete, Steven invites you to send him an e-mail.

If anyone has a compelling reason why we should add an additional framework, please contact me and I will be glad to consider it in this endeavor.

I'm looking forward to reading Steven's articles, I just hope I can find them again when they're published.

Posted in Java at Aug 21 2006, 08:42:40 PM MDT 9 Comments

How accurate are java.net's top project statistics?

Yesterday, java.net updated their Top Ranked Projects page to reflect the top projects for July 2006. I've always thought these were fairly accurate. However, a couple of weeks ago, I did a bit of investigating (since GlassFish always seems to top all categories) and I found some interesting information. First of all, when last month's stats were first published, I noticed that DWR was on top of the "mailing list traffic" category. I did some investigating, and found the following:

DWR: 62 + 522 + 1 + 3 + 1 = 589
AppFuse: 65 + 134 + 542 + 21 = 762

So I thought, am I missing something? Why does AppFuse rank lower. I posted a question to the java.net forums, and got the following response:

I have a typo in my spreadsheet where I ran the numbers. Let me recheck and fix.

Thanks to Helen for her honesty, but isn't this something that could easily be automated? This would eliminate any calculation errors? Especially since there seems to be issues with the previous month's statistics.

For June 2006 (excluding AppFuse's issues and cvs lists):

GlassFish: 184 + 204 + 28 + 80 + 2 + 36 + 4 + 11 + 17 = 566
AppFuse: 684 + 19 = 703

AppFuse had more mailing list traffic, yet GlassFish is #1 and AppFuse is #3. Is java.net trying to make GlassFish look more popular than it is?

Posted in Java at Aug 10 2006, 01:48:00 PM MDT 7 Comments

SiteMesh works with JSF?

It looks like Andres Castillo has figured out how to make SiteMesh work with JSF. In case you didn't know, SiteMesh has Tapestry support in its CVS repository.

To learn more about SiteMesh, see Introduction to SiteMesh and Advanced SiteMesh.

Posted in Java at Jul 10 2006, 06:03:03 PM MDT 2 Comments