Rating:  Summary: An excellent book Review: "Building application frameworks" is an excellent book for beginners and experts alike. It is a comprehensive reference as well as a authoritative textbook by experts in this growing research field.The description of practical experiences as well as more conceptual descriptions, are usefull to understand the complexity of achieving high levels of software reusability. Managers and academics, will find a lot of material to help them decide if this is the way to go. Our research group in Web Engineering at the University of Sydney (weg.ee.usyd.edu.au) will us it extensively to improve our development practices.
Rating:  Summary: An excellent walk through framework technologies Review: An almost indispensable 3-volume reading to understand the success of framework technologies in today's software systems. The books include most of the top articles on the subject, providing a thorough insight in both design and implementation issues regarding frameworks, also complemented with practical experience about framework usage. Although the work is mainly concentrated on technical aspects, the articles are comprehensible enough to be taken as reference material by a broad community, for example, software engineers, programmers, or technology managers. The books are useful for anybody planning to include framework-based techniques in software development processes or planning to improve current object-oriented practices. It is also an excellent source for graduate courses. Volume 1 lays the fundamental concepts supporting object-oriented frameworks, and describes the problems and challenges that this technology raises in software development. The book covers topics such as domain analysis, development concepts and approaches, documentation, and management, among others. Of course, the compilation of articles makes some parts little redundant, but this is a minor detail compared with the fruitful contributions made by the book. In particular, the articles on reusing hooks, hot-spot-driven development, composing modeling frameworks in Catalysis, and composition problems, causes and solutions, are a sample of the outstanding level of this work. Each chapter adds at the end a number of related questions and student projects aiming to reinforce concepts and promote further investigation. As a comment, novice readers should take the sections concerning hooks and hot-spots carefully because these topics are presented in a slightly confusing way. Volume 2 focuses on specific framework implementations, dealing with existing frameworks for different application domains, such as businesses, multi-agent systems, languages and system software. In this book, the readers will find a level of detail much closer to specific implementations issues than in the previous volume. Nonetheless, the writing style remains mostly clear and accessible for a quite broad audience. The case-studies and experience reports described by the articles show an attractive industrial perspective of the framework approach, and more important, they go an step forward in the road of a more mature discipline for software development. In addition, a CD-Rom with concrete examples of these applications is included with the book. Volume 3 completes this series with a number of domain-specific application frameworks developed by industry, showing how to apply the concepts and ideas of the previous books in software products. In this line, it includes very interesting frameworks for manufacturing systems and distributed systems, among others. It also goes through concrete software scenarios, illustrating the benefits of combining domain knowledge and object-orientation expertise. Although the level of the articles is rather odd, the volume certainly provides the readers a realistic picture of the problems of building and adapting frameworks by learning from others' experience. A CD-Rom is also included with this book. Overall, these framework books collect the state-of-the-art on framework development, offering a comprehensive and easy-to-understand guide for both academics and practitioners in the field. It is clear that framework technologies will not solve all the problems (perhaps they rise more challenges than current approaches), however, taking advantage of the framework possibilities can make your development process more repeatable, productive, and also less painful. The gains of this retrain are no doubt a good investment.
Rating:  Summary: An excellent walk through framework technologies Review: An almost indispensable 3-volume reading to understand the success of framework technologies in today's software systems. The books include most of the top articles on the subject, providing a thorough insight in both design and implementation issues regarding frameworks, also complemented with practical experience about framework usage. Although the work is mainly concentrated on technical aspects, the articles are comprehensible enough to be taken as reference material by a broad community, for example, software engineers, programmers, or technology managers. The books are useful for anybody planning to include framework-based techniques in software development processes or planning to improve current object-oriented practices. It is also an excellent source for graduate courses. Volume 1 lays the fundamental concepts supporting object-oriented frameworks, and describes the problems and challenges that this technology raises in software development. The book covers topics such as domain analysis, development concepts and approaches, documentation, and management, among others. Of course, the compilation of articles makes some parts little redundant, but this is a minor detail compared with the fruitful contributions made by the book. In particular, the articles on reusing hooks, hot-spot-driven development, composing modeling frameworks in Catalysis, and composition problems, causes and solutions, are a sample of the outstanding level of this work. Each chapter adds at the end a number of related questions and student projects aiming to reinforce concepts and promote further investigation. As a comment, novice readers should take the sections concerning hooks and hot-spots carefully because these topics are presented in a slightly confusing way. Volume 2 focuses on specific framework implementations, dealing with existing frameworks for different application domains, such as businesses, multi-agent systems, languages and system software. In this book, the readers will find a level of detail much closer to specific implementations issues than in the previous volume. Nonetheless, the writing style remains mostly clear and accessible for a quite broad audience. The case-studies and experience reports described by the articles show an attractive industrial perspective of the framework approach, and more important, they go an step forward in the road of a more mature discipline for software development. In addition, a CD-Rom with concrete examples of these applications is included with the book. Volume 3 completes this series with a number of domain-specific application frameworks developed by industry, showing how to apply the concepts and ideas of the previous books in software products. In this line, it includes very interesting frameworks for manufacturing systems and distributed systems, among others. It also goes through concrete software scenarios, illustrating the benefits of combining domain knowledge and object-orientation expertise. Although the level of the articles is rather odd, the volume certainly provides the readers a realistic picture of the problems of building and adapting frameworks by learning from others' experience. A CD-Rom is also included with this book. Overall, these framework books collect the state-of-the-art on framework development, offering a comprehensive and easy-to-understand guide for both academics and practitioners in the field. It is clear that framework technologies will not solve all the problems (perhaps they rise more challenges than current approaches), however, taking advantage of the framework possibilities can make your development process more repeatable, productive, and also less painful. The gains of this retrain are no doubt a good investment.
Rating:  Summary: The number one guide for the development of O-O Software! Review: Before the advent of frameworks (MFC, JDK, etc.) developing software systems of any size was hard, and large system development was close to impossible, with a harrowing failure rate. This book lights the way toward a future in which the development of large software systems can be thought of as a much more workable activity, one with a reasonable chance of success. "Building Application Frameworks" is a book that has been designed to be extremely useful as a reference for experienced software developers or as a textbook highly suitable for a wide variety of graduate level courses in the Computer Science field. The book comes complete with well thought out question sections and a large variety of real world examples. I highly recommend it!
Rating:  Summary: An outstanding collection of work - essential reading! Review: Building Application Frameworks is an essential reference for anyone involved in moderate to large scale software development. Application Frameworks are an important consideration for anyone involved in software engineering today. Software teams have been building application frameworks from the beginning. However, the process is still very complex. This book provides a variety of experience and research perspectives which demonstrate the right way to go about application framework design and development. The book also provides generous examples of the pitfalls which jeopardize any software development activity and how those risks can be avoided.
Rating:  Summary: A handbook for building and documenting frameworks Review: Everybody speaks about frameworks but few of them really know how to build a successful framework. This book serves as a very useful guide for building and documenting frameworks. Especially you can find information about how to find a suitable framework for a specific application, how to understand its architecture and how to adapt it to your particular requirements.
Rating:  Summary: Good starting point but... Review: For one that works on frameworks and tools almost every day, I'm one that understands the production of frameworks and the OO methodology very well - however I got this book on a recommendation for its rich content and ideas, but I was left dissappointed. First of all, the book is more of an academic book. I have no problem with this as the Design Patterns book produced by the GoF was written in the same manner, but the language and tone could have more informal to make it a more enjoyable read for the working architect rather than the university student. That not really being the real issue, there are many chapters in this book that are almost useless to read. I understand this book shouldn't be read from cover-to-cover (seeing as the chapters have hardly any real order to them - another bad point), but reading about a smalltalk framework for something so trivial and talking about it's significance for a hundred pages or so doesn't make me learn anything - simular to the Mythical Man Month. I'm sure these kinds of chapters or books even are an important, integral part of computer science and should be captured, but this isn't the book I'm afraid. The chapters on example frameworks, although helpful, didn't tell the reader a lot of inforamtion. For instance, the Hypermedia framework was written as it was being told with an overview. Although the patterns and some driving design decisions were made, the actual purpose of the framework was unclear until the end of the chapter that I put in the missing pieces myself. The author wrote it like a review or an abstract to a larger case study - which doesn't help those that truly want to understand what's going on. The chapters on formalizing and understanding frameworks, although I appreiciate the academic effort to describing frameworks, were useless reads as well. As an architect that has built many frameworks and continues to do so, their so-called "simplified model" couldn't even potentially describe half the frameworks i've built. For a book that is supposed to be the "definitive guide/reference" on frameworks, it most surely doesn't meet to the level of frameworks being produced in the enterprise today. Perhaps volumes 2 and 3 can clear this up. Given all this, however, the book has some good chapters, albeit reviews and abstracts of white papers and other books. If you really want to start building frameworks, maybe this would be a good start, but I'd recommend Design Patterns: Elements of Reusable Software, Refactoring, EJB Design Patterns and many other books about advanced OO and designing software that focus on the "smaller" elements of producing frameworks instead. If you truely understand these works, learning how to build frameworks is almost trivial and you won't really need to read this book. Maybe I'm just smart too, I dunno - you decide. Just my thoughts - hope that helps someone's buying decision.
Rating:  Summary: Great book for professionals in industry and academia Review: I was quite impressed by the book as it spans a wide range of academic and industrial issues. As a matter of fact, I recommend Dr. Fayad's publications to my graduate students as well to professionals. His writing is clear, concise, inspiring and evocative.
Rating:  Summary: An outstanding three-volume source on Application Frameworks Review: I would like to congratulate the authors of three volumes on Building, Implementing and Domain specific application frameworks on an extremely well done job. I found the three volumes to be an invaluable and comprehensive source on application frameworks. These volumes cover all aspects pertaining to frameworks including models of development, key technical and business issues surrounding building of frameworks, experiences, lessons learned and successful practices to mention a few. In my opinion the three volumes are a must read for any software engineer who has been using or developing frameworks and as essential for software designers who want to be introduced and train in this area. The building volume is in particular attractive as a textbook for an advanced course on application frameworks.
Rating:  Summary: The most important reference in framework development Review: Object-oriented frameworks have become popular in this decade and currently represent the most promising technology supporting large-scale reuse. However framework development and adaptation are very complex activities. This book is the most important reference in framework development, adaptation, and documentation. It describes the most promising techniques supporting frameworks and shows several case studies that show how framework technology may be applied. It may be used as a guide for industrial development projects or as a textbook for SE courses.
|