- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 2 de 70
AULA 1 – INTRODUCTION ........................................................................................................................................... 3
AULA 2 – SOA REVISIONS (SERVICE ORIENTED ARCHITECTURES) ................................................................................ 6
AULA 3 - 3GPP IMS (3GPP – IMS AND OTHER SERVICE PLATFORMS) ......................................................................... 16
AULA 4 - SIP APPLICATION SERVERS (SMS/WAP/MMS) ............................................................................................ 29
AULA 5 - OSA/PARLAY (3GPP – OSA/PARLAY) .......................................................................................................... 36
AULA 6 - GEO LOC + XMPP (INSTANT MESSAGING / PRESENCE) ............................................................................... 46
AULA 7 - ASYNCHRONOUS COMMUNICATIONS ........................................................................................................ 50
(MESSAGE ORIENTED MIDDLEWARE) ........................................................................................................................ 50
AULA 8 - DISTRIBUTED AUTHENTICATION ................................................................................................................. 54
(IDENTITY AUTHENTICATION & AUTHORIZATION) .................................................................................................... 54
AULA 9 - ENTERPRISE SERVICE BUS ........................................................................................................................... 61
AULA 10 - CLOUD COMPUTING ................................................................................................................................. 66
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 3 de 70
Objetivos Arquiteturas orientado a serviços (SOA) – revisão
Exemplos de serviços de Network e casos de uso
PBX, Mensagens instantâneas (Instant Messaging), Presença, Localização, Serviços móveis
Serviço de apoio às tecnologias
SMS, WAP, MMS, 3GPP / SIP IMS
Infraestruturas de Software SOA e APIs
Servidores de aplicação, OSA-Parlay, MQ, SIP Servlets, Web-Services (XML-RPC, SOAP, WSDL, REST)
Smartphones = 2001 PC + Telemóveis 2001 PC 2009 Smartphone
Chamadas de voz via IP Sim (e são móveis)
E-mail Sim (e suporta o push)
Redes sociais Sim (e é melhorada com localização)
Obtenção de notícias / info Sim
Ver vídeos Sim (mas limitado…)
Jogos Sim (mas com qualidade das 1as consolas)
Centro de entretenimento Sim (iTunes, iPhone, …)
Centro de produtividade Ainda não implementado…
Novas tendências nas telecomunicações
Comunicações unificadas (serviços de telecomunicações baseados em IP)
o Voz (~4B utilizadores globais de telemóveis) / SMS (3B)
o VoIP (550MM) + IM (520MM)
Lista de endereços unificada
o Imagem / Presença / Email / Telefone / Localização toda no mesmo lugar
o Google Address book, facebook sync
Rich Communication Suites (RCS)
o Vodafone 360, Google Voice
A web desloca-se para a mobilidade
o ~50% mais ativos que os utilizadores do Facebook são “não-móveis”.
o 180+ operadoras em 60 países que promovem / tentam implementar produtos móveis do
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 4 de 70
7th Mass Media O telemóvel é o primeiro “mass media” pessoal
O telemóvel está constantemente presente com as pessoas
O telemóvel está sempre “on”
O telemóvel tem um mecanismo de pagamento embutido
O telemóvel está disponível no ponto de inspiração criativa
O telemóvel possui a medida de audiência mais precisa
O telemóvel capta o contexto social do consumo da “media”
O telemóvel permite utilizar Realidade Aumentada na “media”
Serviços futuros por quem?
Companhias que se baseiam na Internet (Google, Skype, Yahoo, startups…)
o Modelo de negócio: Ideia, experiência e erros, grátis ao início, anúncios após algum tempo,
serviços “premium”.
Operadores de rede
o Modelo de negócio: serviços pagos desde o dia 1, interoperabilidade e dificuldade de
massa crítica
Facto: utilizadores de Internet: 1.7B … MAS nº de subscritores de telemóveis: 4.6B
Serviços de Engenharia de telecomunicações
Os operadores têm a opção de serem mais que simples “canais” de bits
o Fornecendo serviços inovadores e competitivos aos utilizadores
Rich Communication Suites
Serviços “Media” (IPTV, MobileTV)
o Fornecendo serviços inovadores e com mais-valias aos desenvolvedores de aplicações
Qualidade de Serviço
DRM (Digital Restrictions Management)
Privacidade
Segurança
Contexto/Presença
Serviços de cobrança e carregamento
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 5 de 70
Como desenvolver Serviços/aplicações móveis?
Serviços móveis
o Devem escalar para milhões de utilizadores
o Devem correr em qualquer altura e em qualquer lugar
Devem fazer uso de:
o Informações de localização
o Informação de contexto (ex: sensores)
o Sempre disponíveis
Desafios dos Serviços móveis
o BW (Black Window) (baixa rede 3G em muitos países)
o Fatores de pequena ordem (ecrã pequeno, dispositivo de entrada)
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 6 de 70
Conetividade conduz à emergência e convergência das tecnologias
Conetividade permite processos e acesso à informação de uma forma
global
Nos dias de hoje, o valor não se caracteriza tanto pela funcionalidade mas pela conetividade
o No entanto, é necessário um novo modelo de programação
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 7 de 70
Porquê utilizar SOA hoje em dia?
o Estamos a atingir novos mercados de conetividade e inter-relação dos recursos
(conhecimento) distribuídos
Mais que um conceito: uma visão
Orientação a serviços apresenta uma visão ideal de um mundo em que os recursos são
corretamente particionados, representados e utilizados de uma forma consistente.
SOA é uma forma de arquitetura de tecnologia que adere aos princípios de orientação a serviços.
SOA e orientação a serviços são paradigmas de implementação agnósticos que podem ser
utilizados com qualquer plataforma tecnológica adequada.
Definições
Orientação a serviços é um paradigma de arquitetura destinado para a criação de unidades lógicas
de soluções que são moldadas individualmente, de modo que possam ser utilizadas em conjunto e
repetidamente para apoiarem a concretização dos objetivos estratégicos específicos.
Computação empresarial (Enterprise Computing) é a combinação de aplicações separadas,
serviços e processos num sistema unificado que se torna maior que a soma das suas partes.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 8 de 70
Orientação a serviços é um novo paradigma
NÃO é um novo nome para:
o API
o Componente
É um conjunto genuíno de conceitos em que se consegue construir novos tipos de software em
telecomunicações
Implica que pensemos em como permitimos que o mesmo pedaço de código seja aproveitado
o Por um grande número de consumidores
o Num contexto imprevisto
o Com uma utilização controlada
E o que é um serviço? Um serviço é:
Conjunto de funcionalidades relacionadas (software/processo de negócio) que, em conjunto com
as políticas, devem controlar a sua utilização.
O mecanismo que permita o acesso a um ou mais recursos, onde o acesso é fornecido através de
uma interface totalmente definida, com restrições e políticas especificadas por uma descrição.
É a aplicação de princípios de arquitetura de orientação a serviços (isto é: o uso consistente e controlo
de políticas) que distinguem uma unidade da lógica como um serviço em relação às unidades de lógica
que podem existir apenas como objetos ou componentes.
Políticas Quem pode aceder?
Durante quanto tempo/tipo de utilização?
Para que tipo de ferramenta/informação?
Com que tipo de resposta?
Com que tipo de carga?
As políticas inerentemente apoiam os modelos de negócio!
Os operadores de telecomunicações favorecem modelos de negócio controlados ou “walled
garden” (jardim rodeado por muros)
A Internet favorece modelos de negócio “abertos”
o “aberto” é um conceito questionável
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 9 de 70
Federação
Federação é o estabelecimento de uma relação de confiança bem definida, onde é definido o que
se confia, em que condições, e quais os métodos de comunicação.
o Estas relações são, geralmente, potencialmente passivas no que se refere a questões de
responsabilidade.
Federação dinâmica é o estabelecimento em tempo real das tais relações de confiança sobre uma
“necessidade” básica
Atualmente, a maioria dos sistemas de telecomunicações dependem da federação estática, um
processo off-line onde são estabelecidas as tais relações de confiança.
o Um exemplo: transações com dados pré-pagos e pós-pagos de roaming, onde é necessária
informação em tempo real (ou não) do fornecedor de rede local.
Nota: na realidade, nas telecomunicações as relações são estabelecidas com federação estática. Apenas a
informações de utilizadores é trocada dinamicamente, as relações de confiança são estáticas.
Componentes → Serviços
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 10 de 70
Interfaces dos Serviços
Não proprietário
o Todos os fornecedores de serviços oferecem a mesma (ou quase) interface
Altamente polimórfica
o A intenção é suficiente
o Para múltiplas utilizações
A implementação pode ser alterada de forma que os serviços dos consumidores não sejam
quebrados
o Os serviços do “mundo real” interagem com milhares de consumidores
o Os fornecedores de serviços não podem (nem devem) quebrar o “contexto” dos seus
utilizadores
Intenções e ofertas
O consumidor do serviço expressa “intenção”
O fornecedor do serviço define “oferta”
Por vezes, um mediador
o Procura a melhor oferta combinada com a intenção
o Anuncia uma oferta de diversas maneiras que correspondem a intenções diferentes
Pedido/Resposta (Request/Response) é um caso particular de um protocolo de intenção/oferta
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 11 de 70
Ciclo de vida do desenvolvimento do serviço
Serviços e SOA
Dentro de um projeto SOA, um serviço é frequentemente conceptualizado durante a fase de
análise de orientação a serviços, momento em que é referido como um candidato a serviço.
O projeto orientado ao serviço e fases de desenvolvimento implementam um serviço com um
software fisicamente independente com características de design especificas que suportam a
obtenção de objetivos estratégicos associados com computação orientada ao serviço
o A cada serviço é atribuído um próprio contexto funcional distinto e é composto por um
conjunto de capacidades relacionadas com este contexto.
Portanto, um serviço pode ser considerado um recipiente de capacidades associadas a um
objetivo comum (ou contexto funcional)
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 12 de 70
SOA
Arquitetura de Orientação a Serviços (Service-Oriented Architecture) representa um modelo de
Arquitetura que visa melhorar a agilidade e custo efetivo de uma empresa, reduzindo a carga de TI
em toda a organização.
o Consegue alcançar isso através do posicionamento dos serviços como o principal meio
através do qual a solução lógica é representada
o É necessário que os serviços sejam anunciados e detetáveis.
SOA suporta orientação a serviços na concretização dos objetivos estratégicos associados à
computação orientada a serviços.
Composição de Serviços (Service Composition)
Composição de Serviços (Service Composition) trata-se de uma agregação composta de serviços
para automatizar uma tarefa ou um processo de negócio.
o Para se qualificar como uma composição deverão participar, pelo menos, dois serviços mais
um específico que inicia a composição.
Caso contrário, a interação de serviços representa apenas uma troca ponto-a-ponto.
Orquestração (Orchestration)
Uma Orquestração (Orchestration) estabelece um protocolo de negócio que, formalmente define
um processo de negócio.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 13 de 70
Pode centralizar e controlar a lógica interna da aplicação através de um modelo de serviço
“estandardizado”
o A lógica de workflow consiste numa série de atividades básicas e estruturadas que podem
ser organizadas em sequências e fluxos.
Coreografia (Choreography)
Coreografia (Choreography) é uma atividade complexa composta pela composição de serviço e
uma série de padrões de sequência de mensagens
Envolve múltiplos participantes que podem assumir diferentes papéis e têm diferentes relações
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 14 de 70
Então …
Orquestração (Orchestration)
o O seu conceito é descrever formalmente os processos subjacentes às aplicações de negócio
para que possam ser expostas e ligadas a processos em outras aplicações
Coreografia (Choreography)
o É um conceito que especifica como é que esses processos estão ligados entre eles pela
empresa
o Pode ser “ativa” quando é necessário mapeamento e encaminhamento (routing)
Ambos são componentes para uma coordenação eficaz de múltiplos serviços.
Resumo
Processo Mestre: processo que coordena a composição de processos e controla sua execução
dentro de uma orquestração.
Processo Participante: processo que participa de uma composição de processos.
Orquestração: composição de processos de negócio (através de Web Services) onde existe a figura
de um processo central (processo mestre) que controla e coordena os demais processos. Neste tipo
de composição, cada processo participante não tem conhecimento de que faz parte de uma
composição de processos, com exceção do processo mestre.
Coreografia: composição de processos de negócio (através de Web Services) onde não existe a
figura de um processo mestre que controla e coordena os demais processos. Neste tipo de
composição, cada processo envolvido tem o conhecimento de que faz parte de uma composição de
processos e que precisa interagir com outros processos de maneira ordenada para que a
composição resultante tenha sucesso.
Princípios individuais da Orientação a Serviços
Acoplamento Reduzido (Loose coupling) – Serviços que mantêm um relacionamento que minimiza
dependências e exige que eles mantenham apenas uma consciência de si mesmo
Contrato de Serviço (Service contract) – os serviços aderem a um acordo de comunicações, como é
definido coletivamente por uma ou mais descrições de serviços e documentação relacionada
Autonomia (Autonomy) – os serviços têm controlo da lógica que implementam
Abstração (Abstraction) – Além do que é descrito do contrato de serviço, os serviços escondem a
lógica do “mundo exterior”
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 15 de 70
Reusabilidade (Reusability) – a lógica é dividida nos serviços com a intenção de promover a
reutilização
Modularidade (Composability) – coleções de serviços podem ser coordenados e interligados de
modo a formar composição de serviços
Sem estado (Stateless) – os serviços minimizam a retenção de informações específicas relativas a
uma atividade
Pesquisáveis (Discoverability) – os serviços são projetados para serem descritivos externamente
para que possam ser descobertos e avaliados através de mecanismos de pesquisa disponíveis.
Características primárias
No núcleo de plataformas de computação orientada a serviços
Aumenta a qualidade do serviço
Fundamentalmente autónoma
Baseia-se nos Open Standards
o Nas telecomunicações, “open” pode ser apenas
para um “grupo de confiança”
Suporta diversidade de fornecedores
Promove a interoperabilidade intrínseca, reutilização e
extensibilidade
Promove a descoberta, federação e modularidade
arquitetónica
Promove acoplamento reduzido e agilidade organizacional pelas operadoras de telecomunicações e
empresas
Implementa camadas de abstração
É um bloco de construção
É evolução!
SOA – pontos-chave
SOA e Orientação a Serviços (Service-Orientation) são paradigmas agnósticos de implementação
que podem ser realizados com qualquer plataforma e tecnologia adequada.
SOA tenta influenciar aplicações de telecomunicações e empresas existentes através da
combinação de novos processos de negócio.
É uma evolução arquitetural e não uma revolução!
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 16 de 70
O que está a acontecer nas telecomunicações?
Modelo “Legacy” nas telecomunicações
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 17 de 70
Modelo de telecomunicações 3GPP1/TI-SPAN2
Implicações Qualquer dispositivo
Qualquer tecnologia de acesso
Qualquer lugar
“ALWAYS BEST CONNECTED”
Uma rede, múltiplas tecnologias de acesso
Controlo de sessão comum
Servidores de aplicação genéricos
Conjunto único de serviços que abrangem uma rede alargada
Experiência de utilizador consistente
Eficiência operacional
Novos serviços/aplicações
3GPP e prestação de serviços
3GPP é muito mais que rádio
Contém um completo contexto de exploração de serviços
o Em fase de estudos e evolução para operadoras de telecomunicações
o Futuro com redes integradas seguindo estas tendências
Tendências em suporte de serviços não são novas
1 3GPP – 3rd Generation Partnership Project
2 TI-SPAN – Telecommunications and Internet converged Services and Protocols for Advanced Networking
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 18 de 70
Sistemas 2G também possuem as suas arquiteturas (CAMEL)
o A Web trouxe algumas alterações (hey, java, hey)
Modelos de negócio são fundamentais
o Conceitos de “Walled garden”
Recursos de UMTS3 e subsistemas para prestação de serviços
VHE – Virtual Home Environment
3 UMTS (Universal Mobile Telecommunication System) é uma das tecnologias de terceira geração (3G) dos telemóveis.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 19 de 70
Virtual Home Environment (3GPP)
VHE permite aos utilizadores finais trazerem com eles o ambiente de serviço pessoal com o
roaming entre redes e é independente do terminal utilizado
o Depende da capacidade do terminal USIM (UMTS SIM)
PSE (Personal Service Environment):
o Descreve como é que o utilizador pretende gerir e interagir com os seus serviços de
comunicação.
É uma combinação de uma lista das subscrições de serviços, preferências de serviços e
preferências de interface de terminais.
PSE também engloba a gestão do utilizador de múltiplas subscrições, p. ex. comercial e
privado, múltiplos tipos de terminais e preferências de localização.
o O PSE é definido em termos de um ou mais perfis de utilizador.
Virtual Home Environment (VHE) = portabilidade de serviço personalizada entre redes e entre
terminais
o VHE é uma combinação de capacidades localizadas no fornecedor de serviços, operadores
de rede e equipamentos de terminais = perfil do utilizador distribuído
OSA – Open Service Access
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 20 de 70
Arquitetura OSA (3GPP)
Permite que a aplicação utilize os recursos de rede subjacentes
Permite combinações:
o Capacidade de localização (a partir de GSM/UMTS e WLAN)
Radionor Cordis Radio eye permite localizar detalhadamente numa WLAN
o Capacidades SMS/MMS
o Capacidades de controlo de chamadas
Parlay e UMTS Open Service Access; Migração e Convergência
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 21 de 70
MExE – Mobile Execution Environment
Características USIM
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 22 de 70
Interações de prestação de serviços em UMTS
Evolução dos serviços nas redes UMTS R99/R4/R5/R6
IMS (IP Multimedia Subsystem) IMS é a base da arquitetura para as Redes da Nova Geração (Next Generation Networks)
IMS define uma framework comum para a prestação de serviços multimédia baseados em IP,
mantendo a Qualidade de Serviço, Facturamento e Integração de Serviços
A Arquitetura IMS foi adotada pelos principais organismos de normalização – 3GPP/ 3GPP2, ITU,
ETSI
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 23 de 70
Princípios da Arquitetura
Inteligência distribuída
Sinalização SIP
Dados de subscritores centralizados e encaminhamento
Segurança das fronteiras
Qualidade de serviço Ponto-a-Ponto (End-to-end QoS)
Enquadramento da “estandardização” de IMS
Onde se encontra o IMS?
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 24 de 70
Camada IMS
O núcleo IMS é de acesso independente, pelo que os mesmos serviços podem ser oferecidos
através de diferentes tipos de tecnologias.
Nas especificações IMS, o “núcleo” do IMS é composto por dois nós principais:
o Call Session Control Function (CSCF)
o Home Subscriber Server (HSS)
Na visão geral da arquitetura IMS, a General Switched Telephony Network (GSTN), Media Gateway
Control Function (MGCF) e Media Gateway (MGW) foram descritos ao lado do “core” de IMS
A “horizontalidade” providencia supervisão comum e controlo dos serviços na rede IMS, gestão e
encaminhamento de sessões, além de suportar autorização e manipulação dos meios de
comunicação em rede.
IMS – Princípios-chave da arquitetura
Funções de fronteira (Border Functions)
o Acessos e Segurança nas fronteiras
o QoS e Controlo de Admissão
o Adaptação de “media” e sinalização
Funções do núcleo (Core Functions)
o Gestão de subscrições (Subscriber Management) – Registo
o Troca de Sessões (Session Switching) – construção e destruição de partes de sessões,
gestão de estados de sessões, invocação de servidores de aplicação
o Encaminhamento de Sessão (Session Routing) – “Breakout” para redes externas
o Provisionamento Centralizado (Centralized Provisioning) – Subscrição e encaminhamento
de dados
Funções de aplicação (Application Functions)
o Acesso a aplicações “legacy”
o Aplicação SIP nativas
o Intermediação de Serviços (Service Brokering)
Vantagens
Fornecedores de rede (Network Providers)
o Migrar tudo para uma rede universal reduz as despesas operacionais
o Eles não se resignam a tornar-se meros “tubos” de passagem de bits e perder uma posição
central na cadeia de valor do negócio
o O que lhes permitirá explorar mercado dos Fornecedores de Serviços
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 25 de 70
Fornecedores de Serviços (Service Providers)
o Atingem um novo e “enorme” mercado
o Permite o outsourcing de funções a Fornecedores de Rede (Autenticação, Carregamento,
faturação, …)
Protocolo DIAMETER
Definido no IETF RFC 3588
“… intended to provide an Authentication, Authorization and Accounting (AAA) framework for
applications such as network access or IP mobility. Diameter is also intended to work in both local
Authentication, Authorization & Accounting and roaming situations…”
DIAMETER é uma evolução do RADIUS
Diameter melhorou o transporte – utiliza o Transmission Control Protocol (TCP) ou o Stream
Control Transmission Protocol (SCTP), e não o UDP, como transporte – proxy melhorado, controlo
de sessão reforçada e maior segurança
No IMS, DIAMETER é utilizado pelo S-CSCF, I-CSCF e os servidores de aplicação SIP na Camada de Serviços, e
nas trocas com o HSS que contém a informação das subscrições e do utilizador.
HSS
O Home Subscriber Server (HSS) é a base de dados principal que contém a informação das
subscrições e utilizadores para dar suporte às entidades de rede que gerem as chamadas e sessões.
Providencia as seguintes funções:
o Gestão da identificação
o Autorização de acesso
o Autenticação
o Gestão da mobilidade (mantendo o registo da entidade de controlo de sessão que está a
servir o utilizador)
o Suporte para o estabelecimento da sessão
o Suporte para o fornecimento do serviço
o Suporte para a autorização do serviço
Quando um utilizador se regista num domínio IMS, o perfil do utilizador (informação relevante
relacionada com os serviços providenciados ao mesmo) é carregado do HSS para o CSCF (Call
Session Control Function4).
Para que a sessão se estabeleça, o HSS contém a informação sobre qual CSCF serve, a um dado
momento, um utilizador.
4 Diferentes tipos de SIP servers e proxies, coletivamente chamados de Call Session Control Function (ou função de controlo de
sessões de chamadas) são usados para processar pacotes de sinalização SIP no IMS
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 26 de 70
Protocolo SIP (Session Initiation Protocol)
Definido no IETF RFC 3261
o “… an application-layer control (signaling) protocol for creating, modifying, and terminating
sessions with one or more participants. These sessions include Internet telephone calls,
multimedia distribution, and multimedia conferences.”
SIP está para a Internet assim como o SS75 está para o telefone
No IMS, o SIP é estendido para incluir funcionalidades extra.
o P.e. 3GPP TS 23.228
No núcleo do IMS, existem diversos proxies SIP:
o I-CSCF, S-CSCF, P-CSCF
o Os Call Session Control function (CSCF) são o “coração” da arquitetura IMS
o As funções principais do CSCF são:
Providenciar controlo de sessões para os terminais e aplicações que utilizam a rede
IMS
Encaminhamento seguro das mensagens SIP
Posterior monitorização de sessões SIP e comunicação com a arquitetura de
políticas para suportar autorização de “media”
Responsável por interagir com o HSS
P-CSCF (Proxy-CSCF )
Ponto de contacto do IMS para a sinalização SIP dos utilizadores
Vários num domínio
Localizado no domínio visitado
Os terminais deverão saber deste proxy (p.e. utilização do DHCP)
Compactar e descompactar mensagens SIP
Mensagens SIP seguras
Garante que a mensagem SIP é a correta
S-CSCF (Serving – CSCF)
Controla a sessão SIP do utilizador
Apenas alguns por domínio
Localizado no domínio inicial (home domain)
É um SIP registrar (e proxy)
5 Sistema de Sinalização 7 (SS7) é uma rede digital dedicada usada para inicialização e controlo de chamadas. Cada ponto de sinalização na rede SS7 é unicamente identificado por código numérico de ponto. Códigos de ponto são carregados em mensagens de sinalização trocados entre pontos de sinalização para identificar a fonte e o destino de cada mensagem. O ponto de sinalização utiliza uma tabela de encaminhamento para selecionar o caminho apropriado para cada mensagem.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 27 de 70
I-CSCF (Interrogating-CSCF)
Ponto de contacto do domínio para sinalização SIP entre domínios
Um ou mais por domínio
No caso de haver mais que um S-CSCF no domínio, localiza qual S-CSCF está a servir o utilizador
Procedimento de REGISTO
Início de SESSÃO
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 28 de 70
IMS – Identidade e perfis de utilizador
IMS utiliza SIP identity: SIP URIs
o P.e. sip:[email protected]
o O oposto dos números de telefone
o Um utilizador é unicamente identificado no HSS pelo seu IMPI (IP Multimedia Private
Identity).
o IMPI é uma identidade global única definida pelo operador inicial
o Utilizado apenas no processo de registo
Para se estabelecer comunicação com um utilizador IMPU (IP Multimedia Public Identity) é
necessário:
o Cada utilizador tenha um ou mais IMPUs
o Cada IMPI poderá ter diversos IMPUs
o Os utilizadores podem classificar as suas identidades públicas: comercial, família, amigos, …
P.e. sip:[email protected], [email protected]
Serviços no IMS
IMS é uma infraestrutura avançada que permite serviços. Mas os serviços estão em “endpoints” ou
em pares (chamadas, etc.), não no IMS.
Application Servers (AS) são a peça-chave para dotar IMS com serviços
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 29 de 70
AS não fazem parte da propriedade dos operadores de rede
o Portanto, não fazem parte do IMS
Serviços oferecidos pelos AS têm acesso a todas as vantagens de IMS
Os AS interagem – utilizando SIP – com o S-CSCF (que controla a sessão SIP do utilizador)
Os AS podem comportar-se como outro proxy SIP ou como um SIP UA (terminal)
o Neste caso, tanto recebem como enviam “media”!
Serviços no IMS (critérios de filtragem)
Quando são envolvidos os AS?
o “Critérios de filtragem” (“filter criteria”) no S- CSCF: analisam a sinalização SIP e decidem
quando a devem desviar para o AS (ou seja, quando as envolvem)
No perfil de utilizador, cada um dos serviços personalizados tem (entre outros) um conjunto de
critérios de filtragem:
o Para permitir a desambiguação, cada um tem uma prioridade
o É para os AS que as mensagens SIP são direcionadas quando as regras impostas nos filtros
são satisfeitas
Os critérios de filtragem são armazenados no HSS e são disponibilizados para o S-CSCF no registo
do utilizador
Os critérios de filtragem significam flexibilidade:
o Por domínio, tempo, utilizador, critérios de localização
o Pode direcionar um utilizador para outro AS
OSA, VHE e MeXE – visão geral Para ultrapassar as limitações atuais, um ambiente de serviço flexível para UMTS foi estandardizado. Os
objetivos principais são de facultar desenvolvimento de serviços rápido e acesso conveniente aos serviços.
A figura abaixo mostra como estes objetivos são atingidos através do VHE (virtual home environment), ,
OSA (open service access) e MExE (mobile execution environment).
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 30 de 70
VHE é um conceito para acesso a serviços com diferentes dispositivos, sobre diferentes redes. Em todas as
situações, as funcionalidades e "look & feel" (maneiras como funcionam) devem se manter o mais possível.
Para realizar VHE nas redes móveis, são utilizadas MExE e OSA.
Desenvolvimento de serviços para a internet é baseado em terminais com browsers para HTML, JS e
applets JAVA. Uma maneira similar é feita com MExE.
MExE é um ambiente de execução baseado em JAVA para dispositivos móveis. Aplicações baseadas na
Internet (semelhantes a apps de internet) que podem ser estendidas com funcionalidades que são
específicas para dispositivos móveis, como controlo de chamadas ou acesso à lista telefónica.
A lógica de negócio de serviços de internet são geralmente implementados em servidores aplicacionais.
O servidor aplicacional disponibiliza serviços de plataforma como conversão de dados, gestão de
subscritores e conteúdo ou acesso a base de dados de conteúdo.
Partes da logica de negócio são usualmente implementadas em servlets sobre um Web-Server.
Na internet, a rede de transporte é usualmente vista como um “tubo” de bits. No entanto, as redes móveis
oferecem funcionalidades adicionais (controlo de chamadas, localização, acesso ao perfil de
utilizador/dispositivo). Uma abstração de tal funcionalidade é chamada de Service Capability Feature (SCF),
disponibilizada por um Service Capability Server (SCS).
OSA consiste numa frameework para autorização, autenticação e descoberta de funcionalidades de rede e
disponibiliza uma interface estandardizada para SCFs.
Com OSA, serviços de rede podem ser incluídos numa aplicação de uma maneira similar a serviços de
plataformas convencionais ao usar um conjunto de funções CORBA.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 31 de 70
SMS (Short Message Service)
O serviço de dados mais popular do mundo
o Estima-se que são 4 biliões de utilizadores ativos (Set 2009)
o O Facebook tem 1 bilião de utilizadores ativos (Jan 2013)
Inicialmente apenas utilizava os caminhos de sinalização disponibilizados pelo SS7
Usa o Mobile Application Part (MAP) do protocolo SS7
Cada mensagem é limitada a 140 caracteres (ou 169 caso se use a codificação 7-bit)
As SMS apresentam dois serviços básicos
SM MT (Short Message Mobile Terminated)
o Transfere uma mensagem curta submetida do SC (Service Centre)6 para um MS (Mobile
Station)
SM MO (Short Message Mobile Originated)
o Transfere uma mensagem curta submetida do MS para um SME (Short Message Entity) por
via do SC (Service Centre)
Definido no 3GPP 23.040
Além disso, existe o Cell Broadcast short message service (CBS)
o Similar ao teletexto
o Pode ser enviado para entregar informações gerais ou avisos
P.e. Tsunami, Earthquake
“Selling points” Pode ser enviado e lido a qualquer hora
Pode ser enviado para um telemóvel que se encontre “offline”
As SMS não perturbem tanto enquanto se consegue ficar em contacto
As SMS são suportadas por 100% dos telemóveis GSM e podem trocar entre diferentes operadores
de rede
SMS é uma tecnologia adequada para construir aplicações wireless
6 Função responsável pela retransmissão, armazenamento e enio de uma mensagem curta entre um SME e um MS.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 32 de 70
Exemplos de aplicações Mensagens de texto Pessoa-a-Pessoa (Person-to-Person Text Messaging)
Fornecimento de informações
Downloading
Alertas e Notificações
o Email, Fax e Notificações por Mensagem de Voz
o E-commerce e Alertas de Transações de Cartão de Crédito
o Stock Market Alerts
o Monitorização remota de sistemas
SMS Marketing
SMSC (Short Message Service Center) SMSC é responsável por gerir as operações das SMS de uma rede wireless
o Quando uma mensagem SMS é enviada de um telemóvel, é alcançado primeiro um SMSC.
o O SMSC envia depois a mensagem SMS para o destino.
o O papel principal de um SMSC é encaminhar as mensagens SMS e regular o processo.
o Se o destinatário estiver indisponível (por exemplo, o telemóvel desligado), o SMSC irá
guardar a mensagem SMS e enviá-la assim que o destinatário estiver disponível.
O Mobile Station deve saber o endereço do operador de rede SMSC para que consiga utilizar o
service de mensagens SMS
o Geralmente, um endereço SMSC é um número de telefone comum
o Normalmente, o endereço SMSC está pré-configurado no cartão SIM pelo operador de
rede.
MO (Mobile Originated) vs MT (Mobile Terminated Texts)
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 33 de 70
MO significa “mobile originated” e MT “mobile terminated”.
Na maioria dos casos, estes termos descrevem o tipo de mensagens entre os telemóveis individuais
dos utilizadores (por exemplo, consumidores) e a plataforma (p.e. msgme) da perspetiva da
plataforma.
MO está relacionado com qualquer mensagem enviada a partir de um telemóvel para a plataforma
e MT qualquer mensagem enviada para um telemóvel a partir de uma plataforma.
o Por exemplo, alguém vê uma mensagem de texto avisando para enviar uma mensagem
“Text WIN to 44144”. Após enviar essa mensagem recebe uma resposta dizendo “You
Win!”. Neste caso particular, a mensagem original é uma MO e a resposta “You Win!” é
uma MT.
WAP (Wireless Access Protocol)
Definido no WAP Forum (faz parte do OMA) em 1997
Protocolo de comunicações de rede, em camada aplicacional, para um ambiente de comunicações
wireless
Principalmente usado para aceder à web móvel a partir de um telemóvel usando um navegador
WAP
o Navegador WAP (WAP browser) é similar a um navegador Web, mas tem menos
capacidades face às limitações no hardware do telemóvel.
WAP utiliza as tecnologias: XML, UDP e IP
Otimizado para baixa largura de banda, alta latência e menor estabilidade da ligação
WML WML (Wireless Markup Language) é a primeira linguagem “standard” de marcação para
dispositivos wireless.
É suportado pela maioria dos fabricantes de telemóveis.
Os sites WAP são escritos em WML, enquanto os sites “usuais” são escritos em HTML.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 34 de 70
Principais características
P.e.: disponibiliza formas dos programadores conseguirem programar as teclas de funções dos
telemóveis.
WML suporta client-side scripting (WMLScript).
o A sintaxe baseia-se em JavaScript mas com diferentes eventos
Atualmente, WML foi fundido com o XHTML (Mobile Profile)
Arquitetura (WML)
MMS (Multimedia Messaging Service)
Uma extensão para as capacidades do SMS
o Permite mais que 160 caracteres nas mensagens incluindo Imagens, Áudio e Vídeo
o Desenvolvido pela OMA que se baseou nos “standards” existentes (SMS + WAP)
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 35 de 70
Aplicações importantes
Serviços de multimédia de valor acrescentado (Multimedia Value Added Services)
o Toques (Ringtones)
o Imagens de fundo (Wallpapers)
Email Interworking
o MMS permite interligações “transparentes” entre os servidores de email/aplicações
Arquitetura (MMS)
As mensagens são codificadas utilizando MIME7
As mensagens são transmitidas via WAP
O MMSC (MMS Center) fornece:
o “Store-and-Forward” das mensagens
o Adaptação de conteúdo (Content Adaptation)
o Faturação
7 MIME (Multipurpose Internet Mail Extensions) é uma norma da internet para o formato das mensagens de correio
eletrónico.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 36 de 70
Negócio das telecomunicações
Modelo do século 20
o Dezenas de mercados de milhões de pessoas
Modelo do século 21
o Milhões de mercados com dezenas de pessoas
Diferentes mercados significa:
o Milhões de serviços diferentes
o Milhões de serviços personalizados
o Milhões^Milhões de combinações
O modelo de telecomunicações do século 20 já não é utilizado hoje em dia.
o Apenas um modelo não se adequa para todos!
Desafios enfrentados pelas operadoras de telecomunicações
Muitas das infraestruturas que as operadoras utilizam foram criadas em tempos diferentes, com
diferentes maneiras e formas de acesso aos sistemas.
o Aplicações “stove-pipe”8 na organização
o P.e., os programadores podem ter acesso ao sistema de faturação duma forma diferente
do que as diferentes aplicações
Geralmente, os sistemas internos têm uma mistura de metodologias: as equipas internas
qualificadas desenvolvem alguns sistemas “in-house”, alguns foram comprados “off the shelf” e
personalizados, e outros foram criados à medida recorrendo aos serviços de outsourcing.
o não há nenhum conjunto de ferramentas, arquitetura padrão ou plataforma de hardware
para os diferentes sistemas
o causa um peso acrescido tanto na manutenção de serviços existentes como no
desenvolvimento de novos
Geralmente existe uma ligação muito forte entre os serviços e a própria infraestrutura de rede.
Isto torna mais difícil mudar um sem o outro.
8 Uma aplicação “stove-pipe” é uma aplicação que executa e opera num programa isoladamente. Apenas necessita de
um SO para correr, não partilha recursos e não está integrada com outra aplicação.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 37 de 70
Exemplo
Plataforma de entrega de serviços (Service Delivery Platform – SDP)
SDP foi projetado para permitir a rápida criação de serviços e colocação em produção.
Introduz uma forma “estandardizada” de criação e produção de novos serviços para que as
ferramentas comuns, processos e métodos de acesso possam ser utilizados quando se desenvolve
um novo serviço.
Se isto pode ser alcançado, gera-se uma eficiência significativa pela organização como um todo.
Podem ser criados novos serviços num curto espaço de tempo uma vez que existe um acordo para
um mecanismo “standard” no acesso à rede que pode ser utilizado. Assim que os projetos estejam
concluídos e colocados em produção, novos projetos possuem menos riscos e são mais previsíveis.
Exemplo (2) – Utilizando SDP
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 38 de 70
IN (Intelligent Network)
Disponibiliza serviços de valor acrescentado em conjunto com serviços “standard” das
telecomunicações
P.e.:
o Televoting
o Filtragem de chamadas
o Portabilidade do número de telefone
o Chamadas grátis
o Chamadas pré-pagas
o Transferência de chamadas
IN baseia-se no SS7
IN permite que as operadoras desenvolvam novos
serviços independentemente dos Core Switch Systems.
SS7 Projetado para ser utilizada no ISDN9
“Standard “ internacional
Caraterísticas principais (Serviço)
Otimizado para uso em redes de telecomunicações digitais em conjunto com trocas programa-
controlo armazenadas digitalmente
Projetado para Controlo de chamadas, Controlo remoto, Controlo e gestão de PSTN (Public
Switched Telephone Network)
Embora SS7 seja um protocolo “fora-de-banda”, aplicações correm nos pontos de troca e são
integradas nos equipamentos
9 Integrated Services for Digital Network (ISDN) é um conjunto de padrões de comunicação para transmissão digital
simultânea de voz, vídeo, dados e outros serviços de rede sobre os circuitos tradicionais da rede de telefone pública.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 39 de 70
Parlay
Fundado em 1998
Especifica APIs para a rede de telefones
Permite a criação por organizações fora das operadoras de rede
o Programadores IT vs Especialistas de Telefones
P.e. APIs definidas no Parlay:
o Controlo de chamadas
o Conferência
o SMS/MMS
o Faturação
As APIs são independentes da tecnologia subjacente
Inicialmente, as interfaces foram especificadas em CORBA
Não aborda como as interfaces devem interagir com a camada de rede
Modelo de negócio da subscrição Parlay
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 40 de 70
OSA
Open Service Architecture/Access
3GPP e ETSI são as “estandardizações” das APIs do Parlay
o Adiciona diversas APIs novas
o Fornece mapeamentos concretos do Parlay em protocolos de sinalização de rede
específicos
o Diferente terminologias (pode confundir por vezes)
P.e. Service (Parlay) VS Service Capability Feature (OSA)
OSA/Parlay (SCFs)
Característica de capacidade do Serviço
Descrição
Geral Contém a introdução e metodologia utilizada
Dados comuns Definições de dados genéricos, utilizados noutras partes
Framework Define as capacidades da infraestrutura, tais como autenticação, descoberta SCF,
registo SCF, gestão de falhas, …
Controlo de chamadas Define a família de controlo de chamadas com capacidades desde configuração de
chamadas básicas à manipulação de chamadas de conferência multimédia
Interação do utilizador SCF (Service Capability Feature) para obter informação do utilizador final, enviar
SMS, etc.
Localização do utilizador /
estado do utilizador SCF para obter a localização e informação do estado
Capacidades do terminal SCF para obter as capacidades do terminal do utilizador final
Controlo da sessão de dados SCF para influenciar as sessões de dados
Mensagens genéricas SCF para o acesso às caixas de entrada
Gestão da ligação SCF para fornecer QoS
Gestão da conta SCF para aceder à conta do utilizador final
Débito baseado em conteúdo SCF para carregar para os utilizadores utilizarem os dados/aplicações
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 41 de 70
Arquitetura lógica OSA
OSA – Core Interfaces
Gestão de segurança e confiança (autenticação de domínios)
SCF Registry: registo de um novo SCF para a framework
SCF Factory: criação de uma nova instância SCF
SCF Discovery: descoberta de SCFs fornecida pela operadora
Gestão de Integridade: balanceamento de carga, gestão de falhas, …
Notificação de eventos: notificação para eventos específicos (p.e. registo de novos SCS10)
Gestão de contrato: SLAs (Service-Level Agreement )
OSA – características
Segurança
o Firewalls, SSL, IPSec
o Ligações dedicadas
SLA (Service-Level Agreement )
QoS
Escalabilidade
o Influenciada pelas propriedades de escalabilidade do CORBA
Performance, Disponibilidade, Robustez, Redundância
o SCS deve oferecer 99.999% de disponibilidade (Serviço de gama de operadores)
10 Service Consumer System
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 42 de 70
JAIN
Java APIs para Integrated Networks (JAIN)
Foi criado a partir do Java Community Process ou JCP
Sobrepõe com OSA/PARLAY no seu objetivo
Principais APIs
JAIN Service Logic Execution Environment (JSLEE)
JAIN Session Initiation Protocol (JSIP)
Java Call Control (JCC)
Server APIs for Mobile Systems (SAMS)
Mobile Device Management and Monitoring (DM)
JAIN – Topologia de rede
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 43 de 70
JAIN – JAIN SLEE
JSLEE fornece
Modelo de eventos
Modelo de componentes
Capacidades de gestão
Capacidades de recursos
Capacidades das instalações (infraestruturas)
Capacidades de perfis
Parlay X Evolução do Parlay
Foca-se nos Web Services (WSDL 1.1)
API muito simples
o Menos capacidades
o Segmentação (alvos) de uma
comunidade maior
Providencia uma abstração de funcionalidades
expostas pelas mais complexas, mas mais funcionalmente ricas APIs Parlay
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 44 de 70
Parlay X – Web Services
Cada web service é abstraído do conjunto de recursos das telecomunicações, focando-se na
simplicidade em vez da funcionalidade
A interação entre as aplicações e o web service Parlay X é feita através de mensagens XML
Usa semântica de aplicações simples
Não são específicos da rede
Não fornece uma implementação do AAA e SLA. Em vez disso, confia na infraestrutura comprovada
do Web service.
Parlay X
Parlay-X capitaliza com o “momentum” do mundo de TI por "arquiteturas orientadas ao serviço",
onde os serviços podem ser pesquisáveis e acedidos de uma forma estandardizada,
independentemente de onde ou como estão implementados.
Estes serviços podem ser acedidos de forma segura pela Internet
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 45 de 70
Parlay X – Partes
Parte 1: Overview
Parte 2: Common Data Definitions
Parte 3: Framework
Parte 4: Call Control
Parte 5: User Interaction SCF
Parte 6: Mobility SCF
Parte 7: Terminal Capabilities SCF
Parte 8: Data Session Control SCF
Parte 9: Generic Messaging SCF
Parte 10: Connectivity Manager SCF
Parte 11: Account Management SCF
Parte 12: Charging SCF
Parte 13: Policy management SCF
Parte 14: Presence and Availability Management SCF
Parte 15: Multi-Media Messaging SCF
Parte 16: Service Broker SCF
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 46 de 70
Rich Communication Suite (RCS)
IMS (IP Multimedia Subsystem) é sobre a expansão para lá dos serviços de voz
RCS são um cenário típico de utilização de aplicações IMS
Exemplos comerciais
Vodafone 360
Características
Agenda telefónica melhorada, com capacidades de serviço e contactos melhorados com
informação de presença
Serviço de mensagens melhorado, que permite uma maior variedade de opções das mensagens
incluindo chat e histórico de mensagens
Melhoria nas chamadas, que permite partilhar conteúdo multimédia durante uma chamada de voz.
RCS – Pros/Contras
RCS encontra-se atrasado
o As aplicações de Internet têm vindo a explorar estes recursos há anos
P.e.: Skype, MSN, GoogleTalk (XMPP)
o Soluções baseadas em SIP não possuem muitos dos recursos que as soluções de Internet
oferecem
o Muitas soluções da Internet são grátis! (como ganhar dinheiro com algo que se denomina
como livre?)
Promessas do RCS
o Integração total no ambiente dos dispositivos móveis (não como aplicação isolada)
o Interoperabilidade (pode ser utilizado com outro qualquer dispositivo/rede)
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 47 de 70
Presença e Mensagens Instantâneas
Presença e Mensagens Instantâneas são essenciais na forma como as pessoas se comunicam
através da Internet.
Mensagens Instantâneas (Instant messaging) é o significado do envio de pequenas e simples
mensagens que são entregues imediatamente aos utilizadores que estejam ativos (online)
Presença significa a pesquisa, recuperação e subscrição às mudanças da informação do estado de
presença (p.e. "online" ou "offline") de outros utilizadores.
Embora os dois sejam, geralmente, implementados em conjunto, são serviços diferentes.
A maioria destes dois serviços utilizam protocolos proprietários (MSN, AIM)
Protocolos mais importantes
IMPS (OMA) - Instant Messaging and Presence Service
XMPP (IETF) - Extensible Messaging and Presence Protocol
SIMPLE (IETF) - SIP para Instant Messaging e Presence Leveraging Extensions
IM (Instant Messaging)/Presence
IM data do primeiro Sistema UNIX
o E.g. talkd
IM diferencia-se de outras tecnologias, tal como o email, devido à sincronização entre os
utilizadores
IM, geralmente, segue o padrão de desenvolvimento de software “push-pull”
o Utilizador/aplicação “empurra” a informação para um servidor a partir do qual o outro
utilizador “puxa” as mensagens pendentes
o
Presença segue o padrão de desenvolvimento de software “publish-subscribe” (pub/sub):
o Utilizador/aplicação pública informação sobre a disponibilidade na rede e estas informação
é transmitida para todas as entidades que estejam autorizadas a recebê-la.
o A autorização, normalmente, é feita na forma de subscrição
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 48 de 70
IMPS (Instant Messaging and Presence Service)
Mensagens Instantâneas e Serviço de Presença
Foi começado no Wireless Village Forum – que faz parte do OMA – em 2002
IMPS é amplamente utilizado, mas não necessariamente comercializado
o A maioria dos telemóveis Nokia e SE vêm com um cliente IMPS.
o Muitas operadoras não anunciam este serviço
Segue recomendações dos 3GPP e IETF11
o Mas não é o “standard” de qualquer uma das duas
Não existem implementações abertas.
XMPP (Extensible Messaging and Presence Protocol)
Fi começado em 1999 e contribui para o IETF em 2002
É o “standard” IETF (RFC 3920 and 3921)
Características principais
Formato de dados em XML
Composta de extensões simples para o protocolo central
XMPP é projetado utilizando uma Arquitetura cliente-servidor federada.
A camada de transporte do XMPP é uma tecnologia de streaming XML que inclui forte segurança,
encriptação do canal (TLS), autenticação (SASL) e internacionalização (Unicode).
É bastante utilizado (p.e. Google Talk, Facebook, Apple IM, Jabber.org)
11 Internet Engineering Task Force – é uma comunidade internacional ampla e aberta (técnicos, agências,
fabricantes, fornecedores, pesquisadores) preocupada com a evolução da arquitetura da Internet e seu perfeito
funcionamento.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 49 de 70
SIP SIMPLE
SIP para Instant Messaging e Presence Leveraging Extensions (SIMPLE) é um grupo de extensões
utilizado para tratar da presença e tráfico de mensagens sobre o canal SIP.
Começou em 2001 baseado no trabalho do Session Initiation Protocol (SIP) juntamente com o IETF
o primeiro rascunho em 2004
“Standard” IETF (RFC 3428)
Características principais
Totalmente integrado com soluções e infraestruturas SIP existentes
As extensões são “standards” IETF (RFC 3859 - Common Profile for Presence, RFC 3863 - Presence
Information Data Format (PIDF))
As subscrições de presença SIP não são persistentes e devem ser renovadas periodicamente (p.e.
a cada hora)
Foi adotado no passado pela Microsoft (MSN4.0) e IBM (Lotus Sametime)
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 50 de 70
Enterprise Application Integration (EAI)
As empresas são compostas por vários componentes de software e produtos que, na maioria das
vezes, não estão de acordo com os protocolos padrão.
Enterprise Application Integration é o termo usado para descrever a integração das aplicações
informáticas de uma empresa, de modo a maximizar a sua utilidade em toda a empresa.
EAI refere-se ao sistema de ligação, que foi projetado de uma forma independente, mas que é
necessário comunicar com vista a desenvolver o processo de negócio.
Tipos de EAI
Integração de Dados (Data Integration)
o Consolidação de bases de dados
Integração de Processos (Process Integration)
o Interação entre aplicações num nível de controlo
Tipos de interação num ambiente EAI
Cliente/Servidor síncrono (synchronous client/server)
Cliente/Servidor assíncrono (asynchronous client/server)
Cliente/Servidor síncrono
A interação mais direta entre os componentes é o modelo de pedido/resposta (request/response),
em que o cliente envia um pedido e espera até que o servidor forneça uma resposta:
o É parecido à programação de linguagens procedimentais12
o O modelo é simples e intuitivo
o Bem suportado por RPC (Remote Procedure Call13)
12
às vezes utilizado como sinónimo de Programação imperativa (Paradigma de programação que especifica os
passos que um programa deve seguir para alcançar um estado desejado
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 51 de 70
o É necessário uma infraestrutura adicional quando as interações se tornam mais complexas
Cliente/Servidor – Desvantagens
Interações síncronas necessitam que ambas as partes estejam “online”: o primeiro utilizador efetua um pedido, o segundo recebe o pedido, processa esse pedido, envia uma resposta e o primeiro recebe essa resposta.
No momento em que o primeiro utilizador envia um pedido, este é bloqueado, ou seja, não pode fazer novo pedido.
Requer a manutenção de um estado do utilizador que faz o pedido (recursos de CPU e RAM) – questões de escalabilidade.
Se os sistemas não são de contexto 1 para 1, existirá uma sobrecarga de informação.
E se uma chamada falhar? No pior dos casos: cascada de chamadas. É feito uma reedição da chamada?
Soluções:
Ter uma pool de ligações abertas
Associar uma thread a cada ligação
Alocar ligações quantas as necessárias
Fila fiável (Reliable Queuing)
Um complemento para interações síncronas
o Indicado para projetos modulares
O código, para efetuar um pedido, pode estar num módulo diferente (mesmo
numa máquina diferente) em relação ao código que irá lidar com a resposta
o Torna-se mais fácil desenhar modelos de distribuição sofisticados (multicast,
transferências, replicação, mensagens que se unem)
Ajuda a lidar com sessões de comunicação de uma forma mais abstrata
o Forma mais natural de implementar interações complexas
13
é uma tecnologia de comunicação entre processos que permite a um programa de computador chamar um procedimento noutro espaço de endereçamento (geralmente noutro computador, ligado por uma rede).
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 52 de 70
Sistemas de filas (Queuing Systems)
Sistemas de filas implementam interações assíncronas
Cada elemento do sistema comunica com os restantes via filas persistentes. Estas filas armazenam
mensagens transaccionalmente, garantindo que essas mensagens estão lá mesmo depois de
ocorrerem falhas.
Sistemas de filas oferecem vantagens significativas sobre as soluções tradicionais no que se refere
à tolerância de falhas e flexibilidade do sistema global: não é necessário que as aplicações estejam
presentes quando o pedido foi efetuado!
Filas oferecem uma forma de comunicar entre redes e sistemas heterogéneos enquanto continuam
a ser capazes de tomar decisões sobre o comportamento das mensagens.
Filas – Vantagens
As filas permitem implementar padrões de interações complexos entre módulos:
o 1-para-1 com tolerância a falhas
o 1-para-muitos (multicast: colocar numa fila e depois enviar a partir desta fila para muitas
outras filas) – este processo é bastante útil para “subscrições”.
O facto das filas estarem implementadas na base de dados ainda ajuda com a
performance uma vez que a lógica para a distribuição pode ser embutida na
própria base de dados
o Muitos-para-1, muitos módulos enviam os seus pedidos para um único módulo que pode
definir prioridades, reordenar, comparar, etc.
o muitos-para-muitos como serviços replicados para uma grande quantidade de clientes
Flexibilidade nas filas em troca de performance
Filas promovem a distribuição (p.e., clustering)
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 53 de 70
Intermediários de mensagens (Message Brokers)
Intermediários de mensagens adicionam lógica às filas e ao nível da infraestrutura de mensagens
Processamento de mensagens já não é apenas o transferir as mensagens entre localizações mas
projetistas podem agora associar regras e etapas de processamento a serem executados aquando
do encaminhamento das mensagens
A lógica inerente neste processo com as filas e o middleware de mensagens pode ser difícil para
entender uma vez que é distribuído e não há uma vista geral coerente
Publicar/Subscrever (Publish/Subscribe)
Arquiteturas cliente / servidor padrão e sistemas de filas assumem que o cliente e o servidor se
conhecem (através de uma interface ou uma fila)
Em diversas situações, é mais útil implementar sistemas onde a interação é baseada em anunciar
os eventos recebidos:
o Um serviço publica mensagens/eventos de um dado tipo
o Os clientes subscrevem os diferentes tipos de mensagens/eventos
o Quando um serviço publica um evento, o sistema procura na tabela por subscrições e
encaminha o evento aos clientes interessados: geralmente, isto acontece sob a colocação
da mensagem na fila para esse cliente.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 54 de 70
Gestão da identidade
Provisionamento (Provisioning) – adiciona novos utilizadores a diretorias de SOs de rede e
diretorias de servidores aplicacionais, ambos dentro da empresa e fora dos sistemas de informação
dos parceiros.
Gestão de palavras-chave (Password management) – permite que os utilizadores tenham um
conjunto único de credenciais para entrar no sistema de informação da empresa. Adicionalmente
permite aos utilizadores que administrem as suas palavras-chave, os seus dados da conta e
privilégios.
Controlo de acessos (Access control) – permite que o sistema reconheça políticas de segurança
para grupos de utilizadores. Por exemplo, uma política de segurança irá prevenir pessoas de
mudarem a sua profissão em vez de efetuarem um pedido de alteração dessa informação à
autoridade apropriada para o efeito.
SAML (Security Assertion Markup Language) Aprovado pelo OASIS em Março de 2005
“SAML is a protocol specification to use when two servers need to share authentication information.
Nothing in the SAML specification provides the actual authentication service…“
in IBM Developerworks
“SAML is different from other security approaches mostly because of its expression of security in the form
of assertions about subjects. Other approaches use a central certificate authority to issue certificates that
guarantee secure communication from one point to another within a network. With SAML, any point in the
network can assert that it knows the identity of a user or piece of data. It is up to the receiving application
to accept if it trusts the assertion. Any SAMLcompliant software can assert its authentication of a user or
data “
in IBM Developerworks
Exemplo: Univ. Aveiro IDP14
14
Identity Provider - O componente "Identity Provider" tem como principais funções a realização de autenticação
e de fornecer atributos com base em políticas para que possa ser efetuada uma autorização no acesso ao serviço inicialmente requisitado.
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 55 de 70
O que é o SAML?
Forma estandardizada pela indústria de representar e trocar declarações/afirmações acerca de
identidades, atributos e direitos
Neutro para os vendedores
Baseado em XML
Utiliza SOAP, XMLDSig, XMLEnc
É necessário SSL entre servidores
SAML cai sobre o tópico mais abrangente de gestão de identidades
Gestão de identidade aplica-se tanto à rede como à identidade federada.
Identidade federada (Federated Identity) refere-se à utilização da identidade ou decisões de
autorização entre os limites organizacionais.
Gestão de identidade inclui a consideração de registo de identidade, revogação e terminação.
O SAML foca-se na autenticação única entre aplicações.
Terminologia SAML
Afirmações são declarações de factos sobre assuntos.
O fornecedor de identidade ou SAML Authority ou Asserting Party é a entidade que faz
afirmações.
O fornecedor de serviços ou Relying party baseia-se em informações fornecidas pelos
fornecedores de identidade.
O SAML fornece
Afirmações sobre:
o Atos de autenticação (e.g., SIM, a entidade autenticou-se desta maneira neste momento)
o Atributos dos temas (por exemplo, direitos de acesso, limites de crédito, estado, nome,
pares de valores)
o Decisões de autorização já efetuadas
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 56 de 70
Um simples protocolo Pedido/Resposta (Request / Reply protocol)
o Tipos de pedido (queries): autenticação, autorização, atributo
o Um formato de resposta que contém afirmações (autenticação, autorização ou declaração
de atributos)
o Os pedidos e respostas ocorrem num canal SSL.
o A entidade que faz o pedido é, geralmente, um fornecedor de serviços e o que recebe a
resposta é um fornecedor de identidades.
Como funciona ?
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 57 de 70
XACML (XML Access Control Markup Language)
Aprovado pelo OASIS em Março de 2005
Maneira estandardizada pela industria de representar e processar politicas de controlo de acessos
Neutro para vendedores
Baseia-se em XML
Providencia algoritmos de combinação de regras.
o exemplo: "negar imposição" e permitir imposição
Uma política XACML pode especificar o que o fornecedor deve fazer quando recebe uma afirmação
SAML.
Principal preocupação: não implementar políticas de autorização no código
Linguagem de políticas (Policy Language)
o Utilizada para descrever os requisitos de controlo de acesso. Quem é que está autorizado a
fazer o quê?
Linguagem Pedido/Resposta (Request/Response Language)
o O pedido é uma query sobre permissões associadas ao utilizador.
o A resposta é permitida, recusada, indeterminada ou não aplicável.
OpenID
Esforços iniciados em 2005
Autenticação e identificação do utilizador web
OpenID é utilizado e disponibilizado por: AOL, BBC, Google, IBM, PayPal, Verisign, etc.
Compara-se levemente com o mais pesado SAML
Altamente escalável – não depende de acordos pré-existentes.
Está a perder mercado face ao OAuth…
OAuth Standard aberto para uma autenticação segura da API
Começada pelo twitter em 2006
IETF RFC 5849 em 2010
Token-based, o utilizador tem um único token utilizado para aceder aos dados a partir do site
Não extensível
Não está pronto para a área empresarial
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 58 de 70
Como funciona?
1. Obter o “request token”
2. O utilizador autoriza o “request token”
3. Troca do “request token” para o “access
token”
4. Utilização do “access token” para obter os
recursos protegidos
HTTP Authorization header
HTTP POST
URL query string
OAuth2
Protocolo recente (começou em 2010)
IETF RFC 6749 em 2012
Oauth Server irá validar o Fornecedor de Serviços baseado em HTTPS
Melhorias
Autorização:
o Escopo (Scoping) (diferentes direitos)
o Direitos revogados assim que sejam concedidos
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 61 de 70
ESB?
Um Enterprise Service Bus (ESB) é uma arquitetura de software para middleware que fornece
serviços fundamentais para arquiteturas mais complexas
ESB pode ser utilizada para implementar arquiteturas SOA
ESB gere o acesso a aplicações e serviços para apresentar uma interface única, simples e
consistente para utilizadores finais/serviços.
Funcionalidades
Distribui informações em toda a empresa fácil e rapidamente
Mascara diferenças entre plataformas subjacentes, arquiteturas de software e protocolos de rede
Garante a entrega da informação mesmo quando alguns sistemas ou redes ficam offline.
Efetua reencaminhamentos, logs e enriquece informações sem ser necessário recorrer à rescrição
de aplicações.
Providencia implementações de soluções incrementais para que todos os serviços empresariais e
aplicações não necessitem de ser imediatamente modificadas ou não ao mesmo tempo
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 62 de 70
Arquitetura ESB
Capacidades
Encaminhamento (Routing)
o A capacidade de canalizar um pedido a um fornecedor de serviços particular com base em
critérios determinísticos ou variáveis
o Tipos de encaminhamento a considerar:
Encaminhamento determinístico ou estático
Encaminhamento baseado no conteúdo
Encaminhamento baseado em políticas
Encaminhamento baseado em regras complexas
Transformação da mensagem (Message Transformation)
o A capacidade de converter a estrutura e formato do pedido ao serviço empresarial que foi
recebido para a estrutura e formato esperado pelo fornecedor de serviço
Enriquecimento da mensagem (Message Enhancement)
o A capacidade de adicionar ou modificar a informação contida na mensagem como
requisitado pelo fornecedor de serviços
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 63 de 70
o Tipos de enriquecimento de mensagem:
Conversão do formato da data
Dados suplementares não incluídos na mensagem original
Conversão de dados (i.e. espaço para zero)
Enriquecimento baseado em regras
Transformação do protocolo (Protocol Transformation)
o A capacidade de aceitar um tipo de protocolo do consumidor como entrada (p.e.
SOAP/JMS) e comunicar ao fornecedor de serviços através de outro protocolo (p.e. IIOP)
o Uma forma de transformação de mensagem preocupada com a estrutura da mensagem e
não com o seu conteúdo
o Possui os atributos das ligações físicas, além dos atributos das ligações lógicas
o Exemplos:
SOAP/JMS ◊ IIOP
XML/HTTP ◊ CICSMQ
XML/HTTP ◊ RMI/IIOP
Mapeamento de serviços (Service Mapping)
o A capacidade de traduzir um serviço de negócio na implementação desse serviço
correspondente e fornecer a informação da localização e ligação
o Pode ser implementado através de XML, uma base de dados ou embutido com o
componente mediador ESB.
o Geralmente contém a seguinte informação nuclear
Nome do serviço de implementação
Protocolo do serviço e informações da ligação
Informação específica do protocolo (i.e. timeouts, localização da falha)
Informação do encaminhamento específico do serviço
Processamento da mensagem (Message Processing)
o A capacidade para gerir o estado e executar a gestão do pedido aceitando um pedido de
entrada, garantindo a entrega para o cliente via sincronização da mensagem
Coreografia do processo (Process Choreography)
o A capacidade de gerir processos de negócio complexos que necessitam da coordenação de
múltiplos serviços de negócio para cumprir um simples pedido de serviço de negócios
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 64 de 70
Orquestração do serviço (Service Orchestration)
o A capacidade de gerir a coordenação de vários serviços de implementação
Gestão das transações (Transaction Management)
o A capacidade de fornecer um única unidade do trabalho para um pedido de serviço de
negócios, fornecendo uma framework para a coordenação dos múltiplos recursos em
vários serviços
Segurança (Security)
o A capacidade de proteger serviços comerciais de acessos não autorizados
o Com o SOA não existem mais silos; os serviços tornam-se visíveis para toda a empresa
através de ESB
o ESB deve fornecer mecanismos A4C
Authentication, Authorization, Auditing, Accounting, Charging
o O ESB deve aceder a um gestor de segurança ou autenticação e autorização, em vez de ter
a responsabilidade diretamente
Componentes
Um ESB pode ser dividido nos seguintes componentes:
o Mediador
o Registo de Serviço
o Coreógrafo
o Motor de regras
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 65 de 70
Mediador
Encaminhamento
Comunicação
Transformação de mensagem
Enriquecimento de mensagem
Transformação do protocol
Processamento da mensagem
Gestão de erros
Orquestração de serviços
Gestão de transações
Segurança
Registo de Serviço
Cataloga os serviços
Providencia mapeamento dos serviços
Permite a pesquisa dos serviços
UDDI (Universal Description, Discovery and Integration)
Coreografia
Processamento de mensagem
Coreografia do processo
Gestão de transações
Segurança
Motor de regras
Encaminhamento
Transformação da mensagem
Enriquecimento da mensagem
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 66 de 70
Gerir um negócio
Vamos supor que o nosso projeto tem um grande sucesso!
Como é que vamos gerir o nosso negócio?
o Vender a aplicação?
o Licenciar a aplicação?
o Colocar a aplicação num servidor próprio?
Isto foi pensado desde o início?
Cloud Computing
Construir um DataCenter é dispendioso
o Custos para construir (CapEx)
o Custos para operar (OpEx)
“Need milk? Don’t buy the cow… buy the milk”
Alugar o que é realmente necessário e não comprar e gerir tudo!
Vantagens
Pagar o que se utiliza
Escalabilidade instantânea
Segurança
Confiabilidade
APIs
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 67 de 70
Tendência
IaaS – Infraestrutura como serviço
Grelhas de servidores virtuais, armazenamento e redes
Acesso à pilha da infraestrutura:
Acesso completo ao OS
Firewalls
Routers
Gestão de carga (Load balancing)
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 68 de 70
Vantagens
Pagar o que se utiliza (Pay per use)
Escalabilidade instantânea
Segurança
Confiabilidade
APIs
Exemplos
PaaS – Plataforma como serviço
A abstração de aplicação dos limites tradicionais do hardware permitem os programadores
focarem-se apenas no desenvolvimento da aplicação e não se preocuparem com os sistemas
operativos, escalabilidade da infraestrutura, gestão de carga, etc.
o Exemplo: Google App Engine (Java, Python), MS Azure
(.net), Heroku (RoR)
Modelo de entrega da plataforma
As plataformas são construídas sobre a infraestrutura, que é cara
A estimativa da procura não é uma ciência
Gerir a plataforma não é “divertido”!
Vantagens
Pagar o que se utiliza (Pay per use)
Escalabilidade instantânea
Não há tarefas de sysadmin
Maior segurança
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 69 de 70
SaaS – Software como serviço
Aplicações que se baseiam na interface web acedidas via web services e web 2.0
o P.e. Google Apps, SalesForce.com e aplicações de
redes sociais, tais como o FaceBook
Modelo de entrega do Software
Cada vez mais popular com as PMEs
Não existe hardware ou software para gerir
O serviço é entregue através de um navegador (browser)
Vantagens
Não é necessária qualquer instalação
Não há uma plataforma específica
Upgrades automáticos
Acesso aos dados em qualquer lugar
Cloud Computing
Menor custo de propriedade
Reduz a responsabilidade de gestão da infraestrutura
Está preparado para suportar cargas de recursos inesperados
Distribuição de aplicações mais rapidamente
- Eng. Serviços -
Rui Mendes | Bruno Cruz Página 70 de 70
Como é que a economia da Cloud funciona?
Multi-tenant15
A virtualização reduz os custos à medida que se aumenta a sua utilização
Economias de escala suportadas financeiramente pela tecnologia
Políticas de atualizações automáticas
Riscos
Segurança
Tempo de inatividade
Acesso
Dependência
Interoperabilidade
Modelo de negócios da Cloud
15
Multitenancy refere-se ao princípio de arquitetura de software onde uma única instância do software corre num
servidor, servindo múltiplas organizações cliente (tenants).
Top Related