The larger a project gets, often the more the developers think about being able to refactor, reuse, and integrate across developers and teams.
Launchpad is a large, ambitious project that offers to connect the open-source community from the upstream libraries to the downstream applications. For a given project, it can provide bug trackers, code hosting, translation management, blueprint management and more, all with relations between other projects, even incorporating externally hosted bug trackers and code repositories.
When the project leads first approached the problem, they settled on using a dynamic language, Python, for development speed; combined with a contract-based component architecture, as provided by a few Zope 3 libraries, to promote refactoring, reuse, and integration.
The talk will quickly introduce the basic ideas of the component architecture libraries used.
It will then discuss how the decision to use a component architecture led to gains, losses, and opportunities for refactoring in the newly open-sourced Launchpad code. The story suggests when a component architecture might be a win, and when not; and what further development might help the use of these particular libraries. One highlight of this discussion will be the way the application leverages the component architecture to provide a REST web service, using open-sourced libraries created by Launchpad developers.
The talk will close with pointers to other examples of how parts of the Zope 3 component architecture libraries are used in some current web frameworks (Plone, Trac, Twisted, Grok, Repoze); and a brief, concrete (code) example of how they might be integrated smoothly into other frameworks such as Django.
Gary Poster is a Senior Web Developer on the Foundations team of Canonical’s Launchpad project. He has previously been a Senior Software Engineer and team lead at Zope Corporation, a Senior Internet Developer at AOL Time Warner, and a professional, classically-trained opera singer.
He has contributed to many open-source projects, including BuildBot, ReportLab, ClientForm, and Zope, and is the author of numerous open-source Python packages. Gary was the primary technical reviewer of the primary book on the Zope 3 libraries, Philipp von Weitershausen’s Web Component Development with Zope 3.
Gary has taught graduate level programming courses, as well as music theory and voice lessons. Now, based in Fredericksburg, VA, he tries to teach his two boys whatever they are willing to learn.
For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at firstname.lastname@example.org
Download the OSCON Sponsor/Exhibitor Prospectus
For media-related inquiries, contact Maureen Jennings at email@example.com
To stay abreast of conference news and to receive email notification when registration opens, please sign up for the OSCON newsletter (login required)
View a complete list of OSCON contacts