Aplicações Distribuídas sobre a Internet
Description
Objectives
The main objectives of the Course to provide students with sufficient knowledge and skills to develop computer systems and distributed applications on the Internet. After successful course completion students will be able to: - Understand the various problems inherent in developing an Internet application. - Understand, compare and evaluate the various application architectures on the Internet. - Evaluate the applicability of the various architectures - Know and apply existing technologies and systems for the development of distributed internet applications. - Develop distributed Internet applications using existing technologies: storage, processing, communication and presentation.
Syllabus
Introduction to large scale distributed systems Distributed system architectures Resource identifiers and naming systems Solutions for internet data heterogeneity (JSON and XML) Remote Procedure Calls SOAP and REST webServices Mobile code Data modelling and Persistence mechanisms (Introduction to SQL) Object-relational mapping middlewares Cloud computing models(IaaS, PaaS, SaaS) Cloud Programming models
Prerequisites
Object-Oriented Programming Systems Programming Computer Networks and the Internet Concurrent Programming
Cross Competence Component
STRATEGIC THINKING / CRITICAL THINKING / TROUBLESHOOTING STRATEGIES During the resolution of the project, students will be faced with a series of challenges and options that will force them to make a decision and these skills will be presented and exercised. The evaluation of the project will take into account the quality of the solutions presented by the students, directly reflecting these skills, with a weight of about 10% in the final grade. WRITTEN COMMUNICATION / STRUCTURING AND FORMATION OF REPORTS AND PRESENTATIONS Project delivery will be accompanied by a report. One of the components of the assessment is written the report, which will take into account the structure, clarity, quality of the document, but also the ability to present the technical concepts. Corresponds to 10% of the grade. TEAMWORK As the project will be carried out in groups of students, this skill will be developed during the course and indirectly evaluated in the project.
Laboratorial Component
In the first weeks, the laboratories will serve for the solving of assignments and exercises that illustrate the concepts, techniques and technologies. The assignments will be given in advance so that students can start solving them before the laboratory and continue them afterwards. In the final weeks, the laboratories will be used for the implementation of the project.
Programming And Computing Component
All the concepts presented in the Course and learnt by the students are related to Programming. The laboratories and project will require the programming of applications.
Ethical Principles
All members of a group are responsible for the group’s work In any assessment, every student shall honestly disclose any help received and sources used. In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.