- Paperback: 624 pages
- Publisher: Addison Wesley; 2 edition (13 November 2002)
- Language: English
- ISBN-10: 032175302X
- ISBN-13: 978-0321753021
- Product Dimensions: 15.7 x 3.6 x 23.1 cm
- Average Customer Review: Be the first to review this item
Component Software: Beyond Object-Oriented Programming (paperback) (ACM Press) Paperback – 13 Nov 2002
From the Back Cover
There has been an explosive growth in component software technologies since the first edition of this classic book was published. The advent of EJB, J2EE, CORBA 3, COM+ and the .NET framework are evidence of a maturing market in component software that goes 'beyond OOP'.
Clemens Szyperski gives us an objective survey of the component landscape, blended with unique insights into the market forces that influence deployment and in-depth coverage of real problems and their solutions.
Highlights of the Second Edition include:
- A comprehensive update of market-leading technologies including COM+, CORBA, EJB and J2EE
- New sections evaluating the strengths and weaknesses of emerging technologies like .NET, the CORBA Component Model, XML Web Services, showing how they work together with components and XML-related standards
- New examples in C# in addition to Java and Component Pascal
Component Software, Second Edition will help software developers, architects, CTOs and system integrators to understand both the technical issues and the market dynamics that underlie component software.
About the Author
Clemens Szyperski joined Microsoft Research at its Redmond, Washington, facility in 1999 to continue his work on component software. He is currently also an Adjunct Professor of the Faculty of Information Technology at the Queensland University of Technology (QUT), Brisbane, Australia, where he was previously an Associate Professor. He joined the faculty in 1994 and received tenure in 1997. From 1995 to 1999 he has been director of the Programming Languages and Systems Research Centre at QUT.
From 1992 to 1993 he held a Postdoctoral Fellowship from the International Computer Science Institute (ICSI) at the University of California at Berkeley. At ICSI he worked in the groups of Professor Jerome Feldman (Sather language) and Professor Domenico Ferrari (Tenet communication suite with guaranteed Quality of Service).
In 1992, Clemens received his PhD in Computer Science from the Swiss Federal Institute of Technology (ETH), Zurich, Switzerland, where he designed and implemented the extensible operating system Ethos under the supervision of Professor Niklaus Wirth and Professor Hanspeter Mössenböck. In 1987, he received a degree in Electrical Engineering/Computer Engineering from the Aachen University of Technology (RWTH), Germany. Ever since joining ETH in 1987, his work has been heavily influenced by the work of Professor Wirth and Professor Jürg Gutknecht on the Oberon language and system.
In 1993, he co-founded Oberon microsystems, Inc., developer of BlackBox Component Builder, first marketed in 1994 and one of the first development environments and component frameworks designed specifically for component-oriented programming projects. In 1997, Oberon microsystems released the new component-oriented programming language Component Pascal. He was a key contributor to both BlackBox and Component Pascal. In 2000, Professor John Gough, Dean of Information Technology at QUT, ported Component Pascal to the Microsoft .NET common language runtime.
In 1999, Oberon microsystems spun out a new company, esmertec, inc., that took the hard realtime operating system then called Portos and turned it into JBed, an industry-leading hard realtime operating system for Java in embedded systems.
Clemens has been a consultant to major international corporations. He served as an assessor and reviewer for Australian, Canadian, Irish, and US federal funding agencies and for learned journals across the globe. He served as a member of program and organizing committees of numerous events, including ECOOP, ICSE, and OOPSLA conferences. He has published numerous papers and articles, several books, and frequently presents at international events.
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter mobile phone number.
|5 star (0%)|
|4 star (0%)|
|3 star (0%)|
|2 star (0%)|
|1 star (0%)|
Most helpful customer reviews on Amazon.com
What I like most about Component Software is that it provides a solid theoretical underpinning for understanding components and then gets practical' discussing the current instantiations of the Object Management Group's CORBA and OMA; Microsoft's DCOM, OLE, and ActiveX; and Sun's Java and JavaBean approaches to component technology. He similarly treats component frameworks, covering the sadly lamented OpenDoc as well as BlackBox Component Builder, and compares Java and Component Pascal, two languages used for component development.
That brings up what I liked least about this book: Szyperski is co-founder and director of research at Oberon Microsystems (www.oberon.ch), a spin-off from ETH Zrich, which makes, among other things, BlackBox Component Builder and Component Pascal. Comparisons of Oberon's technologies against other approaches are somewhat one-sided. Szyperski also shows a subtle (perhaps unconscious) bias towards Microsoft's COM approach.
Those lapses are more than offset by excellent work, such as outstanding chapters on objects vs. class inheritance, open problems working against component adoption, and component-based development. If you're looking for one definitive book on component technologies, this is that book.
After the introductory chapter, about the first third of the book discusses object oriented development. That's no contradiction: OO technology is usually the implementation vehicle for component systems. Szyperski adds (or at least collects) real content about OO technique, including the problematic relationship between 'contracts' and callbacks, language features for containment and control, and the many needs that current OO languages don't meet. Lots of the discussion sounds like 'the loyal opposition' - he supports OO practice, even demands it, but is harshly critical of the OO techniques that cause real problems.
The remainder of the book describes requirements of a workable component system and a workable component industry. If done right, component software really could solve a lot of problems: squabbling in multi-vendor environments, maintenance across multiple generations of releases, and more. The theoretical discussion is backed up with case studies, including JavaBeans, CORBA, and OpenDoc.
The would-be component user won't find a lot here; this book is really for the component or component framework developer. Developers, however, should not expect a lot of direct, technical detail. This discusses principles, not implementation. That's my one real disappointment in this book: the lack of detail. Even the case studies are brief and somewhat shallow. Those problems are easy to fix, however, with other books on specific APIs, systems, and development techniques.
If you are planning a component-based system, whether as a component user or a component developer, this book may be essential. It gives a complete, critical view of what components can do and what they should but cannot yet do. As you go through development, you'll come back to this book (or at least to its issues) again and again.
The author (one of the principles behind Oberon and Component Pascal) very carefully avoids taking explicit sides in the so-called "component wars" (the same cannot be said about his stance on objects v. components, he clearly believes OO has failed to live up to its promises). However, I think the book is (indirectly) about Microsoft's COM in that it explains, in a very detailed, academic sort of way, the same principles that are behind COM. I don't think the author intended to write a book about COM, it's just that his ideas and the ideas of the designers of COM appear to be very similar.
At 28 chapters & 411 pages this is a long book. It covers a lot of material. Some parts are pretty hard to read because they are so academically grounded. The author recognizes this and warns the reader beforehand. Most of the sections I found hard to read could easily be skipped over without detracting from the real value the book provides.