Information systems 2

Undergraduate course, HES-SO // University of Applied Sciences Western Switzerland, 2019

Teaching assistant for practical exercices for 1 year (2020). This course is followed by bachelor students in computer science (3rd year).

Objectives

At the end of the course, the student knows how to:

  • Install, configure and maintain an information server.
  • Analyze a concrete need for an information system and design its architecture based on existing models (N-tier, distributed, etc.).
  • Describe, compare and use the usual technologies for presenting information on fixed and mobile media.
  • Apply and choose the most relevant frameworks for the realization of an information portal.
  • Design an XML database and access it with an appropriate query language.
  • Assume a technical consulting function for a client in the field of information systems.
  • Determine the stakes of new technologies, the importance of standardization in the process of data exchange and in the editorial chain of the company.

Content

  • Information system (Definition, principles, models, installation and configuration, access protocols, comparison, etc.).
  • Protocols and languages: HTTP, MIMETYPE, URI, XHTML, CSS.
  • Advanced XML schema modeling techniques.
  • Client/server architectures: 2-tier, 3-tier, n-tier and SOA (Services Oriented Architecture) architectures.
  • Frameworks, application servers and development platforms.
  • The .NET platform: introduction and operating principles.
  • NET platform: ASP.NET and ADO.NET.
  • The Java EE platform: introduction and operating principles.
  • Java EE: servlets, JSP and JSF.
  • Overview of the PhP and Ruby on Rails platforms.
  • Web Services: principles and protocols (UDDI, WSDL, SOAP).
  • XML databases.
  • RIA (Rich Internet Application) - AJAX - declarative interfaces (XAML, XUL, etc.).
  • Directories and meta-directories.

My role in this course

Teaching assistant for two pratical work sessions :

  • Implementation a web architecture using two diffeent approaches : 3-tier vs. micro-services
    • Technologies used : npm and NodeJS for the back-end and HTML/CSS for the front-end
    • Students had to highlight pros and cons of both approaches on several points :
      • Code update
      • Debugging
      • Performance (response tme of queries)
      • Cost of implementation and operation (i.e. deployment)
  • Implementation a web architecture using the Spring MVC framework
    • Initiating a project (Spring Boot and Spring Initializr)
    • Setting up JavaServer Pages (JSP) views
    • Use of Java Standard Tag Library (JSTL)
    • Beans and scopes
    • Persistence with Java Persistence API (JPA) and Hibernate
    • Object Relational Mapping - Entities
    • Java Persistence Query Language (JPQL)

Videos were recorded and uploaded on a private playlist on YouTube for these two pratical work sessions.