This unit covers topics on software architecture for large-scale enterprises. Computer systems for large-scale enterprises handle critical business processes, interact with computer systems of other organisations, and have to be highly reliable, available and scalable. This class of systems are built up from several application components, incorporating existing "legacy" code and data stores as well as linking these through middleware technologies, such as distributed transaction processing, remote objects, message-queuing, publish-subscribe, and clustering. The choice of middleware can decide whether the system achieves essential non- functional requirements such as performance and availability. The objective of this unit of study is to educate students for their later professional career and it covers Software Architecture topics of the ACM/IEEE Software Engineering curriculum. Objective: The objective of this unit of study is to educate students for their later professional career and it covers topics of the ACM/IEEE Software Engineering curriculum.
Through semester assessment (40%) and Final Exam (60%)
Programming competence in Java or similar OO language. Capacity to master novel technologies (especially to program against novel APIs) using manuals, tutorial examples, etc.