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 "netbeans". 49 entries found.

You can also try this same search on Google.

[JavaOne] What's new and cool in the J2ME Wireless ToolKit

I'm continuing my theme to only attend sessions I know little about. I'm sitting in a session on the J2ME Wireless ToolKit. So far it's fairly boring. This guy's been rambling on for a while about all the JSRs that the toolkit implements. Now he's doing a demo and using the Network Monitor to demonstrate looking at the HTTP requests when making soap calls.

This is only my 4th session of JavaOne, and I haven't been to any BOFs. I don't feel like I'm missing anything. Most of my time in Moscone is spent sitting in the main lobby, hacking away at my e-mail and talking with folks. I never imagined I'd meet so many people. It's pretty damn cool to meet all the bloggers.

The tools and demo that this guy is showing look like good monitoring and emulating tools. The WTK doesn't appear to have an IDE, just a way to run midlets and see the results. It doesn't appear to have an IDE. If I was to compare this to the web world, I'd say that the WTK is really just a web browser. Of course, it's much more than that since it can emulate HTTP requests, and well as bluetooth. From what I can tell, a midlet is really just a Java application that can run on a mobile device. After googling a bit, it looks like I was right. How easy is it to unit test midlets? Do you have to constantly use an emulator to test stuff? I'd like to write an AppFuse client for my phone, but I also want to use TDD to do it.

I missed the rest of the presentation b/c I got lost in reading blogs. Attending these sessions with an open laptop is not a good idea. I hope I can make one more session today - my goal was 5 for the week. As Dion said, this conference is all about networking.

Posted in JavaOne at Jun 30 2004, 03:57:53 PM MDT 2 Comments

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

My Review of Java Studio Creator (a.k.a. Rave)

I attended a Rave Demo at Sun in Broomfield today. The meeting actually had two parts - the first hour was a marketing schpeel about Sun's Enterprise Java System and the second hour was a demo of Java Studio Creator. The first hour was boring and very marketing esque - they did have an interesting price point though - $100 per employee. This is small business friendly, which is nice to see.

The Rave (a.k.a. Java Studio Creator) Demo was when things got good. Here's my notes from Dan Robert's presentation, followed by my impressions and comments. Dan is the Product Manager for JSC and was seemed to be very in tune with the tools marketing (i.e. all the good stuff from Intellij and Eclipse - and how JBuilder sucks).

What is it?

  • New Java Development Tools initiative
    • For the corporate developers who write code, but don't understand all of the complexity of J2EE and just need to get their job done.
  • A full fledged Java IDE
    • Visual Design Tools, 2-way editing, Editor, Debugger, Repository Management, and Project Management
    • Cool new Look and Feel
  • Complementary to NetBeans and Java Studio
    • Even Enterprise developers can use it for Rapid Prototyping
    • Use Java Studio or any other tool to add persistence layers (heh, this is b/c they think that persistence can only be EJBs ;-))

What does it do?

  • Quickly builds web applications that solve time-critical, real world problems
    • Complete web application creation for departments, workgroups and businesses of all sizes
    • Focus on easy to understand, event driven coding model
    • Simplifies access to existing infrastructure
    • All Java-standards based servers, all databases, all Web services, all desktops
    • Their main goal is to do web applications well, they'll catch up with the rest later

Standards-based solution for all developers

  • A development solution based on 100% Java standards
  • Delivers "Write Once, Run Anywhere"TM benefits: portable apps, portable developer skillsets
  • Quickly solves time-critical app development needs
    • Drag and Drop, rapid visual access to databasess and web services
    • consistent UI look/feel/behavior across all apps

Visual features to speed development

  • Palette for widgets, custom graphics, code clips, etc...
  • Query Editor

Simplified Access to Existing infrastructure

  • Use any JDBC Compliant Database (3.0)
    • Drag in and automatically create DB connections to data-aware components
  • Web Service Consumption
    • Easily pull in existing web services from Enterprise wide solutions or business partners

Java Studio Creator Roadmap

  • Hammerhead:
    • 2-tier dynamic content web applications based on JSP and JSF with Page Flow design tools
    • Releases: Early Access Spring 04 (today!), FCS Summer 04 (at JavaOne)
  • Thresher:
    • Minor Update Release
    • Focuses on Ease of Development and Stability
  • Mako
    • Extended Client Support

Download today from http://www.sun.com/jscreator. OS X version will be available shortly after the release (JavaOne).

After the PowerPoint, Dan started into the Demo. The first thing I saw that was cool was that when he clicked on the "Run" button, it actually deploys the app and opens the browser to run it. What you see in the browser looks very similar to what you see in the IDE. The IDE looks very simple. My current client went with me and he remarked that it "looks a lot like Eclipse."

The IDE has lots of palettes, and the UI essentially looks very clean. The pallets can be docked just like in IDEA - which I like. It looks a lot more like a native Windows application than it does like Swing. Here are the palettes it has:

  • Server Navigator
    • Data Sources
    • Web Services
    • Deployment Servers Palette
  • User Defined
    • JSF Standard Components
    • JSF Validators / Converters
  • Property Sheet
  • Project Navigator

Dan then dragged a drop down component and a table component onto the page. Secondly, he added a stylesheet and it visually changed the background and fonts on the page. I asked him if there was an imbedded browser. He said they took a look at using Mozilla, but it was too much and apparently one of the "real smart" engineers wrote the embedded browser component from scratch. Dan said it was the same guy who wrote the demo from scratch in 2 minutes at JavaOne last year. The thing I found very cool was that the HTML that is written into the JSP is XHTML - none of this Netscape 4.x support. Fuck Netscape 4.x - I'm glad Sun had the foresight to drop support for it.

After adding the stylesheet, Dan used the Data Sources navigator to grab a table and drag it to the drop-down. Then he did the same for another table and the data grid. Using the Visual SQL Query Builder (which looks a lot like M$ Access) he linked two tables and added a new column from a 2nd table to the grid. He then showed us that JSC has pretty good support for 2-way editing. Edit the code, the visual representation changes. Edit the visual, the code changes. This seems to be a big problem with WYSIWIG editors, especially when it comes to dynamic webapps. It appears that they've done a pretty good job to solve this.

Next he showed us some cool features of the components. For the table, there is an "enable paging" checkbox - and for the drop-down, you can right-click and select "auto-submit on change." He then set a couple of converter types on the drop-down and had to hand-code the event handler for the drop-down. Two lines of very simple code and he was done. The code was simple enough that you could have guessed the syntax. Code completion popped up nicely as well. Apparently the JSF coding style is that each page (JSP) is backed by a Bean that contains different event handlers. The code looked pretty simple and all the data was retrieved via RowSets.

Bill Dudney was there and asked about testing tools (i.e. Cactus or JUnit). Dan's response was that these are usually used by more advanced Java developers and there's talk of it, but nothing has been done yet. Now he pulls up a very cool page navigation creator which he uses to drag and drop buttons and links to point to different pages. Then someone asked about cost - and here's what makes it great. Under $300. They also hope to have lots of add on components for JSF by JavaOne. Unfortunately, there's no tooling for building JSF components in Java Studio Creator. For more information checkout http://developers.sun.com/jscreator.

The main reason I really like Java Studio Creator was that you literally never had to see any JSF code - and you get all of the features I like to use in webapps. Furthermore, I've been training a couple of guys all week on JSPs and using JSTL's SQL tags to do CRUD on a database table. While it's simple stuff, since they've never done web development before, it's a bit advanced. I'm sure their eyes will glaze over tomorrow when I start showing them how to write JUnit Tests, DAOs and how to use Hibernate to CRUD an object. They'll probably fall asleep by the time I show them how to wire the DAOs to Hibernate using Spring. When they saw this demo today - there eyes lit up and they got inspired to do their projects again. It looks easy for them now. All they need is a JDBC 3.0 driver for DB2 and they should be able to rapidly develop webapps with Java Studio Creator. I don't blame them for wanting to use this tool - it greatly simplifies things.

After the meeting, I asked Dan about transactions and if it was possible to use Hibernate instead of the RowSet stuff. He said that since JSC is based on NetBeans, you could probably write a plugin to use Hibernate instead of RowSets. As far as I know, the main reason you'd use Hibernate is for caching - but rowsets probably have that too. I know that the spec lead for JSF is talking to the Spring developers about JSF-Spring integration, so maybe that will be a future option as well.

Another thing that's not currently supported is the use of great technologies like Tiles or Sitemesh. Sitemesh integration would likely be pretty easy - you'd just never see your decorated UI in the IDE. Tiles is definitely something on the roadmap, but they don't have a solution yet. Dan indicated that using "includes" in your JSPs should work just fine - rendering in the IDE as they would in your browser. Good stuff - I hope we start using it at my current project - I think it'll do wonders for productivity. Since it's based on standards (JSF and RowSets) - the generated code looked pretty clean too.

Posted in Java at Apr 08 2004, 10:12:34 PM MDT 20 Comments

Time to hook up the Senior J2EE Developers in Denver

This is nuts - I'm getting at least one call or e-mail per day from recruiters and/or friends in Denver. Rather than posting these positions here (with Rates), if you're a Senior J2EE Developer in Denver, let me know. I'm going to start a list of folks with skills like mine so I can hook some brutha's up! I have 2 right now - both for J2EE/Web stuff.

Here are my requirements to get on my list:

  • Must know Ant, meaning you've written a build.xml file before. Having read Java Development with Ant is a huge plus.
  • Blogging is a plus - it means you're interested in Java and sharing your ideas (implying that you think outside of work).
  • You've used Eclipse or IDEA and use one or the other on a regular basis. This implies that you know a good IDE can improve your productivity.
  • Must know XHTML and CSS. I do, and I said skills like mine.
  • You're able to checkout AppFuse from CVS, build it and run "test-all" with success. README.txt is your friend.

I reserve the right to delete any of your e-mails and resumes, and to hook my friends up over other folks. I don't want to get a flood of e-mails, I'm just trying to hook up good folks with good jobs. If I can get the rates, I'll let you know what they are.

Posted in Java at Oct 03 2003, 12:08:47 PM MDT 9 Comments

RE: IDEA vs Eclipse

I love Eclipse and always have. However, it kinda sucks on OS X. It is slow like Marcus says. Actually, it's a LOT snappier on my new PowerBook, but it's still much slower than it is on Windows. On Windows, it runs lickedy split and is by far my favorite IDE - because it *looks* like Windows more than anything. Inspired by Marcus's post, I'm willing to give IDEA another try on my OS X - I probably won't get enough time in the 30 day trial to appreciate it (or switch to it), but I'll make an attempt. BTW, I've actually heard that many of the "IDEA Rules" advocates actually got it for free - at least some OS projects' committers got a free copy. I'm sure if there was a 6 month trial version, and folks actually got addicted to it (like I am with Eclipse), they'd sell more copies. I'd pay for Eclipse right now if it weren't free.

Later: I already have one pet peeve - why can't I install IDEA in an "idea" folder rather than in "IntelliJ-IDEA-3.0.5". I install all my "tools" in /opt/dev/tools (i.e. /opt/dev/tools/eclipse) and this makes it very easy to tar xzf any new versions over old ones - and it just looks better. I hate when installers make you install their apps to a particular directory.

Posted in Java at Sep 25 2003, 07:25:52 AM MDT 20 Comments

PHP vs. Java - which is better?

I have a former client that has a customer. This customer asked them - "so when are you migrating from Java to PHP?" So evidently this person has the impression that the next wave of web applications will be written in PHP. My former client has asked me to provide an answer for their customer. If I translate it, I think they mean to ask "what is different between Java and PHP and why should we use Java over PHP." Here are my opinions - please add yours as you see fit. I must admit I don't know a whole lot about PHP, except that it's widely popular among the Linux/Apache/MySQL crowd and that it's similar to ASP in it's lack of a MVC architecture (yes, I know about the PHP MVC project).

  • I think Java is more of an industry standard, whereas PHP seems to be popular among hackers and hobbyists.
  • Java provides better separation of layers - key for testability. PHP has all the code embedded in the page, so you have to run it through a browser to test if database connections work (for instance).
  • Java is more scalable.
  • More folks know Java and it's easier to qualify someone's Java skills. How do you test someone knows PHP? Is there a certification?
  • More for-profit organizations use it.

If you're a Java or a PHP-lover, I'd love to hear your opionions (facts are always better). I'm going to point my client to this post, so keep it clean.

Posted in Java at Aug 22 2003, 03:52:33 PM MDT 98 Comments

Ant won't delete a file - any ideas?

I've been experiencing this problem for the last couple of days. Basically, when I run "ant clean" on my project, I get the following error:

file:d:/source/appfuse/build.xml:746: 
  Unable to delete file D:\source\appfuse\dist\appfuse-common.jar

I can delete the "dist" directory in Explorer, and also using "rm -r dist" in Cygwin. Any ideas why Ant is choking on this all of a sudden?

Posted in Java at Dec 26 2002, 05:05:32 PM MST 18 Comments

Bailey's at 9:00 a.m.

I was up until 3:00 a.m. last night as a friend was passing through town and stopped by to say hi. He (and his dad) didn't get to our place until 12:30, so I didn't get to visit long, but it was worth the lack of sleep. I got up at 7:00 and went to work feeling like a zombie - only to find out that there was a Bailey's party at 9:00! That's right - one of the ladies made some home-made Baileys and brought it in for everyone to enjoy. I have to say, it's the first time I've had spiked coffee at work!

We just got home from dinner at a friend's house and I am beat. I do have a couple questions and news items though.

  • Is it possible to configure Java to use a proxy server to connect to the Internet. The only way to connect to the Internet at work is to setup your browser to use an Automatic Configuration URL. This means that Struts can't validate to it's DTDs (unless I change to use a System DTD) and I can't use Maven to download jars.
  • Can Hibernate generate classes and it's mapping files from an existing database?
  • Konstantin Priblouda has published a demo of using Hibernate, XDoclet and JBoss. You will need a current version of XDoclet from CVS to run it.

Posted in General at Dec 19 2002, 05:07:51 PM MST 2 Comments

Struts Console version 2.1

is now available.

http://www.jamesholmes.com/struts/

Struts Console is FREE software. This release adds support for the IntelliJ IDEA IDE, one of the favorites of many developers.

Changes with Struts Console v2.1

  • Fixed bug where the "initial" attribute of the <form-property> element was getting set to blank when it wasn't specified.
  • Added plugin support for IntelliJ IDEA.

I don't use the Struts Console, but it does look like a nice product. I DO like IDEA, so it's nice to see the compatibility. I have installed it with Forte4J (now Sun ONE Studio 4) and it seemed to install and work pretty well. On my current project, I don't modify the struts-config.xml enough to really use a visual editor. I usually just use Homesite or XML Spy - of course, it helps that I know the struts-config DTD.

Posted in Java at Aug 20 2002, 01:12:34 AM MDT Add a Comment