Supporting Dependable Distributed Applications Through a Component-Oriented Middleware-Based Group Service