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.

[ANNOUNCE] Tomcat 4.1.24 Released!

At least that's what Erik reports (it's not reported on Jakarta's site). [Download · Release Notes] I especially like the part about it being significantly faster than 4.1.18. I'll have to upgrade in the near future.

Posted in Java at Mar 21 2003, 10:45:49 PM MST Add a Comment

DBUnit has released version 1.5

I'm using DBUnit on all many of my personal projects (appfuse, struts-resume, security-example, day job) right now and I really dig it. It makes things so much easier. Mainly I've been using it to populate a database with default data, and haven't made my JUnit tests depend on cleaning/inserting. Today I've decided to tackle this issue (clean, insert, run test) - so I trotted on over to dbunit.org and discovered a new version (1.5) was released at the beginning of this month. I'm hoping (haven't tried yet) that I can do an export and CLEAN_INSERT and my task will be finished.

BTW, I dislike the case of the name "Dbunit" and I prefer "DBUnit," so that's what I'll be typing it as - hope you don't mind.

Posted in Java at Mar 21 2003, 11:31:51 AM MST Add a Comment

J2EE 1.4 Installs just fine on OS X

I downloaded the Linux version of the J2EE 1.4 Beta today to install on OS X. I found that it installed flawlessly with the following nice little message:

[minime:~/Desktop] matt% ./j2sdkee-1_4-beta-linux.sh                            
Using /var/tmp as temporary directory...                                        
Searching for Java(TM) 2 Platform, Standard Edition...                          
Initializing InstallShield Wizard...                                            
running on mac

Cool! Now to see if I can get the Adventure Builder reference application running on the Mac. I also found this interesting article on the new JSP and servlet capabilities in J2EE 1.4.

Posted in Java at Mar 20 2003, 05:04:23 PM MST Add a Comment

Clustering Tomcat 4

Filip Hanik posted a message to the tomcat-user mailing list today about How To Cluster Tomcat 4. It's Beta quality and requires JDK 1.4.

Posted in Java at Mar 20 2003, 01:18:22 PM MST 1 Comment

Sun offers JBoss J2EE Compliance Test

From CNet News.com, Sun reaches out to JBoss.

Sun last week offered JBoss Group the opportunity to license a set of testing tools to see if JBoss software adheres to the Sun-sanctioned Java 2 Enterprise Edition (J2EE) specification, said Simon Phipps, Sun's chief technology evangelist. If the JBoss Group's Java server software passes the compliance test, it can gain certification of J2EE compliance.
...
Phipps [Sun's chief technology evangelist] said he doubts that JBoss software will pass the compliance test. Basing his opinion on public information, he said, JBoss software does not appear to implement all of the J2EE specification. Phipps also noted that JBoss appears to be using software written by Sun.

"I predict that now that we're calling their bluff, they will make up another excuse for not doing the tests," Phipps said.

Go JBoss, I hope you kick butt on the test and pass with flying colors. I've been working with Open Source appservers (not to mention other products) for a couple of years now, and IMO these products seem to be much higher quality than commercial products. Granted, most of the documentation sucks, but that's where experience comes in and makes you a valuable developer. I believe that many developers root for the commercial products because of the time that they've invested in learning them. That's how I used to be with iPlanet. Too bad that time was mainly invested in gaining knowledge of how to write workarounds for appserver bugs. I'm all for open source and I'll recommend it to any clients I have.

Invest in good developers, not your application server. Knowledge is power.

Posted in Java at Mar 20 2003, 11:43:19 AM MST 1 Comment

RE: Long live WROX.

Dave is optimistic about our Wrox Chapters. We received an e-mail over the weekend stating that we should wait a week or two to see how things shake out. My guess is, if we wait, nothing will come. Just a hunch. I've seen a lot of empty promises in my career and this definitely feels like one. I really, really hope it's not though. Thanks to all for the encouraging words about this book - I hope you can read it someday, and I also hope I can get a kickback from neglecting my wife and child through the Christmas Holiday. If all else fails, at least I won't be so excited about writing a book next time (if there is a next time) and maybe I'll learn to just say no.

Posted in Java at Mar 19 2003, 01:52:08 PM MST 5 Comments

What to do with my Chapters?

Julie suggested I just post them on this site. Then I got to thinking - what if all the authors made a PDF version of the book, and it was downloadable as the whole thing or as selected chapters. Let's say $5/chapter and you can pick and choose whichever ones you want. Sounds like a good idea, but the problem would be protecting the PDFs from being shipped around between friends. Or we could just give them away, in hopes that our knowledge would inspire others to hire us (as in a new job or a new book).

I don't know what to do, but I'd like to get my chapters out somehow. I'm afraid that if I just sit and wait, they'll never get out, and the technology will be old news shortly. The stuff I wrote about has staying power, but only until the next version of XDoclet and Struts.

I guess the good news is that I'll keep struts-resume up to date with the latest version, but the writing will be out of date by the end of the year.

Posted in Java at Mar 16 2003, 10:15:44 AM MST 5 Comments

RE: Wrox Going Under

Matt hopes for for Professional JSP 2.0:

[Larkware] A couple of weblogs have reported that Wrox is going under. Although at the moment this has to be classed as "credible rumor," it really doesn't surprise me, on two fronts. First, it seems to me that Wrox's strategy for the past year or so has been mainly "throw a lot of stuff at the wall and see what sticks."

I really really hope not. I was looking forward to Professional JSP 2.0...

Yeah, I was really looking forward to this book - my first time being published, busting my hump to write just after having a new daughter, among other things. It just sucks. It doesn't really suck for me, it really sucks for the people that actually worked for Wrox. As for Professional JSP 2.0, who the heck knows what'll happen. I really hope it gets published. I also hope to get paid for writing, but that'll probably never happen. If they don't publish it, they probably don't have to pay the authors. I think the book is done though, maybe we can talk them into publishing it... Let's get a petition going!

Or maybe I'll just sell my chapters on eBay.

Posted in Java at Mar 15 2003, 10:00:20 AM MST 3 Comments

Struts Training: Week 3

I just signed in for 3rd week here in Struts Training. I'm coming to you live from Chelan, WA. So on with what Ted has to say.

Ted's talking about persistence in Struts: Transaction Script vs. Domain Model.

Transaction Script - organizes business logic by procedure. Great choice for small applications with simple logic. For example, online auction, public search engine or an address book.

Domain Model - an object model of the domain. Has a rich variety of objects that incorporate both data and behavior. Ted mentions that the Domain Model is better for larger applications. For example, managing inventory for an online auction might require using the domain model.

What Ted is doing is using the Domain Model to separate Struts from his Actions - so that he passes around a DomainRequest, DomainResponse, and gets his form from a factory. To me, this looks like a good way to make your Struts layer a lot more complicated! ;-) At the same time, Ted is getting this information from Martin Fowler's Patterns (in Enterprise Architecture, ISBN 0321127420) book, so maybe I should move to the domain model. Naahh, I think I'll keep using the Transaction Script method - it's probably easier for folks to learn and would definitely be easier for rookies to maintain.

Onto Hibernate and how it works:

- POJO beans, encourages fine-grained
- Utilizes "persistence by descriptor"
- Provides DBA-friendly text queries
- Plays well with others
- Buffet-style implementation

IMO, if you're not using Hibernate, you should know why. If you're starting a new project, it's worth looking at. If you're using it, but not using XDoclet - you should be. XDoclet is the best way to avoid DD Hell (quoted from Erik Hatcher).

I didn't know that Hibernate supported a version - did you? Apparently you can specify that a property is a version and Hibernate will use it as you'd expect. Don't see that I have a need for that, but possibly. Would a struts-resume user ever want to keep old versions of their resume? I like to keep old versions of mine, but I have to admit, I never look at them again.

<version name="version" />

Ted just touched on how Hibernate can generate your database schema for you. This is a very powerful feature IMO - especially with struts-resume. It makes it nice for an example app. For instance, with struts-resume, you can run "ant setup-db" and it'll drop tables and re-create your db schema for you.

A student asks about the bottom-up approach - what if you already have a database. My advice? Try looking at Middlegen, its Hibernate Plugin in designed to create an XDoclet-enabled POJO from a database schema. There's also the Reverse Schema Generator that is included with Hibernate. I've used this one and it works great. I've never used Middlegen, but I should be considering that I tag the generated POJO up with XDoclet tags.

Interesting: Ted just mentioned that Gavin (Hibernate's Lead Developer) is working on a book for Manning. It is on Object Relational persistence and it uses Hibernate for its example apps. Erik Hatcher, at his preso on Wednesday, also mentioned that an XDoclet in Action book will be published soon by Manning. He even showed us the book's cover - so I'm assuming it will be published soon.

Hibernate's Fashionable Friends: XDoclet, Commons Logging, Commons DBCP, DynaBeans and Turbine Caching.

To learn more about this Hibernate, checkout:

· AgileData Website (Scott Ambler)
· Hibernate Homepage
· Struts Application Site (Hibernate example and Struts Resume both use Hibernate with Struts)

Vic still likes RowSets and SQL better. I'm guessing this is because he's a SQL expert. The nice thing about Hibernate is that it's query language (HQL) is very much like SQL and allows you to do complex joins. At least, to my knowledge, I've never done any fancy joins in the HQL, just in the mapping (*.hbm.xml) files.

Quote from Ted: This is the year of JUnit books. Watch for them this summer..

Now Ted is covering StrutsTestCase, a JUnit extension that hooks into Struts and Cactus. IMO, it's an awesome way to test Struts Actions - even easier than testing a servlet with Cactus.

Another book: JUnit in Action (Manning) by Vincent Massol and Ted. To be published this summer. Vincent is the lead developer on Cactus, so I expect this to be a great book. Right now, I wish I had written my first book for Manning rather than Wrox. :-(

The one bad part about today's session is that I had to use a calling card to dial in and at $0.35/minute, I'm up to about $25! I should probably sign off soon and save some cash...

Tapestry - are you using it? A student asks about it and Ted mentions that he views it as a presentation framework like Velocity. I've heard lots of good things about it, but have never used it. Ted admits that he uses Velocity and gave up on using JSPs a while ago.

Good stuff - thanks Ted, I'm signing off (the QA session is still in progress).

Posted in Java at Mar 15 2003, 08:37:28 AM MST 1 Comment

MicroSOFTees

Andy has some words for Microsoft. You owe it to yourself to read this. Good stuff.

But Microsoft won't go for it. They have a weak position technically 
and a strong one from a marketing standpoint and not the stones to 
answer OUR questions. (And oddly I was semi-favorable to .NET at the 
start of this).

So what of it? Are you men or are you microSOFTies. Lets face it, you
couldn't stomach a fair fight. 

He, he...

Posted in Java at Mar 13 2003, 11:03:19 PM MST Add a Comment