Patterns of Enterprise Application Architecture
Sample (from 14 notes)
|Front||What are the 2 kinds of business logic? How does this relate to domain models and service layer? (p134)|
|Back||Domain Logic - having to do purely with the problem domain (such as strategies for calculating revenue recognition on a contract)Application Logic - aka "Workflow Logic", like notifying admins, and integrated apps, of revenue recognition calculations.Domain models used to avoid domain logic duplication and managing complexity via design patterns. Not for app logic.Service layer factors each kind of business logic into a separate layer, yielding usual benefits of layering and rendering the pure domain object classes more reusable from app to app.|
|Front||Which ACID properties are easy, and hard, to support for business transactions? (p76)|
|Back||Atomicity and durability are easy, because both are supported by running the commit phase of the business transactions (eg: when the user hits Save), within a system transaction. The system transaction guarantees that the changes will commit as a unit and will be made permanent.Across multiple transactions the apps responsibility is to ensure that one session doesn't step all over another session's changes, leaving the record set in an invalid state. These failures in Isolation lead to failures in Consistency. So business transactions are closely tied to sessions.|
|Front||What is offline concurrency? How can it be avoided? (p75)|
|Back||Offline concurrency is supporting the ACID properties of business transactions between system transactions. (Usually because the business transaction spans multiple requests) Causes a lot of awkward problems, requiring the business transaction to glue multiple system transactions together.Offline concurrency be avoided with a "long transaction", but is less scalable because it can turn the db into a bottleneck.Only deal with offline concurrency if you really have to - try to make your business transactions fit into a single system transaction by ensuring that they fit within a single request.|
After the file is downloaded, double-click on it to open it in the desktop program.
At this time, it is not possible to add shared decks directly to your AnkiWeb account - they need to be added from the desktop then synchronized to AnkiWeb.