Categories
Internet Application Development Uni notes

FIT5032: Summary

FIT5032, Internet Application Development was on of my favorite subjects this semester. It was structured very well for a programming subject, enabling students to get introductions to topics in lectures, learn more details in their own time and then come into tutorials if they need further clarification. Janet Fraser was a great lecturer, keeping students engaged with entertaining lectures.

The assignments for the subjects were very good. Forcing students to apply the topics covered in lectures.

The only thing I would change about the course is the introductory lectures to XML. Establishing the uses for XML and why it is better than other technologies for those specific applications would have been ideal. The exam with 40% of the grade being based on XML is also a bit odd as it definitely did not account for 40% of the topics covered in the subject.

I would recommend this subject to anyone who has or is planning to do any type of web development. I came into the subject thinking that ASP.NET was an inferior Microsoft option to the LAMP stack. I came out of the subject with an understanding of why 55% of fortune 1000 companies use IIS webservers.

webservermarketshare
2007 stats, source: http://www.port80software.com/surveys/top1000webservers/
Categories
Internet Application Development

FIT5032: Week 10

Week 10 of Internet Application Development was unfortunately a missed class for me. The lecture moved from data stores to web services.

The obvious place to start is with a definition of web service (source week 10 lecture notes):

A web service is a component of programmable application logic that can be accessed using standard web protocols.

XML comes unto its own in the web services field and ASP.NET does not deviate from the industry gravitation to XML.

Keeping with the practical flavor of the unit,  we go straight into some examples:


<%@ WebService Language="c#"%>
using System.Web.Services;
public class Greetings
{
 [WebMethod] public string Hello(string strName)
 {
  return "Hello, " + strName + ". Welcome to my web service";
 }
}
source: Week 10 lecture notes

The client options of GET and POST were briefly explored, but SOAP (http://en.wikipedia.org/wiki/SOAP)

Categories
Internet Application Development

FIT5032: Week 9

Internet Application Development’s 9th week expanded on the previous lectures introduction to dynamic ASP.NET pages and moved into DataControls, specifically the GridView.

Grid views have a number of column types:

  • BoundField – (default)
  • ButtonField – Enables Add and Delete buttons
  • CheckBox Field – good for booleans
  • CommandField – Predefined command buttons (Select, Edit, Delete)
  • HyperLinkField – self explanatory
  • ImageField – self explanatory
  • TemplateField – Custom data views

See how simple dynamic pages in ASP.NET are

Categories
Internet Application Development

FIT5032: Week 8

Internet Application Development’s eighth week began discussion on data stores. The topics covered included:

  • Introduction to data stores
  • DataSource Controls
  • User Interaction with data sources

Some common data stores include:

  • RDBMS (SQL server, Oracle, MySQL etc)
  • XML
  • Access 🙁
ASP.NET Data access controls

Categories
Internet Application Development

FIT5032: Week 7

Internet application development continued the style matching lecture material to assignment requirements. This seems like a very effective way to make the knowledge stick.

The topics this week were:

  • Validation Controls
  • Master Pages
  • Themes and Skins
  • Navigation Controls

All of these were required on our assignment which ensured we revised it in detail.

2007 stats, source: http://www.port80software.com/surveys/top1000webservers/

After working with ASP.NET I was really impressed and wondered how many large companies used it. The chart above is the web server market share for Fortune 1000 companies from mid 2007.

Categories
Internet Application Development

FIT5032: Week 6

Internet Application Development week 6, an introduction to C#.

The fist part of the lecture covered the basic data types and operators (most of which are the same as Java). Control structures and operators came next, again these reflected Java very closely.

Internet Application Development week 6, an introduction to C#.

The fist part of the lecture covered the basic data types and operators (most of which are the same as Java). Control structures and operators came next, again these reflected Java very closely.

Collections in the C-Sharp language are again a mirror of the Java language.

Functions are the methods of Java:

1
2
3
4
5
6
7
string MyFirstFunction(string Name, int Age)
{
...
...
...
return "Confirmed";
}
its ok for microsoft to copy open source but not the other way around...

To give a feel for the syntax and a useful tool, the code snippet below draws a table of web server information dynamically.

Categories
Internet Application Development

FIT5032: Week 5

Week 5 of Internet Application Development began our move towards dynamic page development. The topics covered were:

  • HTTP protocol review
  • HTML forms review
  • ASP.NET Standard server controls
  • Event driven programming and postback

As HTTP has been covered in detail through FIT9020 Data Communications I will skip this topic, noting that it is a stateless protocol. The diagram below illustrates how asp.net pages are processed from HTTP requests:

Categories
Internet Application Development

FIT5032: Week 4

Unfortunatly I missed the presentation of week 4’s Internet Application Development lecture, I will however make a summary from the note provided. The topics covered were:

  • Static vs Dynamic pages
  • Development environment for ASP.NET
  • IIS virtual directories 

From previous weeks, I seem to keep forgetting the difference between simple and complex types. An easy definition to remember:

In XML Schema, there is a basic difference between complex types which allow elements in their content and may carry attributes, and simple types which cannot have element content and cannot carry attributes.

source: http://www.w3.org/TR/xmlschema-0/

Categories
Internet Application Development

FIT5032: Week 3

Internet Application development week 3 extended on the subject of XML from last week. As we learned the basics in week 1 and the XML schema (.xsd) in week 2, next up was stylesheets (XSLT). Stylesheet start to give evidence to the value of XML in dynamic web design. HTML code can be generated through the ‘transformation of XML files and XSLT files.

source: http://walkabout.infotech.monash.edu.au/walkabout/fit5032/index.html

Initially this is not very exciting but when considering that style sheet processing can be done on the fly, it present a wide range of possibilities.

Some simple processing can be done in the XSLT, although it must be noted that it is certainly not a fully fledged programming language and is not enjoyable to write in!

A snippet of code from an XSLT doc illustrates this fact:

<td>
 <xsl:variable name="assTot" select="sum(assignments/assignment)"/>
 <xsl:variable name="unitTot" select="sum(assignments/unitTest)"/>
 <xsl:variable name="count" select="count(assignments/assignment) + count(assignments/unitTest)"/>
 
 <xsl:value-of select="format-number((($assTot + $unitTot) div $count), '##0.00')" />
 </td>
 <td>
 <xsl:variable name="assTot" 
 select="sum(/units/unit[unitCode='FIT5432']/class/studentMarks/student[@id=$curID]/assignments/assignment)"/>
 <xsl:variable name="unitTot" 
 select="sum(/units/unit[unitCode='FIT5432']/class/studentMarks/student[@id=$curID]/assignments/unitTest)"/>
 <xsl:variable name="count2" select="count(/units/unit[unitCode='FIT5432']/class/studentMarks/student[@id=$curID]/assignments/assignment) + 
 count(/units/unit[unitCode='FIT5432']/class/studentMarks/student[@id=$curID]/assignments/unitTest)"/>                
 <xsl:value-of select="format-number((($assTot + $unitTot) div $count2), '##0.00')" />
 </td>

After spending a lot of time this week working on the first assignment I feel quite comfortable with the topics covered in the first 3 weeks:

Categories
Internet Application Development

FIT5032: Week 2

After missing the first week of classes I was in for a bit of a shock in the second week lecture. There were a much larger number of students in the lecture than normal, this is due to the fact it is a level 5 subject and not specific to the MAIT course. 

The lecturer, Janet Fraser was very good with high energy presentation of what could otherwise be a very dry introduction to XML documents and XML schemas. After feeling very disorientated after the glut of new information from the lecture I got to work on the assignment to focus my attention on learning the most important points. Creating an XML schema based on a textual design spec and then validating the associated XML was a very good exercise to cement the first and second week material. 

A fantastice Open Source ASP.NET IDE (superior to VisualStudio)