SlideShare a Scribd company logo
1 of 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
         @

More Related Content

Similar to 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
 
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 dannyijwest
 
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 transferMonika Steinberg
 
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 ApplicationIRJET Journal
 
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 DEVELOPMENTcsandit
 
Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Emanuela Boroș
 
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-learningIOSR Journals
 
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 ...ijcseit
 
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 ...ijcseit
 
A Survey on Various Web Technologies
A Survey on Various Web TechnologiesA Survey on Various Web Technologies
A Survey on Various Web Technologiesijsrd.com
 
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 reportpathsproject
 
Setup API Introductie
Setup API IntroductieSetup API Introductie
Setup API Introductieannehelmond
 
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...ijwscjournal
 
Apprendre Via les Objets Xin Chen
Apprendre Via les Objets  Xin ChenApprendre Via les Objets  Xin Chen
Apprendre Via les Objets Xin Chencecilechen85
 

Similar to 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
 

More from Randy Connolly

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 DegreeRandy Connolly
 
Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Randy Connolly
 
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...Randy Connolly
 
Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Randy Connolly
 
Modern Web Development (2018)
Modern Web Development (2018)Modern Web Development (2018)
Modern Web Development (2018)Randy Connolly
 
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 DisciplinesRandy Connolly
 
Constructing a Web Development Textbook
Constructing a Web Development TextbookConstructing a Web Development Textbook
Constructing a Web Development TextbookRandy Connolly
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for ManagersRandy Connolly
 
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 _____"Randy Connolly
 
17 Ways to Fail Your Courses
17 Ways to Fail Your Courses17 Ways to Fail Your Courses
17 Ways to Fail Your CoursesRandy Connolly
 
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...Randy Connolly
 
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 textbookRandy Connolly
 
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 DisciplinesRandy 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
 
Thinking About Technology
Thinking About TechnologyThinking About Technology
Thinking About TechnologyRandy Connolly
 
Constructing a Contemporary Textbook
Constructing a Contemporary TextbookConstructing a Contemporary Textbook
Constructing a Contemporary TextbookRandy Connolly
 

More from Randy Connolly (20)

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
 
CSS: Introduction
CSS: IntroductionCSS: Introduction
CSS: Introduction
 
HTML: An Introduction
HTML: An IntroductionHTML: An Introduction
HTML: An Introduction
 
How the Web Works
How the Web WorksHow the Web Works
How the Web Works
 

Recently uploaded

SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Recently uploaded (20)

SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

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 @