Slides - University of Virginia
Download
Report
Transcript Slides - University of Virginia
Collaborative Research: Developing Course
Modules to Teach Service-Oriented
Programming through Exemplification and
Visualization
Xumin Liu, Rajendra K. Raj, Tom Reichlmayr (RIT)
Chunmei Liu (Howard University)
Alex Pantaleev (SUNY at Oswego)
Acknowledgments
This material is based upon work supported by the
United States National Science Foundation under
Awards No. DUE-1140567, DUE-1141112, and DUE1141200. Any opinions, findings, and conclusions or
recommendations expressed in this material are those
of the authors and do not necessarily reflect the views
of the National Science Foundation.
Overview
Motivation
Course Module Approach
Course Modules
1 (Consuming a Web Service)
2 (Building and Deploying a Web Service)
3 (Web Service Applications)
Conclusion
Motivation
Global service-oriented middleware market will grow to
at least $8.2 billion by 2016, according to a
WinterGreen Report1
Crucial for undergraduate CS/SE students to learn
about web services and service-oriented computing
Students need repeated exposure to SOP concepts at
different degrees of depth
1http://www.wintergreenresearch.com/reports/SOA%202010%20press%20release.
pdf
Student Goals
Explain the motivation for learning about serviceoriented programming (SOP)
Describe the issues and concepts underlying SOP
Solve problems using SOP techniques
Gain hands-on experience with SOP
Abstractions: Evolution
Figure is from Introduction to Web Services by Dr. Marcello La
Rosa, QUT
Object- and Service-Orientation
Steps in solving a complex problem
Abstraction
Decomposes problem into sub-problems
Solves each sub-problem and composes overall solution
Object-orientation
Describes an abstraction using objects
Objects help to model problem and develop the solution
Service-orientation
Describes an abstraction using services
Services help to model problem and develop the solution
Developed service can be used to develop new services
Service Oriented Programming
Basic idea
Wrap up a software system as a set of services,
accessible via the Internet
Use services as the building blocks to develop
applications
Standardize the way of describing, querying, and calling a
service to deal with interoperability issues
Service Oriented Architecture
A meta-architectural style that supports loosely coupled
services to enable business flexibility in an
interoperable manner
SOA requires the following
All functions are defined as services
All services are independent of each other
Service interfaces are invocable
Teaching SOP via Course Modules
Important to incorporate SOP into the curriculum early
Make SOP materials to instructors as course modules
A course module is a well-defined, self-contained unit of
instruction that may be incorporated, either as-is or with minor
modifications, within one or more courses offered in diverse
disciplines
Course modules have become an excellent vehicle for handling
curricular changes quickly
Vertical integration into the curriculum via repeated
exposure to SOP at different depths
Three course modules
Course Module Template
Component
Brief Description
Overview
Description, prerequisite knowledge, and learning outcomes
Rationale
Motivation for the module
Recommended use
Recommendations for typical usage
Slides
Module content for lectures or independent learning activities
Sample questions
For use in low-stake quizzes
Labs/assignments
For hands-on experiences in solution design, implementation,
and verification
FAQ
Answers to students frequently asked questions
Readings
Introductory or supplementary materials referenced in module
Links
Pointers to online and other materials used in the module
Module evaluation
Assessment tools to measure learning and module effectiveness
Three Course Modules
Course module 1
Introduces SOP into a standard second programming
course, e.g., CS2
Course module 2
Presents SOP as a programming paradigm in a mid-level
course, e.g., Concepts of Programming Languages
Course module 3
Applies SOP to software design and development in a
senior-level course, e.g., Distributed and Concurrent
Software Systems
Course Module 1
Targets freshmen computing students
Lecture slides provide a brief overview of serviceoriented architecture, web service standards, and
fundamental principles of SOP methodology
Sample questions test materials covered by slides
Demo showcases development of an application using
web services
Lab provides step-by-step instructions for calling a web
service
Course Module 2
Targets mid-level students (sophomores or juniors)
Lecture slides cover topics including service-orientation,
service-oriented architecture, service description, discovery,
invocation, and composition
Sample questions test the material covered by slides
Demo showcases the development of a web service and an
application using web services
Lab provides step-by-step instructions for developing a web
service and an application by calling a web service
Course Module 3
Targets senior students
Lecture slides focus on the architecture, design, and
implementation of enterprise-critical software systems
Sample questions test the materials covered by slides
Project asks students to develop an SOP application
reflecting a real-world scenario
Concluding Remarks
Current Status
All modules have been developed
and tested
All modules at RIT
Module 1 at Howard
Module 1 and 3 at SUNY Oswego
Initial assessment and revision
Modules and assessment at all
three institutions in 2013-14
Improvements being pursued
In modules and in assignments
Last Words
Contact Xumin Liu or any of
us if you want to try out the
developed materials
[email protected]
All you have to do is to
provide us with feedback
using our standard surveys
Languages/platforms
Java
NET and C#