Data-centric business applications comprise an important class of distributed systems that includes on-line stores, document management systems, and patient portals. However, their complexity makes it difficult to design and implement them. The authors address these issues from a model-driven perspective by developing a formal, compositional and domain-specific set of abstractions for the specification and analysis of data-centric business applications. Their technique allows them to formally analyze the specified system at design time; in particular they can analyze whether the system is resilient to abnormal conditions, i.e. that key system invariants can always be re-established.