70

Eng. Serviços - Sistemas de Informação · Arquitetura de Orientação a Serviços (Service-Oriented Architecture) representa um modelo de Arquitetura que visa melhorar a agilidade

Embed Size (px)

Citation preview

- 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

Facebook

- 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 59 de 70

Passos do Oauth2

- Eng. Serviços -

Rui Mendes | Bruno Cruz Página 60 de 70

- 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).