Beyond Software Architecture: Creating and Sustaining Winning Solutions


Publisher: Addison-Wesley
Author: Luke Hohmann
ISBN: 0201775948
Release Date: 30 January 2003

eBook Description
Many excellent books have been written on software architecture. These books, which, among other things, define, classify, and describe software architectures, define notations for representing and communicating architectural choices, and provide guidance on making good architectural decisions, have enduring value. Unfortunately, while these books may help you build a successful architecture, they fall short of the goal of helping you create a winning solution. To create a winning solution, you need to move beyond subsystems and interfaces, beyond architectural patterns such as Front Controller or Pipes and Filters, and beyond creating third-normal-form relational databases. You need to move beyond software architecture and move toward understanding and embracing the business issues that must be resolved in order to create a winning solution. An example of one such business issue concerns technical support. It is inevitable that some of your customers are going to have a problem with your software. The choices you’ve made long ago in such areas as log file design, how the system is integrated with other systems, how the system is configured, or how the system is upgraded will determine how well you can solve their problems. Beyond Software Architecture helps you move beyond software architecture and toward creating winning solutions by discussing a wide range of business issues and their interrelationship with architectural choices. This book presents a unique perspective that is motivated and informed by my experiences in creating single-user programs costing less than $50; software systems used in academic research; utilities to diagnose and fix problems associated with internally developed systems; and distributed, enterprise-class platforms costing millions of dollars. Along the way, I’ve played a variety of roles. I’ve been an individual contributor, a direct manager, and a senior member of the corporate executive staff. At various times I’ve either worked in or led engineering, product marketing and management, quality assurance, technical publications, and first- and second-line support organizations. I’ve managed teams and projects across multiple cities and continents. The common thread tying all of this software together is that it was created to provide value to some person. Research software, for example, serves the needs of the researchers who are trying to understand some phenomena. Enterprise application software, dealing with everything from customers to supply-chain management, is designed to serve the needs of a well-defined set of users and the businesses that license it in a sustainably profitable manner. Similar comments apply to every other kind of software, from games to personal contact managers, inventory management systems to graphic design tools. The issues identified and discussed in this book affect every kind of software. Their presentation and discussion occur most often in the context of enterprise application software, where I have spent most of my professional career. While they have no universally accepted definition, enterprise applications typically meet one or more of the following characteristics: They are designed to support the needs of a business, at either a departmental or larger organizational unit. They are relatively expensive to build or license ($50,000-$5,000,000 and up). They have complex deployment and operational requirements. They can be operated independently, but the needs of the business are often best served when they are integrated with other enterprise applications. Even if you’re not creating an enterprise application, you will find this book useful. Creating sustainable software solutions–meeting customer needs over a long period of time through multiple releases–is a challenging, enjoyable, and rewarding endeavor, certainly not limited to the domain of enterprise applications! Although I will often refer to software architecture and discuss technical matters, my discussions won’t focus on such things as the best ways to diagram or document your architecture or the deeper design principles associated with creating robust, distributed Web-based component systems. As I said earlier, there are plenty of books that address these topics–in fact, almost too many, with the unfortunate side-effect that many people become so focused on technical details that they lose sight of the business value they’re trying to provide. Instead of concentrating on purely technical choices, Beyond Software Architecture helps you create and sustain truly winning solutions by focusing on the practical, nuts-and-bolts choices that must be made by the development team in a wide variety of areas. I have found that focusing on practical matters, such as how you should identify a release or integrate branding elements into your solution, reduces the often artificial barriers that can exist between developers and the business and marketing people with whom they work. These barriers prevent both groups from creating winning solutions. I cringe when engineers take only a technology view without due consideration of business issues, or when marketing people make “get-me-this-feature” demands without due consideration of their underlying technical ramifications. When either side takes a position without due consideration of its impact, the likelihood of creating and sustaining a winning solution drops dramatically. What is especially troubling is that these arguments seem to be made in support of the idea that technical issues can somehow be separated from business issues, or that business issues can somehow be separated from technical issues. At best this is simply wrong; at worst it can be a recipe for disaster. Developers are routinely asked to endure the hardships of design extremes, such as a low-memory footprint, in order to reduce total system cost. Entire companies are started to compete in existing markets because investors are convinced that one or more technological breakthroughs will provide the competitive advantage necessary for success. Not surprisingly, investors are even more eager to invest when the technological breakthrough is accompanied by a similar breakthrough in the business model being offered to customers. Managing the interrelationship between technology and business will be a recurring theme throughout this book. Handle only the former and you might have an interesting technology or, perhaps, an elegant system,–but one that ultimately withers because no one is using it. Handle only the latter and you’ll have a paper solution that excites lots of people and may even get you funding–but one that doesn’t deliver any sustainable value. Handle both and you’ll have a winning solution. While creating new technologies or elegant systems can be fun, and designing sophisticated new software applications or business models can be exciting, both pale in comparison to the deep satisfaction that comes from creating winning solutions and sustaining them.

Amazon.com

Beyond Software Architecture: Creating and Sustaining Winning Solutions


Extend This Post Reach

C++ Templates: The Complete Guide


Publisher: Addison-Wesley
Author: Nicolai M. Josuttis
ISBN: 0201734842
Release Date: 12 November 2002

eBook Description
The first book to provide complete and accurate information on using templates in C++. A complete reference as well as a tutorial. Includes real-world examples. Every working C++ programmer will need a copy of this book for his or her library.

Amazon.com

C++ Templates: The Complete Guide


Extend This Post Reach

A Guide to Forensic Testimony: The Art and Practice of Presenting Testimony As An Expert Technical Witness


Publisher: Addison-Wesley
Author: Rebecca Gurley Bace
ISBN: 0201752794
Release Date: 09 October 2002

eBook Description
Addresses the specific needs of the IT expert witness. Focuses on how digital evidence and computer forensics are altering litigation. Your guide to the complicated forensic landscape that awaits the expert technical witness.

Amazon.com

A Guide to Forensic Testimony: The Art and Practice of Presenting Testimony As An Expert Technical Witness


Extend This Post Reach

Programming Server-Side Applications for Microsoft Windows 2000


Publisher: Microsoft Press
Author: Jason D. Clark
ISBN: 0735607532
Release Date: 01 March 2000

eBook Description
An ever-growing number of applications are being developed for the Windows server platform. As more companies come to rely on this burgeoning code base, software developers require the skills to closely integrate with Windows. Administrators resent applications with obvious bugs, but they will also reject code that is difficult to administer, performs poorly, or dominates system resources. Programming Server-Side Applications for Microsoft Windows 2000 helps intermediate and advanced Windows programmers by covering a range of topics needed to develop reliable applications for Windows 2000.

Readers should be familiar with C Windows programming and spend little time introducing basic concepts. Advanced readers will find this refreshing, while beginners should scurry off and bone up by reading the prequel, Jeffrey Richter’s Programming Applications for Microsoft Windows. Moreover, although this book covers server-side applications, it spends very little time on network programming–it assumes the reader is already comfortable with sockets or some other form of client/server communication.

The sections on services and administration are straightforward, and readers familiar with Windows NT will easily grasp the skills needed to build system-friendly applications. Security is a trickier topic, and the authors do a good job of introducing the different aspects of Windows security, emphasizing the functions that programmers will use most frequently. There is a solid explanation of Windows network authentication and secure communication. (These topics almost warrant a separate book, but there is enough information here to get off to a good start.)

The critical nature of server-side applications is emphasized–stressing that it is not acceptable to reboot the server machine regularly if the system grows unstable. Readers get strong advice on the importance of managing resources, easy administration, and scalability. In most cases, these concepts are reinforced with specific examples throughout the text via notes on common pitfalls and bugs, but it would have been nice to see this point hammered home a bit more, especially the difficulty in testing code in a simulated production environment.

The best aspect of this book is the exemplary sample code. It is easy to understand and well documented, and it does a good job of demonstrating the topics the book discusses. The companion CD-ROM contains all the code needed to build the sample applications under Visual C 6.0, most of which can easily be modified to other uses. Note that much of the information in this book is not specific to Windows 2000–it can be easily applied to Windows NT 4–but new features such as Active Directory are not discussed in any detail. You can use this book to modify existing applications to better integrate with Windows, or to develop new server applications from scratch. If you want a solid tutorial for developing Windows server applications, this will make a nice supplement to your technical library. –Pete Ostenson

Topics covered: I/O completion ports and thread pools, Windows service development and administration, managing the Registry, performance counters, event logging, Windows security, user and group management, SSPI, and SSL.

Amazon.com

Programming Server-Side Applications for Microsoft Windows 2000


Extend This Post Reach

Inside Microsoft .NET IL Assembler


Publisher: Microsoft Press
Author: Serge Lidin
ISBN: 0735615470
Release Date: 06 February 2002

eBook Description
.NET IL Assemble is the intermediate language that the .NET common language runtime converts to machine language in .NET applications. Get the inside scoop on this critical low-level language with an architectural guide from the most reliable authority-the language’s designer, Serge Lidin. You’ll discover common structures, functions, and rules for designing .NET applications, explanations for how .NET executables compile, details on the .NET IL Assembler, IL Disassembler and Metadata Validation tools, and more.

Amazon.com

Inside Microsoft .NET IL Assembler


Extend This Post Reach

Web Bloopers, First Edition : 60 Common Web Design Mistakes, and How to Avoid Them (The Morgan Kaufmann Series in Interactive Technologies)


Publisher: Morgan Kaufmann Publishers
Author: Jeff Johnson
ISBN: 1558608400
Release Date: 14 April 2003

eBook Description
he dot.com crash of 2000 was a wake-up call, and told us that the Web has far to go before achieving the acceptance predicted for it in ‘95. A large part of what is missing is quality; a primary component of the missing quality is usability. The Web is not nearly as easy to use as it needs to be for the average person to rely on it for everyday information, commerce, and entertainment.

In response to strong feedback from readers of GUI BLOOPERS calling for a book devoted exclusively to Web design bloopers, Jeff Johnson calls attention to the most frequently occurring and annoying design bloopers from real web sites he has worked on or researched. Not just a critique of these bloopers and their sites, this book shows how to correct or avoid the blooper and gives a detailed analysis of each design problem.

  • Discusses in detail 60 of the most common and critical web design mistakes, along with the solutions, challenges, and tradeoffs associated with them.
  • Covers important subject areas such as: content, task-support, navigation, forms, searches, writing, link appearance, and graphic design and layout.
  • Organized and formatted based on the results of its own usability test performed by web designers themselves.
  • Features its own web site (www.web-bloopers.com)with new and emerging web design no-no’s (because new bloopers are born every day) along with a much requested printable blooper checklist for web designers and developers to use.

Amazon.com

Web Bloopers, First Edition : 60 Common Web Design Mistakes, and How to Avoid Them (The Morgan Kaufmann Series in Interactive Technologies)


Extend This Post Reach

Data Modeler’s Workbench: Tools and Techniques for Analysis and Design


Publisher: John Wiley and Sons
Author: Steve Hoberman
ISBN: 0471111759
Release Date: 07 December 2001

eBook Description
“This book is chock-full of useful techniques and tips for improving data models and designs. And it s an entertaining read as well a terrific combination!” Wayne Eckerson, Director of Education and Research, The Data Warehousing Institute A data model is the heart and soul of any application, providing a foundation for efficient data entry and retrieval. It needs to be consistent with other models within your organization, accurately capture the current business requirements, and evolve to support changing business needs. Data Modeler s Workbench contains more than twenty finely tuned tools aimed at improving the speed, accuracy, flexibility, and consistency of your database, data warehouse, and operational applications. Steve Hoberman explains each tool with the help of detailed examples, showing how to apply each tool and where in the operational and reporting environment each tool is most effective. You can customize the tools in this book for your particular industry, organization, or project. The companion Web site features: Downloadable copies of the worksheets and checklists that modelers can use on their own projects Updates on the latest tools, techniques, and discussion forums Links to other data modeling sites Advance Praise: “Any data modeler should own a copy of Steve Hoberman s book on data modeling tools and techniques.” David Marco, President, Enterprise Warehousing Solutions, Inc. “Steve Hoberman has written a truly valuable book that is sure to advance the discipline of data modeling.” David Wells, Founder and Principal Consultant, Infocentric Wiley Computer Publishing Timely. Practical. Reliable.

Amazon.com

Data Modeler’s Workbench: Tools and Techniques for Analysis and Design


Extend This Post Reach

SQL Cookbook (Cookbooks (O’Reilly))


Publisher: O’Reilly
Author: Anthony Molinaro
ISBN: 0596009763
Release Date: 01 December 2005

eBook Description
You know the rudiments of the SQL query language, yet you feel you aren’t taking full advantage of SQL’s expressive power. You’d like to learn how to do more work with SQL inside the database before pushing data across the network to your applications. You’d like to take your SQL skills to the next level.

Let’s face it, SQL is a deceptively simple language to learn, and many database developers never go far beyond the simple statement: SELECT FROM WHERE . But there is so much more you can do with the language. In the SQL Cookbook, experienced SQL developer Anthony Molinaro shares his favorite SQL techniques and features. You’ll learn about:

* Window functions, arguably the most significant enhancement to SQL in the past decade. If you’re not using these, you’re missing out
* Powerful, database-specific features such as SQL Server’s PIVOT and UNPIVOT operators, Oracle’s MODEL clause, and PostgreSQL’s very useful GENERATE_SERIES function
* Pivoting rows into columns, reverse-pivoting columns into rows, using pivoting to facilitate inter-row calculations, and double-pivoting a result set
* Bucketization, and why you should never use that term in Brooklyn.
* How to create histograms, summarize data into buckets, perform aggregations over a moving range of values, generate running-totals and subtotals, and other advanced, data warehousing techniques
* The technique of walking a string, which allows you to use SQL to parse through the characters, words, or delimited elements of a string

Written in O’Reilly’s popular Problem/Solution/Discussion style, the SQL Cookbook is sure to please. Anthony’s credo is: “When it comes down to it, we all go to work, we all have bills to pay, and we all want to go home at a reasonable time and enjoy what’s still available of our days.” The SQL Cookbook moves quickly from problem to solution, saving you time each step of the way.

Amazon.com

SQL Cookbook (Cookbooks (O’Reilly))


Extend This Post Reach

Excel Scientific and Engineering Cookbook (Cookbooks (O’Reilly))


Publisher: Novell Press
Author: David Bourg
ISBN: 0596008791
Release Date: 01 January 2006

eBook Description
Given the improved analytical capabilities of Excel, scientists and engineers everywhere are using it–instead of FORTRAN–to solve problems. And why not? Excel is installed on millions of computers, features a rich set of built-in analyses tools, and includes an integrated Visual Basic for Applications (VBA) programming language. No wonder it’s today’s computing tool of choice.

Chances are you already use Excel to perform some fairly routine calculations. Now the Excel Scientific and Engineering Cookbook shows you how to leverage Excel to perform more complex calculations, too, calculations that once fell in the domain of specialized tools. It does so by putting a smorgasbord of data analysis techniques right at your fingertips. The book shows how to perform these useful tasks and others:

* Use Excel and VBA in general
* Import data from a variety of sources
* Analyze data
* Perform calculations
* Visualize the results for interpretation and presentation
* Use Excel to solve specific science and engineering problems

Wherever possible, the Excel Scientific and Engineering Cookbook draws on real-world examples from a range of scientific disciplines such as biology, chemistry, and physics. This way, you’ll be better prepared to solve the problems you face in your everyday scientific or engineering tasks.

High on practicality and low on theory, this quick, look-up reference provides instant solutions, or “recipes,” to problems both basic and advanced. And like other books in O’Reilly’s popular Cookbook format, each recipe also includes a discussion on how and why it works. As a result, you can take comfort in knowing that complete, practical answers are a mere page-flip away.

Amazon.com

Excel Scientific and Engineering Cookbook (Cookbooks (O’Reilly))


Extend This Post Reach

Web Services Security


Publisher: McGraw-Hill/Osborne
Author: Mark O’Neill
ISBN: 0072224711
Release Date: 31 January 2003

eBook Description
Explains how to implement secure Web services and includes coverage of trust, confidentiality, cryptography, authentication, authorization, and Kerberos. You’ll also find details on Security Assertion Markup Language (SAML), XML Key Management Specification (XKMS), XML Encryption, Hypertext Transfer Protocol-Reliability (HTTP-R) and more.

Amazon.com

Web Services Security


Extend This Post Reach