Saturday, February 22, 2003
Code Conventions for the JavaServer PagesTM Version 1.x Language
As JavaServer PagesTM (JSPTM) is becoming widely adopted in web-based applications, many JSP programmers and web developers embarking on developing and maintaining these applications face a dilemma like that of many JavaTM programmers, "How do we structure JSP code that is easier to read, write and maintain consistently?"

In this article, we propose a set of standard conventions for writing JSPs (versions 1.1 and 1.2) that should be followed on a typical software project using web components. It draws on the Code Conventions for the Java Programming Language as a template to identify various important elements that should be addressed in a coding conventions specification (relevant to JSP). In particular, it addresses file names and organization, indentation, comments, directives, declarations, scriptlets, expressions, white space, naming conventions, and programming practices. As this is our first attempt at presenting a set of JSP coding conventions, we're quite interested in any feedback you may have on these recommendations. Please send all feedback to

Friday, February 21, 2003
Eclipse Tutorials
The following tutorials try to give you an easy introduction into Java development with the Eclipse JDT, the free Java-IDE of the IBM Eclipse Project. We will constantly enhance these tutorials with new features. Therefore your opinion is important to us.

The Eclipse "Workbench" is probably one of the most confusing and asymetrical user interfaces out there... still, Eclipse is getting more and more popular so it's wise to know how to use it. #

Wednesday, February 19, 2003
Keith's List of Palm Software

More Palm Software

This is also a great list.


Simon Brunning's Must Have Palm Apps

This is a great list.


The MegaWiki hack provides the ultimate in Palm application linking. Jumping to and between desired records in the Memo Pad, Date Book, To Do List, Address Book and others applications from just about anywhere is now as easy as just touching your stylus to the screen.

Put a name on a To Do List item, and then just tap to jump to the Address Book entry for that name. Manage a project from a memo page with links to bunches of To Do items. Have a list of important dates? Just tap one to go to that date in the Date Book.


Project Management Checklists
These checklists are a tool for helping you focus attention on the critical aspects of your project at the different stages of its lifecycle. Since they are your tools, feel free to use them in any way that you find helpful. Here are some suggestions:

* When you do a checklist, find somewhere quiet where you can reflect carefully on each point - close your office door or go sit in a coffee shop for half an hour.

* Most checklists you will want to do more than once. The Start of Project list, for instance, is a large one and can be used several times during the project start up phase to check your progress.

* Print out the summary (plain) checklist and scribble on it as you think about each item. If you are not happy with your project's progress on an item, write down what you are going to do about it. When finished, write the date on the top and drop it in your personal project folder for future reference.

Introduction to XACML
XACML (eXtensible Access Control Markup Language) is an XML-based language for access control that has been standardized in OASIS. XACML describes both an access control policy language and a request/response language. The policy language is used to express access control policies (who can do what when). The request/response language expresses queries about whether a particular access should be allowed (requests) and describes answers to those queries (responses).

In a typical XACML usage scenario, a subject (e.g. human user, workstation) wants to take some action on a particular resource. The subject submits its query to the entity protecting the resource (e.g. filesystem, web server). This entity is called a Policy Enforcement Point (PEP). The PEP forms a request (using the XACML request language) based on the attributes of the subject, action, resource, and other relevant information. The PEP then sends this request to a Policy Decision Point (PDP), which examines the request, retrieves policies (written in the XACML policy language) that are applicable to this request, and determines whether access should be granted according to the XACML rules for evaluating policies. That answer (expressed in the XACML response language) is returned to the PEP, which can then allow or deny access to the requester.

Build Web applications with Webflow components
Webflow is the core of the BEA WebLogic Portal framework. BEA WebLogic Portal encompasses many components including user management, commerce, entitlements, and campaigns. Web applications built with BEA WebLogic Portal can leverage the Webflow system to help separate the presentation logic and the underlying business processes.

The Model-View-Controller 2 (MVC2) pattern is the foundation of Webflow's architecture. Webflow functions mostly as a controller, but it also provides basic model support and includes tag libraries for the view. Unlike most other controller systems, Webflow is more like a workflow system. It provides the ability to chain multiple business logic classes together and supports branching. It builds on the event and handler concept of other controller systems, like Struts, but provides more functionality through chaining and branching based on events.

Sunday, February 16, 2003
Dynamic Class Loading in the Java Virtual Machine

Scroll down a bit for a detailed paper on how dynamic class loading works. #

oxtrot is an easy and powerful API to use threads with the JavaTM Foundation Classes (JFC/Swing).

The Foxtrot API are based on a new concept, the Synchronous Model, that allow you to easily integrate in your Swing code time-consuming operations without incurring in "GUI-freeze" problem, typical of Swing applications.

While other solutions have been developed to solve this problem, being the SwingWorker (see also here for an update) the most known, they are all based on the Asynchronous Model which, for non-trivial Swing applications, carries several problems such as code asymmetry, bad code readability and difficult exception handling.

Foxtrot is like the greatest thing ever! #

Dynamic Proxies and Swing
We recently used a combination of >>Foxtrot and dynamic proxies in one of our clients, and the end result was a very responsive GUI (with none of the lock up effects), while keeping the code at a very readable state.


the server side
dotnet junkies
sam gentile
sam ruby
paul prescod
.net guy
jon udell
john robb
blogging roller
desktop fishbowl
cafe au lait
be blogging
kevin burton
james strachan
the truth is out there
brett morgan
blogging roller #2
joe's jelly
psquad's corner
rickard oberg
the saturn times
russel beattie
gerhard froelich
pete drayton
clemens vaster
ingo rammer
ken rawlings
simon fell
bit working
justin rudd
chris sells
john lam
jim murphy
brian jepson
john burkhardt
matt pope
better living through software
loosely coupled
understanding software engineering
rest lst,rdf-interest lst,tag lst ucapi lst

A man, his puppy, and a double barreled shotgun.

Powered by Blogger