CHANNELS
HOME
TOP STORIES
COLUMNS
OPINIONS
ZEICHICK'S TAKE
EMBEDDED NEWS
TEST & QA REPORT
ECLIPSESOURCE
SPECIAL REPORTS
SD TIMES 100
JOB BOARD
EVENTS CALENDAR
RESOURCE CENTER
WEBINAR CENTER
ADVANCED SEARCH
RSS
ON THE WEB
SITE MAP
ADVERTISE
EDITORIAL
PRIVACY POLICY
CONTACT US
REPORT A BUG
PRINT EDITION
SUBSCRIBE NOW!
CURRENT ISSUE
BACK ISSUES
SUBSCRIBER SERVICES
BZ MEDIA
ABOUT US
NEWS
BZ RESEARCH
SYSMANNEWS
ST&P MAGAZINE
STPCON
ECLIPSEWORLD
ADVERTISER LINKS
activePDF
Alexsys
Altova
Amyuni Technologies
Automated QA
Axosoft
Business Objects
Codejock Software
ComponentOne
Coverity
Data Dynamics
Developer Express
dtSearch
Dundas
Dynamsoft
Hewlett-Packard
IBM
Imagix
Infragistics
InstallAware Software
InterSystems
iWay
Kovair
LEAD Technologies
McObject
Microsoft
MKS
No Magic
nsoftware
Parasoft
Pegasus Imaging Corp
Perforce
Prezza Technologies
Programmer's Paradise
Programming Research
Rally Software Dev
Red Gate Software
ScaleOut
Seapine
Serena
Software FX
Sparx Systems
Swell Software
Syncfusion
TechExcel
Telerik
UrbanCode
WANdisco
Xceed Software
LOADING...
LOADING...
AS OF 8/21/2008 7:13PM EST
A Conversation With Creators Creator
By
Allen Holub
October 15, 2005 —
A few weeks ago, I wrote about my disappointment with Suns Studio Creator. My main problem is Creators flavor of model-view-controller, which puts a straitjacket on the tool, preventing you from using a more flexible (and more object-oriented) UI architecture, such as Presentation Abstraction Control. The net effect of this tight coupling it that your Creator application is doomed to a life of difficult maintenance because the UI is too tightly coupled to both the underlying database and to the implementation of the application-level classes. (I should say that the real flaw is the JSF framework that underlies Creatormost of the commonly used UI frameworks, including JSF and Struts, are not particularly well thought out.)
Well, Sun called me up to arrange an interview with Craig McClanahan, Studio Creators architect. Interestingly, the software we used during the interview was as interesting as the interview itselfmore on that in a moment. McClanahans motive was to prove to me that I could do what I wanted to do using Creator. In fact, you can get about halfway there, but Im still not sold.
In the most successful systems Ive written, the objects that constituted the business logic were responsible for creating that part of the user interface that represented their own state. Think of it as if every object has a display yourself method. (Thats obviously not how a real system worksreal systems use things like the Gang-of-Four Builder design pattern to separate business and representation logic, and they can represent attributes of themselves with finer granularitybut its a good conceptual model.)
Studio Creators main flaw is that you must lay out widgets on the screen and then hook those widgets up to the object. If the objects implementation changes, then all of the infrastructure that hooks up the object to the widget is now broken. I, on the other hand, want all changes to an object to be localized in a single placeideally a single class definition and its inner classes. If the class definition changes, the UI should scale automatically. Studio Creator wont do that because thats not the way model-view-controller works.
On the plus side, McClanahan did demonstrate to me that its possible to create a business object that doesnt expose its implementation with unnecessary get/set methods, and then hook that object up to the framework. You must create a Gang-of-Four Mediator that uses get/set methods to communicate with the framework while simultaneously using more reasonable messages to communicate with the business object. Unfortunately, that mediator currently cant be implemented as an inner class, so this mechanism falls more into the kluge than feature category for the moment.
Returning to the meeting software, we were using WebExs Meeting Center (
webex.com/services/online-meeting-svc.html
). WebEx effectively lets you look over someones shoulder as they work. You see the software that they are using, or their whole desktop, in your Web browser. McClanahan was using WebEx to demo Studio Creator as he spoke to me using a normal conference-call connection.
One particularly interesting feature of WebEx is its ability to record a session for later playback. The thinking is that it could be used for online instruction, but I doubt that a class taught this way would be as effective as a real instructor. The feature is invaluable, however, for documentation.
Getting your average programmer to write documentation is like pulling teeth, and written documentation is for the most part worthless. Using WebExs recording feature, however, you can just sit programmers in front of their favorite code editor, and then record them as they explain the code. Since you can look at graphics programs too, not just editors, you can record a designer explaining the intricacies of a UML diagram (most of which are almost incomprehensible without some soft of ancillary explanation), and as a program moves into production, you can show people the connections between the design and the implementation.
This is a much more interesting use (at least to me) than a virtual meeting, and solves a real problem in an elegant way.
Finally, and on a related subject (UI builders), I was complaining a while ago that the new JavaBeans spec was not transparent enough. Joe Nuxoll, the spec lead, pointed me to several java.net sites that proved me wrong (
community.java.net/projects/#16, jsr.dev.java.net
and
jbdt-spec-public.dev.java.net
). Its a mystery why those sites arent referenced from the actual JSR page, however. The whole Java Community Process site is, to my mind, almost completely worthless for exactly this reasonthe JSRs are listed, but there are often no references to the sites where actual work goes on or to anywhere you can monitor the work in progress. These sort of references should be a required part of the JSR writeup.
Allen Holub is an architect, consultant and instructor in C/C++, Java and OO Design. Reach him at
www.holub.com
.
EMAIL THIS ARTICLE
SEND FEEDBACK
MORE COLUMNS
 
SUBSCRIBE TODAY!
E-Newsletters:
News on Mon/Thurs.
Test & QA Report
EclipseSource
SUBMIT
 
JOB BOARD
PDF & PRINT EDITION
* Requires Resource Account! 
LOGIN
or
SIGN UP
*
Download Current Issue!
ISSUE 8/15/2008 PDF
*
Need Back Issues?
DOWNLOAD HERE
Receive The Print Edition?
SUBSCRIBE HERE
 
EVENTS CALENDAR
Business of Software 2008
9/3/2008 to 9/4/2008
Boston
Red Gate Software
VSLive New York
9/7/2008 to 9/10/2008
New York City
1105 Media
Interop New York
9/15/2008 to 9/19/2008
New York
TechWeb
VMworld 2008
9/15/2008 to 9/18/2008
Las Vegas
VMware
Mobile Business Expo
9/16/2008 to 9/19/2008
New York City
TechWeb
REGISTER
MORE EVENTS
GET NOTIFIED!
About all of the latest Resources
SD TIMES 100
6th Annual SD Times 100
It's time once again to
recognize the organizations
or individuals that have
demonstrated leadership in
their markets.