190 likes | 320 Views
Website Design. Lecture 1. Outline. Introduction to the module Outline of the Assessment Schedule Lecture Static XHTML, client side and server side Why server side What are the options (ASP/PHP/ColdFusion) Setting up your own server. Important information. Just in case you forgot
E N D
Website Design Lecture 1
Outline • Introduction to the module • Outline of the Assessment Schedule • Lecture • Static XHTML, client side and server side • Why server side • What are the options (ASP/PHP/ColdFusion) • Setting up your own server
Important information Just in case you forgot • Steve Wade • CW4/06 • s.j.wade@hud.ac.uk • 01484 472524
Introduction to Module - Aims • To give the learner an in-depth understanding of the role of different programming languages in the design and development of server-driven web environments. • To give the learner an in-depth understanding of the role of databases in the design and development of server-driven web environments. • To give the learner an in-depth appreciation of both client- and server-side implications associated with the delivery of database-driven web applications.
Introduction to the Module - synopsis • This module builds on the Web Authoring module, extending the range of skills and techniques developed to include server-side scripting and database integration.
Outline of the year • Semester 1 • Server side scripting • PHP • MySQL • Semester 2 • ASP.NET • SQL Server • Modelling for Website Design
Assumed knowledge • XHTML • JavaScript • CSS • Be able to use Dreamweaver to create a static website
Code • Static XHTML • Pages/data do not change without designer input • All users see the same page • Client side script (e.g. JavaScript) • Data still stays the same • Some customisation possible (e.g. colours, image changes) • Validation of user input • Server side script (e.g. CGI, ASP, PHP, ColdFusion) • Pages can be ‘made’ on the fly based on variables (e.g. search input, previous choices made by the user on their last visit, inputs from other sites or databases) • Page is constructed at the server end, then sent as simple html to the client
How does it work? HTML • First consider an HTML page: • You go to a webpage e.g. http://www.w3schools.com/ • The browser goes and find w3schools.com • Once found it sends a request for the index.htm file • The server finds that page and sends it to the browser • Once received the browser looks at the HTML code, reads it and converts it to a pretty, colourful, but static page
How does it work? CGI • After HTML came CGI: • HTML is one way (only receives), so something was needed to send information back to the server. forms and CGI (Common Gateway Interface) were created • Forms used to get information from the user, then that information is sent to the server where a separate program is run to deal with it • Great for small apps like a guestbook, but downside is every time someone sends something to the server, a whole instance of the CGI program is created. E.g. 5 people on site equals 5 programs running. Imagine if hundreds of people wanted to connect at the same time?!?
How does it work? Server API’s • CGI too slow, so Server Application Programming Interface born. ISAPI is the Microsoft version • Similar to CGI, ISAPI much more efficient. Doesn’t launch new version for every visitor
How does it work? ASP/PHP etc • And then came ASP/PHP/ColdFusion • Solved all the problems of CGI and ISAPI, and they are simpler to learn and easier to use • CGI and ISAPI written in Perl or C • ASP/PHP/CFM simply write code in the HTML, side by side • As with JavaScript
How does it work? ASP/PHP etc • You go to a webpage e.g. www.mydomain.com/index.php • The browser goes and find mydomain.com • Once found it sends a request for the index.php file • The server finds that page and executes it, which means it looks through the pages and runs any code in the page • After the code has run, all asp/php is removed from the result (so people cannot steal it) leaving a pure HTML page • The HTML page is sent to the browser for rendering
HTTP HTML HTML Client Web server PHP
Why server side • Content sites, catalogues (imagine news.bbc.co.uk with static code?!) • Community features (forums etc) • Email (instead of mailto link, have a form on your site to be filled in) • Technical support (search your problem, solutions stored/updated in a database) • Web delivered business applications (e.g shopping trolleys) • Directories (e.g. uni has an online phonebook) • Surveys, polls, tests (storing results and generating reports) • Personalisation • Etc etc…
Server side options • ASP.NET (and the older v3.0) • Microsoft • Windows Server • PHP • Open Source • Apache Server • ColdFusion • Macromedia • Runs on a windows server with ColdFusion server installed • JSP • Java Server Pages
Installing a server on your machine • IIS • Windows XP Pro and Windows 2000/2003 as standard • Apache • Easier to get a package (Apache, PHP, MySQL) • http://www.easyphp.org/ • http://www.wampserver.com/en/index.php (the one I use) • http://www.firepages.com.au/
Inside Uni • http://hermes.hud.ac.uk • PHP, MySQL • http://aspley.hud.ac.uk • ASP.NET,
Tutorial tasks • Make sure you can access http://hermes.hud.ac.uk • Download file week1.php from my site and test on hermes • Have a go at the first PHP exercises