Vertically Integrated Architectures: Versioned Data Models, Implicit Services, and Persistence-Aware Programming
Understand how and why the separation between layers and tiers in service-oriented architectures holds software developers back from being truly productive, and how you can remedy that problem.
Strong processes and development tools can help developers write more complex software, but large amounts of code can still be directly deduced from the underlying database model, hampering developer productivity. In a world with a shortage of developers, this is bad news. More code also increases maintenance costs and the risk of bugs, meaning less time is spent improving the quality of systems.
You will learn that by making relationships first-class citizens within an item/relationship model, you can develop an extremely compact query language, inspired by natural language. You will also learn how this model can serve as both a database schema and an object model upon which to build business logic. Implicit services free you from writing code for standard read/write operations, while still supporting fine-grained authorization.
Vertically Integrated Architectures explains how functional schema mappings can solve database migrations and service versioning at the same time, and how all this can support any client, from free-format to fully vertically integrated types. Unleash the potential and use VIA to drastically increase developer productivity and quality.
What You'll Learn
- See how the separation between application server and database in a SOA-based architecture might be justifiable from a historical perspective, but can also hold us back
- Examine how the vertical integration of application logic and database functionality can drastically increase developer productivity and quality
- Review why application developers only need to write pure business logic if an architecture takes care of basic read/write client-server communication and data persistence
- Understand why a set-oriented and persistence-aware programming language would not only make it easier to build applications, but would also enable the fully optimized execution of incoming service requests
Who This Book Is For
Software architects, senior software developers, computer science professionals and students, and the open source community.
We would LOVE it if you could help us and other readers by reviewing the book