Architect's Master Class

Areas of Leadership





Righting Software

A Method for System and Project Design

By Juval Löwy

December 2019, Addison-Wesley

Right Your Software and Transform Your Career

Righting Software presents the proven, structured, and highly engineered approach to software design that renowned architect Juval Löwy has practiced and taught around the world. Although companies of every kind have successfully implemented his original design ideas across hundreds of systems, these insights have never before appeared in print.

Based on first principles in software engineering and a comprehensive set of matching tools and techniques, Löwy’s methodology integrates system design and project design. First, he describes the primary area where many software architects fail and shows how to decompose a system into smaller building blocks, or services, based on volatility. Next, he shows how to flow an effective project design from the system design; how to accurately calculate the project duration, cost, and risk; and how to devise multiple execution options.

The method and principles in Righting Software apply regardless of your project and company size, technology, platform, or industry. Löwy starts the reader on a journey that addresses the critical challenges of software development today by righting software systems and projects as well as careers—and possibly the software industry as a whole. Software professionals, architects, project leads, or managers at any stage of their career will benefit greatly from this book, which provides guidance and knowledge that would otherwise take decades and many projects to acquire.

The book comes with a rich set of example files and templates that demonstrate and automate the calculations. Download the examples here.

Programming WCF Services, 3rd Edition

Mastering WCF and the Azure AppFabric Service Bus

By Juval Löwy

August 2010, O'Reilly & Associates

Programming WCF Services is the authoritative, bestselling introduction to Microsoft’s unified platform for developing service-oriented applications (SOA) on Windows. Hailed as the most definitive treatment of WCF available, it provides insight, not documentation, to help you learn the topics and skills you need for building WCF-based applications that are maintainable, extensible, and reusable.

Author Juval Löwy revised this edition to include the newest productivity-enhancing features of .NET Framework 4 and the Azure AppFabric Service Bus, as well as the latest WCF ideas and techniques. By teaching you the why and the how of WCF programming, Programming WCF Services will help you master WCF and make you a better software engineer.

Programming .NET Components 2nd Edition

By Juval Löwy

July 2005, O'Reilly & Associates

Since its publication in 2003, Programming .NET Components has established itself as the definitive reference to .NET component-oriented development as well as to the .NET Framework itself. Hailed by readers as the Rosetta stone for .NET and the Harry Potter for developers, now in a thoroughly revised second edition, Juval Lowy has updated this classic title to reflect changes introduced by the release of Visual Studio 2005 and .NET 2.0. The addition of generics, iterators and anonymous methods to .NET 2.0, as well as changes to the .NET Framework, provide new options for component development that are thoroughly explained in new examples and text. The book revisits and extends the numerous helper classes and utilities introduced in the first edition, as well as adding some two more years' worth of Juval’s original techniques, ideas, and breakthroughs.

Also included in the new edition are an introduction to generics, arguably the most useful addition to .NET 2.0; a C# coding standard, which many regard as the de facto industry standard for C# development; and a bonus set of helper classes and controls such as thread-safe Windows Forms controls and security controls that utilize the ASP.NET 2.0 credential-management infrastructure.

With its focus on .NET components and interfaces as the fundamental building blocks of .NET applications, the book continues to offer a unique and thoroughly modern approach to .NET programming. Programming .NET components is packed with helpful code examples, tips, design guidelines, pitfalls and original utilities that will simplify and speed up your work. For those committed to component-based development – and those wondering if they should be – this is the .NET book to buy and keep by your side.

Click here to read Chapter 3: Interface-Based Programming.

COM and .NET Component Services

By Juval Löwy

September 2001, O'Reilly & Associates

There are two factors that make COM and .NET Component Services essential. First, .NET developers still manage many aspects of their application such as object instances, transactions, concurrency, security, asynchronous calls, disconnected work, publishing and subscribing to events, application deployment and so on. These connectivity or “plumbing” issues have almost noting to do with the functionality the end customer is paying for, and yet developers spend as much as 80% of their time on “plumbing” (and sometimes as high as 95%), instead of adding business value to their application. Not only that, but the majority of the bugs (and the time spent fixing them) are usually traced back to connectivity and plumbing defects, not to the business problem addressed by the application. COM and .NET Enterprise Services can basically take care and manage these aspects of the application, and let the developers focus on implementing the business logic. You gain not only productivity and faster time to market, but also quality because Microsoft has done excellent job in implementing these services, both in robustness and in performance. The second factor is the shift from Windows and COM based applications to .NET. Both COM and .NET relies on COM+ (called Enterprise Services in .NET) for component services (the name COM+ is therefore misleading). .NET offers exciting new application frameworks such as Web Services, ASP.NET, WinForms, WebForms, and ADO.NET. However, adopting a radically new technology such as .NET is never an easy endeavor for companies and developers. Most companies have considerable investments in existing code base and development skills. Unless companies have a compelling reason to move to .NET or a reasonable migration path, companies will avoid .NET. Because COM+ is .NET component services, COM+ can offer such a migration path for companies and developers. Companies can start (or continue) their projects in COM, using COM+ as a supporting platform for component services, and then when the time comes to move to .NET, they start plugging into the same architecture .NET components, in a very seamless manner, reusing and interacting with their existing COM components.

The book has a few unique differentiators that sets it apart from many other books:

  • The book focuses on the "how to" - practical explanations on how to apply the technology, how to overcome real life hurdles, design issues, and tradeoffs.
  • The book discusses at length how .NET components can take advantage of COM+ services.
  • The book describes the next version of COM+ on Windows XP.

Click here to read Chapter 10 - .NET Serviced Components.

© 2021 IDesign, Inc. All rights reserved. | Hosted by OrcsWeb.