[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]
Monash University

FIT3011 Enterprise programming - Semester 1, 2012

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.

Mode of Delivery

Sunway (Day)

Contact Hours

2 hrs lectures/wk, 2 hrs laboratories/wk

Workload

The workload commitments for this unit is 12 hours per week.

For on-campus students: 2 hours of lectures, 2 hours of computer laboratories, plus 8 hours of private study and programming.

Unit Relationships

Prohibitions

CSE3450, GCO3823, GCO4823

Prerequisites

FIT1007 or GCO1812 or FIT2034 or equivalent.

Chief Examiner

Campus Lecturer

Sunway

Tarun Sukhani

Tutors

Sunway

Tarun Sukhani

Academic Overview

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.

Graduate Attributes

Monash prepares its graduates to be:
  1. responsible and effective global citizens who:
    1. engage in an internationalised world
    2. exhibit cross-cultural competence
    3. demonstrate ethical values
  2. critical and creative scholars who:
    1. produce innovative solutions to problems
    2. apply research skills to a range of challenges
    3. communicate perceptively and effectively

Assessment Summary

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

Assessment Task Value Due Date
Assignment - First milestone 20% Week 6
Assignment - Second milestone 20% Week 11
Examination 1 60% To be advised

Teaching Approach

Lecture and tutorials or problem classes
This teaching and learning approach provides facilitated learning, practical exploration and peer learning.

Feedback

Our feedback to You

Types of feedback you can expect to receive in this unit are:
  • Informal feedback on progress in labs/tutes
  • Graded assignments with comments

Your feedback to Us

Monash is committed to excellence in education and regularly seeks feedback from students, employers and staff. One of the key formal ways students have to provide feedback is through SETU, Student Evaluation of Teacher and Unit. The University's student evaluation policy requires that every unit is evaluated each year. Students are strongly encouraged to complete the surveys. The feedback is anonymous and provides the Faculty with evidence of aspects that students are satisfied and areas for improvement.

For more information on Monash's educational strategy, and on student evaluations, see:
http://www.monash.edu.au/about/monash-directions/directions.html
http://www.policy.monash.edu/policy-bank/academic/education/quality/student-evaluation-policy.html

Previous Student Evaluations of this unit

If you wish to view how previous students rated this unit, please go to
https://emuapps.monash.edu.au/unitevaluations/index.jsp

Required Resources

Please check with your lecturer before purchasing any Required Resources. Prescribed texts are available for you to borrow in the library, and prescribed software is available in student labs.

This is community-supported software - it will be available in the labs or you can download and install it yourself.

  • Netbeans or Eclipse  [Development Environment]
  • Eclipse Virgo   [OSGi Server]
  • Jenkins   [CI Server]
  • RabbitMQ (with STOMP)   [Message Broker]
  • Apache Maven 3.x  [Build Tool]
  • Apache JackRabbit   [Content Repository]
  • Log4J and LogBack  [Logging]
  • Junit 4.x and EasyMock [Testing]
  • Groovy  [Scripting]
  • TortoiseSVN or another SVN client [Version Control]
  • Web Browser for updating project status

Unit Schedule

Week Activities Assessment
0   No formal assessment or activities are undertaken in week 0
1 Introduction to developing enterprise applications  
2 Software management practices and agile development  
3 Software design patterns  
4 Introduction to software modularization with OSGi  
5 Enterprise Software Modularization with OSGi  
6 Software quality and continuous improvement Assignment - First milestone
7 Logging and persistence  
8 Messaging and Message Brokering  
9 Authentication and authorization services  
10 Unit and UA testing  
11 Systems testing, mocking and debugging Assignment - Second milestone
12 Exam review  
  SWOT VAC No formal assessment is undertaken in SWOT VAC
  Examination period LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/
academic/education/assessment/
assessment-in-coursework-policy.html

*Unit Schedule details will be maintained and communicated to you via your MUSO (Blackboard or Moodle) learning system.

Assessment Requirements

Assessment Policy

Faculty Policy - Unit Assessment Hurdles (http://www.infotech.monash.edu.au/resources/staff/edgov/policies/assessment-examinations/unit-assessment-hurdles.html)

Assessment Tasks

Participation

Group project that demonstrates the practical application of knowledge gained through the course material.The group project will be assessed on an ongoing basis, with the first phase due in Week 6 and the final phase due in Week 11.

  • Assessment task 1
    Title:
    Assignment - First milestone
    Description:
    Development of an enterprise application for a client server architecture.
    Weighting:
    20%
    Criteria for assessment:

    Correctness, Robustness, User Interface, Efficiency, Simplicity, Modularity and Layout.

    These will be detailed in the assignment preparation guide of the unit book.

    The centralised project management system at www.pivotaltracker.com will be used to distinguish individual contributions to group work.

    Due date:
    Week 6
  • Assessment task 2
    Title:
    Assignment - Second milestone
    Description:
    Development of a web-based enterprise application for a client server architecture.
    Weighting:
    20%
    Criteria for assessment:

    Correctness, Robustness, User Interface, Efficiency, Simplicity, Modularity, Layout, Multiuser,Transactions, Authentication and Authorization.

    Most of these will be detailed in the assignment preparation guide.

    The centralised project management system at www.pivotaltracker.com will be used to distinguish individual contributions to group work.

    Due date:
    Week 11

Examinations

  • Examination 1
    Weighting:
    60%
    Length:
    3 hours
    Type (open/closed book):
    Closed book
    Electronic devices allowed in the exam:
    None

Assignment submission

It is a University requirement (http://www.policy.monash.edu/policy-bank/academic/education/conduct/plagiarism-procedures.html) for students to submit an assignment coversheet for each assessment item. Faculty Assignment coversheets can be found at http://www.infotech.monash.edu.au/resources/student/forms/. Please check with your Lecturer on the submission method for your assignment coversheet (e.g. attach a file to the online assignment submission, hand-in a hard copy, or use an online quiz).

Online submission

If Electronic Submission has been approved for your unit, please submit your work via the VLE site for this unit, which you can access via links in the my.monash portal.

Extensions and penalties

Returning assignments

Other Information

Policies

Student services

The University provides many different kinds of support services for you. Contact your tutor if you need advice and see the range of services available at www.monash.edu.au/students. For Sunway see http://www.monash.edu.my/Student-services, and for South Africa see http://www.monash.ac.za/current/

The Monash University Library provides a range of services and resources that enable you to save time and be more effective in your learning and research. Go to http://www.lib.monash.edu.au or the library tab in my.monash portal for more information. At Sunway, visit the Library and Learning Commons at http://www.lib.monash.edu.my/. At South Africa visit http://www.lib.monash.ac.za/.

Academic support services may be available for students who have a disability or medical condition. Registration with the Disability Liaison Unit is required. Further information is available as follows:

  • Website: http://monash.edu/equity-diversity/disability/index.html;
  • Email: dlu@monash.edu
  • Drop In: Equity and Diversity Centre, Level 1 Gallery Building (Building 55), Monash University, Clayton Campus, or Student Community Services Department, Level 2, Building 2, Monash University, Sunway Campus
  • Telephone: 03 9905 5704, or contact the Student Advisor, Student Commuity Services at 03 55146018 at Sunway

Reading list

Reading list and additional resources will be continuously updated on Moodle.

[an error occurred while processing this directive]