INSE - Lecture 21 Web SE Background (long to persuade you) SE differences
Background to the Web Overview of the history Overview of the technology
How the Internet happened (1) First there were isolated mainframes –
How the Internet happened (2) Then there was some local linking –
How the Internet happened (3) Then national networks –
How the Internet happened (4) Then gateway-based inter-netting –
When the nets were joined The various nets ’ protocols were merged – POP2 and SMTP for mail FTP for file transfer IP/TCP as a low-level basis
Host “ Server ” programs … … are needed by most protocols:
Which all assumed … that you already knew what internet resource you wanted, and where i.e. that it existed, and it ’ s “ address ” that the “ real ” work was done by standalone programs which would be platform-dependant
“ Windows ” platforms … then became common why not a “ windows ” program to “ look at ” suitably formatted files from elsewhere? BROWSERS [late 1980s]
Using a Browser …
Main implications … 1) Mark-up language – HTML 2) “ Links ” from one file to another we only need to know a “ start ” address into a web-site searchers to find those start-points for us 3) HTTP protocol
But such files were “ dead ” So why not add some programming capability to the HTML? client-side? server-side? [mid/late 1990s]
Client-side technology 1)Scripting, e.g. in JavaScript: for (I=0;I<10;I++) { … } document.write( “ ” ) 2)Applets (in Java), Flash, etc
Client-side capabilities Scripts & Applets etc. can read files from host can write and read “ cookies ” locally on the client computer can ’ t write files anywhere else
Server-side technology 1)Scripting, e.g. in PHP: <? for (I=0;I<10;I++) { … } echo “ to the client ” ; ?> 2)Servlets (in Java), JSP, ASP etc.
Server-side capabilities Scripts + Servlets can send HTML to the client/ browser can read and write cookies on the client computer can read and write files on the host computer can invoke plug-ins of the server program – e.g. data-base engines
Inside the host+server
ENGINEERING web software Implications of size & complexity on building large web-sites. But first …
Small web-sites Mostly “ one-man ” jobs the one person does all the various kinds of work needed a tradition of improvisation little planning or design a lot of “ evolving ” a site
Consequence: Many badly-structures & poorly- built sites have failed we seldom notice them (because they either disappear quickly or attract little use)
Then big/complex web-sites … … started getting built … many of the problems we also get with big/complex non-web software need to specify, design, plan, test, QA, etc. BUT new kinds of problem as well.
Nature of a web application Mix of publishing graphics, layout, etc. interactivity programming advertising commercial
Nature (technical view) net-active content-driven “ look and feel ” secure continuous evolution only the first release can be waterfall! very quick/continuous developments
Consequences Different sort of team Different life-cycles very quick evolution new kinds of life-cycle stage new elements in “ old ” stages other new SE issues, other new PM-of-SE issues
Different sort of team Content providers & developers Artists, graphics designers, layout specialists Tekkies! (us!) “ Director ” to pull the parts together “ Producer ” to manage the effort
New tekkie aspects (1) Webmaster often 2 levels: Customer interface Reporting customer issues – e.g. browser problems, navigation problems, bugs
New tekkie aspects (2) Technical manager ensures planning oversight of development policies ensures appropriate access rights/security CM-like issues, including change control – but (1) fast (2) many small changes QA including link monitoring (e.g. “ dead ” links) site traffic measurement & analysis
New/changed lifecycle stages Requirements (purpose?) Spec (incl. content & art issues) Design architecture navigation interface Content conception production Testing – many new challenges Customer evaluation
Project management issues maybe slow initial build then frantic continuous change hard to plan hard to control very hard to ensure consistency estimation – is it meaningful?
PM-of-SE issues (continued) People – very different kinds, mixed much more than in a traditional SE team crucial to have a “ team spirit ” can ’ t afford internal politics
WEB SE – conclusion All so familiar All so different
After this lecture Web SE is very new – so … … it will still change very fast for maybe another decade – so … … you ’ ll need to invest special effort to stay up-to-date with it
u © C Lester