Matt RaibleMatt Raible is a Web Developer and Java Champion. 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 "appfuse". 771 entries found.

You can also try this same search on Google.

JDNC: Simplifying Java Desktop Client Construction

Next session: Java Desktop Network Components. I'm trying to attend sessions that I don't know much about. J2EE ones are likely to bore me. I just noticed that Amy Fowler is one of the presenters - and I've heard she's hot - so I'm sitting up close (5th row).

JDNC is designed to provide shortcults for building common archetypal applications. Better clients with less effort. Less (maybe no) coding. Gentle learning curve and incremental development model. Assumes network or web data source. Geared towards Java application and XML developers. Sun is going to do a lot of work to get Tools vendors to include JDNC. It seems similar to AppFuse, but I'm guessing it's more of an API than a project template. Their goals seem to be the same - get something to show your manager in a matter of hours, not weeks.

Swing Extensions API: targeted for Swing developers, extended components with more features, networked data connectivity and data-binding. I wonder how JDNC compares to Spring's RCP project? Amy mentions JGoodies and how they'd like to include it as part of JDNC.

Feature Highlights:

JXTable: Asynchronous data loading. Sorting, filtering and highlighting.
JTreeTable: Hiearchical-columnar view (outline)
JForm: Data-binding and Validation (as you type). Sounds a lot like what Keith is working on for Spring.
Damn - missed one...

JDNC API: Very high-level components. Built on the foundations of SpringSwing/JFCX. Solution focused and conforms to the JavaBeans Architecture Spec - BeanInfos provided for tool friendliness. Encapsulates complex operations (threading, network connectivity, data modeling). Provides usability features.

Components: JNTable, JNTree, JNTreeTable, JNForm, JNEditor. These components wrap, rather than extend lower level component. Expose simpler API and provide more defaults (i.e. scrolling).

Now we're looking at the Bug Editor Demo (WebStart). The features they're showing are similar to what folks want in the display tag - sorting, filtering, column visibility. It's very cool to see that this is now a built-in feature of Swing. I wonder how hard it is to use JDNC and JGoodies in project? Is it just a matter of adding a couple of JARs to your classpath? It'd be cool to add J2ME and Swing clients to AppFuse. I think the hardest part would be emulating the current (container-managed) security model that exists in the webapp clients.

Sorry, zoned out on e-mail for a while there.

Amy is now showing code and how to create a form for the detail view. It's interesting that the data-binding, including exceptions, is similar to Spring.

JDNC Markup Language: Looks very cool. You can actually develop a Swing app with XML!

Important thing to remember: JDNC simplifies rich client development on all levels. Overall I think JDNC is a very cool open-source project - it's nice to see Sun trying to make developer's lives easier. For more information on developing Swing apps, checkout javadesktop.org.

Posted in JavaOne at Jun 29 2004, 04:09:19 PM MDT 14 Comments

[JavaOne] State of the Web Tier

I'm sitting here with Bruce, listening to Craig McClanahan and others speak about the "state of the web tier." After the first 15 minutes, it seems like a waste of time. I should go to something I don't know about. The first 15 minutes touched on MVC frameworks and things like filter and tag libraries. I was impressed that they mentioned WebWork, Tapestry and Spring. Heck, they even mentioned SiteMesh when they talked about filters. Now Craig is talking about portlets.

It would be cool to do some portlet development. I took a class a couple of years ago to become a Portal Server instructor. I got certified, but never actually taught a course.

JSF: A server-side user interface component framework for Java technology-based web application. It's not an application framework for your business logic - it's for the UI only. JSF looks cool - especially since it uses the same "form backing object" like Spring MVC has. I think JSF has an advantage over a lot of other frameworks because (1) it'll be well documented and (2) it'll be well tested and (3) it'll be widely used. Having a widely-used technology is sooooo much easier to learn than ones that aren't. I'm willing to bet that the JSF version of AppFuse will be the most popular one in a year from now. By the end of the year, AppFuse will support WebWork, Tapestry and JSF in its web layer - in addition to Struts and Spring MVC.

Demo time. Craig is showing us the JSF demo app that we saw in the keynote. We're looking at Java Studio Creator now. There's a Creator party tomorrow night - get tickets from downstairs at the Creator booth.

J2EE 5.0: New name, same great platform. Final release in second half of 2005. Ease of Development is the primary theme. Based on J2SE 5.0, with great benefits (shouldn't it be J5SE and J5EE - WTF!?). New JSRs: JSP 1.2/JSF 1.2 - EL alignment is key. Toolability is key. Maintenance reviews: Servlets and JSTL. J2EE.next - successor J2EE 5.0. Work will begin shortly after JavaOne and JSRs will be filed after JavaOne. Experts groups are on Java.net - JSP and JSTL are there today. Also,the JSF Reference Implementation is now on java.net. BTW, I'm on the J2EE 5.0 Expert Group so hopefully I can contribute to making J2EE 5.0 easier too. They'll let just about anyone onto these expert groups - can you believe they let both Hani and I in? ;-)

Posted in JavaOne at Jun 28 2004, 03:29:35 PM MDT 5 Comments

AppFuse Logo - winner is Igor Polyakov!

Igor Polyakov is the winner of the AppFuse Logo Contest! I didn't get many votes from the mailing list - but of the 7 votes I received, 5 were for Igor's logo. Since it was my favorite too - I can't complain. Congratulations Igor - we dig your design!

AppFuse Logo

Posted in Java at Jun 25 2004, 05:43:25 PM MDT 4 Comments

EJB Solutions is now Open Logic

Open Logic EJB Solutions has changed their name to Open Logic and Out-of-the-Box has become Blue Glue. Why do I care? Because I start working for them (as a contractor) tomorrow! It'll be cool to work for a company that's just changed their whole website and released a new version of their product. Sounds like my kind of environment. It's kinda strange that their press releases have next Monday on them - I guess to coincide with JavaOne?

Posted in Java at Jun 21 2004, 10:22:04 PM MDT 6 Comments

Mailstore seems to be based on AppFuse

An interesting post titled "Project and Build Structure" showed up on javablogs.com today. As I began reading the project structure layout, I thought, "that looks good." It wasn't until I viewed the build.xml file that I realized that Seyed had copied AppFuse and modified it to his needs. This is fine and the license allows you to do this. However, Seyed's post seem to indicate that he is coming up with all of this stuff on his own. It seems, to me, that Seyed is (so far) in violation of AppFuse's license. Of course, if he'd merely give credit to AppFuse, he'd be free and clear! ;-)

Posted in Java at Jun 13 2004, 06:06:40 PM MDT 3 Comments

AppFuse Logo Contest - win an iPod

I need a logo for AppFuse. I don't care if it has the name "AppFuse" in it or if it's just an icon sort-of-thing. I'm primarily looking to replace the default icon on java.net - but good project logos are always cool. Hopefully it will imply what AppFuse is (a jumpstart kit for java webapps), but I'm more keen on a good-looking design that anything. I'll buy the winner an iPod mini. If you have a logo you'd like to submit, please upload it to my wiki using the "Attach File..." link at the bottom of the page.

Update: Wow - there's already 8 entries in 24 hours! Sweet! I think I'll end the contest next Thursday, (the 24th) and announce a winner on Friday evening.

Posted in Java at Jun 13 2004, 03:00:45 PM MDT 7 Comments

Quick 'n Easy SiteMesh Tutorial

SiteMesh is a kick-ass tool. It's much easier to use and configure than Tiles, although I don't know if its as powerful. Tiles has Controllers that you can assign to a definition and it supports easy i18n. I've been using Tiles for over 3 years and I've only used SiteMesh for a few months. However, SiteMesh already seems to suite all my needs. I'm guessing that most people use Tiles over SiteMesh because they haven't given SiteMesh the 10 minute test.

Anyway, back to the point of this post. Rick Reumann has put together a nice tutorial titled Use SiteMesh instead of Tiles.

I think you will quickly see the benefits after going through this brief example. In summary, the main reason I like SiteMesh more than Tiles is that SiteMesh is much easier to configure and use (less typing and easier to understand).

Good stuff - thanks Rick! As part of the WebWork integration into AppFuse, I was planning on using SiteMesh. I'm already using it in Spring Live sample app and it's pretty slick. I haven't had to touch it since I integrate it. Compare this with Tiles where you have to add a new definition (or JSP) everytime you want a new page. If nothing else, I think Tiles needs to learn from SiteMesh and add a Filter that can be used to decorate pages.

Posted in Java at Jun 13 2004, 02:15:50 PM MDT 9 Comments

Colorado JUGs

The last two nights I gave talks at the Denver JUG and Boulder JUG meetings. On Wednesday night, I presented AppFuse in the basic concepts meeting and Thursday I was the main speaker at BJUG. Both meetings were great and my presentations went pretty well. Denver had about 50 attendees and Sue Spielman gave a very informative talk on J2ME. To me, J2ME seems like the equivalent of Swing for the Desktop. Building mobile-friendly websites seems like an easier route - then you don't have to worry about how the phones differ. Maybe I don't know enough about J2ME - why should I write a J2ME app when I can write a webapp? To me, it seems that I should stick with what I'm familiar with - and if I do choose to get into the mobile space, websites would be the way to go. My phone (a T68i) was very helpful last week in San Deigo. I used it's internet access and go2.com to find directions to several locations in San Diego. I just told the website to "auto-locate" me, then I'd type in an address and voila - it spit out a list of directions. Bruce and James also wrote about the Denver meeting.

Last night was the Boulder meeting, where Scott Davis kicked it off with a talk on Struts. My AppFuse presentation could've been much better if I based mine off of Scott's. I do some live coding of a DAOTest and a DAO in my presentation - and I think the audience would've gotten a lot more out of it if I'd showed them how to develop Actions and JSPs with AppFuse. Oh well, that's what the tutorials are for. I also like showing the DAO stuff because it shows the power and simplicity of the Hibernate+XDoclet+Spring combination. It's pretty cool to mention that integrating Spring into AppFuse only took a few hours. During integration, I remember deleting 5 or 6 classes/files and reducing my LOC count by about 75%.

After the meeting, I talked to one guy who was interested in adding a Swing front-end to AppFuse. I told him it shouldn't be too hard since the dao and service layers are already packaged as JARs. From a Swing app, you could easily reuse the business delegates and DAOs to talk to a database. The hard part would probably be mimicing authentication and authorization. I'm guessing that JAAS could probably provide a nice standards-compliant solution for this. I'm sure Spring's RCP project could make developing this front-end even simpler. I also talked to Kris about helping with the WebWork version of AppFuse. Hopefully he can help me out and make that happen sooner than later. I'm still targeting the end of July for a WebWork/Sitemesh-enabled release, as well as lots of enhancements to IDE friendliness.

Both meetings where followed by beers and good conversation. Last night, the tavern we were at lost power after about an hour. That didn't stop us from spending another hour in the dark telling old war stories. Good times - thanks to all who participated!

Posted in Java at Jun 11 2004, 10:00:24 AM MDT 7 Comments

Pictures from "Bus Rescue" Road Trip

As I mentioned earlier today, we made it back to Denver in one piece. Click on the pictures below to see a bunch of pictures from the trip. We flew in Thursday night and got a room at the beautiful Catamaran Resort on Mission Bay in San Diego.

Bus Trip

On Friday morning, we picked up the bus in Encinitas, which is about 30 miles north of San Diego. The bus started right up and I was able to drive it right onto the freeway. The first couple of things I noticed were (1) the brakes didn't work too well and (2) the top speed was close to the speed limit. We parked at the hotel and walked to breakfast. When we came back, the bus didn't start when I turned the key. The dash lights came on, but nothing happened. Push starting it in reverse fixed the problem. From there, we headed to a parts store, got an oil change, and headed out on the road around 3:00 p.m. The "starter didn't work" problem seemed to be quite random as it worked sometimes and not others. I fixed it this morning by securing some wires that were flopping around.

The first leg of the trip - between San Diego and Las Vegas - was a little brutal. The traffic was ridiculous, it was hotter than hell (approaching 100) and when the speed did pick up - we were the slowpokes in the right lane. We did make it to Vegas after about 8 hours, and stayed at the Stratosphere. We ended up hitting the sack around midnight and woke up promptly at 4:30 to get back on the road. Our biggest concern was the heat - since the bus has an air-cooled engine. In Vegas at 5:30 a.m., it was 80 degrees! Leaving Vegas, on the freeway, we had a very close call. There was a guy behind us that was swerving all over the road. My dad could see (in the rearview) that the guy was falling asleep and appeared to be wasted. We kinda forgot about it, and then all of a sudden, my Dad hammers the gas and shouts out some obscenities. I looked back and the guy was only a few inches from rear-ending us at 60 MPH! After that close call, we quickly pulled over and let him pass. I tried to call the cops, but had bad cell reception and gave up. 2 miles later, we saw a car overturned in the middle of the freeway. It's likely there were deaths because the roof was flattened. It wasn't the guy who almost hit us, but I hate to think that he might've caused the accident. Scary stuff.

Zion As we entered Utah, I suggested we take a back road and head through Zion National Park. From there, the trip got much better. We spent a day and a half tooling through Utah - enjoying its beautiful canyonlands and light traffic. Lastly, we drove through Western Colorado via Montrose and Gunnison and thoroughly enjoyed ourselves. The lack of traffic and awesome scenery was great. The bus also seemed to really enjoy being off the freeway. Good times, great memories.

1500 Miles, 4 days, 4 quarts of oil used. Pretty damn good for a Volkswagen.

Posted in The Bus at Jun 09 2004, 12:16:59 AM MDT 6 Comments

Know AppFuse? Wanna job?

It's too bad I've already signed a contract for the next couple of months. Today, on the appfuse user mailing list, a 2 month contract came across the wire.

Hello everyone,

My name is Mark Janveaux, I'm Chief Technology Officer at Mobile Design Technologies (http://www.mobiledesigntech.com) a software firm specializing in mobile applications for the healthcare industry.

We are developing our next generation project right now which is based off of AppFuse 1.5, and have an open position for a developer experienced in the relevant technologies (Java,JSP,Struts,Hibernate).

It's an simple but interesting project. Project length will be about 2 months with definate possibility of extension.

Position may be part time or full time depending upon your availability, skills, experience and salary expectations.

If any of you are interested, please contact me at:

Email: mjanveaux-AT-mobiledesigntech.com
Ph: 250.483.3430

This position can be 100% telecommute if necessary.

Kind regards

Mark

Of course, you probably don't need to know AppFuse. If you've worked with Hibernate, Spring, Struts, JUnit and Ant - you've probably got a good chance.

Posted in Java at Jun 02 2004, 01:18:52 PM MDT