Distributed Enterprise Systems
MODULE CODE
CREDIT VALUE
Module Aims
Aim 1
To integrate the students’ software development skills through the construction of enterprise-level systems
Aim 2
To convey the fundamental principles of designing distributed enterprise systems considering scalability, security, heterogeneity and concurrency.
Aim 3
To analyse technologies and patterns for enterprise architectures
Aim 4
To demonstrate how enterprise applications can support business processes
Aim 5
To emphasize the need to deliver business value rather than technical perfection
Module Content
Enterprise applications are complex, distributed systems composed of distinct interacting components They provide integrated support for key business processes, which allows an organisation to be more effective and responsive to changing needs than multiple standalone applications.
The emphasis of this module is the development of enterprise software (design methods, technologies, standards and trends). However, to support communication and decision-making during development and deployment, the commercial motivation and system management issues are considered.
Syllabus Content
Business Context
Commercial Issues
Business processes and enterprise applications, e.g. workflow systems, E-commerce
Management issues: project selection, costs and benefits of an enterprise architecture approach, cash flow and priorities.
Economics of cloud-based approaches
Application Issues
Security, integration, persistence, performance, scalability, reliability, service oriented architecture
Enterprise System Design and Implementation
Architecture
Container and component: persistence, transaction processing, concurrency, events, naming and directory services, security, deployment of software components in an application server, remote access. Examination of an enterprise component model (e.g. Enterprise Java Beans)
Architectural design: components of an Enterprise Information System. Service-Oriented Architectures, implementation using Web Services (SOAP, WSDL, UDDI, RESTful approaches, WADL)
Architecture Frameworks (e.g. Zackman and TOGAF)
Implementation
Architectural design and development of server-side software for n-tier applications using industry-standard application frameworks (e.g. JEE, opinionated frameworks). Development using a modern environment
Deployment and integration on the Web using standard frameworks and tools (e.g. JEE, and an opinionated architecture such as Groovy and Grails)
Learning Outcomes
On successful completion of this module, a student will be able to:
Teaching Methods
A combination of lectures, tutorial and practical work will be used. Lectures will consider the commercial context, supporting technology (patterns, frameworks and standards) and discuss illustrative applications. Tutorials will be used to compare technologies, including discussing the results of students’ investigations, and to prepare for practical work, particularly for programming exercises. Practical work will develop programming and software construction skills. The purpose is to examine and evaluate a variety of technologies rather than to develop a high level of expertise in a specific technology. However, to avoid superficiality, as far as possible one programming language and development will be used (e.g. Java and NetBeans can support JEE, Groovy/Grails, an opinionated framework, and cloud-based work using Google Application Engine.
Assessment Methods
This module is assessed through an assignment and an examination.