ISMG 6280:
  Service Oriented Architecture
  Instructor: Dr. Dawn Gregg
      Office Location: 1250 14th Street - Office 256
      Office Phone: (303) 315-8449
      Email:
 
    dawn.gregg@ucdenver.edu
      Home Page: 
      http://dawngregg.com/ucd
Course Description
This course is designed to provide a thorough introduction to
"Service Oriented Architecture" (SOA), which refers to a design pattern made up 
of components and interconnections that stress interoperability and location 
transparency. This course the latest heterogeneous models for carrying out large 
scale distributed computing using Web services. It includes covers both the 
design of SOA systems as well as practical hands-on programming of a distributed 
Web Service based system.  The fundamentals of defining, designing, 
building, testing and rolling-out a SOA system are explored using tools from 
major Web service vendors. Also, looks at the impact of SOA on software quality, 
efficiency, security, performance and flexibility. 
Students are required to apply this knowledge through a series of design and programming 
exercises. These exercises involve SOA design, computer programming, system installation 
and testing. 
Course Objectives
By the end of this course the student should:
  
    - Be able to problem solve and develop program logic for Web Service 
    systems
- Understand of how SOA systems differ from traditional 
  non-distributed systems
- Understand how distributed systems are evolving and how that may change the 
  way business is conducted in the future.
- Understand the impact of SOA on software quality, 
efficiency, security, performance and flexibility.
Prerequisites
  
  -  It is helpful to have knowledge of C# and relational database concepts 
  but it is not required.
Required Materials
  
    
      |  | Service-Oriented Architecture: Concepts, Technology and Design Thomas Erl
 © 2006
 ISBN: 0-13-185858-0
 
      
 | 
    
  - 
In addition, there are lecture notes 
available on eCollege. You will need to print them out and bring them to class 
or access them and listen to my lectures.
Software (to test using Web Services)
  - You need a  Software package that includes C# or Visual Basic. An FREE 
  software package can be downloaded from Microsoft at
  
  http://msdn.microsoft.com/vstudio/express/.  Choose either the C# or 
  Visual Basic download. 
- You can also use Visual Studio .NET in the computer lab in KC 216 (it has 
  both C# and VB).  
  
Methods
- 
Be Prepared: It is assumed that you 
will read the assigned chapters before each class and are prepared to ask at 
least 2 meaningful questions in class.  
- Getting behind: This is a 
difficult course and requires a significant amount of work.  DO NOT 
GET BEHIND.  New concepts build on earlier concepts and if you skip even 
one week you can find yourself so far behind that you can not catch up with the 
rest of the class.  
  - Check for any assignments or projects to be started/continued each week.  
  Every week you should be working on either a short homework or a longer 
  project/paper and you need to start these early so you have time to ask 
  questions about them. 
- Check the online course portal several times throughout the week. I will 
  answer/follow-up on questions that are discussed in class and  give hints 
  about the assignments there.
 Students who miss class or skip assignments usually wind up failing the 
course. 
- 
Contacting Me: My courses can be difficult and often students get to places in their 
assignments where they do not know what to do next. I encourage you to ask 
questions in class, office hours and via email.  Always include the course 
number (ISMG 6280) and your name in the email. When asking a question via email please do the following: 
- Clearly give me a specific question.  
- If you have an error message(s) you do not understand put a copy of the 
error message(s) in the email and attach your code so I can see where it occurs.
- If your code compiles but runs strangely describe the behavior and attach 
your code (e.g. I input the id and then nothing happens)
- If you do not understand what is expected - explain what parts of the 
assignment you do not understand.
- If you are having difficulty deciding how to approach a problem - describe 
to me what you think you should be doing and I will let you know what you have 
right & where you might be wrong.
- DO NOT email me and say here is what I have so far what do I do next.
 As a general policy, I will respond to phone calls and 
emails within 24 hours. Typically, I can respond to emails within one to two 
hours during regular business hours and 4 to 5 hours during off hours. 
Face-to-face meetings can be scheduled by calling or emailing.  All students are responsible for keeping all 
contact information up to date with the University. University policy is that 
email is the preferred form of contact. If you do not update your email address, 
you will be missing important information from the College. 
- Late work:  In 
general, assignments will be due before the the regularly scheduled in class 
lecture. 
In general I do not accept Projects and Assignments late. There may be 
group/class discussions regarding the assignments immediately after they are due 
and thus it is imperative that work be complete
ON TIME.  
 
 I do understand that sometimes work or other presures make it 
difficult to submit an assignment on time - so I will accept up to one 
assignment late per student. Any work accepted late will be graded down a 
minimum of one full grade. In the case that you will not be able to complete 
work the week it will be due, please contact me prior to the due date to arrange 
an alternate due date for the assignment.
 
- 
Academic Honesty:
 
All quizzes, tests, programs and papars are to be done individually unless 
otherwise specified.  All work submitted should include citations or 
other indications when other's work is included with your own. Academic 
Dishonesty is not tolerated and will result in a zero on the assignment and 
reporting of the incident to the Business School's Internal Affairs Committee. 
The following are considered Academic Dishonesty:
 
  - Copying the work of current or past ISMG 6280 students 
- Plagiarism of material found in books, magazines or on the Web 
- Work purchased from "paper mills" or a code writing service. 
- Working collaboratively on individual assignments except to provide 
  debugging/editing assistance 
- Providing assignment solutions (total or partial) to any other ISMG 6280 
  student! 
- Copying the code, design or paper submitted by a past or current ISMG 6280 
  student
 Cheating on an exam will result in an automatic F for the course!  
The penalty for subsequent academic dishonesty incidents can involve removal 
from the IS program and/or from CU Denver.  The instructor may make use of anti-cheating services to ensure that 
submitted work is original. Finally, cheating diminishes the value of your learning. If you find yourself 
struggling in this course, please contact the instructor! 
Assignments and Exams
  Learning to create a software architecture involves both understanding of 
  concepts as well as learning to decompose a problem and develop a software 
  solution. Students cannot just listen to a lecture and know how to do this. To 
  improve students’ ability to design architectures I have numerous short 
  assignments, longer projects, and a white paper.  This section outlines the 
  course assignments and requirements.  I urge you to read it carefully!
  - Class Participation: Students 
  are expected to ask thoughtful questions about the course material online 
  prior to class. These questions will be used to promote both in class and 
  online discussions. The class participation grade will be computed twice a 
  semester (after week 7 and during finals week). 
- Homework: You will 
  complete several short homework assignments during the 
  course of the semester.  The goal for homework is for 
  you to become comfortable with different design methods and or programming concepts and become 
  familiar with how the  development environment you are using works.   
  These assignments will be graded but the emphasis will be placed on effort as 
  opposed to perfection.  It is important for students to try and hand in 
  every homework assignment - even if it does not work 100% correctly!
- Web Service Design/Coding Projects: 
  Projects are larger scale designs and/or programs that resemble real 
  programs that might be used in a business setting. Projects 
  generally require a substantial amount of effort on the part of students (15 - 
  40 hours per project depending on the student) so please allow enough time to 
  complete the project before the due date.  For projects - students will 
  have the option of choosing either a project that includes coding - or one 
  that produces detailed design specifications.
 
 Projects will be evaluated based on three major criteria: 
Compliance with project requirements, Quality of the design/source code and Program 
performance.  A grading sheet, distributed with each project’s 
specifications, will specify the distribution of points for the project.
 When submitting a project, it is the students responsibility to submit all 
  related materials necessary for the project (or else I can not test your 
  code!). Failure to include all the required files will result in some loss of 
  credit.   
- White Papers: 
  You will be asked to write one white paper on a topic of interest related to 
  Service Oriented Architecture. A list of sample topics will be provided when 
  the paper is assigned.  Students can choose  a topic or suggest one 
  of their own. Subject areas include (but not limited to):
  - Core service activities and technologies
- Software engineering techniques for service-based development
- Infrastructure issues for Service Oriented Applications 
- Service & AI Computing 
- Service & P2P/Grid Computing 
- Service & Mobile Computing 
- Service Computing & Applications
 Paper Writing 
  Suggestions & Guidelines: Before submitting your paper, it should more or less reflect suggestions 
  and requirements highlighted below.  
  - Introducing the topic: Always include a brief synopsis with the 
  objectives. E.g. state why the paper/topic is interesting, what it is about 
  and what the reader is expected to learn. 
- Explaining the topic: Never take for granted the reader knows the subject area as 
  well as you do. Make an effort to provide the reader with some fundamental or 
  relevant background information. Be prepared to define terminologies and acronyms, as well. Properly plan, structure and express your content. Breaking the topic into 
  subtopics will help.
- Providing practical examples & illustrations: Rather than tell the reader, 
  *show* the reader - through the use of examples, code, case studies, or 
  scenarios - which will get across your point more effectively,  Pictures, charts, graphs and 
  tables can also help with the analysis and presentation of information.
- Providing references: Include at least 3-5 references to sites or books 
  that you may have referenced, or you find relevant to your topic. These 
  references offer the interested reader a pathway to seek further information.
  
- Recommended length & format: 
  
    - 
    
     The paper must be between 5 and 10 pages long (1500 to 
    3000 words).
- 
    
     A margin of 1 inch on all sides of the paper is 
    required.
- The paper must be double-spaced.
 
    - Any font that is simple, reproduces clearly and is 
    easily read (Times New Roman, Ariel, Courier, etc.) is acceptable
    The same font/typeface 
    and size must be used throughout the text.
    
    
- Acceptable font sizes are: 11 point and 12 point. Larger type up to 16 
    point can be used for document/chapter/section titles. Captions, footnotes, and footnote numbers can be in a smaller font than text, i.e., 9 point.
- It must be produced in an easily legible Microsoft Word, simple HTML, or Adobe PDF format.
 
 Apart from these guidelines, I also recommended you read: "A 
  white paper on how to write a white paper" by Stephen Wilbers 
- Exams: There will be one 
  mid-term exam and one Final exam. The exam will be given either in class or 
  online only on the 
  mentioned dates.  Question Formats include: fill-in-the-blank, short 
  answer, essay questions, writing of XML,  WDSL or C# code.  The 
  exams will be open book and open note, unless otherwise specified.  
  Online exam questions will compiled on the fly using questions from a large 
  question bank so no two students should be given the same exam.
 
 Failure to take your exam on the scheduled date will result in a zero for the examination.  
  In cases of extremely extenuating circumstances (i.e. documented circumstances 
  clearly beyond the student's control) a make-up exam may be given.  
  However, the student must request the make-up exam in writing within 24 hours 
  of the original exam date.
 
 If you know in advance that you will not be able to take an exam because of 
  extenuating circumstances beyond your control you may request a make-up exam.  
  Requests for make-up exams must be made in writing at least 1 full week prior 
  to the class section in which the exam is scheduled to be given.  If the 
  request for a make-up exam is approved, a make-up exam will then be scheduled.
 
 24 hours prior to a scheduled make-up exam, it is the student's responsibility 
  to confirm via email that they still plan on attending the make-up exam at the 
  given date and time.  If the student no longer needs to take a make-up 
  exam - the student must cancel the make-up exam via email 24 hours in advance 
  of the scheduled make-up exam time.  Failure to take a make-up exam 
  will result in a 0 for the exam.
- Assignment Submission: 
Students will be required to turn in assignments using the dropbox (upper navigation pane at eCollege).  Each assignment will have a 
specific place to be handed in within the dropbox.
Grading
  Final Grades for this class will be based on your performance in class work 
  & 
  discussions, homework
problems, two individual projects, a white paper, a midterm and a final exam. Weightings
will be applied as follows:   
| A: Class Participation | 15% | 
| B: Homework | 10% | 
| C: Projects | 20% | 
| D: White Paper | 15% | 
| E: Midterm Exam | 20% | 
| F: Final Exam | 20% | 
    
  
  Letter Grades are typically assigned as follows:
    
  
    | A | (4.0) | 93% - 100% | superior/excellent | 
  
    | A- | (3.7) | 90% - 92.999% |  | 
  
    | B+ | (3.3) | 87% - 89.999% |  | 
  
    | B | (3.0) | 83% - 86.999% | good/better than average | 
  
    | B- | (2.7) | 80% - 82.999% |  | 
  
    | C+ | (2.3) | 77% - 79.999% |  | 
  
    | C | (2.0) | 73% - 76.999% | competent/average | 
  
    | C- | (1.7) | 70% - 72.999% |  | 
  
    | D+ | (1.3) | 67% - 69.999% |  | 
  
    | D | (1.0) | 63% - 66.999% | minimum passing | 
  
    | D- | (0.7) | 60% - 62.999% |  | 
  
    | F | (0.0) | 0% - 59.999% | failing | 
 
Note: Grading policies of the CU Denver Business School state that the 
  average GPA across all students in a MS elective class should generally fall within the 
  following range:  3.3 to 3.6 (B+) on a 4.0 scale.  Therefore, if 
  necessary, the ranges above will be modified so the average GPA across all 
  students in the class falls with in the recommended range.