About
Privacy
Seminars
Consulting
Newsletter
Advertise
Writers
|
New Articles For the Week of Monday, March 31
|
|
Building Adaptable Systems
|
Pragmatic Programmers Andy Hunt and Dave Thomas discuss
reversible design decisions, going beyond the requirements,
and making systems configurable.
|
Bill Venners
|
|
|
|
|
|
Latest News & Ideas
|
Got News?
|
Building Adaptable Systems
|
Posted by Bill Venners on March 31, 2003
|
Dave Thomas says, "The mistake people make is saying, OK, I'm going to write these components. That means I need a framework, and starting with the framework. I can guarantee that any project that starts by writing a framework will never finish writing the framework."
|
1 message in this topic
|
(Read More)
|
|
Final Release: Connected Limited Device Configuration 1.1
|
Posted by Bill Venners on March 28, 2003
|
The expert group for JSR 139, Connected Limited Device Configuration 1.1, has published the final release of its specification. This JSR This specification defines a revised version of the J2ME Connected, Limited Device Configuration (CLDC).
|
1 message in this topic
|
(Read More)
|
|
For Public Review: Generic Connection Framework for J2SE
|
Posted by Bill Venners on March 28, 2003
|
The draft specification for JSR 197, Generic Connection Framework Optional Package for the J2SE Platform, is available for public review. This JSR is to extend the JMX 1.0 specification, by adding client APIs. This package will permit applications that rely on the GCF in J2ME to migrate to J2SE.
|
1 message in this topic
|
(Read More)
|
|
ServiceUI Passes Commercial House Vote
|
Posted by Bill Venners on March 26, 2003
|
Artima Software's ServiceUI proposal, which defines a standard way to attach UIs to Jini services, is under consideration for standards approval by the Jini Community. The proposal was has been approved by both the General and Commercial House. It now enters a two week settling phase, as required by the Jini Decision Process (JDP).
|
1 message in this topic
|
(Read More)
|
|
Final Release: Java APIs for WSDL
|
Posted by Bill Venners on March 26, 2003
|
The expert group for JSR 110 Java APIs for WSDL has published the final release of its specification. This JSR provides a standard set of APIs for representing and manipulating services described by WSDL (Web Services Description Language) documents. These APIs define a way to construct and manipulate models of service descriptions.
|
1 message in this topic
|
(Read More)
|
|
For Public Review: JMX Remote API 1.0
|
Posted by Bill Venners on March 26, 2003
|
The draft specification for JSR 160, Java Management Extension (JMX) Remote API 1.0, is available for public review. This JSR is to extend the JMX 1.0 specification, by adding client APIs. These APIs provide to any Java Manager discovery and access to JMX Agents abstracting the underlying protocol.
|
1 message in this topic
|
(Read More)
|
|
Open-Source Growing Pains Give Sun Aches
|
Posted by Stanley Kohut on March 26, 2003
|
Darryl Taft writes "Late last year Sun amended its Java Community Process program to accommodate demands of the open-source community. But the Atlanta-based JBoss Group LLC, the first organization to which Sun has offered the new amended licensing, is crying foul."
|
1 message in this topic
|
(Read More)
|
|
JSR 211 Submitted: Content Handler API for J2ME
|
Posted by Bill Venners on March 25, 2003
|
Sun has submitted JSR 211, Content Handler API, to the JCP. The proposed API enables J2ME applications to handle multi-media and web content, and can give developers and users a seamless and integrated user environment on mobile phones and wireless devices.
|
3 messages in this topic
|
(Read More)
|
|
Java Theory and Practice: To Mutate or not to Mutate?
|
Posted by Stanley Kohut on March 25, 2003
|
Brian Goetz writes "Immutable objects have a number of properties that make working with them easier. While immutability may not necessarily make sense for all classes, most programs have at least a few classes that would benefit from being immutable."
|
1 message in this topic
|
(Read More)
|
|
McNealy: Rattling Cages is Good for Sun
|
Posted by Stanley Kohut on March 25, 2003
|
Scott McNealy says, "Being controversial helps Sun Microsystems stand out in a highly commoditized technology market...I can't worry about skepticism. If there's no controversy, and everybody buys into our ideas and follows them, there is no chance of making money."
|
1 message in this topic
|
(Read More)
|
|
Abstraction and Detail
|
Posted by Bill Venners on March 24, 2003
|
Andy Hunt says, "We hear a lot about agile methodologies these days, but not a lot about writing agile code. If you want to be able to keep up with rapid changes on a project, however, you have to make the code agile."
|
4 messages in this topic
|
(Read More)
|
|
|
Sign on Once, Log in Everywhere
|
Posted by Frank Sommers on March 22, 2003
|
In an introduction to the Liberty Alliance identity federation, Frank Sommers writes "When returning home after a long day's work, once you unlock your front door, you can freely move about without identifying yourself to your kitchen appliances, your bathtub, or the television set."
|
1 message in this topic
|
(Read More)
|
|
Heavyweight fight - Eclipse, NetBeans, and JSR-198
|
Posted by Stanley Kohut on March 19, 2003
|
Steven Vaughan-Nichols writes, "In this corner, weighing in at over $22 billion, is the Java IDE challenger: IBM with Eclipse and its friends. And in the other corner, the founder of the cause, the Java Jock, weighing in at just over $3 billion and the still-undefeated champion: Sun with NetBeans. Are you ready to rumble?"
|
4 messages in this topic
|
(Read More)
|
|
Sun Plugs Web Services Developer Pack
|
Posted by Stanley Kohut on March 19, 2003
|
James Niccolai writes, "Sun Microsystems released a package of software and tools for developers on Wednesday intended to jumpstart their efforts at building Web services applications. The product is a few months behind schedule but to spur interest the company is offering a steep promotional discount."
|
1 message in this topic
|
(Read More)
|
|
The Future of Web Services Security
|
Posted by Stanley Kohut on March 18, 2003
|
Eve Maler says, "We'd like developers to appreciate the idea that they don't have to 'roll their own'. Rolling your own is a dangerous thing in the world of Web services security. Well-meaning, experienced developers can easily go astray."
|
1 message in this topic
|
(Read More)
|
|
|
Why Use SOAP?
|
Posted by Bill Venners on March 17, 2003
|
Frank Sommers writes, "For many Web services, you need only a combination of XML, HTTP, and an application-specific message protocol. To be sure, SOAP has its uses. But, in my opinion, SOAP's role is overstated in the early stages of a Web service's development. Using SOAP for the wrong tasks can easily hijack a Web service development project."
|
7 messages in this topic
|
(Read More)
|
|
Good Enough Software
|
Posted by Bill Venners on March 17, 2003
|
Dave Thomas says, "If you go in assuming that you can produce bug-free software, that attitude changes how you write the software. You tend to get arrogant, or at least complacent, about the actual code that you write."
|
1 message in this topic
|
(Read More)
|
|
Optimizing Java Applications
|
Posted by Bill Venners on March 13, 2003
|
With the size and complexity of most Java applications, it's getting much more important to get an early handle on performance. Gartner estimates that only 14% of applications meet "all measured and tested response time estimates."
|
1 message in this topic
|
(Read More)
|
|
|
|
New in Weblogs
|
|
|
Hottest Discussions
|
|
|
New Artima.com Articles
|
Abstraction and Detail
Andy Hunt and Dave Thomas recommend
pulling details out of the code and storing them as metadata.
|
Why Use SOAP?
SOAP versus plain XML over HTTP for web services.
|
Good Enough Software
Andy Hunt and Dave Thomas discuss the myth of bug-free software, specifying quality as a requirement,
and the source of quality.
|
Orthogonality and the DRY Principle
Andy Hunt and Dave Thomas discuss the DRY principle, code generators, and orthogonal systems.
|
Drive Your Unit Tests with Custom Scripts
Create a Suite subclass that executes tests by interpreting a script written in a custom test language.
|
Don't Live with Broken Windows
Andy Hunt and Dave Thomas discuss software craftsmanship
and the importance of fixing the "broken windows" in your code.
|
Use the Best Tool for the Job
The advantages of learning both a scripting and systems language.
|
How to Interview a Programmer
Learn interview techniques, garnered from a recent summit on writing better code, that can
help you find the most qualified programmers for your project.
|
Create an XML Reporter for your Unit Tests
How to create a custom reporter for Artima SuiteRunner
that formats unit test results in XML.
|
Designing with the Python Community
Guido van Rossum on the importance of
"pythonic" API design, the value
of experience and community feedback in design decisions.
|
Running JUnit Tests with Artima SuiteRunner
How to use Artima SuiteRunner
as a JUnit runner to run your existing JUnit test suites.
|
Strong versus Weak Typing
Guido van Rossum on the robustness of systems built with strongly
and weakly typed languages, the value of testing, and whether
he'd fly on an all-Python plane.
|
Artima SuiteRunner Tutorial
How to use Artima SuiteRunner to you build conformance and unit tests for Java-based projects.
|
Getting Started with Artima SuiteRunner
An introduction to the main features of Artima SuiteRunner and walkthrough
of the included example.
|
Contracts in Python
Guido van Rossum on the nature of contracts in
a runtime typed programming language such as Python.
|
Why We Refactored JUnit
Three programmers tell the story of the making of Artima SuiteRunner, an open source unit and
conformance testing toolkit for Java.
|
Programming at Python Speed
Guido van Rossum on the source of Python's famed programmer productivity and the joys
of exploring new territory with code.
|
Python Design Goals
Guido van Rossum on how Python was originally intended to "bridge the gap between the shell and C,"
and how it eventually became used on large scale applications.
|
Froth and Compatibility
Rob Gingell on the pressures on vendors to both create
froth—to add value on top of standards—and maintain
compatibility in a multi-vendor industry.
|
The Making of Python
Guido van Rossum on Python's history, the
influence of the ABC language, and Python's original design goals.
|
Standards and Innovation
Rob Gingell on open source licensing, source and binary compatibility, binary standards, and the JCP.
|
Const, RTTI, and Efficiency
Scott Meyers on the utility of const, the appropriate time to use
RTTI, a good attitude about efficiency, and his current quest for general programming
principles.
|
Meaningful Programming
Scott Meyers on the importance of saying what you mean and
understanding what you say, the three fundamental relationships between classes, and the
difference between virtual and non-virtual functions.
|
Designing Contracts and Interfaces
Scott Meyers on interface contracts, private data, and designing minimal and complete
interfaces.
|
Multiple Inheritance and Interfaces
Scott Meyers on his evolving view of multiple inheritance, the C++ community's take on Java's
interface , and a schism of focus between the C++ and other
prominent development communities.
|
Tuning Performance and Process
Martin Fowler on balancing maintainability and efficiency, creating tunable software, the role of patterns,
and the Agile Software Manifesto.
|
Test-Driven Design
Martin Fowler on the unhurried quality of test-first design and monological
thinking, and the difference between unit and functional testing.
|
Flexibility and Complexity
Martin Fowler on combating design decay, the cost of flexibility and reusability,
four criteria for a simple system, and test-first design of interfaces.
|
Evolutionary Design
Martin Fowler on planned and evolutionary design, refactoring bad smells in code, and how good design can help you program faster.
|
Design Principles and Code Ownership
Martin Fowler on design principles and the spectrum of code ownership.
|
Refactoring with Martin Fowler
Martin Fowler on the business case for refactoring and testing, and the interplay between
refactoring, design, and reliability.
|
Dynamic Enterprise Systems and Jini
Sean Neville on the messaging approach used to implement remote method
invocations in JRun, and situations in which enterprise developers may find Jini useful.
|
Clustering J2EE with Jini
Sean Neville on JRun's object clustering architecture, and how Jini facilitated its
implementation.
|
Java Design Issues
Ken Arnold on Whether to prohibit subclassing, whether to use Cloneable or copy
constructors, and when to use marker interfaces.
|
Observing JavaSpace-based Systems, Part II
A logging service architecture for
analyzing and debugging JavaSpace-based systems.
|
JavaSpaces: Data, Decoupling, and Iteration
Ken Arnold on The data-driven nature of JavaSpaces, how
JavaSpaces facilitates decoupling, and why iteration isn't supported in
the JavaSpace interface.
|
Observing JavaSpace-based Systems, Part I
The challenge of understanding and debugging JavaSpace-based systems.
|
|
|
|
|