____  is a framework for distributed components using a messaging paradigm.