20
Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology [email protected]

Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology [email protected]

Embed Size (px)

Citation preview

Page 1: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

Using ASP.NET and Web Services in Courses

Paul Roe

Queensland University of Technology

[email protected]

Page 2: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 2

Discuss Two Courses

• Software Development for the Web– Run twice, focus on ASP.NET– Some web services– IT Degree, third year elective subject– (¼ full time student load × one semester)

• Web Services– New course, to commence Feb 2004– Postgraduate elective subject– (¼ full time student load × one semester)

Page 3: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 3

Software Development for Web: Objectives

• Understand issues of s/w dev for web– Different from PC s/w dev.– Client server– State management– N-tier architecture, data access– Security, performance, web UI etc.

• Teach standard technology e.g. HTTP, HTML, XML, web services

• Give students experience with ASP.NET– Why? State of the art, easier than Java, useful, sexy…

Page 4: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 4

New Strategy for this Year

• Give students an existing system, ask them to make modifications– Study a well architected system– Easier marking– No need to bake one ourselves (to gauge

complexity)– More realistic – don’t start from scratch

Page 5: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 5

Example System: gasTix• gasTix example event ticketing

system like Ticketek• http://www.gastix.net• Example system

– best practice– well architected– Uses C#, VB.NET, database,

security, ASP.NET, web services– Comes with all source code

• Described in: G. Sullivan, “NET e-Business Architecture”, SAMS, 2002 (ISBN: 0672322196)

• Other possibilities on MSDN: IBuySpy, …

Page 6: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 6

Other Reference Material

• Visual Studio and SDK doco– Walk throughs– Tutorials– Reference

• Web, particularly for generic technology: HTTP, HTML, XML

• MSDN Academic Alliance notes

Page 7: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 7

Course Structure• Prerequisites

– Java– Intermediate level object oriented

programming– Basic HTML– Basic databases / SQL

• 2-3 hour lecture & 1 hour prac X 13 weeks

• Some guest lectures

• Assessment: 35% assignment, 65% exam

Page 8: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 8

Lectures• Topics:

– Web basics, HTTP, HTML, CGI, ActiveX, ASP/JSP (evolutionary perspective)

– .NET basics: CLR, C#, VS.NET– ASP.NET, form lifecycle– ADO.NET, N-tier architecture– Security– XML, web services– Real world issues: deployment, testing, team management etc.– New developments: UDDI, GXA, P2P

• Most lectures mix of:– Concepts, design, architecture– standards (e.g. HTTP, XML, web services)– .NET: practice inc. demos– Guest lectures

Page 9: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 9

Assignment

• Work in pairs• Extend the gasTix system• Gave them a database with some new tables

– Force them to use that database, only access via stored procs!

• Additional features– Customer registration– Support different counties– Web services address validator

• Assignment required them to understand existing code, but less coding for them to do

Page 10: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 10

Lab Setup

• Students developed and tested code on individual machines– run web server and database on each PC

• Machine configuration– Windows 2000 Professional– Internet Explorer– Visual Studio.NET Professional– IIS (optional Windows Professional component)– SQL Server

• Deploy final system on a server to make grading easier (xcopy deployment!)

Page 11: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 11

Ok so what happened? (2003)

• Lots of interest from students• Got 230 students, and most stayed the duration despite

it being on a Friday evening!• Lot of material to cover• Made good use of academic alliance program

– Students can work on assignment at home– couldn’t run the unit without this!

• Assignments– Initial results good (being graded now!)– Marked by tutors (research students, finding staff with expertise

is difficult)• Guest lectures went really well

– Better student behaviour and participation than for academics!

Page 12: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 12

Web Service Unit

• New, never run, this is the plan…

• Postgraduate elective

• Content– Why, big picture, business reasons– Core technology: SOAP, WSDL, UDDI– Case studies– New developments

• Use Java and .NET, WS are about interop!

Page 13: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 13

Environment

• Run on single machines• Windows XP• Run IIS and Tomcat – two web servers

– .NET web services– Java web services: Apache Axis / IBM / Sun

• Also program against some existing web services such as Amazon, Google, Terraserver, UDDI test servers

• Perhaps use Windows server 2003 for UDDI

Page 14: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 14

Teaching

• Subject will be taken by CS and IS students

• Want to support specialisation, hence:– First Half: intense lecture series– Second half (specialisation): group projects,

associated readings

• Books? Probably won’t use one

Page 15: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 15

Lectures

• Teach how web services can and are being used – business case, case studies(?)

• Web service architecture – where they fit in• Basic web service technology

– XML, Schema, SOAP, WSDL, UDDI– .NET and Java implementations

• Teach how to design web services, web service evolution, versioning, reusing WSDL, schema

• Generic web services: .NET Passport, Alerts etc.• How to secure web services• New technologies: WS-Security, WS-Coordination,

BPEL4WS – some projects using these

Page 16: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 16

Software Development for the Web: Assignment: 2002

• [Students built a system from scratch]

• Pizza ordering system for work group

• “Here’s one I made earlier”

• Incorporate some web services and other issues

• Required: ASP.NET, ADO.NET, data base

• Emphasized simple and elegant design

Page 17: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 17

Assignment Constraints• Work in pairs• Only use ASP.NET and C#• Use at least one custom web control• Use code behind and minimal inline

program code• Start from scratch

Page 18: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 18

Best Assignment

Page 19: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 19

Best Assignment

Page 20: Using ASP.NET and Web Services in Courses Paul Roe Queensland University of Technology p.roe@qut.edu.au

© Paul Roe 2003 20

Best Assignment