Integração de Sistemas

Ano
0
Ano lectivo
2022-2023
Código
02000058
Área Científica
Engenharia de Software
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
Opcional
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)

Filipe João Boavida Mendonça Machado de Araújo

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.