yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
It was hard to imagine this book getter any better than it already was. I guess that was because I never expected so many changes. This is the most I have ever seen a new edition of a book change. If you own the second edition, you will definitely want this new one. It is almost like another book.
The big case studies are gone. They have been replaced with a ton of new material. If you don't own the first and second editions of the book, you can get the case studies on the publisher's web site.
Below are the chapters in this third edition.
Part One. Introduction 1. What Is Software Architecture? 2. Why Is Software Architecture Important? 3. The Many Contexts of Software Architecture
Part Two. Quality Attributes 4. Understanding Quality Attributes 5. Availability 6. Interoperability 7. Modifiability 8. Performance 9. Security 10. Testability 11. Usability 12. Other Quality Attributes 13. Architectural Tactics and Patterns 14. Quality Attribute Modeling and Analysis
Part Three. Architecture in the Life Cycle 15. Architecture in Agile Projects 16. Architecture and Requirements 17. Designing an Architecture 18. Documenting Software Architectures 19. Architecture, Implementation, and Testing 20. Architecture Reconstruction and Conformance 21. Architecture Evaluation 22. Management and Governance
Part Four. Architecture and Business 23. Economic Analysis of Architectures 24. Architecture Competence 25. Architecture and Software Product Lines
Part Five. The Brave New World 26. Architecture in the Cloud 27. Architectures for the Edge 28. Epilogue
To show you just how much the book has changed I have included the table of contents to the second edition below.
Pt. One. Envisioning Architecture Ch. 1. The Architecture Business Cycle Ch. 2. What Is Software Architecture? Ch. 3. A-7E Avionics System: A Case Study in Utilizing Architectural Structures
Pt. Two. Creating an Architecture Ch. 4. Understanding Quality Attributes Ch. 5. Achieving Qualities Ch. 6. Air Traffic Control: A Case Study in Designing for High Availability Ch. 7. Designing the Architecture Ch. 8. Flight Simulation: A Case Study in an Architecture for Integrability Ch. 9. Documenting Software Architectures Ch. 10. Reconstructing Software Architectures
Pt. Three. Analyzing Architectures Ch. 11. The ATAM: A Comprehensive Method for Architecture Evaluation Ch. 12. The CBAM: A Quantitative Approach to Architecture Design Decision Making Ch. 13. The World Wide Web: A Case Study in Interoperability
Pt. Four. Moving From One System to Many Ch. 14. Software Product Lines: Re-using Architectural Assets Ch. 15. CelsiusTech: A Case Study in Product Line Development Ch. 16. J2EE/EJB: A Case Study of an Industry-Standard Computing Infrastructure Ch. 17. The Luther Architecture: A Case Study in Mobile Applications Using J2EE Ch. 18. Building Systems from Off-the-Shelf Components Ch. 19. Software Architecture in the Future
This book has been my go to book for most of my software architecture career. It is what taught me about quality attributes, tactics, and scenarios. It provided my first introduction to the Architecture Tradeoff Analysis Method (ATAM), the Quality Attribute Workshop (QAW), the Cost Benefit Analysis Method (CBAM), Active Reviews for Intermediate Designs (ARID), and the Attribute-Driven Design (ADD) method. In this new edition of the book they introduce the lightweight architecture evaluation. It is a slimmed-down version of ATAM. It is intended to be used on lower ceremony projects.
This new version has a ton of new material. One of the biggest changes is that the quality attributes covered now have their own chapter. There is a new chapter for Availability, Interoperability, Modifiability, Performance, Security, Testability, and Usability.
There is a new chapter dedicated to the technical, project, business, and professional contexts of software architecture. This chapter shows how architecture supports and is informed by other forces and activities in the different contexts.
Part four, Architecture and Business, contains three chapters dedicated to showing the relationships between the architecture and the business.
There is a new chapter on architecturally significant requirements and how to solicit those requirements from the goals set down by the business. This chapter introduces a new method for eliciting and documenting business goals in order to discover architecturally significant requirements. The new method is called Pedigreed Attribute eLicitation Method or PALM for short.
There is a new chapter on individual and organizational architectural competence. The chapter covers the technical duties of a software architect, the non-technical duties of a software architect, and the knowledge areas of the software architect. It also provides a framework for organizational architectural competence.
Part three, Architecture in the Life Cycle, shows how architecture relates to agile projects, shows how to elicit architecturally significant requirements, shows how to design the architecture and document the architecture, also how to test the architecture. Part three also covers how to reconstruct an architecture and evaluate an architecture.
One of my favorite new additions was chapter 27, Architectures for the Edge. An Edge dominant system is one that depends on the input of their users for success. Edge architectures that exist today are Wikipedia, YouTube, Facebook, and Twitter. It was just a really interesting read.
I could go on and on about the value of the content in this book. The bottom line is that if you are a software architect, or want to be one, this is mandatory reading, period.
The explosion of new web/cloud/IoT-based applications and the data they generate are transforming our world right before our eyes. In this rush to adopt these new technologies, organizations are often ignoring fundamental questions concerning who owns the data and failing to ask for pe...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portabil...
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die...
If your cloud deployment is on AWS with predictable workloads, Reserved Instances (RIs) can provide your business substantial savings compared to pay-as-you-go, on-demand services alone. Continuous monitoring of cloud usage and active management of Elastic Compute Cloud (EC2), Relation...
Consumer-driven contracts are an essential part of a mature microservice testing portfolio enabling independent service deployments. In this presentation we'll provide an overview of the tools, patterns and pain points we've seen when implementing contract testing in large development ...
In his session at 19th Cloud Expo, Claude Remillard, Principal Program Manager in Developer Division at Microsoft, contrasted how his team used config as code and immutable patterns for continuous delivery of microservices and apps to the cloud. He showed how the immutable patterns hel...