SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Small service is true service 


integrating
web
services
into
IT education
Web services have been a recognized
(but l ti l i )
(b t relatively minor)
part of web development
since the standardization of web service
standards in the late 1990s
… in the past three or four years
the adoption of simpler
REST based
REST-based web services
has dramatically increased
the possible interoperability
of web applications.
a large number
of real-world web sites
 f    l    ld b it
now routinely integrate
 ow ou e y eg a e
(or mashup)
data from external sources
using these services.
    g
This talk
provides an
overview of
this new
approach to
development
and
  d
describes a third-year
web development course
that heavily integrated
a wide variety of
     d           f
web services into the
student assignments.
The rise, 
fall, 
f ll
and 
rise again 
      g
of
web services
In the first few years of this decade,
there was a great deal of
 h                 d l f
enthusiasm for
service-oriented computing (SOC)
and
web services.
“SOC will create a nirvana,
in which discrete channels    “SOC is the next evolutionary
of business logic become      step in software”
reusable, interchangeable
parts that can be strung
together into business
processes with almost no
development cost”
Traditional Application
              pp




 Functional       Functional   Functional
 Capability       Capability   Capability




              versus

SOC Application
                                               Functional Capability



                                     network   Functional Capability



                                               Functional Capability
Web services are
simply one approach
for
one software application
to
connect and communicate
with
another software application
Web services provide a
mechanism for
publishing and consuming services
that makes use of the
HTTP protocol along with XML
In the first iteration
of web services fever,
the attention was on a
series of related XML
vocabularies:
  WSDL
  SOAP
  the WS-protocol stack
While SOAP and WSDL are
complex XML schemas,
      l          h
this now relatively mature standard
is ll
i well-supported in both
               t d i b th
.NET and Java environments.
Yet, despite the superb tool support
in these two en ironments
             environments,
by the middle years of the 2000s,
the enthusiasm for web services had certainly cooled
                                              cooled.




              It had become an important technique
              for some development niches
                                      niches,
              but hardly the seismic shift
              predicted at the close of the 1990s
                                             1990s.
But by decade s end
        decade’s
the enthusiasm for web
services was back,
thanks to the
 h k       h
significantly simpler
REST-based web
service standard.
REST services are
          i
significantly easier to
consume in Javascript
than SOAP.

           However, manual XML parsing and
           processing is required in order to
           deserialize a REST response back
           into a usable object.
Nonetheless, the simpler REST
approach seems to have won the
 pp
war for web services.
The prevalence of RESTful services
has given rise to a new style of
web development: the mashup.
Integrating 
REST into the 
Curriculum
In our IT degree web
development has a key place
                      place,
with
two required
and
one optional course.
Consumption of REST services was a
key
k part of the 2009 iteration of
         t f th       it ti    f
our sixth-semester Web 2 course,
which on the technology side mainly
  hi h th t h l          id    i l
focused on ASP.NET development.
1st assignment
    The students were given a SQL Server
    Express music d t b
    E           i database that was created by the
    author by transforming open-source XML-based data from
    the MusicMoz web site.
1st assignment
    The students had to create seven
    ASP.NET reports/pages of
    progressively higher complexity.
2nd assignment
   The students had to expand their first
   assignment by creating a “real” music
                               real
   portal site that used the same
   database data but mashed in content
   from three to six different REST
   services.
2nd assignment
   Some of the REST services used by
   the students included:
      pictures of the artist from flickr

      additional artist info from yahoo, mtv, and lastfm

      similar artists f
       i il     ti t from yahoo, mtv, l tf
                            h     t lastfm

      videos by the artist from yahoo, youtube, and mtv

      upcoming concerts from yahoo, upcoming.org, and 5gig

      track lyrics from freebase, lyricsfly, and lyricswiki
2nd assignment
   Other possibilities suggested to the
   students included:
      play and purchase track from iLike, rhapsody, or
      p p
      peoplesmusicstore

      purchasing album from Amazon

      reviews of album from Amazon or yelp

      books about this artist from Amazon

      upcoming concerts f
            i           from B d i
                             Bandsintown, gruvr, livenation,
                                                 li     i
      or jambase
3rd assignment
    Added security, user roles, and a
    session based
    session-based favorites list to their
    second assignment solution.
“creating a mashup i a manual manner is a
“      i       h in         l        i
very time-consuming task”


                       … a perception the
                       students in this course
                       would no doubt warmly
                       agreed with.
By semester’s end,
many students had created
a contemporary
portfolio-quality site
    f
Three Issues 
 h
with RESTful 
 ith RESTf l 
Mashups
Issue #1
   I
Data Discovery
             y
That is, where do you find a
service to do job X or
provide data Y?




         Students had to use open-ended web
         searching or third-party website API
         directories (such as programmableweb.com)
                              programmableweb com)
         to find an API with the appropriate data
Issue #2
     I
Data Heterogeneity
            g    y
“Compared to data, services
can present a broader form of
heterogeneity.”
      Every single REST service has a totally different
      XML schema that has to be parsed and reconciled.


            This meant that the students had to work with some
            four to six d ff
            f           different XML schemas
                                   M h


                 It forced the students to deal with a real
                 design issue: namely, how to effectively reduce
                 code duplication in the face of processing
                 many similar, but different, data sets.
Issue #3
   I
Data Mediation
A “key difficulty in creating
mashups is data mediation
between the services to be
mashed up ”
        up.
          That is, it can be quite challenging to harmonize
          the data between different services.


             As a consequence of data heterogeneity, the
             students were forced to programmatically
             mediate between th services.
                di t b t       the     i
Service 
Integration 
I        i  
as 
Paradigmatic 
IT Activity
Precisely because of these three
issues – this type of development
experience is crucial for the
experience of IT undergraduates.
In the IT2008 Curriculum Guidelines,
describes the five key activities
of the profession as the
“selection, creation, application,
 selection,
integration, and administration of
computing technologies.”
     p g             g
The “ability
Th “ bili to effectively i
                 ff i l integrate
IT-based solutions into the user
environment” is listed as a key
outcome for IT education.

      As such, “the integration of
             ,          g
      different technologies and the
      integration of technologies into
      organizations are fundamental to
      Information Technology.”
Integrating heterogeneous
RESTful web services
into web applications
provide an excellent way
to practically integrate “integration”
into the IT curriculum
Randy Connolly
Dept. Computer Science & Information Systems
Mount Royal University, Calgary, Canada
rconnolly@mtroyal.ca
         @

Weitere ähnliche Inhalte

Ähnlich wie Small service is true service while it lasts: integrating web services into IT education

DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
NAbderrahim
 
Data As A Service Composition Of Daas And Negotiation...
Data As A Service Composition Of Daas And Negotiation...Data As A Service Composition Of Daas And Negotiation...
Data As A Service Composition Of Daas And Negotiation...
Christina Berger
 
Utilizing Open Data for interactive knowledge transfer
Utilizing Open Data for interactive knowledge transferUtilizing Open Data for interactive knowledge transfer
Utilizing Open Data for interactive knowledge transfer
Monika Steinberg
 
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENTAN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
csandit
 
Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Sup (Semantic User Profiling)
Sup (Semantic User Profiling)
Emanuela Boroș
 
Setup API Introductie
Setup API IntroductieSetup API Introductie
Setup API Introductie
annehelmond
 
Apprendre Via les Objets Xin Chen
Apprendre Via les Objets  Xin ChenApprendre Via les Objets  Xin Chen
Apprendre Via les Objets Xin Chen
cecilechen85
 

Ähnlich wie Small service is true service while it lasts: integrating web services into IT education (20)

DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
DLTSR_A_Deep_Learning_Framework_for_Recommendations_of_Long-Tail_Web_Services...
 
Linked Data Generation for the University Data From Legacy Database
Linked Data Generation for the University Data From Legacy Database  Linked Data Generation for the University Data From Legacy Database
Linked Data Generation for the University Data From Legacy Database
 
Data As A Service Composition Of Daas And Negotiation...
Data As A Service Composition Of Daas And Negotiation...Data As A Service Composition Of Daas And Negotiation...
Data As A Service Composition Of Daas And Negotiation...
 
Planetdata simpda
Planetdata simpdaPlanetdata simpda
Planetdata simpda
 
PlanetData: Consuming Structured Data at Web Scale
PlanetData: Consuming Structured Data at Web ScalePlanetData: Consuming Structured Data at Web Scale
PlanetData: Consuming Structured Data at Web Scale
 
----
--------
----
 
Utilizing Open Data for interactive knowledge transfer
Utilizing Open Data for interactive knowledge transferUtilizing Open Data for interactive knowledge transfer
Utilizing Open Data for interactive knowledge transfer
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile Application
 
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENTAN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
 
A LITERATURE SURVEY ON INFORMATION EXTRACTION BY PRIORITIZING CALLS
A LITERATURE SURVEY ON INFORMATION EXTRACTION BY PRIORITIZING CALLSA LITERATURE SURVEY ON INFORMATION EXTRACTION BY PRIORITIZING CALLS
A LITERATURE SURVEY ON INFORMATION EXTRACTION BY PRIORITIZING CALLS
 
Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Sup (Semantic User Profiling)
Sup (Semantic User Profiling)
 
Cloud computing platform for virtual university providing e-learning
Cloud computing platform for virtual university providing  e-learningCloud computing platform for virtual university providing  e-learning
Cloud computing platform for virtual university providing e-learning
 
Maximum Spanning Tree Model on Personalized Web Based Collaborative Learning ...
Maximum Spanning Tree Model on Personalized Web Based Collaborative Learning ...Maximum Spanning Tree Model on Personalized Web Based Collaborative Learning ...
Maximum Spanning Tree Model on Personalized Web Based Collaborative Learning ...
 
Maximum Spanning Tree Model on Personalized Web Based Collaborative Learning ...
Maximum Spanning Tree Model on Personalized Web Based Collaborative Learning ...Maximum Spanning Tree Model on Personalized Web Based Collaborative Learning ...
Maximum Spanning Tree Model on Personalized Web Based Collaborative Learning ...
 
A Survey on Various Web Technologies
A Survey on Various Web TechnologiesA Survey on Various Web Technologies
A Survey on Various Web Technologies
 
PATHS state of the art monitoring report
PATHS state of the art monitoring reportPATHS state of the art monitoring report
PATHS state of the art monitoring report
 
Setup API Introductie
Setup API IntroductieSetup API Introductie
Setup API Introductie
 
SOME INTEROPERABILITY ISSUES IN THE DESIGNING OF WEB SERVICES : CASE STUDY ON...
SOME INTEROPERABILITY ISSUES IN THE DESIGNING OF WEB SERVICES : CASE STUDY ON...SOME INTEROPERABILITY ISSUES IN THE DESIGNING OF WEB SERVICES : CASE STUDY ON...
SOME INTEROPERABILITY ISSUES IN THE DESIGNING OF WEB SERVICES : CASE STUDY ON...
 
W3 c semantic web activity
W3 c semantic web activityW3 c semantic web activity
W3 c semantic web activity
 
Apprendre Via les Objets Xin Chen
Apprendre Via les Objets  Xin ChenApprendre Via les Objets  Xin Chen
Apprendre Via les Objets Xin Chen
 

Mehr von Randy Connolly

Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...
Randy Connolly
 

Mehr von Randy Connolly (20)

Celebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and DisciplinesCelebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and Disciplines
 
Public Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI CrisisPublic Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI Crisis
 
Why Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social SciencesWhy Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social Sciences
 
Ten-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeTen-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS Degree
 
Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)
 
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
 
Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)
 
Modern Web Development (2018)
Modern Web Development (2018)Modern Web Development (2018)
Modern Web Development (2018)
 
Helping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesHelping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing Disciplines
 
Constructing a Web Development Textbook
Constructing a Web Development TextbookConstructing a Web Development Textbook
Constructing a Web Development Textbook
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for Managers
 
Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"
 
17 Ways to Fail Your Courses
17 Ways to Fail Your Courses17 Ways to Fail Your Courses
17 Ways to Fail Your Courses
 
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
 
Constructing and revising a web development textbook
Constructing and revising a web development textbookConstructing and revising a web development textbook
Constructing and revising a web development textbook
 
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesComputing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
 
Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...
 
Thinking About Technology
Thinking About TechnologyThinking About Technology
Thinking About Technology
 
Web Security
Web SecurityWeb Security
Web Security
 
Constructing a Contemporary Textbook
Constructing a Contemporary TextbookConstructing a Contemporary Textbook
Constructing a Contemporary Textbook
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Small service is true service while it lasts: integrating web services into IT education

  • 2.
  • 3. Web services have been a recognized (but l ti l i ) (b t relatively minor) part of web development since the standardization of web service standards in the late 1990s
  • 4.
  • 5. … in the past three or four years
  • 6. the adoption of simpler REST based REST-based web services has dramatically increased the possible interoperability of web applications.
  • 7.
  • 8. a large number of real-world web sites f l ld b it now routinely integrate ow ou e y eg a e (or mashup) data from external sources using these services. g
  • 9.
  • 10. This talk provides an overview of this new approach to development
  • 11. and d
  • 12. describes a third-year web development course that heavily integrated a wide variety of d f web services into the student assignments.
  • 14. In the first few years of this decade, there was a great deal of h d l f enthusiasm for service-oriented computing (SOC) and web services.
  • 15. “SOC will create a nirvana, in which discrete channels “SOC is the next evolutionary of business logic become step in software” reusable, interchangeable parts that can be strung together into business processes with almost no development cost”
  • 16. Traditional Application pp Functional Functional Functional Capability Capability Capability versus SOC Application Functional Capability network Functional Capability Functional Capability
  • 17. Web services are simply one approach for one software application to connect and communicate with another software application
  • 18. Web services provide a mechanism for publishing and consuming services that makes use of the HTTP protocol along with XML
  • 19.
  • 20. In the first iteration of web services fever, the attention was on a series of related XML vocabularies: WSDL SOAP the WS-protocol stack
  • 21.
  • 22.
  • 23. While SOAP and WSDL are complex XML schemas, l h this now relatively mature standard is ll i well-supported in both t d i b th .NET and Java environments.
  • 24. Yet, despite the superb tool support in these two en ironments environments, by the middle years of the 2000s, the enthusiasm for web services had certainly cooled cooled. It had become an important technique for some development niches niches, but hardly the seismic shift predicted at the close of the 1990s 1990s.
  • 25. But by decade s end decade’s the enthusiasm for web services was back, thanks to the h k h significantly simpler REST-based web service standard.
  • 26.
  • 27. REST services are i significantly easier to consume in Javascript than SOAP. However, manual XML parsing and processing is required in order to deserialize a REST response back into a usable object.
  • 28. Nonetheless, the simpler REST approach seems to have won the pp war for web services.
  • 29. The prevalence of RESTful services has given rise to a new style of web development: the mashup.
  • 31. In our IT degree web development has a key place place, with two required and one optional course.
  • 32. Consumption of REST services was a key k part of the 2009 iteration of t f th it ti f our sixth-semester Web 2 course, which on the technology side mainly hi h th t h l id i l focused on ASP.NET development.
  • 33. 1st assignment The students were given a SQL Server Express music d t b E i database that was created by the author by transforming open-source XML-based data from the MusicMoz web site.
  • 34. 1st assignment The students had to create seven ASP.NET reports/pages of progressively higher complexity.
  • 35. 2nd assignment The students had to expand their first assignment by creating a “real” music real portal site that used the same database data but mashed in content from three to six different REST services.
  • 36. 2nd assignment Some of the REST services used by the students included: pictures of the artist from flickr additional artist info from yahoo, mtv, and lastfm similar artists f i il ti t from yahoo, mtv, l tf h t lastfm videos by the artist from yahoo, youtube, and mtv upcoming concerts from yahoo, upcoming.org, and 5gig track lyrics from freebase, lyricsfly, and lyricswiki
  • 37. 2nd assignment Other possibilities suggested to the students included: play and purchase track from iLike, rhapsody, or p p peoplesmusicstore purchasing album from Amazon reviews of album from Amazon or yelp books about this artist from Amazon upcoming concerts f i from B d i Bandsintown, gruvr, livenation, li i or jambase
  • 38. 3rd assignment Added security, user roles, and a session based session-based favorites list to their second assignment solution.
  • 39. “creating a mashup i a manual manner is a “ i h in l i very time-consuming task” … a perception the students in this course would no doubt warmly agreed with.
  • 40. By semester’s end, many students had created a contemporary portfolio-quality site f
  • 41.
  • 43. Issue #1 I Data Discovery y
  • 44. That is, where do you find a service to do job X or provide data Y? Students had to use open-ended web searching or third-party website API directories (such as programmableweb.com) programmableweb com) to find an API with the appropriate data
  • 45. Issue #2 I Data Heterogeneity g y
  • 46. “Compared to data, services can present a broader form of heterogeneity.” Every single REST service has a totally different XML schema that has to be parsed and reconciled. This meant that the students had to work with some four to six d ff f different XML schemas M h It forced the students to deal with a real design issue: namely, how to effectively reduce code duplication in the face of processing many similar, but different, data sets.
  • 47. Issue #3 I Data Mediation
  • 48. A “key difficulty in creating mashups is data mediation between the services to be mashed up ” up. That is, it can be quite challenging to harmonize the data between different services. As a consequence of data heterogeneity, the students were forced to programmatically mediate between th services. di t b t the i
  • 49.
  • 50. Service  Integration  I i   as  Paradigmatic  IT Activity
  • 51. Precisely because of these three issues – this type of development experience is crucial for the experience of IT undergraduates.
  • 52. In the IT2008 Curriculum Guidelines, describes the five key activities of the profession as the “selection, creation, application, selection, integration, and administration of computing technologies.” p g g
  • 53. The “ability Th “ bili to effectively i ff i l integrate IT-based solutions into the user environment” is listed as a key outcome for IT education. As such, “the integration of , g different technologies and the integration of technologies into organizations are fundamental to Information Technology.”
  • 54. Integrating heterogeneous RESTful web services into web applications provide an excellent way to practically integrate “integration” into the IT curriculum
  • 55. Randy Connolly Dept. Computer Science & Information Systems Mount Royal University, Calgary, Canada rconnolly@mtroyal.ca @