Upload
heather-nelson
View
216
Download
0
Embed Size (px)
Citation preview
Using ASP.NET and Web Services in Courses
Paul Roe
Queensland University of Technology
© 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)
© 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…
© 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
© 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, …
© 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
© 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
© 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
© 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
© 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!)
© 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!
© 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!
© 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
© 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
© 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
© 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
© 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
© Paul Roe 2003 18
Best Assignment
© Paul Roe 2003 19
Best Assignment
© Paul Roe 2003 20
Best Assignment