It's really amazing how often software developers "reinvent the wheel". Even CodeFutures is guilty of it sometimes - we've just ripped out our inhouse XML parser and replaced it with a standardized component - JDOM.
It requires a determined effort to identify and then stick to a common set of components. And it will require an even more determined effort to use them in a cohesive way - which is where Java Software Factories are useful by providing a context and methodology.
The building blocks for most Java Sofware Factories already exist.
There are many great specifications, standards, and products that have gained widespread acceptance already:
Core J2EE Design Patterns
Security – Liberty Alliance, SAML
Diagnosticsa and logging – log4j, JMX, and SNMP
Property Management – JNDI
Persistence – DAOs, JDBC, JDO, EJB CMP
Presentation - JSPs, Struts (perhaps JSF later?)
Integration – MOM and SOAP
Application Servers - J2EE, Tomcat, etc
Build tool - Apache Ant
Code documentation - JavaDocs
XML parser - Xerces, JDOM
XSLT - Xalan
At a another level, there's a wide range of technologies that can and must be leveraged for the Java Software Factories - operating systems, relational databases, and much more.
An organization can standardize on which components it uses within its organization when constructing factories.
Standardization on specific components may sound obvious - but how many organizations do it?