# casual-middleware The main product in the casual suite. ## what is casual-middleware? * In short: * SOA platform and Distributed transaction manager * Implementation of (hence conformant to): * [XATMI specification](http://pubs.opengroup.org/onlinepubs/9694999399/toc.pdf) * [XA specification](http://pubs.opengroup.org/onlinepubs/009680699/toc.pdf) * [TX specification](http://pubs.opengroup.org/onlinepubs/9694999599/toc.pdf) ## objectives * As little configuration as possible, since we believe that enterprises are in desperate need of reduced complexity. * Performance should be good enough, hence make casual a viable choice when migrating from other XATMI implementations. * Keep the cold cold, and the hot hot. To enable over provisioning, hence let the OS take care of scheduling. * Productive. That is, the opposite of many of todays "application servers" ## Why casual? * The semantics are simple and easy to reason about. * Services (servers) can be distributed to fit any deployment needs. * Asynchronous pattern gives massive concurrency without the hassle of threads * Using single threaded servers gives linear scalability and execution encapsulation * Services can be exposed as REST services (JSONP, SOAP…), non intrusive out of the box\* * Built on specifications that are proven to work for large scale applications with high performance demand \*) If the service is implemented via the C++ abstraction layer.