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.