[an error occurred while processing this directive] [an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]

Dr Gour Karmakar
Phone: +61 3 990 26252

Lecturer(s) / Leader(s):


Dr Gour Karmakar
Phone: +61 3 990 26252

Contact hours: Thursday (12:00 -13:00 PM). Best way to make an appoinment via email


Welcome to FIT3011 Enterprise programming.  This is an elective unit that extends the programming techniques learned in the core units of the Application Developmentand Networks major of the Bachelor of IT and Systems. The unit has been designed to provide you with an understanding of distributed database systems and architectures, implementation issues, enterprise application server capabilities and coding, and enterprise application software development tools (both GUI and command-line) . It represents a practical preparation for those students wishing to commence their careers with an emphasis on programming.

Unit synopsis

This unit covers: 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, authorisation, encryption, transactions; and Enterprise application software development tools. Access to the Universitys computer systems through an Internet service provider is compulsory for off-campus students.

Learning outcomes

At the completion of this unit students will:

  • 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, authorisation 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;
  • 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.

Contact hours

2 hrs lectures/wk, 2 hrs laboratories/wk


The workload commitments for the unit is 12 hours per week for 13 weeks.

On campus students: two hours of lecture, two hours of computer laboratory, and eight hours of private study, programming and newsgroup discussion.

OCL students: twelve hours of private study and communicating with the lecturer and fellow students through newsgroups and (where appropriate) e-mail.

Unit relationships


FIT1007 or GCO1812 or FIT2034 or equivalent.


CSE3450, GCO3823, GCO4823

Teaching and learning method

Teaching approach

On campus students attend weekly lecture and computer laboratory classes, as well as having access to the same resources as OCL students.

OCL students work through week-by-week study materials provided in print form and on the unit web site. These materials define weekly learning objectives, then guide into reading and exercises to achieve these objectives.

Students and staff in the unit communicate through newsgroups that permit discussion of the week-by-week theoretical and practical activities, as well as assignment and other work.

Timetable information

For information on timetabling for on-campus classes please refer to MUTTS, http://mutts.monash.edu.au/MUTTS/

Tutorial allocation

On-campus students should register for tutorials/laboratories using the Allocate+ system: http://allocate.its.monash.edu.au/

Unit Schedule

Week Date* Topic Study guide References/Readings Key dates
1 01/03/10 Introduction 1 Textbook chapter 1  
2 08/03/10 A first J2EE application 2 Textbook chapters 2 and 3  
3 15/03/10 Software development tools 3 Textbook chapter 4  
4 22/03/10 Container-managed persistence 4 Textbook chapter 6  
5 29/03/10 More on CMP entity beans 5 Textbook Appendix D & chapter 8  
Mid semester break
6 12/04/10 Web components 6 Reader extracts  
7 19/04/10 Container-managed relationships 7 Textbook chapter 15  
8 26/04/10 Security 8 Textbook chapter 13 A1 due April 28, 2010
9 03/05/10 Transactions 9 Textbook chapter 12  
10 10/05/10 Message-driven beans and MOM 10 Textbook chapter 9  
11 17/05/10 Advanced topics 11 Textbook chapters 19 and 21  
12 24/05/10 Sample exam 12   A2 due May 27, 2010
13 31/05/10 No classes      

*Please note that these dates may only apply to Australian campuses of Monash University. Off-shore students need to check the dates with their unit leader.

Unit Resources

Prescribed text(s) and readings

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

Recommended text(s) and readings

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.

Required software and/or hardware

You will need to use either Fedora Core (Red Hat) 4 Linux or VMware/JBoss. Both software are provided in DVD. It is recommended to use VMware/JBoss. If you use VMware/Jboss, you do not need to download  JBoss 4 and related software since they have already been uploaded in the virtual machine. The steps for installation and testing of VMware/JBoss are provided in your unit book. 

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

Software may be:

  • JBoss AS 4.0 or later (http://www.jboss.org/products/jbossas)

  • JBoss-IDE 1.4.0 or later (http://www.jboss.org/products/jbosside)

  • J2SE 1.5.0 or later (http://java.sun.com/j2se/index.jsp)

Equipment and consumables required or provided

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.

For the installation of VWware/JBoss, you need a PC with Windows 2000 or later having atleast 512MB RAM .

Study resources

Study resources we will provide for your study 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).

 A DVD containing a VMware/JBoss (use of VMware/JBoss is optional but recommended).

A unit web page where weekly lecture notes outlining the learning objectives, discussion of the content, required readings and  exercises, 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.



Examination (3 hours): 60%; In-semester assessment: 40%

Faculty assessment policy

To pass a unit which includes an examination as part of the assessment a student must obtain:

  • 40% or more in the unit's examination, and
  • 40% or more in the unit's total non-examination assessment, and
  • an overall unit mark of 50% or more.

If a student does not achieve 40% or more in the unit examination or the unit non-examination total assessment, and the total mark for the unit is greater than 50% then a mark of no greater than 49-N will be recorded for the unit.

Assignment tasks

Assignment coversheets

Assignment coversheets are available via "Student Forms" on the Faculty website: http://www.infotech.monash.edu.au/resources/student/forms/
You MUST submit a completed coversheet with all assignments, ensuring that the plagiarism declaration section is signed.

Assignment submission and return procedures, and assessment criteria will be specified with each assignment.

  • Assignment task 1
    Assignment 1
    Development of a command-line based enterprise application for a client server  architecture
    Due date:
    28 April 2010
  • Assignment task 2
    Assignment 2
    Development of a web-based enterprise application for a client server architecture
    Due date:
    27 May 2010


  • Weighting: 60%
    Length: 3 hours
    Type (open/closed book): Closed book

See Appendix for End of semester special consideration / deferred exams process.

Due dates and extensions

Please make every effort to submit work by the due dates. 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 not regarded as appropriate reasons for granting extensions. Students are advised to NOT assume that granting of an extension is a matter of course.

Students requesting an extension for any assessment during semester (eg. Assignments, tests or presentations) are required to submit a Special Consideration application form (in-semester exam/assessment task), along with original copies of supporting documentation, directly to their lecturer within two working days before the assessment submission deadline. Lecturers will provide specific outcomes directly to students via email within 2 working days. The lecturer reserves the right to refuse late applications.

A copy of the email or other written communication of an extension must be attached to the assignment submission.

Refer to the Faculty Special consideration webpage or further details and to access application forms: http://www.infotech.monash.edu.au/resources/student/equity/special-consideration.html

Late assignment

Assignments received after the due date will normally be subject to a penalty computed as:
    raw mark * days late / 7

Assignments received later than one week after the due date will not normally be accepted.

This policy has to be strict so that sample solutions can be published within a reasonable time after the due date.

Return dates

Students can expect assignments to be returned within two weeks of the submission date or after receipt, whichever is later.


Please visit the following URL: http://www.infotech.monash.edu.au/units/appendix.html for further information about:

  • Continuous improvement
  • Unit evaluations
  • Communication, participation and feedback
  • Library access
  • Monash University Studies Online (MUSO)
  • Plagiarism, cheating and collusion
  • Register of counselling about plagiarism
  • Non-discriminatory language
  • Students with disability
  • End of semester special consideration / deferred exams
[an error occurred while processing this directive]