Integrações e o ecossistema Java. Fabric8 ao Resgate!



Documentos relacionados
Apache Camel rotas para as suas mensagens. Bruno Borges 2009

Ricardo R. Lecheta. Novatec

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Service Oriented Architecture (SOA)

Parceiro Oficial de Soluções Zabbix no Brasil

Spring: Um suite de novas opções para Java EE

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Java Web/UI. Maven3 Redmine CVS. Áreas de conhecimento: Web o Aplicativos Web o Portal de conteúdo o REST Services Web Site Performance

Microsoft.NET. Desenvolvimento Baseado em Componentes

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Microserviços: flexibilidade e agilidade a que preço?

OCEL001 Comércio Eletrônico Módulo 9_3: OpenShift

Integração Orientada a Serviços

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

J2EE TM Java 2 Plataform, Enterprise Edition

Integração de sistemas utilizando Web Services do tipo REST

Orquestrando Docker Containers

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

J2EE. J2EE - Surgimento

Kassius Vargas Prestes

Desenvolvimento de Sistemas BPMS. Jhonatas Vicente de Jesus

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

35% GARTNER. Despesas com tecnologia ocorrem fora da T.I. Fazem uso de tecnologias não aprovadas pela T.I.

Experiência em missão crítica de missão crítica

Prof. Romulo Fagundes Cantanhede. Node.JS. O poder do JavaScript do lado do Servidor

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

soluções transversais SOLUÇÕES middleware

Se seu negócio requer o tipo de

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

SOA na Prática Ricardo Limonta

CHOReOS: Automatizando a implantação de web services na nuvem

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% de uptime

Escrevendo meu primeiro porlet. Gustavo Lira Consultor 4Linux

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

Integrando Eclipse e Websphere Application Server Community Edition

Sistemas Distribuídos

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

Java para WEB. Servlets

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

UFG - Instituto de Informática

SOA Introdução. SOA Visão Departamental das Organizações

Para Saber Mais O framework OSGi O mundo enterprise

EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux

Java para Desenvolvimento Web

Portfólio Operacional

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

Online Help StruxureWare Data Center Expert

Utilizando JMeter para realizar testes de carga em aplicações Web. Robinson Castilho Bacarin Software Ltda JUGMS

Projuris Enterprise Visão Geral da Arquitetura do Sistema

MBA EM DESENVOLVIMENTO DE APLICAÇÕES JAVA SOA E INTERNET DAS COISAS

3 Serviços na Web (Web services)

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Ricardo R. Lecheta. Novatec

Sistemas Distribuídos

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Arquiteturas Paralelas e Distribuídas

WebSphere MQ. Bruno Miguel de Sousa Gonçalves

TDC2012. EJB simples e descomplicado, na prática. Slide 1

UFG - Instituto de Informática

Web Services. (Introdução)

DF-e MANAGER 2.6 Pré-requisito de Instalação Novembro de 2015

Experiência em missão crítica de missão crítica

Arquitetura Orientada a Serviços (SOA) Copyright e-core LTDA, Todos os direitos reservados.

EAI Manual do Administrador

Ubuntu Cloud Infrastructure. Trazendo a nuvem para sua Empresa. Mauricio Pretto Mauricio.pretto@canonical.com

CST em Redes de Computadores

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ

PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013.

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

SISTEMAS DISTRIBUÍDOS

ASTERISK. João Cepêda & Luís Borges SCOM 2013

Tema: Oracle Weblogic Administration 11g

OpenStack. Cloud Software

Parte I. Demoiselle Mail

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.

Zabbix. monitoramento distribuído.

Curso de Aprendizado Industrial Desenvolvedor WEB

Computação em Nuvens IaaS com Openstack. Eng. Marcelo Rocha de Sá FLISOL - Belém - Pará 25 de abril 2015

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer Kraemer

Capítulo 8 - Aplicações em Redes


Plataforma Pentaho. Fagner Fernandes

Programação para Web Artefato 01. AT5 Conceitos da Internet

Parceiro Oficial de Soluções Proxmox no Brasil

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

JSF - Controle de Acesso FERNANDO FREITAS COSTA

Transcrição:

Integrações e o ecossistema Java Fabric8 ao Resgate!

Quem sou eu? Leandro O. Gomes blog.leandrogomes.com @leandro_gomes 7 anos de estrada Arquiteto de Software na Owse no Rio de Janeiro Apaixonado por desenvolvimento de software!

Integração

O que é uma integração? Promover interação entre os sistemas para que juntos possam executar alguma função do negócio "

Porque integração é difícil? Diferentes plataformas Produtos de terceiros? Feitos em "casa"? Formatos de dados, protocolos "Timing"

Soluções comerciais?

Apache Camel Open-source Framework Lightweight de integração Domain specific language Enterprise Integration Patterns Componentes Funciona em qualquer container e até stand alone

Não é um ESB Framework de integração Routing Mediation DSL Opções baseados em Camel Jboss Fuse Talend WSO2 Não está vinculado à um fornecedor!

Exemplo

Rotas Camel Pode ser definida em várias DSLs Java, Scala, Xml, Groovy Processamento passo-a-passo da mensagem Consumers Processors/filters Producers

Java DSL }! public class DocumentoProcessorRouteBuilder extends RouteBuilder { @Override public void configure() throws Exception { from( activemq:docs ).choice().when(header( tipo ).isequalto( notafiscal )).to( activemq:notasfiscais ).otherwise().to( ftp://user@host/docs ).end().log( Documento recebido ${body.id} ).to( ibatis:salvardocs?statementtype=insert );

Componentes ActiveMQ CXF File FTP jclouds JPA Twitter MyBatis JDBC Bean Spring WS FTP HTTP Gmail AMQP etc...

Complexidade

KEEP CALM AND BE AWESOME

Fabric8 ServiceMix foi o início de tudo há mais de 9 anos Introduzido no Fuse ESB como Fuse Fabric Grande foco no runtime Projeto community open source para o Fuse Fabric

Fabric8 É uma plataforma de integração Open source Simplifica o deployment e gerenciamento Aproxima-se de uma PaaS Provê recursos de clusterização e coordenação Provê ferramentas para gerenciamento centralizado

Fabric8 Web services soap, restful, http Apache CXF Framework de integração EAI patterns, transformação, mediation Apache Camel Gerenciamento Monitoramento status, métricas, console Mensageria JMS, STOMP, MQTT, pubsub Apache ActiveMQ Container provisionamento, gerenciamento de recursos, deployment, segurança Apache Karaf + Fuse Fabric Hawt.io

Arquitetura do Fabric8 Profiles Runtime Registry Repositório de configuração Monitoramento

Rutime registry Baseado no Apache Zookeeper Consistência sequencial Atomicidade Sincronização Ideal para coordenação de sistemas distribuídos

Rutime registry Usado para dados que não são de configuração Status do container Serviços do container Endereços de conexões dos containers etc. Locks distribuídos Leader Election Service Discovery

Repositório de configuração Armazena todas as configurações Versionamento Histórico para auditoria Fácil acesso por clients externos Alta disponibilidade

Profiles Um grupo configurações que podem ser aplicados à um container Hierárquico Reusável Versionado

Profiles Define o código para execução(bundles, wars, features etc.) Define a configuração(properties, arquivos Xml, Json, OSGi config) DRY!

Containers Suporte à vários tipos de containers providers: Karaf Container Java Container Process Container Spring Boot Container Kubernetes Docker SSH Containers Cloud Containers

Java Containers É a forma de provisionar um processo da JVM Ideal para trabalhar com micro serviços Nenhum jar do Fabric8 é necessário dentro da JVM

SSH Containers Criação de containers via SSH Não é necessário ter o Fabric8 no host remoto Login/senha Public key authentication

Cloud Containers Usa Apache JClouds para criar containers em nuvens privadas ou públicos AWS, Rackspace, OpenStack Registre seu cloud provider no Fabric8

Docker Open Source Lightweight Linux Containers(LXC) Portável Versionamento Reutilizável Compartilhamento

Docker Container Fabric8 pode utilizar o Docker para criar novos containers Containers são criados via Docker Remote Api Com o Docker Container é possível executar serviços como MongoDB, Cassandra, ElasticSearch etc.

Como usar tudo isso?

Containers, Profiles e Git Container recupera profiles Profile Profile Profile 1.0 Git

Containers, Profiles e Git recupera profiles 1.0 Git Container 1.0 Container Profile Profile Profile Provisionamento Container 1.0 Container 1.0 Container 1.0 Container 1.0 Container 1.0 Container 1.0

Como gerencio tudo isso?

Hawtio Open source Console Web HTML5 Desenvolvido com AngularJS Usa Jolokia no servidor para acessar JMX via HTTP/JSON

Hawtio Extensão Chrome Vários plugins disponíveis: fabric8, camel, activemq etc.

Hawtio

Hawtio

no código!

Perguntas?

Leandro O. Gomes blog.leandrogomes.com @leandro_gomes github.com/logol Obrigado!