Titulo Estágio
Desenvolvimento de um Interface REST para Serviços de Telefonia
Área Tecnológica
Engenharia de Software
Local do Estágio
WIT Software, 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, permitindo que os serviços prestados aos clientes, possam ser fornecidos por componentes de vários marcas e fornecedores. Todos os componentes utilizam o mesmo protocolo de Voz sobre IP (VoIP), o que torna a integração entre os sistemas compatível.
De entre os exemplos de componentes de valor acrescentado, disponíveis ao clientes, destaca-se os sistemas de voicemail ou o sistema de chamadas em conferência.
A utilização cada vez mais frequente de sistemas Cloud Computing, permite aos clientes, usar serviços avançados sem a necessidade de instalarem software nas suas instalações. Algumas empresas, tais como Twilio, Teleku ou Tropo, já fornecem a possibilidade a software developers de criarem as suas próprias aplicações de voz e mensagens.
As arquitecturas de rede dos operadores de telecomunicações móveis não estão preparadas para fornecer serviços no modelo Cloud Computing, e os operadores estão limitados aos serviços de fornecedores especializados na área de VoIP.
O estágio será centrado na possibilidade de abrir a developers externos, a capacidade de desenvolver serviços que até agora só podiam ser desenvolvidos por pessoas com capacidades muito especializadas.
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 estágio o aluno esteja preparado para ser incluído na equipa oficial de desenvolvimento.
No final do estágio, o estagiário terá conhecimento detalhado sobre sistemas VoIP e a sua utilização dentro da arquitectura de operadores de telecomunicações. Os conhecimentos que serão adquiridos neste estágio são bastante procurados pelos Operadores de Telecomunicações.
Objetivo
O objectivo do estágio é o desenvolvimento de uma gateway de interligação entre a rede IMS e aplicações que utilizem APIs REST.
O estagiário deverá começar por conduzir um estudo comparativo de soluções existentes no mercado como forma de identificação dos concorrentes e respectivas funcionalidades. 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 a rede IMS e os protocolos standard que são utilizados, 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. Como forma de preparação e aprofundamento dos conhecimentos, o estagiário deverá executar algumas actividades de prototipagem.
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:
- Análise detalhada das funcionalidades;
- Levantamento do estado da arte;
- Análise de requisitos dos desenvolvimentos a efectuar;
- Elaboração do plano de desenvolvimento;
- Prototipagem de algumas funcionalidades;
- Desenvolvimento da gateway com as seguintes funcionalidades:
a) Re-enviar informação SIP sobre chamadas a serem recebidas ou iniciadas pelo cliente através de pedidos REST;
b) Efectuar operações sobre a chamada activa e implementar APIs REST especificos (enviar bloco de som, enviar texto e converter para voz, receber tons de teclado, gravar som, iniciar conferencia);
- 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 da gateway
a) Implementação de APIs para envio/recepção de mensagens SMS;
b) Implementação de funções de gestão avançadas de chamadas (chamada em espera, juntar chamadas em conferência, transferência de chamada)
- Implementação de um portal web para:
a) permitir a developers externos experimentar o API REST
b) permitir a compra de um número que ficará reservado para um serviço
c) permitir ao cliente do operador navegar pelos serviços já criados pelos developers externos.
d) expor e documentar API Rest
- Implementação de pequenos serviços de exemplo (sample code)
- Preparação da solução para demonstrações internas;
- Testes funcionais;
- Avaliação de 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 equipamentos 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
Nuno Campos
Nuno.campos@wit-software.com 📩