describes a third-year web development course that heavily integrated a wide variety of web services into the student assignments.
The rise, fall, and rise again of web services 2
In the first few years of this decade, there was a great deal of enthusiasm for service-oriented computing (SOC) and web services .
“ SOC is the next evolutionary step in software” “ SOC will create a nirvana , in which discrete channels of business logic become reusable, interchangeable parts that can be strung together into business processes with almost no development cost”
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 the WS-protocol stack SOAP
While SOAP and WSDL are complex XML schemas , this now relatively mature standard is well-supported in both .NET and Java environments.
It had become an important technique for some development niches, but hardly the seismic shift predicted at the close of the 1990s. Yet, despite the superb tool support in these two environments, by the middle years of the 2000s, the enthusiasm for web services had certainly cooled .
But by decade’s end the enthusiasm for web services was back, thanks to the significantly simpler REST-based web service standard.
Nonetheless, the simpler REST approach seems to have won the war for web services.
The prevalence of RESTful services has given rise to a new style of web development: the mashup .
In our IT degree web development has a key place, with two required and one optional course.
Consumption of REST services was a key part of the 2009 iteration of our sixth-semester Web 2 course, which on the technology side mainly focused on ASP.NET development.
1 st assignment The students were given a SQL Server Express music database that was created by the author by transforming open-source XML-based data from the MusicMoz web site.
1 st assignment The students had to create seven ASP.NET reports/pages of progressively higher complexity.
2 nd assignment The students had to expand their first assignment by creating a “real” music portal site that used the same database data but mashed in content from three to six different REST services.
2 nd 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 from yahoo, mtv, 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
2 nd assignment Other possibilities suggested to the students included: play and purchase track from iLike, rhapsody, or peoplesmusicstore purchasing album from Amazon reviews of album from Amazon or yelp books about this artist from Amazon upcoming concerts from Bandsintown, gruvr, livenation, or jambase
3 rd assignment Added security, user roles, and a session-based favorites list to their second assignment solution.
“ creating a mashup in a manual manner is a 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
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) to find an API with the appropriate data
“ 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 different XML schemas 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.
A “key difficulty in creating mashups is data mediation between the services to be mashed 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 the services.
Service Integration as Paradigmatic IT Activity 5
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, integration , and administration of computing technologies.”
The “ability to effectively integrate IT-based solutions into the user environment” is listed as a key outcome for IT education. As such, “ the integration of 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 [email_address]