Casos de sucesso na implantação de arquitetura de software enterprise.
Slides da palestra apresentada no TDC2011 em Florianópolis para a trilha de Arquitetura.
Quais os desafios e principais decisões de projeto que norteiam a concepção e evolução de uma arquitetura de software enterprise? Através de 3 exemplos de casos de sucesso serão discutidas as dificuldades, facilidades e as principais decisões de projeto que nortearam a implantação destas arquiteturas. Assim, exemplos baseados em Frameworks e tecnologias da plataforma Java EE para prover uma solução consistente e escalável de acordo os requisitos não funcionais estabelecidos serão considerados para ilustrar o que compõe a definição de uma arquitetura de software simples e enterpise.
Palestra "Mercado Java: como se dar bem?", ministrada por Thiago Faria de Andrade na UNICERP (Patrocínio/MG), UNIPAM (Patos de Minas/MG) e IFTM (Uberaba/MG).
Palestra "Mercado Java: como se dar bem?", ministrada por Thiago Faria de Andrade na UNICERP (Patrocínio/MG), UNIPAM (Patos de Minas/MG) e IFTM (Uberaba/MG).
Conheça a profissão front-end.
O que é front-end?
O que o profissional front-end faz?
Principais ferramentas e tecnologias usadas pelo front-end.
HTML - CSS - JavaScript.
Modelo conceitual das etapas do front-end.
Nesta palestra os ouvintes conhecerão os princípios básicos da nova linguagem de scripts da Microsoft chamada PowerShell.
Com o PowerShell é possível administrar desde servidores on-premises até o Azure e Office 365 com o uso de scripts de forma simples e prática.
Apresentação do Evento DevBrasil OpenDay Praia Grande 2013 , que aconteceu em 14 de setembro de 2013. Sobre o desenvolvimento para a plataforma .net com C# no Visual Studio 2013 e tendo como complemento de ajuda o Telerik JustCode.
Primeira aula da disciplina Programação Dinâmica para Web. Primeiros conceitos sobre Arquitetura de Aplicações web e informações gerais sobre a disciplina.
Microsoft Expression Blend e WEB: sob o ponto de vista de um desenvolvedorRodrigo Kono
Esta palestra não foca somente na visão geral do Expression Blend e do Expression Web no ponto de vista do desenvolvedor, como também mostra uma série de dicas para o desenvolvimento de aplicações. Conheça como você pode usar o Expression Blend para criar interfaces de usuário avançadas, seja ela uma aplicação de negócio, multi-media ou qualquer outra. Confira, também, como usar ferramentas para criar efeitos gráficos e elementos visuais que podem ser utilizadas por qualquer pessoa independente do talento artístico. Aprenda também como utilizar o Expression Web para desenvolver sólidas aplicações na web e obter ótimos resultados em diversos browsers e plataformas. Nessa palestra além de conhecer as boas funcionalidades do Expression Web para turbinar seu desenvolvimento de interfaces web, você também conhecerá as dicas e truques para as aplicações ASP.NET baseadas em padrões, SEO, usabilidade, mobilidade, etc. Depois de assistir essa sessão, você irá melhorar a compreensão do Expression Blend para as aplicações Silverlight/WPF e do Expression Web para as aplicações Web (ASP.NET/Web Standards), assim como do Visual Studio para o trabalho em conjunto com essas ferramentas.
Palestra apresentada na semana de Imersão da Fábrica de Software do UNIPÊ. Apresentação da profissão de Desenvolvedor, com foco em back-end, a programação em sua versão "bruta" .
Conheça a profissão front-end.
O que é front-end?
O que o profissional front-end faz?
Principais ferramentas e tecnologias usadas pelo front-end.
HTML - CSS - JavaScript.
Modelo conceitual das etapas do front-end.
Nesta palestra os ouvintes conhecerão os princípios básicos da nova linguagem de scripts da Microsoft chamada PowerShell.
Com o PowerShell é possível administrar desde servidores on-premises até o Azure e Office 365 com o uso de scripts de forma simples e prática.
Apresentação do Evento DevBrasil OpenDay Praia Grande 2013 , que aconteceu em 14 de setembro de 2013. Sobre o desenvolvimento para a plataforma .net com C# no Visual Studio 2013 e tendo como complemento de ajuda o Telerik JustCode.
Primeira aula da disciplina Programação Dinâmica para Web. Primeiros conceitos sobre Arquitetura de Aplicações web e informações gerais sobre a disciplina.
Microsoft Expression Blend e WEB: sob o ponto de vista de um desenvolvedorRodrigo Kono
Esta palestra não foca somente na visão geral do Expression Blend e do Expression Web no ponto de vista do desenvolvedor, como também mostra uma série de dicas para o desenvolvimento de aplicações. Conheça como você pode usar o Expression Blend para criar interfaces de usuário avançadas, seja ela uma aplicação de negócio, multi-media ou qualquer outra. Confira, também, como usar ferramentas para criar efeitos gráficos e elementos visuais que podem ser utilizadas por qualquer pessoa independente do talento artístico. Aprenda também como utilizar o Expression Web para desenvolver sólidas aplicações na web e obter ótimos resultados em diversos browsers e plataformas. Nessa palestra além de conhecer as boas funcionalidades do Expression Web para turbinar seu desenvolvimento de interfaces web, você também conhecerá as dicas e truques para as aplicações ASP.NET baseadas em padrões, SEO, usabilidade, mobilidade, etc. Depois de assistir essa sessão, você irá melhorar a compreensão do Expression Blend para as aplicações Silverlight/WPF e do Expression Web para as aplicações Web (ASP.NET/Web Standards), assim como do Visual Studio para o trabalho em conjunto com essas ferramentas.
Palestra apresentada na semana de Imersão da Fábrica de Software do UNIPÊ. Apresentação da profissão de Desenvolvedor, com foco em back-end, a programação em sua versão "bruta" .
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
O Desenvolvimento de Aplicações WEB nem sempre é uma tarefa trivial. Esta apresentação demonstra diversos conceitos, tecnologias e metodologias que são utilizadas em diversos projetos.
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAIJeanne Louize Emygdio
Apresentação realizada como parte de um Treinamento de Sensibilização aos analistas do Centro de Desenvolvimento e Pesquisa da FAI, visando construção de Portal deste departamento.
Realização: 14/12/2009.
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Renato Groffe
Slides de apresentação realizada no dia 10/12/2021 (sexta) na trilha Development do MVPConf Latam 2021 com meu amigo Robson Rocha de Araújo (Microsoft MVP, MTAC), em uma talk cobrindo boas práticas na implementação de aplicações na nuvem utilizando a metodologia Twelve-Factor App. A palestra também abordou cenários de uso de tecnologias como Git, Azure DevOps, GitHub, GitHub Actions, NuGet, npm, serviços do Microsoft Azure, Redis, Docker, Kubernetes, Helm, Docker Compose, Application Insights, Prometheus, PowerShell e Bash.
Introdução à Programação “para Web” de Carlos BazilioRicardoKratz2
Introdução à Programação “para Web” de Carlos Bazilio
Depto de Ciência e Tecnologia
Pólo Universitário de Rio das Ostras Universidade Federal Fluminense
Palestra ministrada na SECOMP Betim na PUC-MG de Betim sobre a nova tendência em arquitetura de sistemas Web e explicar sobre a questão do estilo arquitetural SOFEA.
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Dr. Spock
Cloud computing and the Java EE platform have evolved to provide a runtime environment for Java EE applications with minimal architectural interference. This evolution is addressing issues from the application server and cloud infrastructure point of view. However, design decisions and best practices for the conception of an architecture can influence the choice of a cloud environment. This session presents some tips and tricks for avoiding the traps that prevent effective use of a cloud infrastructure during development of a typical Java EE application. Each tip and trick is evaluated in terms of its impact on the performance, scalability, distribution, elasticity, and cost of some clouds on the market.
Novidades do JSF: Um tour completo no JSF 2.2Dr. Spock
No processo de evolução da plataforma Java EE o JavaServer Faces continua contribuindo com a padronização da tecnologia de interfaces com usuário na Web com Java. A nova versão para o Java EE 7 conta com contribuições da comunidade e um processo transparante. Evoluções no JSF 2.2 são acompanhadas e influênciadas pela comunidade brasileira através da iniciativa adote uma JSR promovida pelo SouJava. Como parte desta iniciativa, esta sessão apresenta as novas funcionalidades previstas para o JSF 2.2 agrupadas de acordo a importância destas funcionalidades.
Como parte da iniciativa Adote uma JSR (adopt-a-jsr) promovida pelo grupo de usuários SouJava, foi realizado via web, um workshop de introdução sobre o projeto ScrumToys. Este projeto é uma pequena aplicação Web implementada com os recursos do JavaServer Faces 2.0 do Java EE 5 que foi incorporada à ferramenta NetBeans para demonstração das diversas funcionalidades do JSF. Neste workshop foram apresentados, ao longo de uma hora e meia, detalhes da arquitetura interna, as principais funcionalidades demonstradas do JSF e como contribuir nas evoluções futuras deste projeto. Gravação deste workshop está disponível no Youtube (http://bit.ly/XoVjP2)
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6Dr. Spock
Palestra que explorou os recursos de extensibilidade da API de CDI (Contexts & Dependency Injection) do Java EE 6 e foi realizada no The Developers Conference 2012 em São Paulo para a trilha de Java EE.
Resumo: "Dentre todas as APIs que compõem a especificação da plataforma Java EE 6, a API de Contextos e Injeção de Dependência (Contexts and Dependency Injection), ou simplesmente CDI, é a grande novidade que não existia nas versões anteriores desta plataforma. Esta API adiciona um suporte ao conceito de "Injeção de Dependências" como uma ferramenta de modelagem. Contudo, esta API suporta um conjunto de pontos de extensão que permitem uma aplicação adicionar novas funcionalidades na plataforma ou mudar o comportamento padrão definido pela especificação. Esta apresentação irá explorar recursos de extensibilidade do CDI para um uso avançado ao criar componentes numa aplicação enterprise baseados em CDI beans integrados à plataforma."
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6Dr. Spock
Palestra de introdução aos conceitos básicos da API de CDI (Contexts & Dependency Injection) do Java EE 6 realizada no The Developers Conference 2012 em São Paulo para a trilha de Java EE University.
Resumo: "Dentre todas as APIs que compõem a especificação da plataforma Java EE 6, a API de Contextos e Injeção de Dependência (Contexts and Dependency Injection), ou simplesmente CDI, é a grande novidade que não existia nas versões anteriores desta plataforma. Esta API adiciona um suporte ao padrão de projetos chamado de "Injeção de Dependências" como uma ferramenta de modelagem. Contudo, muito mais do que injeção de dependências, esta especificação estabelece novos conceitos que revolucionam as estrategias na construção de componentes de negócios. Esta apresentação, em caráter introdutório, descreve os principais conceitos e recursos do CDI que facilitam o processo de construção de aplicações enterprise robustas e eficientes com produtividade."
Spring Framework no desenvolvimento móvel. Slides da apresentação realizada no TDC2011 em Florianópolis/SC para a trilha de Mobile no dia 21/08/2011.
O ecossistema do Spring Framework tem evoluído para cenários muito além dos domínios do Java EE. Um destes domínios é o desenvolvimento de aplicações móveis nativas e web. Então, nesta mini palestra, serão apresentados o Spring Mobile e Spring Android, ainda nas suas versões iniciais, mas com um potencial enorme de levar o melhor do framework para o cenário móvel.
Slides da apresentação realizada no TDC2011 em Florianópolis/SC no dia 20/Agosto/2011 das 16:40 às 17:30 na trilha de SOA/Cloud.
O Azure é o produto de IaaS e PaaS da Microsoft que disponibiliza máquinas virtuais para Cloud Computing baseadas em Windows Server 2008 e na capacidade de receber aplicações com suporte a IIS e ASP.NET. Mas, o PaaS ainda não possibilita a execução de aplicações Java. Portanto, resta-nos apenas usar o IaaS ao executar a instalação e configuração da infra-estrutura necessária para rodar aplicações Java EE. Contudo, esta instalação e configuração são delegadas para o cliente. Nesta sessão serão apresentados alguns desafios e dificuldades do ponto de vista de um desenvolvedor para a instalação de um servidor de aplicações Java EE 6 e a implantação de uma aplicação Java escalável, clusterizada, tolerante a falhas e elástica no Microsoft Azure.
IaaS = Infrastructure as a Service; PaaS = Platform as a Service; IIS = Internet Information Server.
Spring Framework no desenvolvimento móvelDr. Spock
Slides da apresentação de 15 minutos realizada na trilha de Mobile do evento The Developer's Conference 2011 (TDC2011) em São Paulo. 08/Julho/2011 das 17:15 às 17:30.
Desafios no deploy de aplicações Java EE 6 no Microsoft AzureDr. Spock
Slides da apresentação realizada no JustJava 2011 em São Paulo no dia 14/Maio/2011 das 15:50 às 16:40.
O Azure é o produto de IaaS e PaaS da Microsoft que disponibiliza máquinas virtuais para Cloud Computing baseadas em Windows Server 2008 e na capacidade de receber aplicações com suporte a IIS e ASP.NET. Mas, o PaaS ainda não possibilita a execução de aplicações Java. Portanto, resta-nos apenas usar o IaaS ao executar a instalação e configuração da infra-estrutura necessária para rodar aplicações Java EE. Contudo, esta instalação e configuração são delegadas para o cliente. Nesta sessão serão apresentados alguns desafios e dificuldades do ponto de vista de um desenvolvedor para a instalação de um servidor de aplicações Java EE 6 e a implantação de uma aplicação Java escalável, clusterizada, tolerante a falhas e elástica no Microsoft Azure.
IaaS = Infrastructure as a Service; PaaS = Platform as a Service; IIS = Internet Information Server.
Dicas e truques sobre performance em JavaEE, JPA e JSFDr. Spock
Slides da apresentação realizada no JavaOne Brasil 2010. Apresenta algumas dicas e truques para evitar problemas de performance em aplicações Web baseadas em Ajax, JSF e JPA.
Computação Física com Arduino, Program-ME e JavaDr. Spock
Apresentação realizada no dia 06/Nov/2010 no evento The Developers Conference (TDC2010) na trilha Stadium Sábado (14:20 às 16:10) promovido pela Globalcode e VOffice em Florianópolis/SC/Brasil.
Spring 3: Uma Plataforma além do FrameworkDr. Spock
Apresentação realizada no dia 06/Nov/2010 no evento The Developers Conference (TDC2010) na trilha Java (16:40 às 17:30) promovido pela Globalcode e VOffice em Florianópolis/SC/Brasil.
Produtividade com Spring Roo no Google App EngineDr. Spock
Apresentação realizada no dia 07/Nov/2010 no evento The Developers Conference (TDC2010) na trilha Stadium Domingo (10:00 às 10:50) promovido pela Globalcode e VOffice em Florianópolis/SC/Brasil.
2. @bout me!
• Bacharel e especialista em Física
pela UFV e Unicamp;
• Desenvolvedor de aplicações
Web desde 96 e Java desde 99;
• Palestrante em eventos
nacionais e internacionais;
• Integrante da equipe de P&D da
Softplan em Florianópolis;
16. “Papel exercido por um desenvolvedor
experiente capaz de tomar decisões
de projeto para a organização da
estrutura de um software (ou sistemas) e
sugerir as escolhas certas”
17. Principais
responsabilidades
• Limitar as escolhas durante o
desenvolvimento:
• Escolher um padrão para a
maneira de desenvolver
aplicações;
• Definir/criar um framework para
ser usado na aplicação;
Fonte:Wikipedia
18. Principais
responsabilidades
• Indicar os pontos de reutilização
dentro da aplicação ou na
organização:
• Enxergar de maneira mais
abrangente;
• Adotar um design de
componentização;
• Ter contato e conhecimento com
outras aplicações na organização;
Fonte:Wikipedia
19. De um ponto de vista
prático!
• Durante o Design, quebrar a
complexidade do desenvolvimento
de aplicações em pedaços menores e
melhores gerenciáveis;
• Entender as funções de cada
componente;
• Entender as interações e
dependências entre os componentes
de software;
• Comunicar esses pontos com os
desenvolvedores.
Fonte:Wikipedia
20. Ferramentas de um
arquiteto
• Linguagem de modelagem: UML;
• Linguagem de programação;
• Técnicas OO: herança,
polimorfismo, design patterns,
analysis patterns, frameworks,APIs,
componentização e tecnologias;
• Consolidação das decisões com
diferentes visões num documento
de arquitetura de software.
23. O problema
Empresa com aplicação Web de
cotações de produtos já
implementado com PHP
usando banco de dados
Oracle, equipe de 8
desenvolvedores com pouco
conhecimento em Java SE e Java
EE com interesse em migrar
para a plataforma Java.
Qual a arquitetura adequada
para esta migração?
24. Requisitos
importantes
• Usabilidade: UI ricas,
componentes visuais de negócios
e drag’n drop e templates na
Web;
• Integração via web services e
arquivos EDI;
• Multi-plataforma para modelo de
domínio;
• Performance e escalabilidade nos
horários críticos.
30. Pontos positivos e
negativos
• Quantidade excessiva de
configurações em XML;
• Modelo consistente de
componentização (favorece
possível uso de EJBs e OSGi);
• Problemas de performance
com JPA/Hibernate;
• Escalabilidade via servidor de
aplicações.
32. O problema
Empresa com aplicação
Progress em modo caractere
com aplicação de gestão de
produtos turísticos para
agências de viagens, equipe com
desenvolvedores sem
experiência em Java e OO com
interesse em migrar para a
plataforma Java.
Qual a arquitetura adequada
para esta migração?
33. Requisitos
importantes
• Comunicação com diversas
fontes na internet de
produtos turísticos;
• Flexibilidade para suportar
novos produtos;
• Múltiplos contextos na sessão
web;
• Tecnologias consolidadas;
39. Pontos positivos e
negativos
• Gerenciamento eficiente do
contexto de persistência;
• Arquitetura com alta
complexidade para equipe
inexperiente;
• Modelo consistente de
componentização favorecendo
extensibilidade;
• Modelo assíncrono via Ajax na
tela web.
42. O problema
Modelo genérico e configurável
de entidades de negócios para
integração entre ERPs para
diferentes processos de
negócios da empresa no
relacionamento com vários
clientes.
Qual a arquitetura adequada
para esta integração?
45. Tecnologias
selecionadas
• Java Swing => Builders
• POJO => Domain model
• Struts => Interfaces Web
dinâmicas
• Multi-thread standalond Java
app => Máquina de regras
• Spring Framework 1.2
46. Pontos positivos e
negativos
• Quantidade excessiva de
configurações em XML;
• Metamodelo genérico para
definição de entidades de
negócios;
• Performance tende piorar para
volume de dados das entidades;
• Modelo de componentização
POJO.