Qualificação universitária
A maior faculdade de Informática do mundo”
Apresentação
Em apenas 12 meses, será capaz de desenvolver uma aplicação web completa do início ao fim. Inscreva-se agora mesmo”
O avanço de tecnologias como o 5G, a Internet das Coisas, a Inteligência Artificial e o boom do comércio eletrónico impulsionaram a criação de aplicações e serviços web inovadores. Neste cenário, para além do desenvolvimento em si, a atenção personalizada ao utilizador e as garantias de segurança na conectividade adquiriram grande relevância.
Esta é uma realidade que tem motivado muitos profissionais de Informática a melhorar as suas competências e aptidões nestas áreas de forma a conseguirem entrar em grandes empresas do setor. Para facilitar esta progressão profissional, a TECH criou este Master em Desenvolvimento de Aplicações e Serviços Web com 12 meses de duração.
Trata-se de um Master que abrange todos os elementos essenciais para o planeamento, desenvolvimento e exploração deste tipo de solução. Além disso, o plano de estudos incorpora as últimas tendências em opções de implementação na Nuvem e oferece uma visão de 360 graus das Arquiteturas Web. Tudo isto é complementado por numerosos materiais didáticos multimédia, acessíveis a qualquer hora do dia a partir de um dispositivo eletrónico com ligação à internet. Além disso, graças ao método Relearning, baseado na reiteração de conteúdos essenciais, o aluno conseguirá uma aprendizagem muito mais eficaz, sem necessidade de investir longas horas de estudo e memorização.
Uma oportunidade excecional para aumentar o leque de atuação num setor em crescimento através de uma proposta académica 100% online e flexível. Com esta metodologia, o profissional terá maior liberdade para autogerir o seu tempo de acesso aos conteúdos e conciliar as suas atividades pessoais e profissionais diárias.
Com este Master, ficará a par das tendências recentes no desenvolvimento sem código e dos avanços na IA generativa"
Este Master em Desenvolvimento de Aplicações e Serviços Web conta com o conteúdo educativo mais completo e atualizado do mercado. As suas principais caraterísticas são:
- O desenvolvimento de casos práticos apresentados por especialistas em Software, Sistemas e Computação
- Os conteúdos gráficos, esquemáticos e eminentemente práticos fornecem informações científicas e práticas sobre as disciplinas essenciais para a prática profissional
- Os exercícios práticos em que o processo de autoavaliação pode ser utilizado para melhorar a aprendizagem
- A sua ênfase especial nas metodologias inovadoras
- As lições teóricas, perguntas a especialistas, fóruns de discussão sobre questões controversas e atividades de reflexão individual
- A disponibilidade de acesso aos conteúdos a partir de qualquer dispositivo fixo ou portátil com ligação à internet
Adquira conhecimentos avançados sobre gestão, segurança e observabilidade em serviços web"
O corpo docente do Master inclui profissionais do setor que trazem a sua experiência profissional para esta capacitação, para além de especialistas reconhecidos de sociedades de referência e universidades de prestígio.
Os seus conteúdos multimédia, desenvolvidos com a mais recente tecnologia educativa, permitirão ao profissional uma aprendizagem situada e contextual, ou seja, um ambiente simulado que proporcionará uma capacitação imersiva programada para praticar em situações reais.
A estrutura deste Master centra-se na Aprendizagem Baseada em Problemas, na qual o profissional deve tentar resolver as diferentes situações de prática profissional que surgem durante o seu decorrer. Para tal, contará com a ajuda de um sistema inovador de vídeos interativos criados por especialistas reconhecidos.
O sistema Relearning permitir-lhe-á reduzir as longas horas de estudo e memorização"
Aprofunde os seus conhecimentos sobre os últimos desenvolvimentos nas opções de implementação na nuvem com os melhores profissionais da área"
Programa de estudos
Esta instituição académica oferece aos alunos uma vasta gama de recursos didáticos, tais como vídeos detalhados, resumos em vídeo de cada tópico, leituras especializadas e casos de estudo. Através destas ferramentas didáticas, o profissional de informática aprofundará os seus conhecimentos sobre Desenvolvimento de Aplicações e Serviços Web de uma forma muito mais agradável, permitindo aos alunos obter uma aprendizagem integral que os levará a aumentar o seu campo de ação neste domínio e a distinguir-se do resto dos concorrentes.
Tem à sua disposição uma vasta gama de recursos de aprendizagem, acessíveis 24 horas por dia, 7 dias por semana"
Módulo 1. Arquiteturas web avançadas
1.1. Arquiteturas web avançadas
1.1.1. Arquiteturas orientadas para os serviços e arquiteturas orientadas para a web
1.1.2. Aspetos funcionais e não funcionais das arquiteturas web
1.1.3. Tendências e futuro das arquiteturas web
1.2. Componentes da arquitetura web
1.2.1. Componentes do lado do cliente
1.2.2. Componentes da rede
1.2.3. Componentes do lado do servidor
1.3. Protocolos de comunicação em arquiteturas web
1.3.1. Modelo OSI e camada de aplicação
1.3.2. Hypertext Transfer Protocol (HTTP/S)
1.3.3. Outros protocolos (FTP, SMTP, Websockets)
1.4. Camadas de uma arquitetura web
1.4.1. Camada de apresentação
1.4.2. Camada de aplicação
1.4.3. Camada de dados
1.5. Tipos de arquiteturas web
1.5.1. Arquiteturas monolíticas
1.5.2. Arquiteturas orientadas para os microsserviços
1.5.3. Arquiteturas serverless
1.6. Padrões de arquiteturas de aplicações web
1.6.1. Modelo-Visão-Controlador (MVC)
1.6.2. Modelo-Visão-Apresentador (MVP)
1.6.3. Modelo-Visão-Modelo de Visão (MVVM)
1.7. Melhores práticas em arquiteturas web
1.7.1. Segurança e testes por defeito
1.7.2. Escalabilidade e resiliência
1.7.3. Reutilização, extensibilidade e integrabilidade
1.8. Design de arquiteturas web
1.8.1. Análise de requisitos empresariais
1.8.2. Tipos de diagramas e ferramentas
1.8.3. Documentação
1.9. Evolução da arquitetura web
1.9.1. Processos de melhoria contínua
1.9.2. Integração com terceiros
1.9.3. Apoio e manutenção de sistemas legacy
1.10. Arquiteturas web de referência
1.10.1. Websites estáticos e dinâmicos
1.10.2. Serviço de comércio eletrónico
1.10.3. Plataforma de streaming
Módulo 2. Desenvolvimento do front-end da aplicação web
2.1. Tecnologias de desenvolvimento front-end de aplicações web
2.1.1. HTML5
2.1.2. CSS
2.1.3. DOM e JavaScript
2.2. Padrões de desenvolvimento de front-end
2.2.1. Aplicações de várias páginas
2.2.2. Aplicações de página única
2.2.3. Aplicações web progressivas
2.3. Desenvolvimento de interfaces de utilizador (IU) em aplicações web
2.3.1. Frameworks e ferramentas de desenvolvimento front-end
2.3.2. Separação de responsabilidades
2.3.3. Arquiteturas orientadas para componentes
2.4. Comunicação cliente-servidor
2.4.1. Fluxo de pedidos
2.4.2. Comunicação síncrona
2.4.3. Comunicação assíncrona
2.5. Controlo de estado em aplicações web
2.5.1. Estado global e partilhado nas aplicações web
2.5.2. Padrões de gestão do estado (Redux, MobX, Recoil)
2.5.3. Casos de utilização e recomendações
2.6. Experiência de utilizador (UX) em aplicações web
2.6.1. Design centrado no utilizador
2.6.2. Arquitetura da informação
2.6.3. Ferramentas de design e prototipagem
2.7. Acessibilidade web
2.7.1. Normas e regulamentos de acessibilidade na web (ADA, WCAG, European Accesibility Act)
2.7.2. Accessible Rich Internet Applications (ARIA)
2.7.3. Ferramentas para acessibilidade web
2.8. Suporte multiplataforma
2.8.1. Design mobile first e responsivo
2.8.2. Ferramentas de desenvolvimento nativas
2.8.3. Ferramentas de desenvolvimento híbridas
2.9. Tradução e internacionalização
2.9.1. Gestão linguística
2.9.2. Codificação de carateres
2.9.3. Formatos regionais
2.10. Otimização e desempenho do front-end
2.10.1. Técnicas para otimização de carga
2.10.2. Carga lazy e diferida de recursos
2.10.3. Ferramentas para testes e medição do desempenho
Módulo 3. Desenvolvimento do back-end da aplicação
3.1. Tecnologias de desenvolvimento back-end
3.1.1. Linguagens de programação
3.1.2. Frameworks e bibliotecas
3.1.3. Gestão de dependências
3.2. Padrões de desenvolvimento back-end
3.2.1. SOLID
3.2.2. Microsserviços
3.2.3. API-first
3.3. Desenvolvimento de Interfaces de Programação de Aplicações (API) REST
3.3.1. Statefulness e statelessness
3.3.2. Métodos e respostas em HTTP
3.3.3. Paginação, documentação e versionamento
3.4. Outros tipos de APIs
3.4.1. GraphQL
3.4.2. Websockets
3.4.3. gRPC
3.5. Filas de mensagens
3.5.1. Filas de mensagens
3.5.2. Padrões e casos de utilização
3.5.3. Soluções disponíveis
3.6. Arquiteturas baseadas em eventos
3.6.1. Arquiteturas baseadas em eventos
3.6.2. Camadas do fluxo de eventos
3.6.3. Padrões e casos de utilização
3.7. Desenvolvimento de aplicações com contentores
3.7.1. Contentores
3.7.2. Desenvolvimento e implementação com contentores
3.7.3. Ferramentas de gestão de contentores
3.8. Implementação e execução de aplicações back-end
3.8.1. Empacotamento
3.8.2. Servidores web
3.8.3. Servidores de aplicações
3.9. Otimização e desempenho do back-end
3.9.1. Escalabilidade e equilíbrio de carga
3.9.2. Limitação de pedidos e processamento assíncrono
3.9.3. Ferramentas para medição e testes de desempenho
3.10. Tendências no desenvolvimento de aplicações web
3.10.1. Geração de aplicações com sistemas low-code e no-code
3.10.2. Ajuda ao desenvolvimento através da IA generativa. Github Copilot
3.10.3. Gartner Hype Cycle
Módulo 4. Design e implementação da persistência de dados
4.1. Soluções para armazenamento de dados
4.1.1. CRUD, ACID, OLTP, OLAP
4.1.2. Modelação de dados
4.1.3. Classificações dos sistemas de armazenamento de dados
4.2. Bases de dados relacionais
4.2.1. Casos de utilização
4.2.2. Operações com bases de dados relacionais
4.2.3. Soluções disponíveis
4.3. Bases de dados não relacionais
4.3.1. Bases de dados de valores chave
4.3.2. Bases de dados orientadas a objetos
4.3.3. Bases de dados orientadas a grafos
4.4. Outros sistemas de bases de dados
4.4.1. Bases de dados em memória
4.4.2. Bases de dados para séries cronológicas
4.4.3. Bases de dados distribuídas
4.5. Armazenamento em sistemas de ficheiros
4.5.1. Casos de utilização
4.5.2. Operações com sistemas de ficheiros
4.5.3. Soluções disponíveis
4.6. Mecanismos de armazenamento de dados em cache
4.6.1. Cache do lado do cliente
4.6.2. Armazenamento em cache na rede (CDN)
4.6.3. Cache do lado do servidor
4.7. Motores de pesquisa
4.7.1. Casos de utilização
4.7.2. Indexação e pesquisa
4.7.3. Soluções disponíveis
4.8. Mecanismos de acesso aos dados
4.8.1. Data Access Object (DAO) e Data Transfer Object (DTO)
4.8.2. Controlo de acesso
4.8.3. Drivers
4.9. Arquiteturas para Big Data
4.9.1. Extração, Carga e Transformação (ETL)
4.9.2. Data warehouses, datalakes e data Lakehouses
4.9.3. Soluções disponíveis
4.10. Critérios para a escolha do armazenamento
4.10.1. Requisitos funcionais
4.10.2. Requisitos não funcionais
4.10.3. Outros aspetos fundamentais
Módulo 5. Gestão de Utilizadores de Aplicações Web
5.1. Registo e autenticação de utilizadores
5.1.1. Validação de identidade e MFA
5.1.2. Protocolos de autenticação: OAuth 2.0, SAML, LDAP, RADIUS
5.1.3. Fornecedores de identidade
5.2. Perfis, funções e autorização de utilizadores
5.2.1. Mecanismos de autorização
5.2.2. Acesso baseado em funções (RBAC)
5.2.3. Princípio do menor privilégio
5.3. Gestão de credenciais
5.3.1. Encriptação e armazenamento seguro de palavras-passe
5.3.2. Alteração e revogação de credenciais
5.3.3. Ferramentas e serviços de palavras-passe
5.4. Gestão de sessões de utilizadores
5.4.1. Identificador de sessão, propriedades e ciclo de vida
5.4.2. Implementações de controlo de sessão
5.4.3. Cookies e Web Storage
5.5. Isolamento dos dados de utilizadores
5.5.1. Sistemas single-tenant e multi-tenant
5.5.2. Isolamento de dados físicos (silos)
5.5.3. Isolamento de dados lógicos (pools)
5.6. Notificações e mensagens
5.6.1. Notificações na aplicação
5.6.2. Serviços de notificação: e-mail, SMS, notificações push
5.6.3. Gestão de subscrições
5.7. Experiências de utilizador personalizadas
5.7.1. Segmentação de utilizadores
5.7.2. Mecanismos de recomendação
5.7.3. Teste A/B
5.8. Monitorização e dados analíticos de utilizadores
5.8.1. Formas de análise: Comportamento, Customer Journey, Funnel Analysis
5.8.2. Ferramentas de análise e monitorização web: Google Analytics e outros
5.8.3. Monitorização multiplataforma: e-mail, dispositivos móveis
5.9. Monetização das aplicações web
5.9.1. Otimização de pesquisa
5.9.2. Campanhas de marketing digital
5.9.3. Comércio eletrónico e gateways de pagamento
5.10. Proteção de dados pessoais
5.10.1. Âmbito da proteção de dados
5.10.2. Regulamentos internacionais de proteção de dados
5.10.3. Recomendações e boas práticas
Módulo 6. Gestão e Organização de Projetos Web
6.1. Processo de desenvolvimento de aplicações web
6.1.1. Fases do processo de desenvolvimento
6.1.2. Funções e organização em projetos de desenvolvimento web
6.1.3. Desenvolvimento web colaborativo
6.2. Metodologias de desenvolvimento colaborativo
6.2.1. Manifesto e princípios ágeis
6.2.2. Comparação de metodologias ágeis: Scrum e Kanban
6.2.3. Ferramentas de gestão de projetos web
6.3. Modelo de trabalho de desenvolvimento e operação (DevOps)
6.3.1. Responsabilidades
6.3.2. Adoção de um modelo de trabalho DevOps
6.3.3. Outras abordagens: DevSecOps, DataOps, MLOps
6.4. Controlo de versões
6.4.1. Vantagens do controlo de versões
6.4.2. Controlo de versões com Git
6.4.3. Soluções de controlo de versões: Github, Gitlab
6.5. Infraestrutura como código (IaaC)
6.5.1. As infraestruturas como código (IaaC)
6.5.2. Padrões de gestão de infraestruturas
6.5.3. Ferramentas e frameworks de IaaC: Terraform
6.6. Integração e implementação contínuas (CI/CD)
6.6.1. Estratégias de integração
6.6.2. Estratégias de implementação e rollback
6.6.3. Soluções para pipelines CI/CD
6.7. Controlo de qualidade (QA)
6.7.1. Planeamento de testes
6.7.2. Tipos de testes
6.7.3. Automatização e execução de testes
6.8. Manutenção e resolução de incidências
6.8.1. Objetivos de nível de serviço (SLOs) e indicadores de nível de serviço (SLIs)
6.8.2. Gestão de incidências e análise pós-incidência
6.8.3. Ferramentas de gestão de incidências
6.9. Gestão de custos em projetos web
6.9.1. Fatores de custo em projetos web: infraestrutura, desenvolvimento, operações
6.9.2. Estimativa de custos
6.9.3. Controlo e otimização de custos
6.10. Gestão de versões em projetos web
6.10.1. Fases de pré-lançamento: MVP, Alfa, Beta
6.10.2. Planeamento do arranque da produção
6.10.3. Geração de novas versões e compatibilidade
Módulo 7. Segurança das Aplicações Web
7.1. Design de arquiteturas web seguras
7.1.1. Segurança no cliente
7.1.2. Segurança na rede
7.1.3. Segurança do servidor
7.2. Encriptação
7.2.1. Técnicas de encriptação
7.2.2. Encriptação em trânsito
7.2.3. Encriptação em repouso
7.3. Certificados web
7.3.1. Tipos de certificados web
7.3.2. Geração e armazenamento de certificados web
7.3.3. Autoridades de certificação
7.4. Principais ataques na web
7.4.1. Open Worldwide Application Security Project (OWASP) Top 10
7.4.2. Ataques de injeção
7.4.3. Ataques de negação de serviço
7.5. Outros tipos de ataque
7.5.1. Ataques por software: malware, ransomware
7.5.2. Ataques de falsificação de identidade e de engenharia social: phishing, spoofing
7.5.3. Exploração de vulnerabilidades: supply chain, zero-day exploit
7.6. Proteção contra bots
7.6.1. Tipos de bots
7.6.2. Algoritmos de deteção
7.6.3. Desafios para bots: CAPTCHA, reconhecimento de imagens
7.7. Ferramentas e serviços de segurança na web
7.7.1. Prevenção
7.7.2. Deteção
7.7.3. Mitigação
7.8. Recomendações e Regulamentos Internacionais de Segurança na Web
7.8.1. ISO 27001
7.8.2. Regulamentos regionais: NIS2, NIST
7.8.3. Regulamentos por setor: PCI, HIPAA
7.9. Políticas de segurança
7.9.1. Funções de segurança nas equipas de desenvolvimento
7.9.2. Práticas de desenvolvimento seguro
7.9.3. Resposta a incidências: formação e automatização
7.10. Testes de segurança
7.10.1. Análise de vulnerabilidade
7.10.2. Teste de penetração
7.10.3. Auditorias de segurança
Módulo 8. Observabilidade e Resiliência das Aplicações Web
8.1. Site Reliability Engineering (SRE)
8.1.1. Desenvolvimento de aplicações observáveis e resilientes
8.1.2. Planeamento de capacidades
8.1.3. Colaboração entre SRE e DevOps
8.2. Registos de aplicações
8.2.1. Níveis e estruturas de registos
8.2.2. Armazenamento e análise de registos
8.2.3. Frameworks e ferramentas de registos
8.3. Rastos de pedidos
8.3.1. Instrumentação de aplicações
8.3.2. Rastreabilidade de ponta a ponta: trace ID
8.3.3. Frameworks e ferramentas de rastreio
8.4. Monitorização de métricas
8.4.1. Tipos de métricas
8.4.2. Armazenamento e análise de métricas
8.4.3. Frameworks e ferramentas para métricas
8.5. Resposta a incidências
8.5.1. Alertas e notificações
8.5.2. Dashboards e relatórios
8.5.3. Automatização de processos
8.6. Design de aplicações tolerantes a falhas
8.6.1. Deteção de pontos de falha e health-checks
8.6.2. Isolamento e Redundância
8.6.3. Graceful degradation
8.7. Arquiteturas de alta disponibilidade
8.7.1. Balanceamento de carga
8.7.2. Escalabilidade horizontal e vertical
8.7.3. Atualizações sem tempo de inatividade
8.8. Backup e recuperação de dados
8.8.1. Políticas de backup e retenção de dados
8.8.2. Mecanismos de backup
8.8.3. Opções de recuperação
8.9. Planeamento e recuperação de desastres
8.9.1. Planeamento para desastres: RTO e RPO
8.9.2. Estratégias de recuperação perante desastres
8.9.3. Ferramentas de recuperação de desastres
8.10. Chaos Engineering
8.10.1. Testes de falhas
8.10.2. Mecanismos de segurança e isolamento
8.10.3. Ferramentas e frameworks para testes de falhas
Módulo 9. Aplicações e serviços web na nuvem
9.1. Arquiteturas web na nuvem
9.1.1. A computação na nuvem
9.1.2. Segurança e conformidade na nuvem
9.1.3. Fornecedores e modalidades (IaaS, PaaS, SaaS)
9.2. Modelos de implementação de aplicações web na nuvem
9.2.1. Nuvens públicas e privadas
9.2.2. Modelos multicloud e híbridos
9.2.3. Edge computing
9.3. Computação serverless
9.3.1. Casos de utilização
9.3.2. Design de aplicações serverless
9.3.3. Funções como um serviço (FaaS)
9.4. Amazon Web Services
9.4.1. Principais serviços e clientes
9.4.2. Disponibilidade regional e global
9.4.3. Oferta gratuita
9.5. Microsoft Azure
9.5.1. Principais serviços e clientes
9.5.2. Disponibilidade regional e global
9.5.3. Oferta gratuita
9.6. Google Cloud Platform
9.6.1. Principais serviços e clientes
9.6.2. Disponibilidade regional e global
9.6.3. Oferta gratuita
9.7. Outros fornecedores e plataformas de serviços e aplicações web na nuvem
9.7.1. IBM Cloud
9.7.2. Oracle Cloud
9.7.3. Alojamento web: Heroku, Firebase, Cloudflare
9.8. Migração para a nuvem
9.8.1. Estratégias de migração: Modelo dos 7Rs
9.8.2. Planeamento e fases da migração
9.8.3. Ferramentas de migração
9.9. Otimização de custos na nuvem
9.9.1. Monitorização dos custos
9.9.2. Dimensionamento dos recursos
9.9.3. Planos de desconto
9.10. Gestão de aplicações na nuvem
9.10.1. Critérios de seleção de modelo de implementação e fornecedor
9.10.2. Formação e certificação
9.10.3. Integração na organização da empresa. Cloud Center of Excellence (CCoE)
Módulo 10. Criar uma Aplicação Web Avançada
10.1. A aplicação
10.1.1. Apresentação da aplicação
10.1.2. Registo de requisitos
10.1.3. Stakeholders
10.2. Planeamento e design
10.2.1. Escolha da metodologia
10.2.2. Plano de desenvolvimento e gestão
10.2.3. Design da arquitetura
10.3. Configuração da plataforma de desenvolvimento
10.3.1. Escolha da plataforma de desenvolvimento
10.3.2. Configuração do ambiente
10.3.3. Configuração do controlo de versões
10.4. Desenvolvimento do front-end
10.4.1. Escolha da tecnologia
10.4.2. Implementação
10.4.3. Testes unitários
10.5. Desenvolvimento do back-end
10.5.1. Escolha da tecnologia
10.5.2. Implementação
10.5.3. Testes unitários
10.6. Implementação do armazenamento de dados
10.6.1. Escolha da tecnologia
10.6.2. modelo de dados
10.6.3. Implementação
10.7. Gestão dos utilizadores e segurança
10.7.1. Modelo de gestão de utilizadores
10.7.2. Implementação
10.7.3. Implementação de políticas de segurança
10.8. Integração e implementação contínuas
10.8.1. Plano de testes de integração
10.8.2. Criar um pipeline de CI/CD
10.8.3. Implementação da aplicação com IaaC
10.9. Tarefas de manutenção
10.9.1. Monitorização da aplicação: custos, consumo de recursos
10.9.2. Resposta a incidências
10.9.3. Implementação de uma correção da aplicação
10.10. Evolução da aplicação
10.10.1. Análise de dados empresariais
10.10.2. Melhorias
10.10.3. Planeamento e implementação de novas versões
Destaque-se dos outros profissionais de informática com um Master que fará de si um excelente DevOps Engineer"