Contents
- Introduction
- The 90/10 rule and blackbox/whitebox abstractions
- A little history; Applets, Templates, DCA, JCA/WCA, Info*Engine
- Applets and template processing
- Info*Engine
- DCA – What went wrong?
- JCA aka WCA (Windchill Client Architecture)
- Other technologies; XSLT, Cognos etc.
- Conclusion
Introduction
Windchill is 10 years old! It was one of the earliest Java enterprise applications and now is one of the largest. The base of Windchill is one of its core strengths, 100% Java with and very strong client-server architecture and a unique Object Relational Mapping technology which only now has been equalled with technologies like Hibernate. However overtime the techniques used to produce the User Interface have changed alot; this is not a big surprise as over this time many technologies in core Java have been and gone (?) such as Applets, Struts, Swing and EJBs and creating reliable interface continues to be a complex problem with various MVC type solutions (Spring, Struts2, JSF etc) trying to provide standard solutions.
In this article we go through the various user interface options that have and are being used in Windchill and discuss their various strengths and weaknesses.
The 90/10 rule and blackbox/whitebox abstractions
Before we can analyze and understand the limitations of the various UI strategies, such as DCA and JC,A we need to understand some fundamental concepts.
The first is the 90/10 rule; which states that the last 10% of a project is as complex and difficult to achieve as the first 90% (maybe it is 80/20 or even 70/30 but the principle still holds true). This is why projects so often overrun and why demos can be so quick to produce but production worthy code is so much harder.
The second idea is the concept of blackbox and whitebox abstracions. A blackbox abstraction is a layer which hid