Arquitecturas de Sistemas de Informação Arquitectura Serviços Pedro Sousa ATSI 2007 Parte I Uma primeira visão sobre as questões arquitecturais do SOA Pedro Sousa ATSI 2007 SOA – Arquitecturas Orientada a Serviços (1) • SOA – Princípios Arquitecturais e Tecnologia para a construção de aplicações com base na composição de funcionalidades de outras aplicações. • O SOA surge da consolidação das áreas de: – integração de aplicações (EAI) – Workflow (WF) – Interoperabilidade entre organizações (B2B) • O SOA tem os “Services” como elemento estruturante. Os Serviços podem ser definidos pela composição de outros serviços (orquestração e cooreografia) Pedro Sousa ATSI 2007 SOA – Arquitecturas Orientada a Serviços (2) Pedro Sousa ATSI 2007 SOA – Arquitecturas Orientada a Serviços (3) • Os Serviços devem ter um conjunto de características para que possam ser usados na definição de outros serviços. • A primeira questão arquitectural que se coloca é saber como definir/identificar os serviços mais adequados. • Para tal, os serviços são estruturados em camadas, em função do seu potencial de reutilização e complexidade – Solution Layer – Core Business Services Layer – Utility Services Layer Pedro Sousa ATSI 2007 SOA – Arquitecturas Orientada a Serviços (4) UI UI Order System Stock Control Application Solution Layer Order Fulfillment Service Orders Service Stock Management Service Stock Movements Service Products Service Stock Reordering Customers Service Core Business Services Accounts Receivable API Purchasing (from legacy Accounting System) (from highly generic component) Address Reformatter Currency Conversion Service Pedro Sousa ATSI 2007 Utility Services SOA – Arquitecturas Orientada a Serviços (5) • Os serviços definidos na Solution Layer, implementam processos com interacção Humana. • Cada interface é vista com um serviço especifico, que é chamado pelo motor de workflow • A sua reutilização é limitada e está muito dependente das reutilizações das Interfaces UI Pedro Sousa ATSI 2007 Order System Order Fulfillment Service SOA – Arquitecturas Orientada a Serviços (6) • Os serviços definidos na “Core Business Services Layer”, implementam sequências de actividades automáticas com alto grau de reutilização. • Podem ser focados em processos ou na gestão da informação – Processos: “fragmentos de processos” formados por sequência de actividades automáticas – Informação: “sequência de actividades automáticas necessárias à gestão das entidades informacionais Pedro Sousa ATSI 2007 SOA – Arquitecturas Orientada a Serviços (7) Identificação dos Core Business Services • Um Core Business Service é uma sequência de interacções com sistemas de informação que se repete em vários processos. • Visa a facturação dessas actividades, simplificando a definição de processos de negócio Pedro Sousa ATSI 2007 SOA – Arquitecturas Orientada a Serviços (8) Identificação dos Information Services • Os Information Service agregam as actividades necessárias a assegurar a coerência da informação. • Tem dois objectivos fundamentais: – Garantir que essas actividades são efectivamente realizadas, assegurando a correcta gestão da informação – Retirar essa complexidade dos restantes processos, simplificando a sua definição Update Customer Pedro Sousa ATSI 2007 SOA – Arquitecturas Orientada a Serviços (9) • IS - Services • Quais as aplicações que os implementam e que os Update Customer utilizam: – Serviços dos sistemas existentes – Business Services identificados – Information Services Identificados Aplicação Nova Aplicações Existentes Pedro Sousa ATSI 2007 S Legado SOA – Arquitecturas Orientada a Serviços (6) • Além dos 3 classes de serviços importa diferenciá-los pelo tipo de actividades que cada serviço pode conter (automáticas e semi-automáticas) • Os serviços com actividades exclusivamente automáticas são primeiros a ser definidos e constituem a base para a definição dos restantes Business Services Information Services IS Service Pedro Sousa ATSI 2007 Actividades automáticas Estruturação e Planeamento dos Projectos • O SOA implementa-se em projectos com objectivos foco bem claros. Pedro Sousa ATSI 2007 Parte II 20 Perguntas sobre o SOA Pedro Sousa ATSI 2007 20 Perguntas sobre o SOA (1/5) • • • • O que é o SOA? O que são Serviços? Qual a relação entre serviços e Processos de Negócio? O que é a Arquitectura de Serviços ? – – • Qual o objectivo ? Como se representa ? O que é a Arquitectura de Processos? – – Qual o objectivo ? Como se representa ? Pedro Sousa ATSI 2007 20 Perguntas sobre o SOA (2/5) • • • • • Como se especificam os processos de negócio? Como se especificam os serviços ? Que tipos de serviços devemos considerar na Arquitectura de Serviços? Que tipos de serviços devemos considerar na Especificação/desenho de Serviços? De que formas os Serviços facilitam a implementação dos Processos de negócio ? Pedro Sousa ATSI 2007 20 Perguntas sobre o SOA (3/5) • • • • • O que são Sistemas de Informação (aplicações) na visão SOA ? Que formas o SOA sugere para pensarmos uma Arquitectura de Aplicações ? Como é que o SOA enquadra os Processos de Negócio executados nos ERPs? Como é que a visão SOA se relaciona com a Matriz de CRUD ? Como é que se afere o alinhamento do IT com o Negócio numa Arquitectura SOA? Pedro Sousa ATSI 2007 20 Perguntas sobre o SOA (4/5) • • • • • Como minimizamos a redundância e incoerência da informação numa abordagem SOA ? Como se relaciona a Arquitectura SOA com as 4 Arquitecturas da EA (Processos, Informação, Sistemas, Tecnologia) Que metodologias temos para definir os serviços ? Qual a relevância de haverem processos de negócio com actividades manuais, semi-automáticas e automáticas ? Qual a diferença entre usar o BPMN ou o BPEL na especificação de processos de negócio ? Pedro Sousa ATSI 2007 20 Perguntas sobre o SOA (5/5) • • • Que serviços são disponibilizados por cada aplicação (da matriz de CRUD) ? Qual a visão da Arquitectura Tecnológica do SOA ? Que feedback tem havido da aplicação do SOA nas grandes organizações ? Vá lá, deixo 2 perguntas para voçês… • … • … Pedro Sousa ATSI 2007 Parte IV SOA e Arquitectura Tecnológica Pedro Sousa ATSI 2007 Os Processos, Serviços e as Aplicações Business Processes A1 A2 A3 Processos BPEL: visão Enterprise-wide Pedro Sousa ATSI 2007 Os Processos, Serviços e as Aplicações Business Processes A1 A2 A3 Processos BPEL: visão mais restrita Pedro Sousa ATSI 2007 Aplicações e Tecnologia • Uma aplicação é algo que: – Tem uma missão, alinhada com os objectivos do negócio – Gere um conjunto de informação – Suporta um conjunto de funcionalidades – Interage com outras aplicações. Aplicação missão Informação Funcionalidades Necessidades de Integração e Interoperabilidade Pedro Sousa ATSI 2007 Aplicações e Tecnologia • Uma aplicação pode ser construída com base em componentes/tecnologias/sist emas. Exemplos: – Sistema de Bases de Dados para a gestão da Persistência da Informação – Sistema e Gestão Documental para a gestão de documentos – Motor de workflow para a gestão de processos. – Etc. – Etc. Pedro Sousa ATSI 2007 Aplicações e Tecnologia Aplicação “tudo” da aplicação Gestão da Persistência Gestão dos workflows Pedro Sousa ATSI 2007 Aplicações e Tecnologia Aplicação X …. …. UI Gestão da Persistência Pedro Sousa ATSI 2007 Aplicações e Tecnologia Aplicação X …. …. UI Gestão da Persistência Sistema de Gestão da Base de Dados Pedro Sousa ATSI 2007 A utilização do SGBD veio simplificar, agilizar, etc etc a Aplicação X Aplicações e Tecnologia Aplicação X …. …. …. Aplicação Y …. Aplicação Z UI …. UI …. UI Gestão Gestão da Gestão da Persistência da Persistência Persistência O MESMO Sistema de Gestão da Base de Dados faz parte de N aplicações Pedro Sousa ATSI 2007 Aplicações e Tecnologia Aplicação X …. …. UI Gestão da Persistência Sistema de Gestão da Base de Dados Gestão de “Processos” Pedro Sousa ATSI 2007 Sistema de Gestão de Processos Aplicações e Tecnologia Aplicação X …. Aplicação Y UI …. Gestão da Persistência Gestão da Persistência Gestão de “Processos” Gestão de “Processos” Pedro Sousa ATSI 2007 Aplicação Z UI …. Gestão da Persistência Gestão de “Processos” UI Aplicações e Tecnologia Aplicação X …. Aplicação Y UI …. Gestão da Persistência Gestão da Persistência Gestão de “Processos” Gestão de “Processos” Pedro Sousa ATSI 2007 Aplicação Z UI …. Gestão da Persistência Gestão de “Processos” UI SOA e Arquitectura Tecnológica • Será que Existem diferentes níveis de Serviços SOA? • Vejamos: – Todos os serviços são acedidos pela mesma tecnologia: web-services. – Todos os serviços podem chamar outros serviços, numa orquestração especificada em BPEL. • A diferença entre os serviços não é tecnológica mas sim funcional! Logo, numa visão tecnológica, a figura clássica é enganadora Pedro Sousa ATSI 2007 Níveis de Serviços SOA • As diferenças entre os Serviços são ao nível do negócio. – – – – – Bsuiness Service IS Service CRUD Service IT Service Etc, etc ….. Services Sistema de gestão/execução de Processos (BPEL) Visão do funcional Pedro Sousa ATSI 2007 Visão tecnológica