CSC8104 : Enterprise Middleware
- Offered for Year: 2019/20
- Module Leader(s): Dr Ellis Solaiman
- Visiting Professional: Dr Paul Robinson
- Owning School: Computing
- Teaching Location: Newcastle City Campus
|Semester 1 Credit Value:||10|
The module introduces students to modern enterprise middleware technologies and their application to building multi-tier distributed applications on cloud and other platforms. Developers of distributed applications require convenient abstractions to help manage the complexity of development and deployment. To be useful, such abstractions must be appropriate to the target execution environment (e.g. within the enterprise, between enterprises and at large scale). There is therefore a need to trade-off system properties in order to provide suitable abstractions (e.g. relaxing consistency guarantees to increase service availability in the cloud). The module uses technologies such as Java Enterprise Edition, messaging middleware and Amazon cloud infrastructure services to explore such design choices. There is a focus on systems and services to provide reliability and consistency guarantees at appropriate levels of abstraction.
Outline Of Syllabus
- Introduction to concepts of distributed computing
- Distribution transparency, local procedure calls, remote procedure calls
- Object-oriented middleware, synchronous and asynchronous invocation
- Messaging middleware, loosely-coupled interaction, interoperability, delivery guarantees in different execution contexts
- Component middleware and separation of concerns
- Consistency guarantees, ACID transactions, extended transactions, eventual consistency
- Introduction to Web services and the REST architectural style
|Guided Independent Study||Assessment preparation and completion||20||0:30||10:00||Revision for end of Semester exam and exam duration|
|Guided Independent Study||Assessment preparation and completion||16||1:00||16:00||Lecture follow-up|
|Scheduled Learning And Teaching Activities||Lecture||16||1:00||16:00||Lectures|
|Scheduled Learning And Teaching Activities||Practical||16||1:00||16:00||Practicals|
|Guided Independent Study||Project work||32||1:00||32:00||Coursework|
|Guided Independent Study||Independent study||10||1:00||10:00||Background reading|
Teaching Rationale And Relationship
Lectures will be used to introduce the learning material and for demonstrating the key concepts by example. Students are expected to follow-up lectures within a few days by re-reading and annotating lecture notes to aid deep learning.
This is a very practical subject, and it is important that the learning materials are supported by hands-on opportunities provided by practical classes. Students are expected to spend time on coursework outside timetabled practical classes.
Students aiming for 1st class marks are expected to widen their knowledge beyond the content of lecture notes through background reading.
Students should set aside sufficient time to revise for the end of semester exam.
The format of resits will be determined by the Board of Examiners
|PC Examination||90||1||A||70||Blackboard OLAF Examination|
|Practical/lab report||1||M||30||programming exercise (48 hours)|
Assessment Rationale And Relationship
The exam offers a choice of questions to test the knowledge, understanding and application of the material covered in lectures and practical work.
Nature of coursework: programming exercise using enterprise middleware.
Study abroad students may request to take their exam before the semester 1 exam period, in which case the length of the exam may differ from that shown in the MOF.
N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 40%, the maximum mark returned for the module will normally be 40%.