Titulo Estágio
Serviço de instant messaging sobre SIP e IMS
Área Tecnológica
Engenharia de Software
Local do Estágio
Coimbra
Enquadramento
A WIT Software fornece aplicações de telecomunicações a nível mundial, para clientes tais como o Grupo Vodafone e o Grupo Telefonica. Esta proposta integra-se no desenvolvimento de aplicações servidor em operadores de telecomunicações móveis.
A infraestrutura de rede de operadores de telecomunicações móveis que fornecem serviços 3G ou 4G assenta numa arquitectura IMS (IP Multimedia Subsystem). Esta arquitectura divide a rede em componentes lógicos, e permite que sejam desenvolvidos novos serviços de instant messaging, utilizando protocolos standard baseados em SIP (Session Initiation Protocol).
É neste enquadramento que a WIT pretende desenvolver um servidor e uma aplicação cliente que forneçam os serviços de instant messaging (1-1 e conferência), e de integrar o servidor numa rede IMS open source (OpenIMS).
Para tal, a WIT está preparada para acolher e instruir um estagiário nos tópicos de Instant Messaging, SIP, MSRP e IMS.
O estagiário terá acesso aos recursos da equipa de desenvolvimento, e terá à sua disposição um conjunto de Engenheiros experientes que lhe poderão dar ajuda nas dificuldades técnicas.
Apesar do estagiário ser incluído na equipa de desenvolvimento este trabalho de estágio não faz parte do roadmap do desenvolvimento de produto. Isto é apenas um investimento da empresa no treino de futuros profissionais. O que se pretende com estes estágios é apenas fazer “training-on-job” de alunos finalistas e prepará-los para a área de software para telecomunicações, de modo a que no final do curso o aluno esteja preparado para ser incluído na equipa oficial de desenvolvimento.
No final do estágio, o aluno terá conhecimento detalhado sobre arquitectura de sistemas IMS, serviços de instant messaging e respectivos protocolos de comunicação.
Objetivo
O objectivo do estágio consiste na implementação de um serviço de instant messaging (servidor e aplicação cliente), similar a serviços existentes como é o caso do Google Talk, Viber, WhatsApp ou eBuddy. Neste caso, o software a desenvolver deverá fazer uso de uma rede IMS e do protocolo de comunicação SIP.
Com o auxílio de um tutor, o estagiário deverá começar por estudar a arquitectura IMS que se encontra hoje em dia em funcionamento na maioria dos operadores de telecomunicações, de modo a ganhar conhecimento sobre o seu funcionamento.
Após consolidado o conhecimento sobre IMS, deverá conduzir um estudo sobre o estado da arte sobre funcionalidades de instant messaging. Espera-se que o aluno tenha a autonomia e capacidade crítica necessárias para recolher, analisar e estruturar toda a informação acerca de soluções existentes no mercado. Esta informação deverá ser depois aplicada no desenvolvimento da solução pretendida.
Seguidamente deverá estudar os protocolos standard a utilizar, de forma a recolher a informação técnica necessária para o estágio.
Deverá efectuar também a análise de requisitos do projecto. Nesta fase, o estagiário deverá executar algumas actividades de prototipagem para adquirir conhecimentos práticos.
Depois da análise de requisitos finalizada, o estagiário deverá avançar para o desenvolvimento das funcionalidades esperadas.
A aplicação deverá ser incluída no ambiente de testes IMS da WIT e deverá estar disponível para demonstração interna e estudos de benchmarking.
No final do estágio, será feita uma avaliação do estagiário e dos conhecimentos adquiridos. Se o resultado for positivo o estagiário será convidado para fazer parte da equipa de desenvolvimento.
Plano de Trabalhos - Semestre 1
Para o 1º semestre estão planeadas as seguintes tarefas:
- Estudo da arquitectura IMS usada por operadores de telecomunicações (a parte prática será feita com recurso à plataforma OpenIMS). O estagiário será acompanhado por um tutor técnico para consolidação de conhecimentos.
- Análise detalhada das funcionalidades propostas para o estágio;
- Levantamento do estado da arte;
- Análise de requisitos dos desenvolvimentos a efectuar;
- Elaboração do plano de desenvolvimento;
- Prototipagem de uma aplicação SIP no ambiente IMS;
- Desenvolvimento de um servidor com as seguintes funcionalidades:
1. Processamento de SIP MESSAGES;
2. Funcionalidade de store and forward para entrega de mensagens offline;
3. Histórico de mensagens;
- Desenvolvimento de uma aplicação cliente com as seguintes funcionalidades:
1. Registo numa rede IMS
2. Gestão de lista de contactos local
3. Envio de mensagens
4. Recepção de mensagens
5. Consulta de histórico de mensagens trocadas
- Documentação intermédia do estágio.
Plano de Trabalhos - Semestre 2
Para o 2º semestre estão planeadas as seguintes tarefas:
- Finalização dos desenvolvimento do servidor:
1. Back-office de gestão do servidor;
2. Processamento de mensagens em session mode (protocolo MSRP);
3. Notificações quando um utilizador está a escrever
4. Notificações quando um utilizador regista/desregista na rede
5. Gestão de sessões com vários utilizadores (conferência)
6. Notificação de entrada/saída de utilizadores na conferência
7. Gestão de histórico de mensagens com vários utilizadores
- Finalização dos desenvolvimento da aplicação cliente:
1. Envio de mensagens em session mode (protocolo MSRP)
2. Recepcção de mensagens em session mode (protocolo MSRP)
3. Envio de notificações quando um utilizador está a escrever
4. Processamento de notificações quando os peers estão a escrever
5. Processamento de notificações quando os peers se registam/desregistam da rede
6. Criação de sessões com vários ultilizadores (conferência)
7. Convidar e remover peers de uma sessão com vários utilizadores (conferência)
8. Processamento de notificações de entrada/saida de utilizadores numa conferência
9. Gestão de histórico de chamadas com vários utilizadores
- Preparação da solução para demonstrações internas;
- Testes funcionais;
- Avaliação dos requisitos não funcionais;
- Documentação final de estágio.
Condições
O local de trabalho será na sede da WIT Software em Coimbra. O estagiário terá ao seu dispor os recursos necessários para desempenhar as suas tarefas.
O estágio será remunerado de acordo com a remuneração de um estágio profissional.
Observações
- Toda a documentação de projecto será em Inglês.
- Será usado uma adaptação de SCRUM, como metodologia de desenvolvimento.
- Existe um Scrum Master e um Project Owner. O Project Owner define os requisitos do estágio e acompanha os resultados parciais do projecto. O Scrum Master garante o cumprimento das tarefas, define as prioridades do backlog, promove os scrum meetings e acompanha o aluno com mais regularidade.
Orientador
Rui Gil
rui.gil@wit-software.com 📩