000938421 000__ 04644cam\a2200445Ia\4500 000938421 001__ 938421 000938421 005__ 20230306151938.0 000938421 006__ m\\\\\o\\d\\\\\\\\ 000938421 007__ cr\un\nnnunnun 000938421 008__ 200722s2020\\\\xxu\\\\\o\\\\\001\0\eng\d 000938421 019__ $$a1175922592$$a1178998334 000938421 020__ $$a9781484259559$$q(electronic book) 000938421 020__ $$a1484259556$$q(electronic book) 000938421 020__ $$z1484259548 000938421 020__ $$z9781484259542 000938421 0247_ $$a10.1007/978-1-4842-5955-9$$2doi 000938421 0247_ $$a10.1007/978-1-4842-5 000938421 035__ $$aSP(OCoLC)on1176247468 000938421 035__ $$aSP(OCoLC)1176247468$$z(OCoLC)1175922592$$z(OCoLC)1178998334 000938421 040__ $$aYDX$$beng$$cYDX$$dGW5XE$$dEBLCP$$dLQU$$dTEF 000938421 049__ $$aISEA 000938421 050_4 $$aQA76.9.D3 000938421 08204 $$a005.74$$223 000938421 1001_ $$aPerry, Michael L. 000938421 24514 $$aThe art of immutable architecture :$$btheory and practice of data management in distributed systems /$$cMichael L. Perry. 000938421 260__ $$a[United States] :$$bApress,$$c2020. 000938421 300__ $$a1 online resource 000938421 336__ $$atext$$btxt$$2rdacontent 000938421 337__ $$acomputer$$bc$$2rdamedia 000938421 338__ $$aonline resource$$bcr$$2rdacarrier 000938421 500__ $$aIncludes index. 000938421 506__ $$aAccess limited to authorized users. 000938421 520__ $$aThis book teaches you how to evaluate a distributed system from the perspective of immutable objects. You will understand the problems in existing designs, know how to make small modifications to correct those problems, and learn to apply the principles of immutable architecture to your tools. Most software components focus on the state of objects. They store the current state of a row in a relational database. They track changes to state over time, making several basic assumptions: there is a single latest version of each object, the state of an object changes sequentially, and a system of record exists. This is a challenge when it comes to building distributed systems. Whether dealing with autonomous microservices or disconnected mobile apps, many of the problems we try to solve come down to synchronizing an ever-changing state between isolated components. Distributed systems would be a lot easier to build if objects could not change. After reading The Art of Immutable Architecture, you will come away with an understanding of the benefits of using immutable objects in your own distributed systems. You will learn a set of rules for identifying and exchanging immutable objects, and see a collection of useful theorems that emerges and ensures that the distributed systems we build are eventually consistent. Using patterns, you will find where the truth converges, see how changes are associative, rather than sequential, and come to feel comfortable understanding that there is no longer a single source of truth. Practical hands-on examples reinforce how to build software using the described patterns, techniques, and tools. By the end, you will possess the language and resources needed to analyze and construct distributed systems with confidence. The assumptions of the past were sufficient for building single-user, single-computer systems. But as we expand to multiple devices, shared experiences, and cloud computing, they work against us. It is time for a new set of assu mptions. Start with immutable objects, and build better distributed systems. What You Will Learn: Evaluate a distributed system from the perspective of immutable objects Recognize the problems in existing designs, and make small modifications to correct them Start a new system from scratch, applying patterns Apply the principles of immutable architecture to your tools, including SQL databases, message queues, and the network protocols that you already use Discover new tools that natively apply these principles This book is for software architects and senior developers. It contains examples in SQL and languages such as JavaScript and C#. Past experience with distributed computing, data modeling, or business analysis is helpful. Michael L. Perry has built upon the works of mathematicians such as Bertrand Meyer, Leslie Lamport, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects. Michael often presents on math and software at events and online. You can find out more at qedcode.com. 000938421 650_0 $$aDatabase management. 000938421 650_0 $$aElectronic data processing$$xDistributed processing. 000938421 77608 $$iPrint version: $$z1484259548$$z9781484259542$$w(OCoLC)1145595923 000938421 852__ $$bebk 000938421 85640 $$3SpringerLink$$uhttps://univsouthin.idm.oclc.org/login?url=http://link.springer.com/10.1007/978-1-4842-5955-9$$zOnline Access$$91397441.1 000938421 909CO $$ooai:library.usi.edu:938421$$pGLOBAL_SET 000938421 980__ $$aEBOOK 000938421 980__ $$aBIB 000938421 982__ $$aEbook 000938421 983__ $$aOnline 000938421 994__ $$a92$$bISE