O documento apresenta um sistema de monitoramento chamado Prometheus. Ele discute a arquitetura do Prometheus, incluindo o servidor Prometheus, exportadores, AlertManager e Grafana. Também aborda conceitos como métricas, bancos de dados timeseries, instrumentação de código, push gateway e alertas.
Apresento alguns conceitos sobre a arquitetura do JBoss Fuse. Nesta apresentação criamos um simples serviço CXF e mostramos diferentes formas de implantar e gerenciar o serviço no JBoss Fuse 6.1
JBoss Fuse Service Works - O Fuse além da integração - PT-BRElvis Rocha
O documento discute arquiteturas de integração e serviços orientados a arquitetura. Apresenta o Red Hat JBoss Fuse e Red Hat JBoss Fuse Service Works como soluções para integrar sistemas e implementar SOA, respectivamente. O Fuse oferece funcionalidades básicas de ESB, enquanto o Service Works adiciona governança, orquestração e outros recursos.
Apresentação realizada no dia 13/04/2013, no 29º Guru-SP: gurusp.org/encontros/vigesimo-nono-encontro-do-guru-sp
Versão original em js: https://github.com/nuxlli/12factor-openruko
[1] O documento introduz os principais elementos do WSO2 Enterprise Service Bus (ESB), incluindo mediators, sequências, proxy services e endpoints. [2] Ele explica como esses elementos se encaixam para fornecer integração de serviços e fluxos de mensagens. [3] O documento também descreve recursos adicionais do WSO2 ESB como templates, propriedades e suporte a vários protocolos de transporte.
WSO2 Application Server como Alternativa ao TomcatEdgar Silva
Veja como podemos apoiar seu ambiente que está repleto de Tomcats que podem ser difíceis de gerenciar, monitorar etc. Breve visão do WSO2 AppServer em conjunto com o WSO2 BAM.
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETRenato Groff
O documento resume o currículo e as experiências de Renato Groffe na área de tecnologia, incluindo mais de 15 anos de experiência, pós-graduação em Engenharia de Software, certificações como MCTS e ITIL. O documento também lista as redes sociais e contatos de Renato, além de resumir brevemente as principais novidades do Visual Studio 2015 e do ASP.NET 5.
O documento apresenta um sistema de monitoramento chamado Prometheus. Ele discute a arquitetura do Prometheus, incluindo o servidor Prometheus, exportadores, AlertManager e Grafana. Também aborda conceitos como métricas, bancos de dados timeseries, instrumentação de código, push gateway e alertas.
Apresento alguns conceitos sobre a arquitetura do JBoss Fuse. Nesta apresentação criamos um simples serviço CXF e mostramos diferentes formas de implantar e gerenciar o serviço no JBoss Fuse 6.1
JBoss Fuse Service Works - O Fuse além da integração - PT-BRElvis Rocha
O documento discute arquiteturas de integração e serviços orientados a arquitetura. Apresenta o Red Hat JBoss Fuse e Red Hat JBoss Fuse Service Works como soluções para integrar sistemas e implementar SOA, respectivamente. O Fuse oferece funcionalidades básicas de ESB, enquanto o Service Works adiciona governança, orquestração e outros recursos.
Apresentação realizada no dia 13/04/2013, no 29º Guru-SP: gurusp.org/encontros/vigesimo-nono-encontro-do-guru-sp
Versão original em js: https://github.com/nuxlli/12factor-openruko
[1] O documento introduz os principais elementos do WSO2 Enterprise Service Bus (ESB), incluindo mediators, sequências, proxy services e endpoints. [2] Ele explica como esses elementos se encaixam para fornecer integração de serviços e fluxos de mensagens. [3] O documento também descreve recursos adicionais do WSO2 ESB como templates, propriedades e suporte a vários protocolos de transporte.
WSO2 Application Server como Alternativa ao TomcatEdgar Silva
Veja como podemos apoiar seu ambiente que está repleto de Tomcats que podem ser difíceis de gerenciar, monitorar etc. Breve visão do WSO2 AppServer em conjunto com o WSO2 BAM.
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETRenato Groff
O documento resume o currículo e as experiências de Renato Groffe na área de tecnologia, incluindo mais de 15 anos de experiência, pós-graduação em Engenharia de Software, certificações como MCTS e ITIL. O documento também lista as redes sociais e contatos de Renato, além de resumir brevemente as principais novidades do Visual Studio 2015 e do ASP.NET 5.
Venha conhecer as principais tecnologias disponibilizadas para o desenvolvimento de aplicações Web utilizando a plataforma Java Enterprise.
Neste mini-curso serão demonstrados conceitos e exemplos das bibliotecas para o desenvolvimento Java EE, como: JSF, JPA, CDI EJB, JAX-RS, dentre outras.
O documento discute arquitetura de microsserviços, incluindo pros e contras de microsserviços, APIs da plataforma Zoox, definições importantes como bounded context e UUID, e boas práticas de arquitetura como separação de preocupações.
O documento discute as principais mudanças no ASP.NET vNext, incluindo a remoção da dependência do System.Web e suporte multiplataforma. Ele também descreve os novos componentes como o KRuntime, KVM, KRE e KPM e como configurar projetos usando o Project.json.
O documento discute práticas de engenharia de software aplicadas à infraestrutura, incluindo:
1) Testes automatizados de infraestrutura para garantir qualidade e permitir mudanças contínuas;
2) Ferramentas como Chef, InSpec e Test Kitchen para definir infraestrutura como código e testar provisionamento;
3) Exemplos de como escrever testes de unidade para Chef recipes e testes de integração/aceitação para infraestrutura.
O documento discute o futuro do Java EE, GlassFish e Apache Maven. Em três frases:
1) O documento apresenta as novidades do Java EE 7 e do servidor de aplicação GlassFish 4.0, que será a implementação de referência do Java EE 7.
2) Também discute o uso do Apache Maven para gerenciamento e build de projetos Java EE, incluindo plugins úteis como o plugin do GlassFish Embedded para executar o servidor localmente durante o desenvolvimento.
3) Por fim, aborda a importância do Java EE na nuvem e suas caracterí
Fabrício Lopes Sanchez e André Baltieri apresentarão sobre as novidades do ASP.NET 5, MVC 6 e além, incluindo a mudança para um framework independente de plataforma, desacoplado e leve, além de demonstrações das novas funcionalidades em diferentes sistemas operacionais.
O documento apresenta Diénert de Alencar Vieira e seu histórico profissional, além de um roteiro sobre sistemas web e tecnologias como JSP, Servlets, Facelets, JSF, JBoss Seam, RichFaces e padrões de projeto.
O documento discute arquitetura de microserviços, comparando-a com arquitetura monolítica. Aborda definições, benefícios, desafios e padrões de projeto de microserviços, incluindo deployment e monitoramento.
Este documento discute testes unitários com Java EE. Ele fornece uma introdução aos testes unitários e de integração, e descreve como o framework Java EE Testing permite testar facilmente APIs Java EE e isolar o código dos containers através de suporte a vários containers como GlassFish, WildFly e TomEE.
O documento resume as principais novidades da versão 9 do Java, incluindo: (1) modularização do código Java para torná-lo mais escalável e flexível, (2) novas APIs para coleções imutáveis, métodos privados em interfaces e programação reativa, (3) melhorias nas APIs de processos, HTTP/2 e JShell.
GlassFish, Maven, Cloud e o futuro do Java EEBruno Borges
O documento discute as seguintes tecnologias Java EE: Java EE 6, Java EE 7, GlassFish, Apache Maven e o plugin Embedded GlassFish Maven. O apresentador descreve as principais funcionalidades dessas tecnologias e como elas podem ser usadas para desenvolvimento moderno com Java EE.
Periódicos MundoJ e Java Magazine Fevereiro 2012rogerlista
O documento discute diversos tópicos relacionados a Java, incluindo: Java EE 6 Web Profile, Spring Framework, JBoss Seam 3, OpenShift, Android 4, Scrum, NoSQL, MongoDB, Neo4j e reconhecimento de som com Java ME.
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...Rogério Moraes de Carvalho
Nesta palestra, eu apresentei informações de como usar os seus conhecimentos de desenvolvimento Web para construir apps para publicação na nova Windows Store do Windows 8 usando HTML5, CSS3 e JavaScript. Eu abordei os seguintes tópicos:
Windows Cliente: Evolução
Windows 8
Microsoft Surface
Demo – Windows 8
Windows Store apps
Linguagens suportadas
Windows Runtime (WinRT)
Ferramentas
Licença de desenvolvedor
Demo – Licença
Projetos JavaScript
Demo – Projeto JavaScript
Links úteis
O documento apresenta os tópicos a serem abordados em um workshop sobre microserviços utilizando Spring Boot, incluindo implementação de APIs RESTful, persistência de dados com Spring Data e segurança com Spring Security.
Melhores práticas de deployment do IBM Connectionsrodrigoareis
Dependendo do tamanho da arquitetura de deployment, sistema operacional, segurança e outras considerações, você terá diferentes opções para configurar o IBM Connections. Esta apresentação traz recomendações de melhores práticas a partir de multiplas implementações do IBM Connections em vários clientes.
O documento resume as principais novidades do framework ASP.NET MVC apresentadas na conferência Visual Studio Summit 2014, incluindo lançamentos frequentes do ASP.NET MVC a cada 6 meses, projetos open source do Microsoft .NET, novas formas de entregar aplicativos ASP.NET como o projeto Katana/OWIN e recursos como ASP.NET Identity, Bootstrap, Attribute Routing e Authentication Filters.
Desenvolvimento baseado em componentes com JSFEmmanuel Neri
O documento apresenta um minicurso sobre desenvolvimento baseado em componentes com Java Server Faces (JSF). Apresenta conceitos básicos de JSF, configuração de ambientes, ciclo de vida, componentes, validação e conversão de dados. Inclui demonstrações de código e práticas passo-a-passo para construção de uma aplicação simples de cadastro de pedidos.
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem OverviewOpenTOSCA
TOSCA is a new standard facilitating platform independent description
of Cloud applications.
OpenTOSCA is an open source TOSCA ecosystem including the modeling tool "Winery", the TOSCA runtime "OpenTOSCA", and the self-service portal "Vinothek".
O documento apresenta o Apache Camel como uma ferramenta para integrar sistemas. Discute casos reais de uso do Camel para resolver problemas como memory leaks, falta de monitoramento e mudanças de tecnologia. Também aborda como o Camel ajudou a resolver um problema crítico de aplicação travada em produção.
Venha conhecer as principais tecnologias disponibilizadas para o desenvolvimento de aplicações Web utilizando a plataforma Java Enterprise.
Neste mini-curso serão demonstrados conceitos e exemplos das bibliotecas para o desenvolvimento Java EE, como: JSF, JPA, CDI EJB, JAX-RS, dentre outras.
O documento discute arquitetura de microsserviços, incluindo pros e contras de microsserviços, APIs da plataforma Zoox, definições importantes como bounded context e UUID, e boas práticas de arquitetura como separação de preocupações.
O documento discute as principais mudanças no ASP.NET vNext, incluindo a remoção da dependência do System.Web e suporte multiplataforma. Ele também descreve os novos componentes como o KRuntime, KVM, KRE e KPM e como configurar projetos usando o Project.json.
O documento discute práticas de engenharia de software aplicadas à infraestrutura, incluindo:
1) Testes automatizados de infraestrutura para garantir qualidade e permitir mudanças contínuas;
2) Ferramentas como Chef, InSpec e Test Kitchen para definir infraestrutura como código e testar provisionamento;
3) Exemplos de como escrever testes de unidade para Chef recipes e testes de integração/aceitação para infraestrutura.
O documento discute o futuro do Java EE, GlassFish e Apache Maven. Em três frases:
1) O documento apresenta as novidades do Java EE 7 e do servidor de aplicação GlassFish 4.0, que será a implementação de referência do Java EE 7.
2) Também discute o uso do Apache Maven para gerenciamento e build de projetos Java EE, incluindo plugins úteis como o plugin do GlassFish Embedded para executar o servidor localmente durante o desenvolvimento.
3) Por fim, aborda a importância do Java EE na nuvem e suas caracterí
Fabrício Lopes Sanchez e André Baltieri apresentarão sobre as novidades do ASP.NET 5, MVC 6 e além, incluindo a mudança para um framework independente de plataforma, desacoplado e leve, além de demonstrações das novas funcionalidades em diferentes sistemas operacionais.
O documento apresenta Diénert de Alencar Vieira e seu histórico profissional, além de um roteiro sobre sistemas web e tecnologias como JSP, Servlets, Facelets, JSF, JBoss Seam, RichFaces e padrões de projeto.
O documento discute arquitetura de microserviços, comparando-a com arquitetura monolítica. Aborda definições, benefícios, desafios e padrões de projeto de microserviços, incluindo deployment e monitoramento.
Este documento discute testes unitários com Java EE. Ele fornece uma introdução aos testes unitários e de integração, e descreve como o framework Java EE Testing permite testar facilmente APIs Java EE e isolar o código dos containers através de suporte a vários containers como GlassFish, WildFly e TomEE.
O documento resume as principais novidades da versão 9 do Java, incluindo: (1) modularização do código Java para torná-lo mais escalável e flexível, (2) novas APIs para coleções imutáveis, métodos privados em interfaces e programação reativa, (3) melhorias nas APIs de processos, HTTP/2 e JShell.
GlassFish, Maven, Cloud e o futuro do Java EEBruno Borges
O documento discute as seguintes tecnologias Java EE: Java EE 6, Java EE 7, GlassFish, Apache Maven e o plugin Embedded GlassFish Maven. O apresentador descreve as principais funcionalidades dessas tecnologias e como elas podem ser usadas para desenvolvimento moderno com Java EE.
Periódicos MundoJ e Java Magazine Fevereiro 2012rogerlista
O documento discute diversos tópicos relacionados a Java, incluindo: Java EE 6 Web Profile, Spring Framework, JBoss Seam 3, OpenShift, Android 4, Scrum, NoSQL, MongoDB, Neo4j e reconhecimento de som com Java ME.
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...Rogério Moraes de Carvalho
Nesta palestra, eu apresentei informações de como usar os seus conhecimentos de desenvolvimento Web para construir apps para publicação na nova Windows Store do Windows 8 usando HTML5, CSS3 e JavaScript. Eu abordei os seguintes tópicos:
Windows Cliente: Evolução
Windows 8
Microsoft Surface
Demo – Windows 8
Windows Store apps
Linguagens suportadas
Windows Runtime (WinRT)
Ferramentas
Licença de desenvolvedor
Demo – Licença
Projetos JavaScript
Demo – Projeto JavaScript
Links úteis
O documento apresenta os tópicos a serem abordados em um workshop sobre microserviços utilizando Spring Boot, incluindo implementação de APIs RESTful, persistência de dados com Spring Data e segurança com Spring Security.
Melhores práticas de deployment do IBM Connectionsrodrigoareis
Dependendo do tamanho da arquitetura de deployment, sistema operacional, segurança e outras considerações, você terá diferentes opções para configurar o IBM Connections. Esta apresentação traz recomendações de melhores práticas a partir de multiplas implementações do IBM Connections em vários clientes.
O documento resume as principais novidades do framework ASP.NET MVC apresentadas na conferência Visual Studio Summit 2014, incluindo lançamentos frequentes do ASP.NET MVC a cada 6 meses, projetos open source do Microsoft .NET, novas formas de entregar aplicativos ASP.NET como o projeto Katana/OWIN e recursos como ASP.NET Identity, Bootstrap, Attribute Routing e Authentication Filters.
Desenvolvimento baseado em componentes com JSFEmmanuel Neri
O documento apresenta um minicurso sobre desenvolvimento baseado em componentes com Java Server Faces (JSF). Apresenta conceitos básicos de JSF, configuração de ambientes, ciclo de vida, componentes, validação e conversão de dados. Inclui demonstrações de código e práticas passo-a-passo para construção de uma aplicação simples de cadastro de pedidos.
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem OverviewOpenTOSCA
TOSCA is a new standard facilitating platform independent description
of Cloud applications.
OpenTOSCA is an open source TOSCA ecosystem including the modeling tool "Winery", the TOSCA runtime "OpenTOSCA", and the self-service portal "Vinothek".
O documento apresenta o Apache Camel como uma ferramenta para integrar sistemas. Discute casos reais de uso do Camel para resolver problemas como memory leaks, falta de monitoramento e mudanças de tecnologia. Também aborda como o Camel ajudou a resolver um problema crítico de aplicação travada em produção.
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Adriano Tavares
O documento discute a integração de aplicações com o Apache Camel. Ele apresenta os conceitos fundamentais do Camel, sua arquitetura e como ele implementa padrões de integração para tornar o desenvolvimento mais simples e produtivo. O documento também inclui uma demonstração de como implementar um caso de uso de integração usando a DSL Java do Camel.
Este documento apresenta um workshop sobre Arquitetura Orientada a Serviços (SOA) com foco no JBoss Enterprise Service Bus (ESB). O objetivo é fazer a audiência compreender os principais conceitos de SOA e ESB, como o JBoss ESB. A agenda inclui tópicos como visão geral de SOA, web services, integração empresarial, programação orientada a mensagens, conceitos de ESB e demonstrações práticas com o JBoss ESB.
Integração de Sistemas utilizando Apache CamelPedro Oliveira
O documento discute a integração de sistemas usando o framework Apache Camel. Apresenta introduções à integração de sistemas e ao Apache Camel, casos de uso no projeto Rotterdam e na empresa Jacareí, e quem já está usando o Apache Camel.
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012Kai Wähner
Shows the elegance of Apache Camel to integrate different cloud providers such as Amazon Web Services (IaaS), Google App Engine (PaaS), or Salesforce (SaaS).
Integrações e o ecossistema Java - Fabric8 ao Resgate!Leandro Gomes
O documento discute integrações e o ecossistema Java Fabric8. Apresenta o framework Apache Camel para integração e medição e a plataforma Fabric8 para simplificar o gerenciamento de integrações distribuídas. Fabric8 utiliza Apache Karaf, Zookeeper, Git e Hawtio para orquestrar containers e fornecer monitoramento.
O documento descreve o Apache Software Foundation e alguns de seus principais projetos de software livre desenvolvidos na linguagem Java, como Lucene, Struts, Tomcat, Ant, Maven, entre outros.
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
O documento resume a história do ASP.NET, desde sua criação em 2002 até o desenvolvimento do ASP.NET vNext. Aborda perguntas comuns sobre o vNext e destaca suas principais características como modularidade, ciclo de desenvolvimento rápido, independência de plataforma e código aberto.
O Liferay Portal sempre foi uma aplicação rica em recursos, com milhares de funcionalidades e opções resultando em bilhões de cenários possíveis de implantação. Ainda assim, por trás de toda a configuração o núcleo central do Liferay é tudo ou nada. Vamos apresentar as estratégias que estão sendo utilizadas para introduzir modularidade no Liferay e melhorar a qualidade, facilitar a manutenção e ainda permitir que funcionalidades opcionais sejam completamente removidas ou facilmente atualizadas.
Liferay Symposium Brazil 2014
11 de Novembro de 2014
Java é uma plataforma de desenvolvimento de software composta por máquina virtual Java, linguagem de programação Java e bibliotecas padrão. Java possui três grandes áreas: Java SE para aplicações de desktop, Java EE para aplicações web e Java ME para dispositivos móveis. A comunidade Java contribui para o desenvolvimento da plataforma por meio do Java Community Process.
Este documento resume uma palestra sobre as novidades da versão 5.0 do JBoss Application Server. Apresenta as principais mudanças estruturais e de arquitetura com a introdução do JBoss MicroContainer. Destaca também melhorias em outros projetos do JBoss como JBossWS, JBoss Messaging e ferramentas de monitoramento.
Terraform, Kops e Kubernetes permitem implementar infraestrutura como código na AWS. Terraform gerencia recursos de infraestrutura na nuvem, Kops simplifica a implantação de clusters Kubernetes na AWS, e Kubernetes orquestra containers em produção.
O documento discute a automação do data center da empresa, incluindo o deploy de servidores, gerenciamento de configuração, administração centralizada, monitoração e integração utilizando ferramentas como Puppet, Cobbler, Collectd, Nagios, Func e Control Station.
O documento discute a plataforma Estaleiro do Serpro, que fornece infraestrutura como serviço (IaaS) e plataforma como serviço (PaaS) para equipes internas de desenvolvimento. O Estaleiro usa tecnologias abertas líderes de mercado para fornecer recursos como orquestração, armazenamento, rede e monitoramento de forma rápida e elástica. A plataforma permite que desenvolvedores provisionem e gerenciem ambientes de forma autônoma com foco em agilidade.
O seminário abordará a introdução e história do JBoss/WildFly, sua arquitetura interna, clusterização, configuração de um ambiente com Apache HTTP Server e testes práticos. Também incluirá dicas para melhorar o desempenho, como ajustes de memória, pool de EJB e estratégias de balanceamento de carga e coleta de lixo.
O documento descreve o middleware JBoss EAP 6, incluindo seu histórico, arquitetura, desempenho melhorado, gerenciamento e suporte. O JBoss EAP 6 oferece inicialização rápida, configuração simplificada, gerenciamento de múltiplos nós e compatibilidade com nuvem.
Plataforma Android: Produtividade Além do SDKRyan Padilha
O documento discute frameworks e padrões de projeto para desenvolvimento de aplicativos Android. Apresenta ferramentas como DroidDraw para design de interface, RoboGuice para injeção de dependência, AndOrm para mapeamento objeto-relacional e padrões como MVC e Singleton. Também aborda integração de dados via web services SOAP.
O documento resume as principais novidades da versão 3.0 do Zabbix, incluindo criptografia aprimorada, previsão e tendências, descoberta automática de serviços do Windows, melhorias de desempenho e suporte a múltiplos processos de escalador.
Este documento fornece uma introdução sobre o OpsWorks da AWS, incluindo seus principais conceitos como stacks, layers, instâncias, aplicações e lifecycles. O OpsWorks permite orquestrar a infraestrutura na nuvem da AWS, gerenciar configurações e implantar aplicações de forma automatizada através do uso de receitas no Chef. Uma demonstração é fornecida para ilustrar como o OpsWorks pode ser usado na prática.
O documento discute o que são frameworks, quando usá-los e exemplos de frameworks populares em Java, como Struts, Spring e Hibernate. Explica que frameworks fornecem soluções para problemas comuns e reutilizam código, economizando tempo de desenvolvimento.
O documento discute a adoção de suítes de componentes para JavaServer Faces (JSF). Apresenta as especificações e limitações do JSF e analisa as principais suítes de componentes como PrimeFaces, RichFaces e ICEfaces, discutindo suas funcionalidades e como elas estendem as capacidades do JSF. Recomenda uma estratégia de utilizar o JSF junto com essas suítes para desenvolver aplicativos.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
O documento discute conceitos, tecnologias e tendências de desenvolvimento web. Aborda tópicos como HTML5, CSS3, frameworks responsivos, JavaScript, Node.js, linguagens e frameworks para desenvolvimento mobile, arquitetura empresarial e integração de sistemas. Apresenta também a agenda e perfil profissional do autor.
O documento fornece um resumo sobre o framework Spring, descrevendo:
1) Por que foi criado o Spring para substituir o EJB do Java EE, tornando o desenvolvimento Java mais leve e flexível;
2) Os principais conceitos do Spring como injeção de dependência e gerenciamento de beans;
3) As principais partes do framework Spring e projetos relacionados como Spring Boot, Spring MVC e Spring Data.
1. O documento descreve um seminário sobre Java oferecido pela Sun Microsystems, apresentando os cursos, palestrantes e agenda do evento.
2. A tecnologia Java é introduzida, destacando suas origens, conceitos como orientação a objetos, portabilidade, segurança e desempenho.
3. Instruções para instalação do Java Development Kit (JDK) são fornecidas para preparar os participantes para o desenvolvimento de aplicativos Java.
O documento apresenta um treinamento sobre Android embarcado, abordando tópicos como histórico do Android, versões, características, comunidade, licenças e certificação. Também discute sobre a arquitetura do Android, componentes do sistema e passo-a-passo para portar o Android para novos dispositivos.
Semelhante a JBoss Fuse Workshop Desenvolvimento - Parte 1 (20)
4. Agenda – 1 dia – Tarde - Hands-on
● Hands-on Karaf
● Instalação.
● Trabalhando com Karaf
4
● Iniciando.
● Console (Help e TAB).
● Comandos Shell.
● Global
● Log.
● Package.
● Gerenciamento de bundles OSGi.
● Introdução funcionalidades.
● Descritores XML.
● Shell.
5. Quem sou eu ?
5
● Paulo Castro <paulof@gmail.com> / @paulorcf / github: paulorcf
● Físico pela USP.
● Trabalha com desenvolvimento de sistemas há 12 anos.
● Projetos em empresas como Ericsson, Vivo, TVA, Avaya, TIM, Toyota,
CPFL, GOL entre outras.
● Implementou diversos projetos usando stack Apache para integração e
trouxe FuseSource para Brasil como parceira da empresa VPIData.
● Esse material não é oficial e não tem relação nenhuma com a Red Hat.
● Marcas Red Hat, JBoss e Fuse são registradas e pertencem a Red Hat.
6. O quê esperar do workshop ?
6
● Workshop foi desenvolvido para ser um overview sobre o JBoss Fuse e
seus componentes focado para perfil de desenvolvimento.
● Além da apresentação receberão:
● Máquina virtual para Hand-ons:
● CentOS 6.3.
● JBoss IDE.
● Maven.
● Exercícios.
● Para acessar a máquina:
● Instalar o Virtualbox.
● Configurar a máquina virtual.
● usuário: fuse
● senha: fuse
7. Fuse: História
7
● Existiam diversos projetos Apache voltados para integração
entre quais uma empresa chamada IONA contribuía fortemente.
● Em 2008 a IONA Technologies é comprada pela Progress
Software.
● Em 2010 a IONA foi vendida e com a separação da área open
source foi criada empresa chamada FuseSource para unir todos
esses projetos em um guarda-chuva “Enterprise”.
● A FuseSource torna-se uma subsidiária da Progress Software.
● Em 2011 a FuseSource foi considerada umas das líderes em
plataformas ESB pelo “The Forrester”.
Em 2012 a Red Hat comprou a FuseSource incorporando ao
seu portfolio Middleware.
8. JBoss Fuse: SOA
8
● Service-oriented architecture (Arquitetura Orientada a Serviço):
● SOA pode ser considerada uma metodologia que visa maximizar a
reutilização de serviços existentes e a integração com novos
serviços para aumentar a eficiência e produtividade de uma
empresa.
● Principais princípios:
● Padronização das interfaces de serviço.
● Fraco acoplamento.
● Abstração.
● Reuso.
● Autonomia.
● Stateless.
● Discovery.
● Composição.
● Granularidade.
● Normalização.
● Optimização.
● Relevância.
● Encapsulamento.
● Transparência de endpoint.
9. Fuse: SOA
9
Introduzindo um novo software.
SOA Design Patters, Thomas Erl, Prentice Hall.
10. Fuse: SOA
10
Modelo de serviço para uma ordem de
compra.
SOA Design Patters, Thomas Erl, Prentice Hall.
11. Fuse: SOA
11
SOA Design Patters, Thomas Erl, Prentice Hall.
Composição de
exemplo para fluxo
de serviço.
12. Fuse: ESB
12
● Enterprise Service Bus (Barramento de serviços):
● É uma abordagem de integração global para permitir a
diferentes aplicações se comunicarem.
● ESB fornece uma abstração na forma de um “workflow”
para um sistema de mensagens, que define, executa e
supervisiona o fluxo de controle e dados entre vários
sistemas.
Service-Oriented Infrastructure: On-premise and in cloud,
John deVadoss, Francois Lascelles.
14. Fuse: ESB
14
Service-Oriented Infrastructure: On-premise and in cloud,
John deVadoss, Francois Lascelles.
15. EIP: Enteprise Integration Patterns
15
Livro de Gregor Hohpe e Bobby Woolf demonstra diversos
padrões para integração de software e foi base para construção
do Apache Camel. (http://www.eaipatterns.com/)
17. Fuse: Onde se aplica?
17
Plataformas compostas por diversas aplicações que se integram
App A App C
JBoss Fuse
App A App B
App Legada
App C
Ainda mais necessário com aplicações legadas
18. Fuse: Estamos falando de ESB?
18
Sim, mas infelizmente não existe uma definição padrão para ESB
JBoss Fuse se encaixa como ESB por possuir frameworks de
integração e prover administração
19. Fuse: Componentes
Development Layer
19
CXF Camel
Karaf A
FABRIC
ActiveMQ
Infrastructure Layer
... Karaf N Deployment
20. Fuse: Componentes
Integrações com serviços Web
e Restfull (JAX-WS e JAX-RS) Framework EIP
20
Gerenciamento
centralizado de containers
CXF ActiveMQ
Camel Karaf
Fabric
Enterprise Messaging Container OSGI
22. JBFuse: Fuse IDE
22
FUSE IDE: IDE para facilitar o desenvolvimento com Camel
Integrada com a IDE Eclipse
Visualizador Gráfico das Rotas
Explorador de métricas JMX em runtime
Shell para gerenciamento de instâncias Karaf
Deployment e Tracing de rotas
23. JBFuse: Fuse Service Works
23
Service Works: Solução completa com camada de integração,
mensageira, SOA e governança.
Combina Fuse ESB com SwitchYard e Overlord.
SwitchYard é um componente JBoss focado em facilitar todo o ciclo
de desenvolvimento e deploy de componentes SOA.
Trabalhando em conjunto com Fuse permite agilidade e um modelo
unificado para lidar com Apache Camel, Java EE, BPM, rules,
orquestração e roteamento.
https://docs.jboss.org/author/display/SWITCHYARD/User+Guide
24. JBFuse: Fuse Service Works
24
SwitchYard
11 22
33
https://docs.jboss.org/author/display/SWITCHYARD/User+Guide
44
25. JBFuse: Fuse Service Works
25
Service Works: Solução completa com camada de integração,
mensageira, SOA e governança.
Combina Fuse ESB com SwitchYard e Overlord.
Overlord é um componente JBoss focado em governança SOA.
● Monitoramento.
● Gerenciamento de sistemas distribuídos complexos.
● Repositório.
● Discovery.
● Teste.
● Segurança.
● BAM.
http://docs.jboss.org/overlord/presentations/SOAGovernance.pdf
26. JBFuse: Fuse Service Works
26
Overlord
11
http://docs.jboss.org/overlord/presentations/SOAGovernance.pdf
22
Governança
28. Karaf: Arquitetura
28
Karaf tem sua arquitetura baseada na tecnologia
OSGi (http://www.osgi.org) e suporta múltiplos componentes.
Componentes
OSGi bundles
JBI artifacts
Servlets
Spring beans
Camel routes
CXF (WS e RESTful)
EJB
Facilmente extensível para
adicionar outros componentes.
29. Karaf: Definições
29
Container OSGI, responsável pelo deploy dos artefatos
gerados no desenvolvimento das integrações (bundles)
Opcional se for apenas utilizados os frameworks de
integração dentro de aplicações executadas em servidores
de aplicação.
KARAF
Inicialização
Consoles
Segurança
Patching
Logging
Deployment
...
O que estudar?
Funcionalidades básicas de um
container
31. Karaf: Benefícios
31
● Hot deploy via OSGi bundles.
● Configuração dinâmica dos serviços OSGi via
“ConfigurationAdmin”.
● Logging dinâmico provido pelo Log4J mas suporta outras APIs
(SLF4J, Java Utils, JCL, Avalon, Tomcat, OSGI).
● Provisionamento da aplicação via cópia de arquivo, maven
acessando repositório remoto ou Fuse Fabric.
● Administração via shell console e remoto via ssh.
● JAAS como framework de segurança.
32. Karaf: OSGi
32
● Tem sua origem “Open Services Gateway initiative”.
● Resolve o problema de deploy e administração de módulos em Java
(conhecidos como “bundles”).
● Ciclo de vida (como carregar, iniciar e parar Java bundles sem ter que
parar JVM.
● Gerenciamento e administração remota.
● Class-loading.
● Versionamento.
● Gerenciamento de dependência.
● “The OSGi Alliance” foi fundada em 1999 para promover em larga escala
da adoção da tecnologia OSGi (http://www.osgi.org).
● Entre os membros: Red Hat, SpringSource, Progress, IBM etc.
34. Karaf: Deployment
34
Como um bom container OSGI, toda instalação consiste de bundles
JAR contendo informações específicas em seu MANIFEST
Há outros tipos deploy, mas tornam-se um bundle internamente
Regular library JAR
Web archives (WAR)
Enterprise Archives (EAR)
Descritores XML (Datasources, etc)
Alguns bundles já estão pré-instalados no Karaf
Karaf bundles
Spring bundles
Camel bundles
ServiceMix bundles
Jetty bundles
CXF bundles
Bundle
35. Karaf: Deployment
35
Deployment através do terminal
Qualquer URL, inclusive Maven
Deployment através do console Web
Hot deployment através do diretório deploy
etc/org.apache.felix.fileinstall-deploy.cfg
38. Karaf: Provisionamento
38
O sistema de provisionamento provém uma interface
simplificada para gerenciar OSGi bundles individualmente.
Comandos para registrar, lookup, instalar e desinstalar
bundles.
Configurações são definidas via único arquivo XML.
Bundles podem estar locais ou remotos.
39. Karaf: Gerenciamento
39
Scripts de inicialização no diretório bin
bin/fuse
bin/fuse server | bin/start
bin/fuse client
Mas e o console?
Inicializa o container com console ativo
Inicializa o container sem console ativo
Inicializa o container sem acesso remoto
Utilizando outra instância
Utilizando comando ssh
Utilizando script client
ssh:ssh -l user -P pwd -p 8108
ssh user@host -p 8108
bin/client
40. Karaf: Gerenciamento
40
Criação de script de serviço para o gerenciamento
bin/karaf-wrapper
bin/karaf-service
etc/karaf-wrapper.conf
lib/libwrapper.so
lib/karaf-wrapper.jar
/etc/init.d
41. Karaf: Console Administrativo
41
Console por linha de comando, local ou remoto
Console Web pode ser instalado
Deployment
Configurações
Operações
Embedded Console
43. Karaf: Logging
43
Baseado no padrão OPS4J Pax Logging
(http://www.ops4j.org/projects/pax/logging).
Suporta API de log como Apache Commons Logging, SLF4J,
Log4j, Java Util Logging.
Combina todos em único sincronizado output.
Usa modelo de configuração do Log4j.
44. Karaf: Logging
44
Log padrão gerado em data/log/fuse.log
Configurações em etc/org.ops4j.pax.logging.cfg (hot deploy)
Comandos de log no console
45. Karaf: Logging
45
Configuração de log por aplicação (bundle), utilizando MDC
Divisão pode ser feita por qualquer propriedade, basta configurá-las na
aplicação (não só bundle-name)
47. Karaf: Admin
47
Cada instância do Karaf roda em uma JVM separada, sendo
assim, com suas próprias configurações, estado, logs e
arquivos temporários.
Instâncias na mesma máquina podem compartilhar arquivos de
instalação, bundles de sistemas e JAR de inicialização.
48. Karaf: Configurações
48
Toda configuração é localizada em arquivo .cfg, sendo o prefixo
o pid da configuração
etc/ ...
Alterações podem ser aplicadas pelo terminal
49. Karaf: Aplicação de Patches
49
Distribuídos na forma de um ZIP, contendo arquivos de patch e
um descritivo dos mesmos
Não destrutivo: aplicação de patch armazena antigos artefatos
para posterior rollback
Possibilidade de simulação do patch
50. Karaf: Múltiplas instâncias
50
Possibilidade de criação de múltiplas instâncias (containers)
Karaf em uma única estação
JBoss Fuse Installation
root container
mycontainer
yourcontainer
instances/mycontainer/...
instances/yourcontainer/...
Portas ssh e rmi são
incrementadas
automaticamente
Como criar novos containers ...
51. Karaf: Deployment Failover
51
Arquitetura Master/Slave garantido pelo controle de lock
master slave master slave
SimpleFileLock DefaultJDBCLock
Segundo container fica em modo de espera
aguardando o lock ser liberado para iniciar
Podemos otimizar a performance de carregamento do
slave realizando o preload dos bundles com
karaf.lock.level=50
53. Karaf: Segurança
53
Segurança dos consoles baseada em JAAS
Por padrão utiliza-se o login-module karaf
Baseado em arquivo de propriedades /etc/users.properties
Aumentando a segurança
Controle de permissão no arquivo de propriedades
Encriptação da senha dentro do arquivo
etc/org.apache.karaf.jaas.cfg
54. Karaf: Segurança
54
Podemos sobrescrever o login-module karaf
Deploy de um novo login-module através de um
descritor blueprint, utilizando um rank maior
deploy/myjaas.xml
56. Karaf: Segurança
56
Gerenciamento dos usuários através do console
Por isso faz-se necessária a query de insert ...
Facilidade de gerenciamento com auto complete e --help
58. Karaf: Console
58
Sub-módulo que provém interface de linha de comando.
Formato dos comandos: {subshell}:{comando} [opções]
Sub-shell é um grupo de comandos relacionados.
Exemplo: admin
Acesso via ssh.
60. Karaf: Messaging Broker
60
JBoss Fuse incorpora produto JBoss A-MQ, sendo que o Karaf
vem configurado com um broker padrão
Propriedades específicas Broker template
org.apache.activemq.server-default.cfg activemq.xml
61. Karaf: Messaging Broker
61
Interação com o broker através do terminal
Além dos comandos de terminal, os MBeans são expostos via JMX
Utiliza o JMX server do próprio Karaf
service:jmx:rmi:///jndi/rmi://localhost:1099/karaf-root
62. Karaf: ActiveMQ Web Console
62
Web Console específico para o ActiveMQ
Distribuído como uma feature: feature:install mq-web-console
Acessível em http://localhost:8181/activemqweb
Configurado em etc/org.apache.activemq.webconsole.cfg
63. Fuse: Gerenciamento com Fabric
63
Possibilita o gerenciamento do deployment em ambiente distribuído
Baseado em três conceitos
Container: Instância do servidor Karaf (Broker e ESB)
Profile: Descrição de como os containers serão provisionados
Version: Versionamento dos profiles
64. Fabric: Infra estrutura
64
Possibilita o gerenciamento do deployment em ambiente distribuído