SlideShare a Scribd company logo
Cloud Formations for Curriculum Transformation Tech-read “Mashing up Services for Students” Alex Lee & Steve Nisbet, Learning & Research Technology. MMU http://lrt.mmu.ac.uk
Why change what we do? National Student Survey -  we’ve actually asked students what they think Lots of things they don’t like They Do like the IT (certainly @ MMU in the main), more tech savvy? Some Unsurprising results perhaps – Don’t make me think Do give me what I want I want it now!
EQAL EQAL – Complete review of teaching, support and administration of the University. Awareness of the need for change and new tools
Considerations for a solution Students require (recurring themes): Immediacy Personalisation Simplicity and ease in finding the information they want A core set of vital information to help them study and take part in their course Research from Initial developments, lessons learned  Student Portal  Background services for WebCT (alex?) Identification of needs, software and partners What do students actually need? Who /what can best provide (sometimes – choice is limited) the information How can we tap into the software solutions to provide immediacy, personalisation in a seamless manner, simple for the student?
This work is licensed under a Attribution-NonCommercial-ShareAlike 2.0 licence Core distributed VLE architecture news, events assessments, enrolments Exam papers, digitized materials Learning Objects resource lists timetables news, events moodle.mmu.ac.uk email, storage
This work is licensed under a Attribution-NonCommercial-ShareAlike 2.0 licence Consistent mashups for every Unit Unit Code MMU ID Unit Area Timetable Unit Code MMU ID Hand-ins & marks Unit Code Podcasts Unit Code Reading Lists provisioning Unit Code Past Papers Scanned articles On/off-campus media Unit Code MMU ID Enrolments
The key Problems then… How do we mash it all up? Systems often incompatible with each other Corporate buy-in (we need that data) Common enforced tags (student id,unit_id) Get around the incompatibilities XML as a transit SSO (permissions, authorization and so on)
Services model Separate service oriented support platform Eases the load on the mainline platform Aggregates many different and occasionally incompatible database driven systems and delivers a standard output of XML based information for consuming blocks/plugins on the mainline Portable data - isolated from major platform changes (should still work fine in Moodle 2 – doesn’t rely on schema changes Etc.) standard architecture (render anything not quite standard) Can be used to deliver to other platforms (W2C Widgets -> phones, CMS etc) Clear set of logs and statistics – better measurement of use DR / resiliency potentially easier, but requires excellent network connections and hosting (shameless ULCC plug folks!)
This work is licensed under a Attribution-NonCommercial-ShareAlike 2.0 licence Service-oriented architecture getMoodleAreas getMoodleAnnouncements getMoodleEvents getEvents getResourcesgetEnrolments getAssessments getCurriculumDetails getFeeStatus REST REST SOAP apis.mmu REST Podcast Producer REST SOAP REST
This work is licensed under a Attribution-NonCommercial-ShareAlike 2.0 licence getResources web service Lists tagged with Unit code REST Individual items extracted from RDF & XHTML  getResources called with: moodleauth usermoodle course id (unit code)datetime stampsecurity token Custom block + To buy (3) Uploads tagged with Unit code + Essential (8) apis.mmu + Further (12) SOAP REST + Podcasts (4) Web-service searchby Unit returns matching items  + Exam papers (4) Search by Unit  codereturns RSS feedof matching podcasts getResources returns:Atom feed with SSO item links(item provenance maintained in source element) Podcast Producer REST Podcasts tagged with Unit code
PC Availability Web Service
Rest Web Service Overview ,[object Object]
 Allows focus on data!
 Very quick to develop
 Quick development time means innovation can happen quickly
 MMU web services output data in XML, RSS, and Atom
 Turns inconsistent formats into standard compliant formats
 Access data around firewalls and across  networks – access anywhere,[object Object]
 Strict syntax – good for critical services
 What version of .NET?
 Cool software or addons:
 Use SoapUI to check SOAP services to consume in .NET!
LinqPad
PasteXML as XElement,[object Object]

More Related Content

Similar to LRT MoodleMootUK11 Unconf Presentation

Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas Jellema
Lucas Jellema
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2divzi1913
 
Java Technology
Java TechnologyJava Technology
Java Technologyifnu bima
 
SQL Azure Overview - ericnel
SQL Azure Overview - ericnelSQL Azure Overview - ericnel
SQL Azure Overview - ericnel
ukdpe
 
Struts 2 Overview
Struts 2 OverviewStruts 2 Overview
Struts 2 Overview
skill-guru
 
PowerPoint
PowerPointPowerPoint
PowerPointVideoguy
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
Robert J. Stein
 
Prabhu-Software-Engineer-3+-Year-Exp
Prabhu-Software-Engineer-3+-Year-ExpPrabhu-Software-Engineer-3+-Year-Exp
Prabhu-Software-Engineer-3+-Year-Exp
Prabhu S
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
Lucas Jellema
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2Long Nguyen
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
Karthik Reddy
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
Karthik Reddy
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Servicessumedha.r
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
Shean McManus
 
Mstr meetup
Mstr meetupMstr meetup
Mstr meetup
Bhavani Akunuri
 
Wordpress development 101
Wordpress development 101Wordpress development 101
Wordpress development 101
Commit Software Sh.p.k.
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOA
Lucas Jellema
 
Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft Private Cloud
 

Similar to LRT MoodleMootUK11 Unconf Presentation (20)

Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas Jellema
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2
 
Java Technology
Java TechnologyJava Technology
Java Technology
 
SQL Azure Overview - ericnel
SQL Azure Overview - ericnelSQL Azure Overview - ericnel
SQL Azure Overview - ericnel
 
Struts 2 Overview
Struts 2 OverviewStruts 2 Overview
Struts 2 Overview
 
PowerPoint
PowerPointPowerPoint
PowerPoint
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Prabhu-Software-Engineer-3+-Year-Exp
Prabhu-Software-Engineer-3+-Year-ExpPrabhu-Software-Engineer-3+-Year-Exp
Prabhu-Software-Engineer-3+-Year-Exp
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
 
Azure migration
Azure migrationAzure migration
Azure migration
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
Mstr meetup
Mstr meetupMstr meetup
Mstr meetup
 
Wordpress development 101
Wordpress development 101Wordpress development 101
Wordpress development 101
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOA
 
tej..
tej..tej..
tej..
 
Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations Presentation
 

Recently uploaded

The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
GeoBlogs
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
CarlosHernanMontoyab2
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 

Recently uploaded (20)

The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 

LRT MoodleMootUK11 Unconf Presentation

  • 1. Cloud Formations for Curriculum Transformation Tech-read “Mashing up Services for Students” Alex Lee & Steve Nisbet, Learning & Research Technology. MMU http://lrt.mmu.ac.uk
  • 2. Why change what we do? National Student Survey - we’ve actually asked students what they think Lots of things they don’t like They Do like the IT (certainly @ MMU in the main), more tech savvy? Some Unsurprising results perhaps – Don’t make me think Do give me what I want I want it now!
  • 3. EQAL EQAL – Complete review of teaching, support and administration of the University. Awareness of the need for change and new tools
  • 4. Considerations for a solution Students require (recurring themes): Immediacy Personalisation Simplicity and ease in finding the information they want A core set of vital information to help them study and take part in their course Research from Initial developments, lessons learned Student Portal Background services for WebCT (alex?) Identification of needs, software and partners What do students actually need? Who /what can best provide (sometimes – choice is limited) the information How can we tap into the software solutions to provide immediacy, personalisation in a seamless manner, simple for the student?
  • 5. This work is licensed under a Attribution-NonCommercial-ShareAlike 2.0 licence Core distributed VLE architecture news, events assessments, enrolments Exam papers, digitized materials Learning Objects resource lists timetables news, events moodle.mmu.ac.uk email, storage
  • 6. This work is licensed under a Attribution-NonCommercial-ShareAlike 2.0 licence Consistent mashups for every Unit Unit Code MMU ID Unit Area Timetable Unit Code MMU ID Hand-ins & marks Unit Code Podcasts Unit Code Reading Lists provisioning Unit Code Past Papers Scanned articles On/off-campus media Unit Code MMU ID Enrolments
  • 7. The key Problems then… How do we mash it all up? Systems often incompatible with each other Corporate buy-in (we need that data) Common enforced tags (student id,unit_id) Get around the incompatibilities XML as a transit SSO (permissions, authorization and so on)
  • 8. Services model Separate service oriented support platform Eases the load on the mainline platform Aggregates many different and occasionally incompatible database driven systems and delivers a standard output of XML based information for consuming blocks/plugins on the mainline Portable data - isolated from major platform changes (should still work fine in Moodle 2 – doesn’t rely on schema changes Etc.) standard architecture (render anything not quite standard) Can be used to deliver to other platforms (W2C Widgets -> phones, CMS etc) Clear set of logs and statistics – better measurement of use DR / resiliency potentially easier, but requires excellent network connections and hosting (shameless ULCC plug folks!)
  • 9. This work is licensed under a Attribution-NonCommercial-ShareAlike 2.0 licence Service-oriented architecture getMoodleAreas getMoodleAnnouncements getMoodleEvents getEvents getResourcesgetEnrolments getAssessments getCurriculumDetails getFeeStatus REST REST SOAP apis.mmu REST Podcast Producer REST SOAP REST
  • 10. This work is licensed under a Attribution-NonCommercial-ShareAlike 2.0 licence getResources web service Lists tagged with Unit code REST Individual items extracted from RDF & XHTML getResources called with: moodleauth usermoodle course id (unit code)datetime stampsecurity token Custom block + To buy (3) Uploads tagged with Unit code + Essential (8) apis.mmu + Further (12) SOAP REST + Podcasts (4) Web-service searchby Unit returns matching items + Exam papers (4) Search by Unit codereturns RSS feedof matching podcasts getResources returns:Atom feed with SSO item links(item provenance maintained in source element) Podcast Producer REST Podcasts tagged with Unit code
  • 12.
  • 13. Allows focus on data!
  • 14. Very quick to develop
  • 15. Quick development time means innovation can happen quickly
  • 16. MMU web services output data in XML, RSS, and Atom
  • 17. Turns inconsistent formats into standard compliant formats
  • 18.
  • 19. Strict syntax – good for critical services
  • 20. What version of .NET?
  • 21. Cool software or addons:
  • 22. Use SoapUI to check SOAP services to consume in .NET!
  • 24.
  • 25.
  • 26. Results & Stats In 227 days the web services have had 6,445,204 hits  getWebCTAreas 2,426,383 getWebCTAnnouncements 1,600,768 getFeeStatus 768,057 getPCAvailability 306,403 This is only by widgets and My Mobile does not count My MMU getFeeEmail 3,506 (i.e. number of students who have requested full details)
  • 27. Useful Links lrt.mmu.ac.uk/ /w2c = W2C widget developments
  • 29.
  • 30. Edit the config.xml file
  • 31. Delete the <service> and <servicebehavoiur> nodes
  • 32. Add the following code:Creating a REST Web Service in VS2008
  • 33. <service name="uk.ac.mmu.Service1" behaviorConfiguration="uk.ac.mmu.Service1Behavior">        <endpoint address="" binding="wsHttpBinding" contract="uk.ac.mmu.IService1">         </endpoint>        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> <endpointBehaviors> <behavior name="webHttp"> <webHttp/> </behavior> </serviceBehaviors> </endpointBehaviors>
  • 34. Create the Interface Edit Iservice.cs using System.ServiceModel.Web; [OperationContract, WebGet(UriTemplate = "getResources?person={user}&unit={unit}", ResponseFormat = WebMessageFormat.Xml)] Rss20FeedFormatter GetResourcesRss( string user, string unit);
  • 35. Reading XML – Simple Way string token = GetMD5Hash(developer + date + sharedsecret); egXml.Load('Service1.svc/getResources?person=' + person + 'unit=' + unit + 'developer=' + dev + 'dtm=' + date + 'token=' + token); nsm.AddNamespace("mmu", "http://apis.mmu.ac.uk/"); XmlNodeListxnList = homeAreaXml.SelectNodes("//entry"); foreach (XmlNodexn in xnList) { //do something! }
  • 36. Reading XML or RSS – The LINQ Way var items = from item in feed.Items where true orderbyitem.LastUpdatedTime.Date descending select item; foreach (SyndicationItem item in items) { //do something! }
  • 37. Outputting RSS SyndicationFeedresourcesFeed = new SyndicationFeed( "Resources for " + unit, "", null); Collection<SyndicationItem> items = new Collection<SyndicationItem>(); item = new SyndicationItem( title1 , description1, new Uri(buyItemsFeed) ); items.Add(item); item = new SyndicationItem( title2 , description2, new Uri(essentialItemsFeed) ); items.Add(item); resourcesFeed.Items = items; //choose between outputting as RSS or Atom Rss20FeedFormatter rss = new Rss20FeedFormatter(feed); return rss;

Editor's Notes

  1. We are often fixed in place by what our institutions have already bought into
  2. We have a policy that dictates ‘every unit will have an entry in the MIS and an entry in Moodle’
  3. Note tokenisation- equella
  4. LinqPad PasteXML as XElement - powerful way to create a XML document in C# codeLinq to everything (Linq to Facebook, Linq to Amazon, Linq to AD, Linq to LDAPhttp://rshelton.com/archive/2008/07/11/list-of-linq-providers.aspx)