User:Igabriel85

Laboratory aims
The Web Technology laboratories aim at introducing to students some of the most known/used technologies related with web development. As a consequence the goal is to familiarise students not with particular tools and frameworks but to make them understand that there is a vast array of practical solutions (languages, transmission protocols, frameworks) which they can choose from when deciding to do web development. It does not really matter what solution you choose as long as you are familiar with it and are aware of the fact that at the foundation every solution relies on the same general web technology (XML, HTTP, SOAP, Web Services, Server/Client Side Scripting, etc.).

General map of the lab
Retrieve using HTTP a remotely located HTML document → Modify/Create an HTML document → Validate it (DTD, XMLSchema) → Discover the similarities/differences from XML → Create an HTML document from an XML by transforming the latter (XSLT, templating engines) → Improve the HTML by adding client side scripting (asynchronous and synchronous) (JavaScript, DOM, AJAX) → Send requests to server side (forms) using various technologies (HTTP, XML, SOAP, JSON) → Process requests using server side scripting → Discover that there is more than one way of doing server side programming (scripting-like languages: PHP, ASP.NET, JSP; servlets; web services; applets; JNLP) → and that the web is not made up of only web sites (queuing systems and component based software) → Retrieve data from databases or LDAP directories → optimise your HTML page for SEO and SEA → add RSS feeds to it once you're done.

Laboratory agenda

 * Web technologies -- 2014-2015 -- info.uvt.ro
 * Web technologies -- Laboratory 1 -- 2014-2015 -- info.uvt.ro
 * Web related technologies, methodologies, concepts, ...
 * Sockets
 * Client Server applications
 * TCP/IP
 * URI, URL, URN
 * HTTP
 * Web technologies -- Laboratory 2 -- 2014-2015 -- info.uvt.ro
 * HTML
 * HTML Forms
 * CSS
 * Web technologies -- Laboratory 3 -- 2014-2015 -- info.uvt.ro
 * XML
 * XSL (XSLT)
 * Web technologies -- Laboratory 4 -- 2014-2015 -- info.uvt.ro
 * Templating engines
 * The Velocity engine
 * Web technologies -- Laboratory 5 -- 2014-2015 -- info.uvt.ro
 * Parsing and creating XML documents
 * SAX
 * DOM
 * Web technologies -- Laboratory 6 -- 2014-2015 -- info.uvt.ro
 * JavaScript
 * AJAX
 * JSON
 * Web technologies -- Laboratory 7 -- 2014-2015 -- info.uvt.ro
 * Web Servers - Apache Tomcat
 * Java Servlets
 * JDBC
 * Web technologies -- Laboratory 8 -- 2014-2015 -- info.uvt.ro
 * JSP
 * Web technologies -- Laboratory 9 -- 2014-2015 -- info.uvt.ro
 * JSF
 * Web technologies -- Laboratory 10 -- 2014-2015 -- info.uvt.ro
 * JNLP
 * Java Applets
 * Web technologies -- Laboratory 11 -- 2014-2015 -- info.uvt.ro
 * JNDI, LDAP
 * Web technologies -- Laboratory 12 -- 2014-2015 -- info.uvt.ro
 * Web Services
 * Web technologies -- Laboratory 13 -- 2014-2015 -- info.uvt.ro
 * SEO and SEA principles
 * Web technologies -- Laboratory 14 -- 2014-2015 -- info.uvt.ro
 * Discussions
 * Web technologies -- Laboratory 15 -- 2014-2015 -- info.uvt.ro
 * (EXTRA) Queuing Systems: AMQP and JMS
 * Web technologies -- Laboratory 16 -- 2014-2015 -- info.uvt.ro
 * (EXTRA) RSS Feeds
 * Web technologies -- Laboratory 17 -- 2014-2015 -- info.uvt.ro
 * (EXTRA) PHP primer
 * Web technologies -- Laboratory 18 -- 2014-2015 -- info.uvt.ro
 * (EXTRA) PHP advanced


 * Other:
 * Stelian Mihalas -- Web technologies (EN)
 * Stelian Mihalas -- Web technologies (RO)
 * Philip Greenspun -- Software Engineering for Internet Applications

Laboratory evaluation
During each lab you will be given some problems to solve. At the end each of student will report his/hers progress and during the next laboratory a number of 3-5 students will be randomly picked for questioning on their assignments. The students will be graded for each answer (on a scale of 1 to 10) and the final lab grade will be the average of their obtained grades. The grade will make up 40% of your final grade.

The assignments need to be placed on the SVN prior to the lab. You will need to grab the assignment from the repository during each lab. Only assignments placed on the SVN will be taken into consideration.

Tools

 * Java
 * Main page


 * Eclipse
 * Main page


 * Jetty
 * Main page


 * Tomcat
 * Main page


 * Ant
 * Main page

Tutorials

 * Java / J2SE -- Java Standard Edition
 * The Java Tutorials
 * Getting started -- mandatory
 * Learning the Java Language -- mandatory
 * Essential Java Classes -- partial
 * Exceptions -- mandatory
 * Basic I/O -- mandatory
 * Custom Networking -- partial
 * Overview of Networking -- mandatory
 * Working with URLs -- mandatory
 * All About Sockets -- mandatory
 * JDBC Database Access -- mandatory


 * J2EE -- Java Enterprise Edition
 * Java EE 5 Tutorial
 * Getting Started with Web Applications -- mandatory
 * Java Servlet Technology -- mandatory


 * Eclipse
 * Using Eclipse Europa -- A Tutorial


 * W3Schools tutorials
 * TCP tutorial
 * HTML tutorial
 * CSS tutorial
 * XML tutorial
 * XSLT tutorial

Books

 * Processing XML with Java -- available on-line
 * XML -- Managing Data Exchange -- available on-line
 * Thinking in Java -- Bruce Eckel -- available on-line
 * Web technologies: a computer science perspective -- Jeffrey C. Jackson -- available on-line

Examples

 * Yahoo! Pipes

Marc Frincu, 2009-9-16, [mailto:mfrincu@info.uvt.ro mfrincu@info.uvt.ro]