Software Design X-RaysAre you working on a codebase where cost overruns, death marches, and heroic fights with legacy code monsters are the norm? Battle these adversaries with novel ways to identify and prioritize technical debt, based on behavioral data from how developers work with code. And that's just for starters. Because good code involves social design, as well as technical design, you can find surprising dependencies between people and code to resolve coordination bottlenecks among teams. Best of all, the techniques build on behavioral data that you already have: your version-control system. Join the fight for better code!
Use statistics and data science to uncover both problematic code and the behavioral patterns of the developers who build your software. This combination gives you insights you can't get from the code alone. Use these insights to prioritize refactoring needs, measure their effect, find implicit dependencies between different modules, and automatically create knowledge maps of yo ...
Service-Oriented ModelingAnswers to your most pressing SOA development questions:
How do we start with service modeling? How do we analyze services for better reusability? Who should be involved? How do we create the best architecture model for our organization? This must-read for all enterprise leaders gives you all the answers and tools needed to develop a sound service-oriented architecture in your organization.
"Michael Bell has done it again with a book that will be remembered as a key facilitator of the global shift to Service-Oriented Architecture... With this book, Michael Bell provides that foundation and more-an essential bible for the next generation of enterprise IT."
-Eric Pulier, Executive Chairman, SOA Software
"Michael Bell's insightful book provides common language and techniques for business and technology organizations to take advantage of the SOA paradigm. By focusing modeling techniques on the business problem, Bell provides a way for professionals to work throughout the life cyc ...
Chaos EngineeringAs more companies move toward microservices and other distributed technologies, the complexity of these systems increases. You can't remove the complexity, but through Chaos Engineering you can discover vulnerabilities and prevent outages before they impact your customers. This practical guide shows engineers how to navigate complex systems while optimizing to meet business goals.
Two of the field's prominent figures, Casey Rosenthal and Nora Jones, pioneered the discipline while working together at Netflix. In this book, they expound on the what, how, and why of Chaos Engineering while facilitating a conversation from practitioners across industries. Many chapters are written by contributing authors to widen the perspective across verticals within (and beyond) the software industry.
Learn how Chaos Engineering enables your organization to navigate complexity; Explore a methodology to avoid failures within your application, network, and infrastructure; Move from theory to practic ...
Learning Domain-Driven DesignBuilding software is harder than ever. As a developer, you not only have to chase ever-changing technological trends but also need to understand the business domains behind the software. This practical book provides you with a set of core patterns, principles, and practices for analyzing business domains, understanding business strategy, and, most importantly, aligning software design with its business needs.
Author Vlad Khononov shows you how these practices lead to robust implementation of business logic and help to future-proof software design and architecture. You'll examine the relationship between domain-driven design (DDD) and other methodologies to ensure you make architectural decisions that meet business requirements. You'll also explore the real-life story of implementing DDD in a startup company.
With this book, you'll learn how to: Analyze a company's business domain to learn how the system you're building fits its competitive strategy; Use DDD's strategic and tactic ...
REST in PracticeWhy don't typical enterprise projects go as smoothly as projects you develop for the Web? Does the REST architectural style really present a viable alternative for building distributed systems and enterprise-class applications?
In this insightful book, three SOA experts provide a down-to-earth explanation of REST and demonstrate how you can develop simple and elegant distributed hypermedia systems by applying the Web's guiding principles to common enterprise computing problems. You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise. ...
Building Software for SimulationThis book offers a concise introduction to the art of building simulation software, collecting the most important concepts and algorithms in one place. Written for both individuals new to the field of modeling and simulation as well as experienced practitioners, this guide explains the design and implementation of simulation software used in the engineering of large systems while presenting the relevant mathematical elements, concept discussions, and code development. ...
Service Oriented Architecture: An Integration BlueprintThis book will enable you to grasp all of the intricacies of the Trivadis Architecture Blueprint, including detailed descriptions of each layer and component. It is a detailed theoretical guide that shows you how to implement your own integration architectures in practice, using the Trivadis Integration Architecture Blueprint. The main focus is on explaining and visualizing the blueprint, including comprehensive descriptions of all of its layers and components. It also covers the more basic features of integration concepts for less experienced specialists, as well as shedding light on the future of integration technologies, such as XTP and Grid Computing. You will learn about EII and EAI, OGSi, as well as base technologies related to the implementation of solutions based on the Blueprint, such as JCA, JBI, SCA and SDO. ...
Innovative Software Development in GISAt a time when people use more and more geographic information and tools, the management of geographical information in software systems still holds many challenges and motivates researchers from different backgrounds to propose innovative solutions.
Representing geographical space beyond our mere perception is key to making relevant decisions, whether it is with respect to sustainable development or to the planning of everyday activities. Designing, sharing and exploiting such representations entails many challenges. ...
Case Study Research in Software EngineeringBased on their own experiences of in-depth case studies of software projects in international corporations, in this book the authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering. This is the first software engineering specific book on the case study research method. ...
The Passionate Programmer, 2nd editionThis book is about creating a remarkable career in software development. In most cases, remarkable careers don't come by chance. They require thought, intention, action, and a willingness to change course when you've made mistakes. Most of us have been stumbling around letting our careers take us where they may. It's time to take control. This revised and updated second edition lays out a strategy for planning and creating a radically successful life in software development. ...