Offered
Gippsland First semester 2008 (Day)
Gippsland First semester 2008 (Off-campus)
Singapore First semester 2008 (Off-campus)
Synopsis
Distributed database systems: clients, servers, application servers, database servers, clusters of servers. Distributed database architectures: single-tier, two-tier, multi-tier. Implementation issues: performance, security, transactions. Enterprise application server capabilities: hot deployment, clean shutdown, clustering, farming, load balancing, automatic fail-over. Enterprise application coding: DBMS access, distributed components, messaging services, authentication, authorization, encryption, transactions. Exterprise application software development tools. Access to the University's computer systems through an Internet service provider is compulsory for off-campus students.
Objectives
- Understand the various ways in which a database application may be scaled to the enterprise level, including:
- applications being split between clients and servers;
- servers being split between application servers and database servers;
- application servers being split into clusters of application servers.
- Be able to evaluate the advantages and disadvantages of single-tier, two-tier and multi-tier architectures.
- Be aware of some of the pitfalls (and ways to avoid or minimise them) of distributed applications, including:
- performance problems due to network latency and bandwidth;
- security problems when transmitting data over an untrusted network;
- transactional problems when transactions must be distributed over multiple servers.
4. Be able to evaluate when it is appropriate to use enterprise programming techniques, and when simpler solutions will suffice.
5. Be able to configure an enterprise application and application server to take advantage of advanced capabilities such as:
- hot deployment;
- clean shutdown;
- clustering;
- farming;
- load balancing;
- automatic fail-over.
6. Be able to design and implement an enterprise application that makes appropriate use of the following:
- DBMSs;
- distributed components;
- messaging services;
- security (authentication, authorization and encryption);
- transactions;
- fat clients;
- thin (web) clients.
7. Be familiar with a selection of software tools (both GUI and command-line) to speed enterprise application development.
8. Accept the importance of client and server operating system platforms other than Windows, and therefore the need for technologies that support multiple platforms.
9. Appreciate the value that an application server adds to an application with remarkably little additional coding effort.
Assessment
Exam: 60%; Assignments: 40%
Contact hours
one x 2hr lecture/week, one x 2hr tutorial/week
Prerequisites
FIT1007 or GCO1812 or equivalent
Prohibitions
CSE3450, GCO3823, GCO4823 (Translation set:GCO3823)