|
We have written a book that was published by John Wiley & Sons
in September 2004. It is called: "Software Factories: Assembling
Applications with Patterns, Frameworks, Models & Tools" byJack
Greenfield and Keith Short, with contributions by Steve
Cook and Stuart Kent. ISBN 0471202843 To view the book’s entry at amazon.com,
please click
here.
We are greatly honored to have been awarded a "Productivity Award" at
the Software Development Magazine Jolt Awards 2005 in the
General Books category (see
press announcement here).
Book nominated for R. R. Hawkins Award
Software Factories was one of 5 books nominated by John Wiley &
Sons for the R. R. Hawkins Award this year out of more that 300 boks they
published in the Computer and Information Science category.
As a member of the Professional Scholarly Publishing division of the
Association of American Publishers, Wiley competes with other publishers in
this division for the coveted award, which recognizes excellence and innovation
in professional, scholarly, refernce, book, journa;, and electronic publishing
with awards in more than 35 categories, including the Hawkins Award for the
most outstanding publication.
Cover Endorsements, please click
here.
Book Chapter Outline
About the Book
The architects of the Software Factories method provide a detailed
look at this faster, less expensive and more reliable approach to application
development. Software Factories significantly increase the level of automation
in application development at medium to large companies, applying the time
tested pattern of using visual languages to enable rapid assembly and
configuration of framework based components. Unlike other approaches to Model
Driven Development (MDD), such as Model Driven Architecture (MDA) from the
Object Management Group (OMG), Software Factories do not use the Unified
Modeling Language (UML), a general purpose modeling language designed for
models used as documentation. They go beyond models as documentation, using
models based on highly tuned Domain Specific Languages (DSLs) and the
Extensible Markup Language (XML) as source artifacts, to capture life cycle
metadata, and to support high fidelity model transformation, code generation
and other forms of automation.
Building business applications is currently an extremely labor-intensive
process that relies on a limited pool of highly talented developers. As global
demand for software exceeds the capacity of this labor pool, current software
development methods will be replaced by automated methods, meaning cheaper,
faster, and more reliable application development. Wiley Computer Publishing
has teamed with industry experts Jack Greenfield and Keith Short, both
architects in the Enterprise Frameworks and Tools group at Microsoft, and
leading authorities on Model Driven Development (MDD), to help technical
professionals understand how business application development is changing.
With two chapters on Domain Specific Language (DSL) development by contributors
Steve Cook and Stuart Kent, they take an in-depth look at challenges facing
developers using current methods and practices, and critical innovations that
can help with these challenges, such as Pattern Automation, Generative
Programming, Software Product Lines, Aspect Oriented Programming (AOP),
Component Based Development (CBD), Service Oriented Architectures (SOA),
Service Orchestration and Web Service Integration. They then propose the
Software Factories method, which has the potential to significantly change
software development practice, by reducing the cost of building reusable
assets, such as patterns, languages, frameworks and tools, for specific problem
domains, and then applying them to accelerate the assembly of applications in
those domains.
After introducing Software Factories, the book describes these key enabling
technologies in depth, and shows how they can be integrated and applied to
support a form of Rapid Application Development (RAD). It then provides a
detailed example of a working Software Factory and answers Frequently Asked
Questions (FAQs). Readers will gain a better understanding of these
technologies, and will learn how to apply them to implement Software Factories
within their own organizations.
|