CmpE 272: Enterprise Software Overview
(Fall 2008)

 


bullet Lectures

Time: Thursday, 6pm - 8:45pm
Location: CL 117

bullet Instructure Information

Instructor: Jinchun Xia
Office: ENG 283E
Tel: 408-924-7854
Web: http://www.engr.sjsu.edu/jxia/
Email: jinchun.xia@sjsu.edu
Office hour: Tuesday, 4:30pm-7pm;
                  Thursday, 12pm - 2:30pm;
                  after class;
                  or by appointment.

bullet Greensheet (in pdf)

bullet Course websites


Course Description

This course introduces the major concepts and technologies that arise in the design and implementation of enterprise software systems. Issues including architectural decision, enabling technologies and software integration will be discussed. By the end of this course, you will be familiar with the technologies related to middleware, OSs, SQL database, XML, distributed objects, Web-based development, SOA, etc. This course will prepare you for other Enterprise Software Technologies classes with the necessary knowledge spectrum.

Learning outcomes

1) Understand different software architecture models of enterprise software systems and can make architectural decision according to different system requirements.
2) Be able to identify available technologies for a design/implementation need.
3) Know the strength and weakness of different technologies and be able to choose the right ones according to different requirements.
4) Be familiar with emerging software design paradigm and technologies.

Prerequisites

Admission to the MS Software Engineering program or instructor consent.

Textbook

Syllabus

Week
Date
Topic
Reading
Homework
Week 1 08/28/2008 1. Introduction
2. Green sheet
[ppt]
1. S1
2. Green sheet
HW0 out
Week 2 09/04/2008 1. Software architecture roadmap
2. Introduction to Client/Server Computing
3. Project discussion
[ppt]
1. C2, C3
2. David Garlan, “Software architecture: a roadmap”, Proceedings of the Conference on The Future of Software Engineering, 2000, pp. 91-101, ACM Press.
3. RT Fielding, “Software Architectural Styles for Network-Based Applications” UCI Technical Report, June 1999.
HW0 due
Project out
Week 3 09/11/2008 Middleware
[ppt]
1. C7, C8
2. D. E. Bakken, "Middleware", Encyclopedia of Distributed Computing, Kluwer Academic Press, 2003.
3. W. Emmerich. "Software Engineering and Middleware: A Roadmap." Proceedings of the Conference on The Future of Software Engineering, 2000, pp. 117-129, ACM Press.
 
Week 4 09/18/2008 Database
[ppt]

1. C10, C11
2. P. P. Chen, "The entity-relationship model—toward a unified view of data," ACM Transactions on Database Systems (TODS), 1976, pp. 9 - 36.
3. J. Hellerstein, M. Stonebraker, and J. Hamilton, "Architecture of a Database System," 2007.
4. K. Dittrich, D. Tombros and A. Geppert, "Databases in Software Engineering: A Roadmap," Proceedings of the Conference on The Future of Software Engineering, 2000, pp. 293 - 302.

 
Week 5 09/25/2008 Data warehouse, Emerging database applications, Messaging and transactions
[ppt]

1. C12, C13, C14, C15, C16
2. Surajit Chaudhuri and Umeshwar Dayal, “An overview of data warehousing and OLAP technology”, ACM SIGMOD Record, Vol 26, No. 1, pp. 65-74, 1997.
3. Eric Brewer, Combining Systems and Databases: A Search Engine Retrospective, Readings in Database Systems, Fourth Edition. Joseph M. Hellerstein and Michael Stonebraker eds, MIT Press, Cambridge, MA, 2005.

Project proposal due
Week 6 10/02/2008 Security
[ppt]
1. P. Devanbu and S. Stubblebine. Software Engineering for Security: A Roadmap. In The Future of Software Engineering, Anthony Finkelstein (Ed.), pp. 227-239, ACM Press 2000.
2. Richard A. Kemmerer, "Security issues in distributed software", ACM SIGSOFT Software Engineering Notes, Vol 22, No. 6, pp. 52-59, 1997.
3. Security, Andrew S. Tanenbaum and Maarten van Steen, Distributed Systems: Principles and Paradigms, 2002.
 
Week 7 10/09/2008 Midterm
Week 8 10/16/2008 Distributed Objects
[ppt]

1. C21, C22, C25
2. Scott M. Lewandowski, "Frameworks for component-based client/server computing," ACM Computing Surveys (CSUR), 30(1), March, 1998, pp. 3 - 27.
3. CORBA FAQ and specifications

4. P. Emerald Chung et al, "DCOM and CORBA Side by Side, Step by Step, and Layer by Layer," 1997.
5. Steve Vinoski, "CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments," IEEE Communications, February 1997, pp. 46-55.
2. CORBA and XML; conflict or cooperation?

HW1 out
Week 9 10/23/2008 Web-based systems and technologies
[ppt]
C26, C27 Register your assignment 1 topic by today
Week 10 10/30/2008 XML and semantic web
[ppt]
Student presentation: [XML], [Semantic Web], [Ontology]
1. Online resources on Semantic Web compiled by Sung-Jung Cho
2. W3C, XML
3. "A short Tutorial on Semantic Web", video, York Sure, University of Karlsruhe
4. Ian Horrocks's slides on "Introduction to the Semantic Web"
5. W3C Semantic Web Activity
Project progress report due
Week 11 11/06/2008 SOA
[ppt], [SOAP], [UDDI], [Assignment 1 presentations]
1. S4, S5, S6
2. Tim Berners-Lee, "Web Services".
3. A. Gokhale, B. Kumar, A. Sahuguet, "Reinventing the Wheel? CORBA vs. Web Services".
HW1 due
Week 12 11/13/2008 Service Composition, BPEL
[ppt]
1. S7
2. Matjaz B. Juric, A Hands-on Introduction to BPEL
3. WS-BPEL 2.0, Oasis, April 2007
Project presentation schedule
Week 13 11/20/2008

Project presentations

   
Week 14 11/27/2008 Thanks Giving
Week 15 12/04/2008

1. Review for Final
[ppt]
2. Project presentations

  Final report due
Week 16 12/11/2008 [Project final reports for download]    
Week 17 12/18/2008 Final exam, 17:15-19:30 [final grades]

Resources:

Class Structure:

This class is based on weekly lectures. All the assignments must be submitted at the beginning of lectures. In-class activities include quizzes, surveys and short presentations (tentative).

 

Grading Policy

Grades will be assigned on a curve. Your final grade will be based on assignments, exams, and class participation. These will be weighted as follows.

Participation and in-class activities 10%
1 Term Project 30%
1 Midterm 25%
1 Final 35%

 

Description of assignments:

Academic Honesty

Your own commitment to learning, as evidenced by your enrollment at San Jose State University, and the University’s Integrity Policy, require you to be honest in all your academic course work. Faculty members are required to report all infractions to the office of Judicial Affairs. The policy on academic integrity can be found at:

http://sa.sjsu.edu/judicial_affairs/index.html

Things (among many others) you may not do when working with other students (not applicable to team work):

Things you may do when working with other students:

Plagiarism

San José State University defines plagiarism as the act of representing the work of another as one's
own without giving appropriate credit, regardless of how that work was obtained, and submitting it to
fulfill academic requirements.
Plagiarism includes:

1.2.1 Knowingly or unknowingly incorporating the ideas, words, sentences, paragraphs, or parts
of, or the specific substance of another's work, without giving appropriate credit, and
representing the product as one's own work;
1.2.2 Representing another’s artistic/scholarly works such as musical compositions, computer programs, photographs, paintings, drawing, sculptures, or similar works as one's own.

Note:

Accommodation for Disabilities

If you need course adaptations or accommodations because of a disability, or if you need special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours. Presidential Directive 97-03 requires that students with disabilities requesting accommodations must register with DRC to establish a record of their disability.