Integração de Sistemas

Ano
4
Ano lectivo
2020-2021
Código
02000058
Área Científica
Engenharia Biomédica
Língua de Ensino
Inglês
Outras Línguas de Ensino
Português
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Obrigatória
Nível
2º Ciclo - Mestrado

Conhecimentos de Base Recomendados

Programação

Redes de computadores

Sistemas distribuídos

Bases de dados.

Métodos de Ensino

Aulas teóricas, recorrendo a meios audiovisuais, com exposição detalhada dos conceitos, princípios e teorias fundamentais e com a resolução de exercícios práticos elementares que concretizem o interesse prático da matéria e exemplifiquem a sua aplicação a situações reais.

Aulas práticas-laboratoriais, onde o docente deverá apoiar os alunos na realização dos trabalhos práticos.

A avaliação consiste num exame final e em trabalhos práticos. No exame serão colocadas questões de natureza teórica, em que os alunos terão de demonstrar a compreensão das matérias cobertas na unidade curricular.

Resultados de Aprendizagem

Esta disciplina pretende dotar os alunos de competências e conhecimentos avançados de integração e interligação de aplicações e sistemas com particular atenção aos seguintes casos:

- interligação de diferentes módulos duma mesma aplicação de grande dimensão, com particular ênfase em aspetos como desempenho, segurança e monitorização;

- integração de aplicações informáticas provenientes de diferentes origens, dentro duma mesma organização;

- integração de aplicações informáticas entre organizações distintas.

Infelizmente, muitos dos sistemas reais que encontramos tendem a utilizar soluções ad hoc, extremamente frágeis e pouco preparadas para evoluírem. Para resolver estes problemas, os alunos deverão aprender a integrar sistemas de forma estruturada. É dada uma forte ênfase à integração utilizando sistemas de middleware, em particular, utilizando abordagens como SOA (Service Oriented Architecture), ESB (Enterprise Service Bus) e programação reativa.

Estágio(s)

Não

Programa

Formatos de representação de dados:

- Extensible Markup Language (XML), linguagens de esquema: DTD e XSD. Outras tecnologias para o XML: XPath e XSLT

- JavaScript Object Notation (JSON). MessagePack. Protocol Buffers

- Outras tecnologias: Apache Thrift e gRPC.

Micro-serviços.

Java Enterprise Edition Technologies:

- Enterprise Java Beans & Java Persistence API.

- Java Persistence Query Language. Context-Dependency Injection.

- Logging (no contexto de JavaEE).

- Inversão de Controlo, Injeção de dependências e Service Locator (no contexto de Java EE).

Transações distribuídas, Two-Phase Commit, Business Activities e Isolamento.

Middleware orientado às mensagens & programação reativa.

Problemas fundamentais na Integração de aplicação em grande escala (caso de estudo "Widgets & Gadgets").

Arquitetura orientada aos serviços (SOA) e Enterprise Service Bus (ESB).

Introdução ao SAP NetWeaver.

Integração com Sistemas Legados: desafios e abordagens.

Técnicas de fiabilidade e tolerância a falhas.

Docente(s) responsável(eis)

Pedro Nuno San-Bento Furtado

Métodos de Avaliação

Avaliação
Projecto: 50.0%
Exame: 50.0%

Bibliografia

• Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, by Gregor Hohpe & Bobby Woolf, Addison-Wesley Professional, ISBN: 0321200683

• Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services, by Thomas Erl, Prentice Hall PTR, ISBN: 0131428985

• Building Microservices-Designing Fine-Grained Systems by Sam Newman, O'Reilly Media, ISBN-13: 978-1491950357

• IT Architectures and Middleware: Strategies for Building Large, Integrated Systems (2nd Edition), by Chris Britton, Peter Bye Addison-Wesley Professional, May 2004

• Enterprise Application Integration, by David Linthicum, Addison-Wesley, ISBN 0201615835, December 1999

• Next Generation Application Integration, by D. Linthicum, Addison-Wesley, ISBN 0201844567, 2004

• Developing Java Web Services: Architecting and Developing Secure Web Services Using Java, by Ramesh Nagappan et. al., Wiley International

• XML Bible (2nd Edition), by Elliotte Rusty Harold, Wiley, 2001, ISBN 0764.