FACULDADE SETE DE SETEMBRO FERRAMENTAS PARA SOA TÓPICOS DA APRESENTAÇÃO • • • Introdução Cenário Propício Ferramentas Escolhidas – Oracle Fusion Middleware – Oracle SOA Suíte • Arquitetura • Componentes – WebSphere • Benefícios pra mim e para minha empresa • Como usá-lo? – Rational Application Development – Apache Tuscany • História • Visão Geral • Distribuição e Hospedagem – Jboss SOA Platform • O que é? • O que ele faz? • Componentes – Outras Ferramentas de SOA INTRODUÇÃO • SOA é uma arquitetura de software na qual é possível criar, padronizar e documentar serviços genéricos utilizando o conceito de reuso, vinculando-os a outros componentes de softwares e tornando-os acessíveis, sob forma de serviço, por diversos dispositivos sem precisar reescrever código. • Hoje apresentaremos ferramentas que contemplam, na maioria delas, um conjunto conceitos e tecnologias que esta arquitetura (SOA) agrega, como : – Reusabilidade, Baixo Acoplamento, Interoperabilidade, Modularidade, Neutralidade – WebServices com os seus protocolos (UDDI, SOAP, XML, etc) CENÁRIO PROPÍCIO – Ambiente Heterogêneo .NET, Cobol, PowerBuilder, Java, etc – Software Legado inviável para fazer uma migração; – Necessidade da utilização de serviços providos por terceiros; – Falta de processos e padrões; – Arquitetura de Softwares limitados; FERRAMENTAS ESCOLHIDAS ORACLE FUSION MIDDLEWARE ORACLE SOA SUITE • • • • • • • Mensageria (ESB) Decoberta de Serviços (UDDI) Orquestração Gerenciamento e Segurança de WebServices Regras de Negócio Eventos Monitoração das Atividades de Negócio ARQUITETURA Regras de Negócio Execução de Processos BPEL ESB Descoberta de Serviços Conexão com Sistemas Externos Gerenciamento e Segurança COMPONENTES Componentes Descrição Service Infrastructure Oracle BPEL Process Manager Possui funcionalidades para para conectar componentes e permitir fluxo de dados. Criação de serviços de roteamento e regras associadas. Tecnologis JCA para conectar sistemas externos. Suporta diversos adaptadores de terceiros. Disparar eventos de acordo com as condições do negócio. Conjunto de metadados e artefatos que direcionam o funcionamento do ambiente Regras de negócio que resultam em decisões que ocorrem dinamicamente na execução de serviços ou processos Permite a aplicação de políticas e regras de segurança, bem como auditorias. Executa processos BPEL. Human Workflow Sistemas de Apoio a Decisão Oracle BAM Monitora, emite alertas, e fornece gráficos do ambiente de execução SOA. Oracle Mediator Oracle Adapters Business Events / EDN Oracle Metadata Repository Oracle Business Rules Oracle WSM Policy Manager Oracle B2B Facilita a troca de mensagens entre empresas e parceiros (e-commerce) Oracle JDeveloper Ferramenta de desenvolvimento para aplicações SOA. Oracle Enterprise Manager Gerenciamento, implantação, monitoração, diagnóstico e configuração das aplicações SOA. Oracle Service Bus Atua como intermediário entre consumidores e produtores de serviços, e possui características como roteamento, transformação e roteamento. Oracle CEP Permite a análise em tempo de execução de um grande volume de dados e permite detectar padrões e emitir eventos Oracle User Messaging Service Permite enviar mensagens das aplicações para dispositivos como celulares, emails e comunicadores instantâneos. O QUE É WEBSPHERE? • Plataforma de software de integração; • Família de softwares: – WebSphere Application Server; – WebSphere Process Server; – WebSphere ESB (Enterprise Service Bus); – WebSphere Portal Server; – WebSphere MQ; – WebSphere Message Broker; – WebSphere Partner Gateway – etc. BENEFÍCIOS PARA MIM E MINHA EMPRESA - Integração de pessoas; Integração de Processo; Integração de informações; Integração de aplicativos; Infraestrutura do aplicativo e transação; Aceleradores. COMO USÁ-LO? • - Depende da sua função no negócio; RATIONAL APPLICATION DEVELOPMENT • Contém assistentes especializados, editores e validadores para uma variedade de tecnologias: - J2EE; Web services; Service Component Architecture; XML; Aplicações Web; APACHE TUSCANY • Fornece uma arquitetura orientada a serviços (SOA) • Implementa uma arquitetura de componentes de serviço (SCA) HISTÓRIA Projeto criado em dezembro de 2005 pela Apache. Pricipais lançamentos: • Em Setembro/2007, versão 1.0, primeira aplicação SCA spec. • Em Fevereiro/2008, versão 1.1, correção de bugs, JMS obrigatório. • Em Abril/2008, versão 1.2. – SCA gerenciamento de domínio. – Suporte para anotações JAXWS. – Melhoria no JMS obrigatório. VISÃO GERAL • “Software opensource que simplifica o desenvolvimento, implantação e gestão de aplicações distribuídas constr uído como composições de componentes de serviço.” • “Esses componentes podem ser implementados com uma gama de tecnologias e ligados através de uma variedade de protocolos de comunicação.” • “Implementa as normas aberta, mas não se limita ao pa drão definido pela SCA OpenCSA OASIS.” DISTRIBUIÇÃO E HOSPEDAGEM • Pode ser configurado em um único nó de domínio ou co mo um domínio de SCA distribuído em vários nós. • Modelo simples: administração de domínio SCA e config uração de nó SCA são acessados usando recursos da w eb AtomPub. • Opções de implementação de hospedagem: – Independente – Distribuídas em nós de várias JVM's. – Testado em algumas versões do TomCat, Jetty JBOSS SOA PLATFORM • O QUE É? – O JBoss SOA é uma plataforma open source composta pelo JBoss Application Server, JBoss Rules, JBoss jBPM e JBoss ESB. Tem como objetivo solucionar questões relacionadas à SOA (Arquitetura Orientada a Serviços) nos mais diversos segmentos da economia. JBOSS SOA PLATFORM • O QUE ELE FAZ? – O Jboss SOA permite integrar os serviços, manipular eventos de negócios e automatizar processos de negócio de forma eficiente, ligando os recursos de TI, dados, serviços e aplicações em toda a cadeia de valor. Ao contrário de outras plataformas open source, os componentes podem ser usados individualmente, em conjunto, ou com componentes de terceiros para melhor atender à evolução das necessidades de desenvolvimento. JBOSS SOA PLATFORM COMPONENTES JBOSS SOA PLATFORM – JBoss Aplication Server: runtime baseado em Java para aplicações web e corporativas, que inclui o Apache-Tomcat . – JBoss jBPM: automação de processos de um conjunto de problemas de negócios que vão de fluxo de trabalho integrado até orquestração de processos de negócio da empresa. JBOSS SOA PLATFORM • JBoss ESB: implementação de barramento de serviços que possibilita o roteamento de mensagens, comunicação com inúmeros protocolos (filesystems, ftp, jms, smtp, ejb, webservices, etc). • JBoss Rules: visualiza as regras de negócios agregadas à infra-estrutura da aplicação para que verificar se essas regras realmente incorporam as políticas corporativas documentadas. OUTRAS FERRAMENTAS DE SOA OBRIGADO!!!