Integração de Sistemas
2
2024-2025
02000058
Informática
Inglês
Português
Presencial
Semestral
6.0
Obrigatória
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ãoPrograma
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)
Carlos Nuno Bizarro e Silva Laranjeiro
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.