The Source for Java Technology Collaboration
User: Password:



Greg Vaughn's Blog

J2EE Archives


JavaSpaces Still Alive

Posted by gvaughn on July 29, 2003 at 04:53 PM | Permalink | Comments (2)

I've long watched the JavaSpaces and Jini community because it is such a great technology, but sadly from a work experience standpoint, I haven't had a chance to really get my hands dirty. That's still the case, but I have new hope. JPower has released a free (as in beer) JavaSpace JMX component. It runs in any JMX container. It offers hot deployable JavaSpaces, backed by persistent storage via JDBC, and optional security via SSL. Coming in the next release is a Jini services container.

This is a really great (and subversive) idea. I wish I'd thought of it. I'm noticing a lot of work down below the level of J2EE. In some sense, it seems that J2EE has been developed backwards. Servlets came along first which is at the presentation layer, later EJB's came along for business logic. Next came CMP Entity Beans warts and all. Now JDO seems to be taking over the mindshare for persistence. However, the lower layers of infrastructure came later, or at least showed up with very little visibility. JNDI is an important layer that showed up with EJBs. Later came JMX, and then app server vendors worked furiously to build the foundations of their products on JMX. That's where the real low level foundation exists today. Aspect Oriented techniques (or Interceptor oriented if you prefer) are being using to more modularly implement much of these underpinnings.I also hear that Jini is even being used in some places for clustering of the app servers.

The subversive part (and I use that in the fondest sense) is now using JMX to get JavaSpaces and Jini in the picture as peers of the JMX managed web and EJB containers. JPower is the first I've heard of this, but I'll bet it won't take long for other vendors to do the same. Later on Sun might even catch up and make them part of the J2EE spec.

I'm excited that this might be the first step taking JavaSpaces and Jini to the mainstream. Go JPower!



How to Become a Java Guru

Posted by gvaughn on July 16, 2003 at 04:07 PM | Permalink | Comments (5)

I'm probably preaching to the choir here, but hear me out just in case. I'm not speaking from the position of having already achieved guru status, but I think I've got a handle on the path to get there. Correct me if I'm wrong.

Find some giants, and stand on their shoulders, to co-opt Isaac Newton's famous quote. I don't mean this as a way of keeping someone else down, but instead building upon their insight and work. Become aware of what's offered in the Java libraries you work with, be it J2EE, J2SE, or J2ME. There's lots of good stuff in there that often gets overlooked. Case in point: the other day I was doing a methodology exercise of breaking a feature into individual tasks. The feature was logging into a J2EE application. Out of about six groups particpating in the exercise, mine was the only one that had a tasks of learning the basics of JAAS (Java Authentication and Authorization Service) and configuring it in the appserver. All the other groups were ready to write their own custom login logic. I've never used JAAS before, but I've read an overview and knew it was commonly supported in J2EE containers (It's actually now part of J2SE 1.4.) and was specifically intended to be a reusable login service.

Now, the first time learning and using a new API may not save you any time over a scratch custom implementation, but it will save time the second and subsequent times you need to use it. Think over the long term about all these APIs you've had some experience with and how much faster you can do the well known pieces of your application. That frees up more time to work on the truly unique aspects of the particular application. Not only that, but coworkers will notice your experience and start coming to you for advice and you'll be able to help the speed of your entire team.

The real key is having an awareness of what's already been written. There's several ways of doing this. For the official stuff, look at the Java optional packages, read the spec for J2xx, visit jcp.org. Visit hubs of open source packages: jakarta, sourceforge, and now right here at java.net too. Subscribe to an industry journal, a developer's journal (and once you have those, take a few minutes every now and then to see what's being advertised for commercial tools and frameworks). And last, but not least, read weblogs. They're full of pointers to all sorts of great tools you'd never otherwise hear of.

There really is a mountain of information out there, but you're main job is to skim off the top. Mostly you're looking to find out what a product/tool/framework can do. Don't get immediately bogged down in how to use it. You can learn that later if/when the time comes. Initially look into those things that interest you and/or might be useful to you in the near future. Later you'll start to branch out.

For some concrete examples, lately I've had a great time with JMX and JNDI. JMX has allowed me to write and then reuse a component with zero code changes. JNDI has become by favored tool for promoting loose coupling and easy unit testing. In just now looking up that JAAS is now a part of J2SE, I also discovered The Java Authorization Contract for Containers which I need to look into! Catch you later.



Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds