Combining Service-Oriented and Event-Driven Architectures for Designing Dependable Systems