Trilha Arquitetura e SOA
Arquitetura simples e evolutiva. Esse é o caminho

A arquitetura de uma aplicação é acima de tudo uma peça chave para bons produtos e serviços. É onde convergem interesses estratégicos, de negócio e ideal tecnológico. Costumamos definir a arquitetura ideal como sendo a mais simples para atender os requisitos de um aplicativo. O desafio tange na questão do que é simples o bastante sem ser limitante ou de complexa evolução. Nesta trilha discutiremos as principais tendências, práticas e depoimentos sobre arquitetura de modo geral. Interesse de qualquer qualquer arquiteto ou desenvolvedor multidisciplinar.

Programação / Palestras

Importante: Grade de palestras sujeita a alterações sem prévio aviso.
08:00 às 09:00

Todas as pessoas inscritas, palestrantes, coordenadores e de imprensa, devem retirar seus crachás e kit do congressista nos balcões de credenciamento localizados na entrada do evento, para obterem acesso às salas e Auditório Principal.

O café da manhã será servido na área de coffee break.
09:00 às 10:00

Após o credenciamento e um breve café da manhã, convidamos os participantes a comparecer ao local para receberem as boas vindas por parte dos realizadores e patrocinadores.

Neste keynote de abertura, todos serão orientados sobre o funcionamento do evento, destaques e outras novidades.

10:10 às 11:00
Fast DDD

Em 50 minutos pretendo apresentar o DDD de forma técnica e pesada, justificando o uso frente a outras ferramentas e técnicas de mercado e explicitando as vantagens. Objetivando gerar curiosidade e uso deste conjunto de boas práticas.
11:10 às 12:00
Persistência Poliglota na prática

Ficou difícil escalar o seu banco de dados atual?
Já percebeu alguma vez que um dos problemas que você está tentando resolver parece não combinar muito com um modelo relacional?
Já voltou atrás e se arrependeu com uma escolha de NoSQL?

Nós enfrentamos esses e outros problemas escalando nossa app Rails da 8tracks.com pra 13 milhões de usuários mais de 100 mil requests por minuto.

Vou falar sobre as motivações e desafios que passamos implementando soluções com MySQL, Redis, SOLR, Postgres, Redshift, MongoDB, ElasticSearch e CouchDB. E o que nos incentivou a permanecer ou voltar atrás com cada uma dessas soluções.
12:00 às 13:00

Todos os participantes receberão um sanduíche com bebida no horário de almoço. Ele deverá ser retirado mediante apresentação de voucher que se encontra dentro dos kits dos congressistas entregues no credenciamento.

Uma excelente oportunidade de todas as pessoas no evento interagirem e trocarem ideias, colaboradores, empresas patrocinadoras e apoiadoras, palestrantes e coordenadores.
13:10 às 14:00
Software Delivery like a Boss (STADIUM)

Nesta apresentação serão abordadas várias técnicas de deploy, bem como alguns desafios do dia a dia para entregar software em produção com rapidez e qualidade. Entre os desafios iremos apresentar técnicas de deploy envolvendo Bancos de Dados em ambientes multi-tier.

Imagine o seu cliente com aquele "sonho mirabolante, porém de extremo valor agregado. Nós como bons desenvolvedores de software precisamos de muito conhecimento de boas práticas de engenharia de software para entregar esse valor com qualidade sem comprometer a disponibilidade e integridade do produto e as operações como um todo.

Para isso iremos apresentar algumas boas práticas e ferramentas que podemos utilizar durante o ciclo de desenvolvimento e principalmente na fase da entrega da funcionalidade em produção.
14:10 às 15:00
Está preparado para um milhão de usuários simultâneos ?

Algum tempo atrás estar preparado para um milhão de usuários simultâneos era somente para as grandes empresas como Google, twitter ou facebook. Mas com a explosão da Web 2.0 isso também é uma preocupação para qualquer que tenha um site de notícias ou mesmo um ecommerce. Somado as atualizações cada vez mais frenéticas (tecnológicas ou de regras denegócio) para fazê-lo sobreviver a concorrência acaba-se desprezando boas práticas para atender a audiência cada vez mais maior.

Então, seu site está preparada para um milhão de usuários?

A cada dia surge novas tecnologias para produção de sistemas/site tornando difícil acompanhar todas elas ou escolher as melhores. Porém é possível escolher algumas técnicas e práticas importantes para internet e seu ecossistema. A Web 2.0, expansão do comércio eletrônico, redes sociais, a "Internet das Coisas" e outros buzzwords tornam as escolhas tecnológicas cada vez mais difíceis de serem tomadas pela enormidade de opções. Mas é possível considerar algumas coisas para que um site/sistema proporcione uma boa experiência para seu usuário e alguma vida para as equipes de TI.

Algumas delas são:
  • limitações dos navegadores web
  • sprite de imagens
  • minify css e javascripts
  • segmentação de domínios
  • cache
  • servidores web (http)
  • limitações geográficas
  • arquitetura computacional do site/sistema
  • funcionanamento do HTTP
  • indexação nos mecanismo de pesquisa
  • a expectativa de 1 milhão de usuários simultâneos
15:00 às 15:30

Durante o intervalo de Coffee-break, as mesas de alimentação terão disponíveis café, sucos, frutas e biscoitos. Um delicioso intervalo para relaxar, conhecer novas pessoas e estreitar contatos.

Neste tempo, também surge a oportunidade de todas as pessoas no evento interagirem entre sí, participantes das trilhas, empresas patrocinadoras e apoiadoras, palestrantes e coordenadores.
15:40 às 16:30
Um desenvolvedor com princípios SOLID

Existem vários bons princípios, práticas e padrões disponíveis para ajudar os desenvolvedores a escreverem códigos bons e estáveis, que estão além de uma linguagem, os princípios SOLID, identificados por Robert C. Martin, no começo dos anos 2000 estão entre elas.

A ideia aqui é apresentar em um short talk problemas com o crescimento desordenado de código, qual o papel e os ganhos proposto com os princípios.
Arquitetura de Micro-serviços: por que e quando usar?

Microservices estão na moda, mas nem por isso devemos usar em qualquer situação. Nesta palestra vou compartilhar minha experiência com Microservices e explicar quando faz sentido usar.

Trabalhei por dois anos em um projeto onde o sistema era composto por microservices. Nessa palestra vou compartilhar um pouco dessa experiência e conversar um pouco em que situações faz sentido utilizar este tipo de arquitetura.
16:40 às 17:30
Projeto de API: Aprendendo, Programando e Integrando

A apresentação descreverá boas práticas para se criar uma API, porque utilizá-las, como e quando. O objetivo é contextualizar com o Projeto de Software em geral (Padrões, Clean Code, TDD..) e tratar as particularidades de um Projeto de API opensource real como o projeto de geração de boletos do JRimum/Bopepo o qual participei. A apresentação descreverá boas práticas para se criar uma API, porque utilizá-las, como e quando. O objetivo é contextualizar com o Projeto de Software em geral (Padrões, Clean Code, TDD..) e tratar as particularidades de um Projeto de API opensource real como o projeto de geração de boletos do JRimum/Bopepo o qual participei.

Pretende-se abordar os seguintes tópicos:
  • Tipos de API
  • Processo de desenvolvimento: Concepção, Requisitos, Prototipação
  • Atributos de uma Boa API, racionalização do projeto
  • Princípios Gerais de Projeto de API
  • Documentação de API
  • Projeto de Classes de uma API, boas práticas e padrões
  • Projeto de métodos de uma API, boas práticas e padrões
  • Projeto de exceções boas práticas e padrões
  • Projeto de API e sua Testabilidade
  • Manutenção e ciclo de vida de uma API
  • Integração com outras APIs
  • Projeto JRimum, exemplos reais
Maturidade de APIs REST

Serviços REST são amplamente utilizados, mas nem todos usufruem de tudo que uma arquitetura REST pode oferecer. Vamos compartilhar boas práticas e anti-patterns que encontramos em projetos reais e analisar o processo de evolução de um serviço REST, explorando os quatro níveis de maturidade e o que os diferencia.
17:40 às 18:30
Quem quer ser um arquiteto?

Entre os desenvolvedores de software, quem quer ser um arquiteto? O que é preciso saber? Quais as principais preocupações e responsabilidades é preciso ter? Que ferramentas, linguagens e técnicas é preciso dominar?

A idéia dessa palestra é esclarecer o que faz um arquiteto de software, como é o dia-a-dia de trabalho, quais as principais decisões ele precisa tomar e como ele se encaixa e colabora com todos responsáveis pela entrega do software
18:40 às 19:00

No horário de encerramento, todas as trilhas serão direcionadas de suas salas para o Auditório Principal, mesmo local da abertura.

Após a apresentação de resultados do dia muitos sorteios fecharão o dia.

Data e Local

Quinta-feira, 16 de Outubro de 2014

8:00 às 19:00

UniRitter

Rua Orfanotrófio, 555
Alto Teresópolis | Porto Alegre - RS

Informações sobre Data e Local


Público Alvo

Arquitetos de Software, Desenvolvedores de Software, Testadores, Analistas de Sistemas, Analistas de Negócio, Empresários de TI, Gerentes de Desenvolvimento, Professores e Pesquisadores de TI.

Patrocinadores

Diamond


Silver


Apoio


Realização