BSc in Computer Science / Бакалавр в Області Комп'ютерних Наук

Course Details

Course Information Package

Course Unit TitleWEB-ENABLED APPLICATIONS
Course Unit CodeACSC404
Course Unit Details
Number of ECTS credits allocated6
Learning Outcomes of the course unitBy the end of the course, the students should be able to:
  1. Identify the components of web enabled applications and types of e-commerce systems and recognize their impact.
  2. Demonstrate how multi-tier architectures can be employed for developing web enabled applications. Design multi-tiered web applications and develop them programmatically using technologies such as JSP, JavaBeans and Servlets.
  3. Experiment and utilize with concepts such as session tracking, object scope and persistence/lifetime, collaboration with client-side components for DOM manipulation (AJAX), and backend connectivity and evaluate and select appropriate solutions according for problems faced.
  4. Understand the role of web services (both XML based and RESTful) and service-oriented architecture in web-based applications and construct and incorporate such services with applications
  5. Explain the challenge of data interexchange between resources on the web and argue on the efficiency of mechanisms used to address it, including XML documents and JSON.
Mode of DeliveryFace-to-face
PrerequisitesACSC476,ACSC382Co-requisitesNONE
Recommended optional program componentsNONE
Course Contents

Introduction to Web enabled applications. What are web-enabled applications. E-Commerce applications. B2C and B2B applications. Characteristics of successful web applications (flexibility, security, interfaces, integration). Components of a web application system. Major web development technologies.

Server-side components: Handling an HTTP request at the server. Dynamic content creation. The Servlet Class in Java.

Multi-tiered architectures: Limitations of basic client/server architectures. 3-tier and 4-tier architectures. Overview of the MVC model. Development of middleware components, JSP and JavaBeans.

Objects in web applications: Scopes and lifetime of components (request, page, session, application). Connectivity to data backends. Connection pooling mechanisms.

Constructing thick clients: DOM construction and representation at the browser. AJAX requests and DOM manipulation. HTML 5 and advanced JavaScript manipulation.

Introduction to Web Services: Extending the traditional distributed computing paradigm. Service oriented architectures. Benefits of web services and changes in software development methodologies. Review of core technologies - the WS-XML approach: SOAP and WSDL. Incorporating web services in web applications. Alternative web services paradigms: RESTful web services. Exposed resources and the HTTP methods / CRUD association.

Data Interexchange on the web: Diverse components, independent format. The XML meta-language. XML languages and definition (XSD, DTD). XML parsing. XML transformations. Lighter alternatives to interexchange: the JSON format. Libraries for form-to JSON translation (JAVA and JavaScript)

Recommended and/or required reading:
Textbooks
    No specific textbook required
References
  • T Downey, Web Development with Java, Springer
  • H Bergsten, JavaServer Pages, O Reily Press
  • D Crane, B Bibeault, Ajax in Practice, Manning Press
  • E Newcomer, Understanding Web Services, Addison-Wesley
  • S Allamaraju, RESTful Web services cookbook, O’Reilly
Planned learning activities and teaching methods

The course is taught in a traditional manner of lectures (2 hours per week) backed up with laboratory sessions. Lectures consist of presentations of new material and discussion of new concepts. Laboratory work mainly consists of demonstrations and programming exercises to gain practical skills.

Central to the course is the group project where students are required to develop a medium sized web application from analysis to implementation using the various technologies taught.

Implementation will focus on Java technologies. Students should download and install the latest Netbeans IDE. Familiarization with core OO programming, use of databases (MySQL will be used) and HTML is considered a prerequisite.

The course material (notes, exercises, forum, etc) is maintained on the university’s e-learning platform

Assessment methods and criteria
Lab work20%
Group project 30%
Final Exam50%
Language of instructionEnglish
Work placement(s)NO

 Друк  E-mail