Component Design Patterns
A ChiliPLoP 2000 Hot Topic
Author: Philip Eskelinphilip.eskelin@acm.org Introduction
Many projects today use a component-based approach to developing software. Component-Based
Development (CBD) stresses language and platform interoperability, and separation of interface
from implementation. Existing and newly constructed components are being deployed to clients
and servers to build flexible, reusable solutions.
On the client, Java applets, JavaBeans, HTML, JavaScript, and ActiveX controls are being used to express rich content. On the server, we see Java Servlets, Enterprise JavaBeans, Java Server Pages, Active Server Pages using Microsoft Transaction Server with COM objects, and EJB implementations such as IBM WebSphere and BEA WebLogic are providing industrial-strength solutions for cross-platform component-based development. And component frameworks are being developed that can be extended into the business domain via components. Component Design Patterns: A Pattern Language for Component-Based Development is a book currently being written, authored by Philip Eskelin, which will be published by Addison-Wesley Longman in 2000. The book serves as a snapshot of an ongoing pattern language project by Philip Eskelin, with Kyle Brown and Nat Pryce on the Wiki Wiki Web. The purpose of the language is to write down some of the recurring themes and best practices in CBD that lead to winning software projects. And the purpose of doing a ChiliPLoP Hot Topic is to help evolve the language in a community-driven manner, and to get together with a group of capable and interested folks to discuss component-based development in general.
Topic Overview
In our work as software developers, we struggle with problems that we imagine
must have known solutions. For some of these problems, we find answers in books
containing algorithms or sample code, in reused code and components, or from
discussions with fellow colleagues.
For other problems, such as those involving design, organizational structure, change management, and development practices, the answers are typically much harder to find. Many of the answers are not written down, but rather, if we are lucky, passed on from person to person, or rediscovered by each individual through trial and error. Regardless of the platform or programming language, developers in different situations tend to come up with solutions to some of those problems that have very similar themes. Writing these experiences down so others can benefit from them is what patterns are all about. Nevertheless, we are after beauty, not expert knowledge . Our focus is not upon publishing a catalogue of principles and best practices. Moreover, its not programming for dummies. Instead, were publishing a snapshot of a project that is attempting to document several interrelated patterns centered on component-based development. Because of these interrelationships, weve structured the patterns in the form of a pattern language that we hope, as a whole, helps software developers increase the beauty and wholeness of the software they build. Based on the pervasive nature of component technology and a pattern language's ability to effectively document recurring themes, the focus of this Hot Topic is to explore pattterns in component-based development and make progress in evolving the work that has been currently done in the Component Design Patterns project. The patterns that will be used for the Hot Topic will be a core subset of the overall language. The intention is to limit the amount of material that participants are required to read for preparation. We will explore the most mature parts of the language as full content, and will leave the rest of the patterns as "stubs". We hope to get good feedback on existing patterns, that focus topics uncover new patterns, to define or invalidate existing "stubs", and that more positions are submitted due to less burdensome reading requirements.
Topic Plan
The following proposed will serve as the basis for establishing group consensus
on a plan that will best fit the group:
Participant Information
We hope to attract 4-6 highly motivated and experienced pattern users,
pattern writers, and software developers to participate in this hot topic.
Specifically, people who are experienced developing solutions
in C/C++, Java, JavaBeans, EJB, XML, CORBA, COM/ActiveX, Visual Basic, and
other technologies that lend themselves to a component-based approach
to development are invited to submit requests to participate.
Submit a request to participate by e-mail to the workshop organizer on or before Friday, March 3rd, 2000. You may submit ASCII text, HTML, or a URL where we can find your submission. Your proposal should be one to three pages long and should include things like:
Important Dates
The following dates are important in the days leading to ChiliPLoP'00:
Contact Information
Contact Information: philip.eskelin@acm.org Note: PLoP is a trademark of The Hillside Group, Inc.
|