
Sistemas e Tecnologias de Middleware
Código
8304
Unidade Orgânica
Faculdade de Ciências e Tecnologia
Departamento
Departamento de Informática
Créditos
6.0
Professor responsável
Henrique João Lopes Domingos, José Augusto Legatheaux Martins
Horas semanais
4
Total de horas
52
Língua de ensino
Português
Objectivos
Knowledge
- Understand the characteristics of different middleware systems and technologies, as reusable system foundations to approach complex distributed computing environments and applications;
- Know how distributed middleware systems and internetworking support work, with an in-depth vision and understanding of its internal components and protocols;
- Learn the models and architectures used in the development of reusable middleware services and components and its relevance in engineering complex distributed applications;
- Understand the problems, challenges and techniques regarding the design of presentation and application integration services, reusable middleware logics and data access models, to design N-tier service oriented software architectures (SOA) and enterprise application integration (EIA) platforms
Know-how
- Consolidate an hand-on-approach and a practical knowledge base on programming paradigms, software architecture and development tools provided by different middleware systems and technology
- Assemble systems based on different middleware services and distributed system components for the design and experimental assessment of distributed systems and applications
- Develop applications on top of specific middleware systems and technology
Soft-Skills
- Design, project and implementation of middleware layers, reusable as system-level services to deal with complexity and transparency at the application level;
- Know how to model, how to specify and how to report experiments using middleware systems and technology, including experimental assessment concerns, proof-of-concept demonstration results and analysis.
- Be capable of studying and surveying middleware systems and technology, namely middleware products and technology available in the market;
- Be capable of researching hot topics, open-issues or new trends in the design of innovative middleware systems and technology.
- Improve planning and organization skills for group collaboration and group projects on large scale information systems, with separation of concerns, duties and responsability roles of each participant to address the common goals.
Pré-requisitos
- Good knowledge base on Distributed Systems: concepts, foundations, programming models, paradigms and design principles.
- Good Programming Skills
- Distributed Systems Project capabilities and autonomy:
- J2SE or MS Studio .Net programming, IDEs and Tools
- Internetworking and programming with TCP/IP
- Distributed systems programming (design, specification and programming practice).
Conteúdo
- Introduction
- Distributed Middleware System Models and Architectures
- Multi-tier Architectures, Modules and Patterns
- Engineering Object Broker Middleware Architectures
- Synchronous and Asynchronous Message Oriented Middleware (MOM)
- Reliable Messsage Queuing and Enterprise Application Integration (EAI)
- Web-Application Servers and Web-Oriented Middleware Technology
- Multi-Channel Middleware Platforms. Mobile and Ubiquitous Middleware Environments and Programming Frameworks
- Cloud-Based Dependable Middleware Solutions
Bibliografia
Course program main topics:
- Gustavo Alonso, F. Casti, H. Kuno, V. Machiraju, Web Services Concepts, Architectures and Applications, ISBN 3-540-44008-9 Springer, 2004
- A. Tanembaum, M. Van Steen, Distributed Systems Principles and Paradigms, ISBN 0-13-239227-5, Prentice Hall, 2007
- K. Birman, Reliable Distributed Systems Technologies, Web Services and Applications, ISBN-13-978-0-387-21509-9, Springer, 2005
Practical topics for specific work-assignments:
- W. Emmerich, Engineering Distributed Objects, ISBN 0-471-98657-7 Wiley, 2000W. Iverson, Real World Web Services, ISBN 0-596-00642-X, O''''''''Reilly 2004
- R. Mogha, V.V. Preetham, Java Web Services Programming, 0-7645-4952-9, Wiley, 2002
- E. Bruno, Java Messaging, ISBN -58450-418-8 Charles River Media - Programming Series, 2006
- Complementary web-references and resources will be provided by the teacher for work-assignments
Complementary references
Experimental work (examples, hands-on exercices or workgroup assignments) covering the following middleware systems and technology:
- Agent based middleware platforms
- Oracle Fusion Middleware
- Windows Azure App Fabric
- IB WebSphere MQ / IBM MQ Series
- Spring AppServer Development Platform
- JBoss Application Server
- Backbase Enterprise Portal / Multi-Channel Development Framework
Additional suggested readings, based on a selected set of papers, will proposed, introduced and provided by the professor in the course web-site, to cover the final topics related with on-going research on middleware systems and technology.
Método de ensino
Theoretical lectures for presenting and discussing theoretical foundations, fundamental concepts, middleware paradigms and architectural patterns, as well as techniques, interoperability protocols and algorithms.
Labs, used for the implementation, practice and demonstration of algorithms, protocols and experimental analysis with hands-on validation exercises. Work assignments are used to integrate and to consolidate the theoretical foundations with practical knowledge in designing, programming and testing middleware systems and technology.
The complementary topics on middleware research-orienetd topics and/or middleware enterprise solutions are introduced as complementary topics. These topics are addressed with surveys and analysis on a selected set of research papers and/or middleware products, as final optional work-assignments or mini-projects.
Obs) Classes may be taught in portuguese or english.
Método de avaliação
Assessment components:
- T1, T2: Midterm Tests (Theoretical and Practical Evaluation): 30%
- W1, W2: Lab work assignments with reports (30%):
- FP: Final lab mini-project with report (40%)
- Average rating of W1 and W2: at leaat 10/20
- FP grade: at least 10/20