Syllabus

Enterprise Web Programming

Instructors:

R. Kent Jackson, Smith 214C, 496-1426

Resources:

  • SoftwareEclipse
  • Visual Paradigm
  • FireFox
  • Oracle XE
  • JBOSS
  • Laptop with 2 Gigabytes of RAM

Books:

  • Enterprise JavaBeans 3.0 (2006), Burke, O’BReilly Media. (Required)
  • Developing Enterprise Java Applications with J2EE (2002), Ahmed, Addison Wesley, (Recommended)

Course Description:

This course covers the design, development and testing of N-tier applications. An overview of the architecture for N-tier applications is covered with a focus on the use of effective design patterns. Different technologies to implement the MVC control pattern will be explored. The J2EE architecture will be covered in depth including Servlets, Java Server Pages, and Enterprise Java Beans. Applications that implement all parts of the MVC pattern will be designed, implemented and deployed. This class includes 5 hours of lecture and a 3 hour programming lab per week.

Content and Topics:

  • J2EE architecture
  • Overview of application servers
  • Analysis/design of a J2EE system
  • Design patterns for N-tier system
  • Servlets
  • Java Server Pages (JSP)
  • AJAX front-ends
  • JDBC and connection pooling
  • Java Naming Directory Interface
  • Session Beans
  • Entity Beans
  • Message Beans
  • Security in enterprise applications
  • Transaction processing
  • Web Services
  • Assembly and deployment of J2EE applications

Goals and Objectives:

  1. Model the design of an N-tier application using the J2EE architecture in UML
  2. Appropriately identify, describe, model and implement at least four design patterns for an N-tier application using the J2EE architecture.
  3. Describe the role of each container in the J2EE model, and the functionality and interaction of Servlets, Java Server Pages, Session Beans, Entity Beans and Message Beans.
  4. Given high level requirements document, design, develop, test and deploy an enterprise application that uses the J2EE servlets, JSP AJAX, session, entity and message Enterprise Java Beans.
  5. Demonstrate individual problem solving, communications and team work skills

Course Requirements:

Based on eight case Studies (800 points). Each case is worth 100 points broken down as follows:

  • Return and report (10 points)
  • Design (35 points)
  • Implementation (50 points)
  • Reflection (5 points)

Course Policies:

  1. You are expected to attend and participate in each class and lab. You are expected to support and help your team members.
  2. During class time, you are expected to be on task working on the case studies or the project. You will be asked to leave class if you are found to be working on something other than the assigned course work.
  3. BYU-Idaho standards are outlined in the student handbook. Students are expected to abide by the college honor code. No cheating will be tolerated. The dress code will be enforced in class and in the labs.
  4. Title IX of the Education Amendments of 1972 prohibits sex discrimination against any participant in an education program or activity that receives federal funds, including Federal loans and grants. Title IX also covers student-to-student sexual harassment. If you encounter unlawful sexual harassment or gender based discrimination, please contact the Personnel Office at 496-1130.
  5. Brigham Young University-Idaho is committed to providing a working and learning atmosphere that reasonably accommodates qualified persons with disabilities. If you have any disability that may impair your ability to complete this course successfully, please contact the Services for Students with Disabilities Office, 496-1158. Reasonable academic accommodations are reviewed for all students who have qualified documented disabilities. Services are coordinated with the student and instructor by this office. If you need assistance or if you feel you have been unlawfully discriminated against on the basis of disability, you may seek resolution through established grievance policy and procedures. You should contact the Personnel Office at 496-1130.

Case Studies

Requirements

Each case study will present questions, or problems that you must solve. It will require that you:

  1. Individual research
  2. Collaborate on a team design
  3. Implementation the team design
  4. Reflection

All four steps must be completed prior to moving on to the next case study.

Phases

Individual Research (Think)

An important first step in solving any problem is to be able to get your arms around the problem. This means that before you ever design or implement a solution to the problem, you will need to diligently seek to understand the problem in depth. This will require that you go far beyond reading the case study by actually researching, reading, thinking and writing to understand and communicate the key concepts and principals needed to solve problem. This step truly requires that you act instead of being acted upon.

There are several resources available to assist you. A lot of up to date information can be found on the Internet using the search engines. The recommended text gives a comprehensive view of enterprise development. In addition to these resources, you are encouraged to meet with your team to discuss the key concepts and principals. Do not hesitate to ask questions and consult with the instructors. They can help guide your research.

On the scheduled day, the entire class will meet together to return and report their findings. This class time will serve as a forum for you to demonstrate the knowledge you have gained and post unanswered questions that you or your group has. When questions are presented to the class, they should be done clearly and succinctly, and then you should express your thoughts about the solution to the problem. In business, you never post a question without having developed and proposed your own solution to the problem. You should always expect to participate in the solution to the problem and not be the problem.

Your grade for this portion of the case will be based upon individual observation and interviews with the instructors and your responses during the class discussion. Criteria used for the grading are:

  • Thoroughness of your research
  • Thoughtfulness of questions and responses
  • Clarity of communication
  • How often you participate in the discussion.
  • The inclusion of a potential solution

Collaborate on a team design

The next step is to work as a team to collectively create and document the design of the solution. This will require further study, investigation, thinking, and creativity. Remember that your first attempt at a solution is seldom far from your best solution. You will need to perform self critical analysis of your solution and likely iterate several times to arrive at a quality solution. Your hard work in this step of the process can yield big savings in time, money and quality to a company.

The team is required to document and model their design. This is an important part of design process and is a great way to do critical analysis and test out your solution. These documents also serve as an affective communication tool with other team members, management and the client.

Start by individually creating a detailed design or model for the problem. The team should then meet and review each other’s design solutions. Team members should discuss the pros and cons of different approaches and collectively develop a comprehensive design solution to the problem. Be sure to document the team design.

At the conclusion of this step, the team will meet with the instructors to explain and critique the design. Each team member is expected to be prepared to walk through and justify the design. A team grade for the design will be. Individually each team member will also be graded based on their contribution and knowledge of the design. Criteria used for the grading are:

  • Completeness of the design
  • Thoughtfulness of the solution
  • Thoroughness of documentation
  • Clarity of communication

Implementation of the team design

Each team member must individually implement a portion of the team’s final design/solution. The instructors will assign each member of the team to implement a portion of the design. Team members are encouraged to work together to better understand the technology being used and share ideas on how to best implement the design/solution and review each others code. Individuals must not complete other team member’s assignments for them or copy code from any member of the class (including their own team members) or outsiders.

The team will meet with the instructors to walk through and demonstrate the implementation of the team design. Each team member will be asked to walk through, explain and demonstrate the implementation of one of their other team members. A team grade for the implementation. Individually each team member will be assessed based on their contribution and knowledge of the implementation. Criteria used for the grading are:

  • Completeness of the solution
  • Thoughtfulness of the solution
  • Thoroughness of documentation
  • Clarity of communication

Reflection

Create a summary document discussing the key concepts, problems encountered, significant observations or insights gained, and connections to things to already known. This document should be between 1 – 3 pages in length. The document must be concise, clear, and grammatically correct.

Case Study Schedule

Each case will follow the the sequence below:

Individual Research
1
2
Individual research
Return and Report to class
downarrow
Design
1
2
3
4
Generate ideas for design on your own
Team meets to evaluate and colloborate on designs
Refine design and document design
Evaluate design
downarrow
Implementation
1
2
3
4
Make individual implementation assignments
Implement assignments
Team reviews and refines implemenation
Evaluate implementation
downarrow
Reflection
1
2
Reflect on key objectives and lessons learned
Write up reflection
Published on September 9, 2008 at 7:52 pm Leave a Comment

The URI to TrackBack this entry is: http://rkjackson.wordpress.com/syllabus/trackback/

RSS feed for comments on this post.

Leave a Comment