Web Technologies/2021-2022

From Wikiversity
Jump to navigation Jump to search

Laboratory aims[edit | edit source]

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[edit | edit source]

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, Python; servlets; web services; Flask applications) → 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.

NOTE: Some Tools and tutorials will be changed to more up to date versions in the coming weeks.

TOOLS, FRAMEWORKS, LIBRARIES[edit | edit source]

Laboratory agenda[edit | edit source]

  • Web technologies/2021-2022
    • Laboratory 1
      • Web related technologies, methodologies, concepts, ...
        • Sockets
        • Client Server applications
        • TCP/IP
        • URI, URL, URN
        • HTTP
    • Laboratory 2
      • HTML
      • HTML Forms
      • CSS
    • Laboratory 3
      • XML
      • XSL (XSLT)
      • XPath Queries
    • Laboratory 4
      • Templating engines
        • The Jinja2 engine
    • Laboratory 5
      • Parsing and creating XML documents
        • SAX
        • DOM
      • Projects
    • Laboratory 6
      • JavaScript
        • AJAX
        • JSON
    • Laboratory 7
      • Web Servers - Apache2, NGiNX
      • The Flask framework
      • SQLAlchemy
      • DBMS - SQL vs NoSQL
    • Laboratory 8
      • Object-relational mapping
    • Laboratory 9
      • Creating dynamic pages
    • Laboratory 10
      • Frontend and backend user input validation
      • Securing a web application
    • Laboratory 11
      • LDAP, Authentication
    • Laboratory 12
      • Web Services
      • REST API's
      • REST API examples using Python
    • Laboratory 13
      • Putting it all together
      • Structuring a web application
      • Deployment of a website
    • Laboratory 13.5
      • SEO and SEA principles
      • MIcroservices
    • Laboratory 14
      • Discussions
    • Laboratory 15
      • (EXTRA) RSS Feeds
    • Laboratory 16
      • (EXTRA) PHP primer
    • Laboratory 17
      • (EXTRA) PHP advanced

Laboratory evaluation[edit | edit source]

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 could be randomly picked for questioning on their assignments. The final grade will be the average between the homework assignments and a project. An updated project list will be made available in the second week. For more complex projects a team of no more than 3 student is allowed.

Tools[edit | edit source]

Bibliography[edit | edit source]

Tutorials[edit | edit source]

Books[edit | edit source]

Gabriel Iuhasz gabriel.iuhasz@e-uvt.ro

Alexandru Munteanu alexandru.munteanu@e-uvt.ro

Sebastian Stefaniga sebastian.stefaniga@e-uvt.ro