Monash University Handbooks 2008

FIT4026 - Enterprise Programming

6 points, SCA Band 2, 0.125 EFTSL

Undergraduate, Postgraduate Faculty of Information Technology

Leader: Gour Karmakar

Offered

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

Students should be able to understand the various ways in which a database application may be scaled to the enterprise level, including:

  1. applications being split between clients and servers;
  2. servers being split between application servers and database servers;
  3. application servers being split into clusters of application servers.

Students should be able to evaluate the advantages and disadvantages of single-tier, two-tier and multi-tier architectures.

Students should be aware of some of the pitfalls (and ways to avoid or minimise them) of distributed applications, including:
  1. performance problems due to network latency and bandwidth;
  2. security problems when transmitting data over an untrusted network;
  3. transactional problems when transactions must be distributed over multiple servers.

Students should be able to evaluate when it is appropriate to use enterprise programming techniques, and when simpler solutions will suffice.

Students should be able to configure an enterprise application and application server to take advantage of advanced capabilities such as:
  1. hot deployment;
  2. clean shutdown;
  3. clustering;
  4. farming;
  5. load balancing;
  6. automatic fail-over.

Students should be able to design and implement an enterprise application that makes appropriate use of the following:
  1. DBMSs;
  2. distributed components;
  3. messaging services;
  4. security (authentication, authorization and encryption);
  5. transactions;
  6. fat clients;
  7. thin (web) clients.

Students should be familiar with a selection of software tools (both GUI and command-line) to speed enterprise application development.

Students should be able to deploy applications in at least two different enterprise application servers.

Students should be able to accept the importance of client and server operating system platforms other than Windows, and therefore the need for technologies that support multiple platforms.

Students should be able to appreciate the value that an application server adds to an application with remarkably little additional coding effort.

Students should develop an interest in the various compatible yet competing enterprise application servers, and an appreciation of their relative strengths and weaknesses.

Assessment

Assignments: 40%
Examination: 60%

Prerequisites

GCO9808 or FIT9013 or equivalent

Prohibitions

CSE3450, GCO3823/FIT3011, Translation set GCO4823

[an error occurred while processing this directive]