GCO4823 Enterprise Programming , Unit Information Guide (Semester 1, 2006)

Chief Examiner Douglas Thomson
Gippsland : Douglas Thomson

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, fat clients, thin (web) clients.

Exterprise application software development tools (both GUI and command-line).

Enterprise application server similarities and differences: investigation of at least two different application servers.

Access to the University's computer systems through an Internet service provider is compulsory for off-campus students.

Objectives Knowledge and Understanding
  • 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.
  • Be able to evaluate when it is appropriate to use enterprise programming techniques, and when simpler solutions will suffice.
  • 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.
  • 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.
  • Be familiar with a selection of software tools (both GUI and command-line) to speed enterprise application development.
  • Be able to deploy applications in at least two different enterprise application servers.
Attitudes, Values and Beliefs
  • Accept the importance of client and server operating system platforms other than Windows, and therefore the need for technologies that support multiple platforms.
  • Appreciate the value that an application server adds to an application with remarkably little additional coding effort.
  • Develop an interest in the various compatible yet competing enterprise application servers, and an appreciation of their relative strengths and weaknesses.


Prerequisites Before attempting this unit you must have satisfactorily completed GCO9808 or equivalent. You should have some exposure to the Java programming language and concepts of object-oriented programming.

Unit relationships

GCO4823 is an elective unit in the MIT, MAIT and MBS degrees.

You may not study this unit and CSE3450 or GCO3823 (2003 and later) in your degree.

Texts and software

Required text(s)

Roman, Sriganesh and Brose, Mastering Enterprise JavaBeans, Third Edition, Wiley, 2004, ISBN 0764576828.

Text books are available from the Monash University Book Shops. Availability from other suppliers cannot be assured. The Bookshop orders texts in specifically for this unit. You are advised to purchase your text book early.

Software requirements:

JBoss 4 and related software (Java, Ant, XDoclet etc).

Software may be:

  • downloaded from various Internet sites such as www.jboss.com

Hardware requirements:

Students studying off-campus are required to have the minimum system configuration specified by the faculty as a condition of accepting admission, and regular Internet access. On-campus students, and those studying at supported study locations may use the facilities available in the computing labs. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook. You will need to allocate up to 10 hours per week for use of a computer, including time for newsgroups/discussion groups.

Recommended reading

Monson-Haefel, Burke and Labourey, Enterprise JavaBeans, Fourth Edition, O'Reilly, 2004, ISBN 059600530X.

Sierra and Bates, Head First EJB (Brain-Friendly Study Guides; Enterprise JavaBeans), O'Reilly, 2003, ISBN 0596005717.

Boone, Applied Enterprise JavaBeans Technology, Prentice Hall, 2002, ISBN 0130449156.

Wutka, Special Edition Using Java 2 Enterprise Edition, Que, 2001, ISBN 0789725037.

Marinescu, EJB Design Patterns, Wiley, 2002, ISBN 0471208310.

Alur, Malks and Crupi, Core J2EE Patterns: Best Practices and Design Strategies, Second Edition, Prentice Hall, 2003, ISBN 0131422464.

Library access You may need to access the Monash library either personally to be able to satisfactorily complete the subject.  Be sure to obtain a copy of the Library Guide, and if necessary, the instructions for remote access from the library website.
Study resources

Study resources for GCO4823 are:

A printed Unit Book containing 12 study guides.

A printer Reader.

This Unit Information outlining the administrative information for the unit.

A CD-ROM sent at the start of the year, with software required for all units (this includes all the software required to complete this unit).

A DVD containing a Linux distribution (use of Linux is optional but recommended).

A unit web page where lecture slides, weekly tutorial requirements, assignment specifications, sample solutions and supplementary material will be posted.

Newsgroups/discussion groups that can be linked to from the Unit Homepage.


Structure and organisation



Study Guide


Key Dates

1 Introduction 1 Textbook chapter 1
2 A first J2EE application 3
3 Software development tools 3 Textbook chapter 4
4 Container-managed persistence 4 Textbook chapter 6
5 More on CMP entity beans 5 Textbook Appendix D & chapter 8
6 Web components 6 Reader extracts
7 Container-managed relationships 7 Textbook chapter 15
8 Security 8 Textbook chapter 13 A1 due April 24
9 Transactions 9 Textbook chapter 12
10 Message-driven beans and MOM 10 Textbook chapter 9
11 Advanced topics 11 Textbook chapters 19 and 21
12 Sample exam 12 A2 due May 22
13 Revision A3 due May 29

The timetable for on-campus classes for this unit can be viewed in Allocate+


Assessment for the unit consists of two assignments with a weighting of 40% and an examination with a weighting of 60%. Read this section VERY carefully.

Assessment Policy

To pass this unit you must:

  • attempt the assignments and the examination
  • score at least 50% of the possible marks for the unit
  • achieve no less than 40% of the total available marks for the assignments overall, and no less than 40% of the total available marks for the examination

Your score for the unit will be calculated by:

  • final score = min(exam+10, assign+10, 0.6*exam + 0.4*assign)

where exam is your percentage mark in the exam and assign is your weighted average assignment mark (again expressed as a percentage).

Assessment Requirements


Due Date


Assignment 1 April 24 10 %
Assignment 2 May 22 15 %
Assignment 3 May 29 15 %
Examination 3 hour(s), closed book Exam period starts 5th June. 60 %

Assignment specifications will be made available on the FIT3011 unit web site. Information about assignments will be published on the Unit's Notices Newsgroup.

Assignment Submission Methods

Assignments will be submitted electronically via the WebFace assignment submission system (http://wfsubmit.gscit.monash.edu.au).

Extensions and late submissions

Late submission of assignments

Assignments received after the due date will be subject to a penalty of 0.6% of the raw mark per hour. Note that this implies assignments received more than 7 days after the due date will score 0.

This policy is strict because comments or guidance will be given on assignments as they are returned, and sample solutions may also be published and distributed, after assignment marking or with the returned assignment. 


It is your responsibility to structure your study program around assignment deadlines, family, work and other commitments. Factors such as normal work pressures, vacations, etc. are seldom regarded as appropriate reasons for granting extensions. 

Unpredictable factors that interfere with time you might reasonably have expected to have had available for study will be considered (accidents, illness, illness of a dependent, unexpected compulsory overtime work and so on).

Requests for extensions must be made by email to the unit lecturer at least two days before the due date (unless the nature of the problem has made this impossible). You may be asked to forward original medical certificates in cases of illness, and may be asked to provide other forms of documentation where necessary.

Grading of assessment

Assignments, and the unit, will be marked and allocated a grade according to the following scale:

HD High Distinction - very high levels of achievement, demonstrated knowledge and understanding, skills in application and high standards of work encompassing all aspects of the tasks.
In the 80+% range of marks for the assignment.
D Distinction - high levels of achievement, but not of the same standards. May have a weakness in one particular aspect, or overall standards may not be quite as high.
In the 70-79% range.
C Credit - sound pass displaying good knowledge or application skills, but some weaknesses in the quality, range or demonstration of understanding.
In the 60-69% range.
P Pass - acceptable standard, showing an adequate basic knowledge, understanding or skills, but with definite limitations on the extent of such understanding or application. Some parts may be incomplete.
In the 50-59% range.
N Not satisfactory -  failure to meet the basic requirements of the assessment.
Below 50%.

We will aim to have assignment results made available to you within two weeks of the due date (or two weeks after you submit, whichever is later).

Feedback Feedback to you

You will receive feedback on your work and progress in this unit. This feedback may be provided through your participation in tutorials and class discussions, as well as through your assignment submissions. It may come in the form of individual advice, marks and comments, or it may be provided as comment or reflection targeted at the group. It may be provided through personal interactions, such as interviews and on-line forums, or through other mechanisms such as on-line self-tests and publication of grade distributions.

Feedback from you

You will be asked to provide feedback to the Faculty through a Unit Evaluation survey at the end of the semester. You may also be asked to complete surveys to help teaching staff improve the unit and unit delivery. Your input to such surveys is very important to the faculty and the teaching staff in maintaining relevant and high quality learning experiences for our students.

And if you are having problems

It is essential that you take action immediately if you realise that you have a problem with your study. The semester is short, so we can help you best if you let us know as soon as problems arise. Regardless of whether the problem is related directly to your progress in the unit, if it is likely to interfere with your progress you should discuss it with your lecturer or a Community Service counsellor as soon as possible.

Plagiarism and cheating

Plagiarism and cheating are regarded as very serious offences. In cases where cheating  has been confirmed, students have been severely penalised, from losing all marks for an assignment, to facing disciplinary action at the Faculty level. While we would wish that all our students adhere to sound ethical conduct and honesty, I will ask you to acquaint yourself with Student Rights and Responsibilities and the Faculty regulations that apply to students detected cheating as these will be applied in all detected cases.

In this University, cheating means seeking to obtain an unfair advantage in any examination or any other written or practical work to be submitted or completed by a student for assessment. It includes the use, or attempted use, of any means to gain an unfair advantage for any assessable work in the unit, where the means is contrary to the instructions for such work. 

When you submit an individual assessment item, such as a program, a report, an essay, assignment or other piece of work, under your name you are understood to be stating that this is your own work. If a submission is identical with, or similar to, someone else's work, an assumption of cheating may arise. If you are planning on working with another student, it is acceptable to undertake research together, and discuss problems, but it is not acceptable to jointly develop or share solutions unless this is specified by your lecturer. 

Intentionally providing students with your solutions to assignments is classified as "assisting to cheat" and students who do this may be subject to disciplinary action. You should take reasonable care that your solution is not accidentally or deliberately obtained by other students. For example, do not leave copies of your work in progress on the hard drives of shared computers, and do not show your work to other students. If you believe this may have happened, please be sure to contact your lecturer as soon as possible.

Cheating also includes taking into an examination any material contrary to the regulations, including any bilingual dictionary, whether or not with the intention of using it to obtain an advantage.

Plagiarism involves the false representation of another person's ideas, or findings, as your own by either copying material or paraphrasing without citing sources. It is both professional and ethical to reference clearly the ideas and information that you have used from another writer. If the source is not identified, then you have plagiarised work of the other author. Plagiarism is a form of dishonesty that is insulting to the reader and grossly unfair to your student colleagues.


The best place to ask questions related to this unit is in the unit's newsgroups (follow the links from the unit web site). Questions e-mailed to your lecturer may be answered in the newsgroups where appropriate, or you may be asked to post your question so that it can be answered there.

Your lecturer will typically respond to newsgroup postings within one working day.


Notices related to the unit during the semester will be posted to the notices newsgroup. You should check this regularly (at least once per week). Failure to read the notices newsgroup is not regarded as grounds for special consideration.

Consultation Times

Consultation via newsgroup postings and e-mail may take place at any time.

Office consultation will be available immediately following on-campus classes.

If direct communication with your unit adviser/lecturer or tutor outside of consultation periods is needed you may contact the lecturer and/or tutors at:

Mr Douglas Thomson
Phone +61 3 990 26259

All email communication to you from your lecturer will occur through your Monash student email address. Please ensure that you read it regularly, or forward your email to your main address. Also check that your contact information registered with the University is up to date in My.Monash.

Last updated: Feb 27, 2006