Conceito de SOA • SOA – Arquitetura Orientada a Serviços Conceitos e Aplicações • Prof. MSc. Edilberto Silva [email protected] / http://edilms.eti.br Gestão de TI • Baseado nos materiais dos professores Luiz Fernando Sirotheau / Senac/DF 1 Alexandre Vasconcelos / UFPE / Qualiti Software Processes SOA - Service Oriented Architecture (Arquitetura Orientada a Serviços): Arquitetura proposta para interoperabilidade de sistemas por meio de conjunto de interfaces de serviços fracamente acoplados, onde os serviços não necessitam de detalhes técnicos da plataforma dos outros serviços para a troca de informações ser realizada. (e-ping v.3,2007) É um estilo de arquitetura que promove a integração entre o negócio e a TI através de serviços. O serviço é o principal componente desta arquitetura. SOA preconiza como resultado: maior agilidade para atender a novas demandas, flexibilidade para atender as mudanças, redução de custo e reuso de ativos (serviços). (companyweb, 2007) ... é um paradigma para organização e utilização de competências distribuídas que estão sob controle de diferentes domínios proprietários. ...é um meio para organizar as soluções que promovem o reuso, crescimento e interoperabilidade. (Oasis – Modelo de Referência SOA 1.0, 2006 Prof. MSc. Edilberto Silva Ponto vista do negócio a independência funcional • • É a mais recente iniciativa para desenvolver soluções de tratamento da informação aderente aos negócios É uma abordagem que visa aumentar a eficiência do capital estrutural É um estratégia para aumentar o valor percebido pelos clientes É uma arquitetura para agilizar as mudanças nos negócios a coesão Definição tecnológica • • • acoplamento É uma coleção de serviços (barramento de serviços) Utiliza topologia de rede para realizar a troca de mensagens Garante serviços fracamente acoplados, altamente coesos e com alta possibilidade de reutilização [email protected] http://www.edilms.eti.br 2 Surge como conseqüência da aplicação dos princípios de abstração e ocultação de informação; pode ser obtida a partir da definição de módulos de "propósito único" e evitando-se excessivas interações com outros módulos; • Prof. MSc. Edilberto Silva http://www.edilms.eti.br Coesão e Acoplamento Conceito de SOA • • • [email protected] • 3 está fortemente ligada ao princípio de ocultação e que sugere que um módulo pode realizar a sua função com um mínimo de interação com os demais módulos do sistema; é desejável que os módulos num software apresentem um alto grau de coesão; Exprime o grau de conexão entre os módulos; os módulos de um software devem apresentar um baixo coeficiente de acoplamento. Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br 4 Um exemplo de SOA • Uma empresa de eletricidade tem a capacidade de gerar e distribuir eletricidade (capacidade subjacente). A fiação da rede de distribuição da companhia elétrica (o serviço) oferece o meio para fornecer eletricidade para suportar o uso por um consumidor residencial típico (funcionalidade do serviço), e um consumidor acessa a eletricidade gerada (a saída da invocação de serviço) via uma tomada de parede (interface de serviço). • De forma a utilizar a eletricidade, um consumidor precisa entender que tipo de plug usar, qual a voltagem fornecida, e quais os possíveis limites de carga; a empresa presume que o consumidor irá conectar somente aparelhos adequados à voltagem ofertada e a carga suportada; e o consumidor por sua vez assume que os aparelhos adequados podem ser conectados sem danos ou riscos (suposições técnicas do serviço). • Um usuário residencial ou comercial precisa abrir uma conta na empresa para usar o fornecimento (restrição de serviço) e a empresa irá medir o consumo e espera que o consumidor pague pela energia conforme taxa prevista (política de serviço). • Quando o consumidor e a empresa concordam nas restrições e políticas (contrato de serviço), o consumidor pode ter o fornecimento de eletricidade usando o serviço desde que a rede de distribuição de eletricidade e a conexão residencial permaneçam intactas (por ex. uma tempestade que derrube a rede e interrompa o fornecimento) e o consumidor pode pagar (por exemplo, transferência eletrônica de fundos) a empresa (acessibilidade). Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br 5 O que o SOA não é… • • • • • • • • • • • SOA não é uma tecnologia SOA não é um produto SOA não é um projeto de TI SOA não é um software SOA não é um “framework” SOA não é uma metodologia SOA não é uma solução de negócio SOA não é um middleware SOA não pode ser comprada SOA não um serviço SOA não é uma ferramenta de produtividade (companyweb,2007) Prof. MSc. Edilberto Silva Conceito • • • • • 6 O “O” do SOA – Orientado a serviços É uma tarefa repetitiva de negócios – Ex. Verificar crédito cliente; abrir nova conta É um componente, altamente coeso e fracamente acoplado que encapsula uma função de negócio reutilizável Recebe requisições e responde encapsulando todo o detalhe do seu processamento Executa um ciclo completo de trabalho e não depende do estado de outros componentes externos É uma unidade de trabalho feita por um fornecedor de serviço para fornecer resultados finais requeridos por um consumidor de serviço É invocado através de protocolos de comunicação independentes da localização e da tecnologia de suporte Prof. MSc. Edilberto Silva http://www.edilms.eti.br Conceito O “S” do SOA - Serviço • [email protected] [email protected] http://www.edilms.eti.br CEO CIO Analista de Negócio Executivos de TI Para o CEO é uma forma crucial de criar uma corporação conectada e responder melhor às demandas de clientes e pressões de mercado. Para o CIO é uma possibilidade de proteger investimentos existentes de TI sem inibir o desenvolvimento de novas capacidades. É a forma de utilizar TI como alavancador da empresa ao invés de barreiras. Para os analistas de negócios é uma forma de trazer investimentos e ativos alinhados com a estratégia e processos de negócios de Negócio. Para os Executivos e Gerentes de TI é uma forma de efetivamente integrar sistemas heterogêneos. Possibilitando uma melhor gestão da complexidade de TI e responder eficientemente às necessidades de negócio. Aos desenvolvedores é o caminho para se criar Desenvolvedores de TI aplicações dinâmicas e colaborativas e melhorar a reutilização de TI. 7 Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br 8 Expectivas do SOA Conceito O “A” do SOA - Arquitetura • • Motivação para SOA é pelo valor que traz para a área de negócios. Não é uma motivação apenas tecnológica É a estrutura do sistema composta pelos elementos de software, propriedades visíveis destes elementos e o relacionamento entre eles É um estilo de arquitetura que suporta a integração dos negócios com serviços conectados Até 2008, 80% dos novos desenvolvimentos de projetos usarão técnicas de SOA. Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br 9 Evolução das Arquiteturas Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br Prof. MSc. Edilberto Silva SOA diz respeito a mudanças nos negócios: Aumenta a velocidade das mudanças, facilita as conexões de negócio, e melhora o controle dos negócios. [email protected] http://www.edilms.eti.br 10 Evolução das Arquiteturas 11 Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br 12 Evolução das Arquiteturas • Arquitetura Spaghetti Arquitetura SOA 42% dos orçamentos de TI – apenas para fazer “coisa se conectar com coisa”.Gartner Modelagem Negócios Painéis de Negócio The Yankee Group, 3/05 Lógica de Segurança Serviços Interação Serviços Process. Regras de Negócio Lógica de Interação com Usuário Lógica de Processos Enterprise Service Bus Serviços Informação Lógica de Acesso a Dados Lógica de Integração Serviços de Gerenciamento TI Mais de 70% dos orçamentos de TI são alocados à manutenção e operação de sistemas existentes. Serviços de Desenvolvimento Inovação de Negócios & Serviços de Otimização Desenvolvimento Partner Services Serviços de Aplicações Serviços de Negócio Criando Novos Ativos Lógica de Integração Serviços Acesso Monitoração TI Serviços de Negócio Transformando Ativos Existentes Serviços de Infra Estrutura Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br 13 Arquitetura tradicional Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br 14 Arquitetura com SOA 15 Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br 16 Tecnologias ligadas a SOA Tecnologias ligadas a SOA POO (Programação orientada a Objetos) • POO é um paradigma de desenvolvimento de softwares (Objetos, Classes, Métodos, herança, polimorfismo,etc...) WOA (Web Oriented Architeture) • Os softwares SOA utilizados na internet. No WOA os artefatos são conhecidos como recursos, que são quaisquer artefatos que possam ser identificados por uma URI (Universal Resource Identifier), basicamente o endereço do recurso. Web Services • Os serviços encontrados para WEB são conhecidos como WEB Services • componentes que permitem às aplicações enviar e receber dados em formato XML • e são padronizados segundo UDDI (Universal Description, Discovery and Integration) UDDI (Universal Description, Discovery and Integration) • Especificação que define um serviço de registro para Web Services. • Provedores de serviços podem utilizar UDDI pa-ra publicar os serviços que eles oferecem. WSDL (Web Services Description Language) • Trata-se de um documento escrito em XML que além de descrever o serviço, especifica como acessá-lo e quais as operações ou métodos disponíveis • padrão baseado em XML para descrever o serviço como no COM, onde ele traz os métodos do webservice. SOAP (Simple Object Access Protocol) • Protocolo padronizado para troca de informações estruturadas entre plataforma descentralizada e distribuída usando como base o XML • Envelope que define a estrutura para descrever o conteúdo da mensagem e como processá-lo Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br 17 Prof. MSc. Edilberto Silva [email protected] http://www.edilms.eti.br 18