<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bruno Pereira &#187; globo.com</title>
	<atom:link href="http://brunopereira.org/tag/globocom/feed/" rel="self" type="application/rss+xml" />
	<link>http://brunopereira.org</link>
	<description>Open source, Java, web, python, client-side e outros hobbies :)</description>
	<lastBuildDate>Thu, 20 Oct 2011 00:47:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Adeus Globo.com, foi um grande prazer</title>
		<link>http://brunopereira.org/2008/11/28/adeus-globocom-foi-um-grande-prazer/</link>
		<comments>http://brunopereira.org/2008/11/28/adeus-globocom-foi-um-grande-prazer/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 10:34:39 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[carreira]]></category>
		<category><![CDATA[posts em português]]></category>
		<category><![CDATA[capixaba]]></category>
		<category><![CDATA[concrete]]></category>
		<category><![CDATA[concrete solutions]]></category>
		<category><![CDATA[ejv]]></category>
		<category><![CDATA[globo.com]]></category>
		<category><![CDATA[globosat]]></category>
		<category><![CDATA[paraense]]></category>
		<category><![CDATA[prudentino]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://brunopereira.org/?p=258</guid>
		<description><![CDATA[Depois de mais de 2 anos e meio, hoje é o meu último dia alocado na Globo.com. A partir de segunda-feira (01/12) já estarei alocado em um novo projeto, também nas Organizações Globo, mas desta vez na Globosat.
Eu levarei várias boas lembranças, de um período que foi muito positivo para mim. Comparando a minha experiência [...]]]></description>
			<content:encoded><![CDATA[<p>Depois de mais de 2 anos e meio, hoje é o meu último dia alocado na <a href="http://www.globo.com" target="_blank">Globo.com</a>. A partir de segunda-feira (01/12) já estarei alocado em um novo projeto, também nas Organizações Globo, mas desta vez na <a href="http://globosat.globo.com/" target="_blank">Globosat</a>.</p>
<p>Eu levarei várias boas lembranças, de um período que foi muito positivo para mim. Comparando a minha experiência e maturidade agora com o momento em que entrei na Globo, a diferença é enorme. Tive a oportunidade de trabalhar com profissionais de altíssimo nível e em projetos de enorme importância técnica e de negócio. Tive também a sorte de atuar em áreas com as quais tenho muita afinidade e interesse, o que ajuda bastante no envolvimento de qualquer profissional.</p>
<p>Quando cheguei à Globo pude vivenciar uma situação nova para mim. Passei a ter a satisfação de ir trabalhar feliz todos os dias. Atuando em um ótimo ambiente de trabalho no qual o software fica em primeiro plano. Com o benefício extra de saber que meu trabalho teria a visibilidade do maior portal de internet da América Latina.</p>
<p>Além disso, posso dizer que vivi muitos progressos dentro da empresa. Acompanhei o surgimento de produtos como o <a href="http://g1.globo.com/" target="_blank">G1</a>, o <a href="http://www.8p.com.br/flog/home" target="_blank">8P</a>, o <a href="http://futpedia.globo.com/" target="_blank">Futpedia</a> e o <a href="http://globoesporte.globo.com/Esportes/Futebol/Brasileirao/musa/0,,9855,00.html" target="_blank">Musas</a>, além de um progresso fantástico na plataforma de <a href="http://video.globo.com/" target="_blank">Vídeos</a>. Acompanhei de perto a produção interna para eventos como a Copa de 2006 e as Olimpíadas de Pequim. Poder vivenciar esse crescimento da empresa foi muito interessante.</p>
<p>Também me deixou muito feliz a abordagem da Globo.com em relação a Open Source. Quando cheguei na empresa, todo mundo usava Windows, o servidor de aplicações mais usado era o Weblogic e embora já existisse o uso de muitos softwares open source, isso não fazia parte da cultura da empresa.</p>
<p>Hoje em dia a relação da Globo com Open Source é excelente. Todos apostam no uso de Open Source, os desenvolvedores todos usam Linux, nossos servidores de aplicação são quase todos Open Source, já há vários projetos com banco de dados open source, e a maturidade dos profissionais em relação a Open Source aumentou muito. Pra mim isso foi muito gratificante. Durante mais de 1 ano e meio eu tive a satisfação de trabalhar full time com Linux, e acredito que consegui contribuir um pouco também para que outros utilizassem de forma produtiva.</p>
<p>Ainda mais importante do que a relação com open source foi a adoção de metodologias ágeis. Quando cheguei na Globo.com a maioria dos projetos era no estilo Waterfall. Não é necessário explicar com detalhes aqui, mas era muito perceptível que os projetos não andavam na velocidade que poderiam.</p>
<p>Aos poucos o Scrum começou a ser utilizado, e alguns meses depois isso desencadeou uma série de mudanças positivas na empresa. Este ano inteiro eu trabalhei em um time Scrum, e foi uma experiência excelente. Passamos a ter uma equipe multi-disciplinar, tendo contato diário com um designer, com um arquiteto de informação e um desenvolvedor client-side. Isso foi muito benéfico para mim. Acompanhar de perto o trabalho de profissionais de outra especialidade me ensinou muito sobre a atuação deles, e claro, aprendi muito sobre client-side e passei a gostar disso, o que é fundamental para qualquer desenvolvedor web.</p>
<p>Ao longo do ano nós amadurecemos muito a nossa forma de trabalho, e a utilização de práticas ágeis foi fundamental nisso. Claro que ainda existem arestas a serem aparadas e pontos que precisamos melhorar, mas sem dúvida nosso time evoluiu muito esse ano.</p>
<p>Tecnicamente o ano foi muito bom para mim também. Participei de projetos muito interessantes como a migração para o <a href="http://login.globo.com/login/1" target="_blank">e-mail no Google</a>, onde atuei diretamente na integração entre as empresas. Outros projetos muito bacanas foram o <a href="http://cadastro.globo.com/cadastro/807" target="_blank">novo cadastro</a> e a nova <a href="http://brunopereira.org/wp-admin/login.globo.com/login/464" target="_blank">Central do Usuário</a>.</p>
<p>O projeto de integração com o Google foi o primeiro projeto crítico no qual utilizamos <a href="http://brunopereira.org/webservicesrest-indice/" target="_blank">REST</a>, e como tivemos muito sucesso, todas as nossas aplicações já estão usando REST, e falta mais um pouquinho só para que nossa arquitetura seja 100% migrada de comunicações via EJB para REST. Aprendi muuuuuuuito nesse processo, foi uma experiência excelente.</p>
<p>Os projetos do Cadastro e da Central foram muito interessantes do ponto de vista de produto e do ponto de vista de desenvolvimento. As 2 aplicações foram desenhadas para terem módulos dinâmicos de cadastro. Isso permite que cada produto tenha o seu próprio template de cadastro, e as informações requisitadas dos usuários são configuradas por uma ferramenta de administração.</p>
<p>O desenvolvimento destas aplicações exigiu um trabalho muito interessante de modelagem e desenvolvimento, com muitas refatorações até que chegássemos no modelo final. Aprendi muito também com esses dois projetos.</p>
<p>Mas nem só de software vive uma pessoa <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Nesse meu período na Globo.com eu conheci muitas pessoas fantásticas e fiz muitos amigos. O ambiente de trabalho e as pessoas da Globo.com são um dos maiores motivos para que tenha sido tão legal trabalhar na empresa, e com certeza vou sempre me lembrar disso.</p>
<p>Meu time de desenvolvimento esse ano é muito bem entrosado e positivo. Tacaram na mesma mistura 2 cariocas, 1 <a href="http://pt.wikipedia.org/wiki/Capixaba" target="_blank">capixaba</a>, 1 <a href="http://pt.wikipedia.org/wiki/Presidente_prudente" target="_blank">prudentino</a> e 1 <a href="http://pt.wikipedia.org/wiki/Par%C3%A1" target="_blank">paraense</a>, e deu muito certo <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Gostei muito da experiência, e vou com certeza sentir falta desses picaretas <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Estou indo agora para um novo projeto na <a href="http://www.concretesolutions.com.br" target="_blank">Concrete</a>, atuando na <a href="http://globosat.globo.com/" target="_blank">Globosat</a>. O pouco que sei do projeto até agora me pareceu muito interessante, e essa mudança de cliente é fundamental para as minhas perspectivas dentro da empresa. Torço muito para essa minha nova empreitada seja tão interessante e produtiva como meu período dentro da Globo.com, e claro, espero contribuir bastante para o sucesso da Concrete em um novo cliente e novo projeto.</p>
<p>No final das contas, sinceramente espero que eu tenha contribuído tanto com a Globo.com quanto ela contribuiu para a minha carreira e o meu amadurecimento. Foram 2 anos e meio sensacionais e tenho certeza de que a empresa continuará no seu caminho de enorme sucesso, que pude acompanhar neste período.</p>
<p>Chegou então o momento de dizer Adeus Globo.com, foi um grande prazer para mim!</p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/11/28/adeus-globocom-foi-um-grande-prazer/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>A Web é um quintal aberto</title>
		<link>http://brunopereira.org/2008/09/27/a-web-e-um-quintal-aberto/</link>
		<comments>http://brunopereira.org/2008/09/27/a-web-e-um-quintal-aberto/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 16:08:43 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[posts em português]]></category>
		<category><![CDATA[dare obasanjo]]></category>
		<category><![CDATA[globo.com]]></category>
		<category><![CDATA[john mccain]]></category>
		<category><![CDATA[recuperação de senha]]></category>
		<category><![CDATA[sarah palin]]></category>
		<category><![CDATA[senha]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://brunopereira.org/?p=217</guid>
		<description><![CDATA[Li hoje um post do Dare Obasanjo que me chamou a atenção por mostrar como a web é mesmo um quintal aberto, onde nossas informações pessoais ficam cada vez mais expostas a qualquer um que queira mesmo procurar.
Recentemente a senha do e-mail pessoal de Sarah Palin no Yahoo foi roubada, e o suposto responsável mandou [...]]]></description>
			<content:encoded><![CDATA[<p>Li hoje um <a href="http://www.25hoursaday.com/weblog/2008/09/19/TheProblemWithEveryImplementationOfAForgotYourPasswordFeatureIveSeenOnline.aspx" target="_blank">post</a> do <a href="http://www.25hoursaday.com/weblog/default.aspx" target="_blank">Dare Obasanjo</a> que me chamou a atenção por mostrar como a web é mesmo um quintal aberto, onde nossas informações pessoais ficam cada vez mais expostas a qualquer um que queira mesmo procurar.</p>
<p>Recentemente a senha do e-mail pessoal de <a href="http://en.wikipedia.org/wiki/Sarah_Palin" target="_blank">Sarah Palin</a> no <a href="http://www.yahoo.com" target="_blank">Yahoo</a> foi roubada, e o suposto responsável mandou e-mails para algumas listas, dizendo como conseguiu fazer isso com facilidade. Sarah Palin é a atual governadora do Alaska, e candidata a vice-presidente dos Estados Unidos, na chapa de <a href="http://en.wikipedia.org/wiki/John_McCain" target="_blank">John McCain</a>.</p>
<p>Segundo o hacker, no processo de recuperação de senha do Yahoo foram feitas algumas perguntas pessoais da governadora, mas o hacker foi capaz de obter TODAS as informações solicitadas com alguma facilidade na internet, em diferentes locais.</p>
<p>Isso mostrou que a funcionalidade de recuperação de senha da maioria dos sites é inadequada, por ser insuficientemente segura. Dare Obasanjo sugeriu uma alternativa simples &#8211; que provavelmente muitos de nós já havia pensado &#8211; que é permitir ao usuário que cadastre sua própria pergunta secreta, em vez de utilizar uma das poucas perguntas oferecidas pelos sites.</p>
<p>Bom, felizmente meu time é responsável pelo <a href="http://cadastro.globo.com/cadastro/807" target="_blank">cadastro de usuários</a> na <a href="http://www.globo.com" target="_blank">Globo.com</a> e muito em breve faremos uma nova Central de Relacionamento. Dentro das modificações a serem feitas está um novo processo de recuperação de senha, no qual certamente faremos algo melhor do que há <a href="http://cadastro.globo.com/cadastro/1727" target="_blank">hoje</a>.  Atualmente também utilizamos um conjunto limitado de perguntas pré-cadastradas, mas vou fazer todo o possível para convencer nosso <a href="http://www.mountaingoatsoftware.com/product_owner" target="_blank">PO</a> de que precisamos de algo melhor que isso <img src='http://brunopereira.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/09/27/a-web-e-um-quintal-aberto/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rumo a Fortaleza</title>
		<link>http://brunopereira.org/2008/08/25/rumo-a-fortaleza/</link>
		<comments>http://brunopereira.org/2008/08/25/rumo-a-fortaleza/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 01:47:10 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[eventos]]></category>
		<category><![CDATA[posts em português]]></category>
		<category><![CDATA[viagem]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ceará]]></category>
		<category><![CDATA[cejug]]></category>
		<category><![CDATA[concrete solutions]]></category>
		<category><![CDATA[globo.com]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[rest]]></category>

		<guid isPermaLink="false">http://brunopereira.org/?p=190</guid>
		<description><![CDATA[Em Setembro acontece o aniversário do CEJUG e eu fui honrado com um convite do Rafael para me apresentar no evento comemorativo da data.
Fiquei muito contente com esta oportunidade e aproveito para agradecer ao Rafael, às empresas patrocinadoras do evento e à Concrete pelo apoio que estão me dando neste evento.
Eu me juntei ao CEJUG [...]]]></description>
			<content:encoded><![CDATA[<p>Em Setembro acontece o aniversário do <a href="http://www.cejug.org" target="_blank">CEJUG</a> e eu fui honrado com um convite do <a href="http://www.rafaelcarneiro.org" target="_blank">Rafael</a> para me apresentar no <a href="http://www.cejug.org/pages/viewpage.action?pageId=30900360" target="_blank">evento comemorativo da data</a>.</p>
<p>Fiquei muito contente com esta oportunidade e aproveito para agradecer ao Rafael, às empresas patrocinadoras do evento e à <a href="http://www.concretesolutions.com.br" target="_blank">Concrete</a> pelo apoio que estão me dando neste evento.</p>
<p>Eu me juntei ao CEJUG alguns meses atrás, depois de perceber o excelente nível do grupo e a vibrante comunidade de Java que existe no Ceará. Inúmeras vezes já elogiei o nível de envolvimento dos membros do grupo e o valor das discussões sobre software que rolam por lá. Me sinto bastante satisfeito por participar do grupo e trocar idéias e experiências com o pessoal.</p>
<p>Finalmente surgiu a oportunidade de conhecer a rapaziada da terra da tapioca e também a sua bela cidade. Estou certo de que a minha estadia por aí será muito agradável e aguardo ansiosamente por esta ocasião.</p>
<p>Neste evento eu farei uma apresentação sobre web services REST, mas um pouco modificada em relação <a href="http://brunopereira.org/2008/05/19/apresentacao-sobre-rest-no-riojug/" target="_self">às outras</a> <a href="http://brunopereira.org/2008/04/24/apresentacao-sobre-web-services-rest/" target="_self">que já fiz sobre o assunto</a>. Nesta apresentação falarei um pouco mais sobre como estamos utilizando REST no meu time para servir a requisições Ajax com JSON.</p>
<p>Meu time é responsável pelos sistemas de <a href="http://cadastro.globo.com/cadastro/807" target="_blank">cadastro</a>, <a href="http://login.globo.com/Servlet/do/login?servicoID=1" target="_blank">autenticação</a> e autorização de usuários da Globo.com e nós usamos REST para integrações Server x Server e também para comunicações Ajax com os clientes consumindo conteúdo JSON.</p>
<p>Além do meu time, a Globo.com já usa REST no <a href="http://video.globo.com" target="_blank">Globo Vídeos</a> e na nova plataforma de publicação de conteúdo do Portal.</p>
<p>Espero que o pessoal goste da apresentação e que minha ida ao evento seja tão proveitosa para vocês como para mim. Ah, e haja tapioca! <img src='http://brunopereira.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/08/25/rumo-a-fortaleza/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Mais um projeto em produção, mais lições aprendidas</title>
		<link>http://brunopereira.org/2008/08/19/mais-um-projeto-em-producao-mais-licoes-aprendidas/</link>
		<comments>http://brunopereira.org/2008/08/19/mais-um-projeto-em-producao-mais-licoes-aprendidas/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 01:29:34 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[posts em português]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[globo.com]]></category>
		<category><![CDATA[integração]]></category>
		<category><![CDATA[rest]]></category>

		<guid isPermaLink="false">http://brunopereira.org/?p=189</guid>
		<description><![CDATA[Minha primeira semana após as férias foi do jeito ideal para recuperar o ritmo de trabalho: cheia de emoções  
Com subidas para produção durante o dia e longas noites de preparação para o fim de semana, consegui rapidamente trocar na minha cabeça o contexto das férias para a rotina de trabalho. No sábado às [...]]]></description>
			<content:encoded><![CDATA[<p>Minha primeira semana após as férias foi do jeito ideal para recuperar o ritmo de trabalho: cheia de emoções <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Com subidas para produção durante o dia e longas noites de preparação para o fim de semana, consegui rapidamente trocar na minha cabeça o contexto das férias para a rotina de trabalho. No sábado às 23:30 cheguei à empresa para começar a janela de subida do <a href="http://login.globo.com/login/1" target="_blank">novo e-mail da Globo.com</a>. Fui sair de lá só no domingo ao meio-dia, mas foi uma janela bem sucedida e sem sustos, embora bem trabalhosa.</p>
<p>Este projeto se alongou bastante muito mais por questões comerciais do que questões técnicas, e foi ótimo finalmente colocá-lo no ar.</p>
<p>O projeto de migração de e-mail foi provavelmente o mais crítico que já trabalhei, pois estávamos lidando com uma grande massa de usuários e uma gigantesca massa de e-mails, o que trouxe alguns desafios interessantes. A parte do projeto que era a minha principal responsabilidade era a integração das nossas aplicações com os serviços do novo provedor de e-mails.</p>
<p>Nesta integração, usamos REST na comunicação entre aplicações desenvolvidas por nós e também para comunicação entre a Globo.com e o novo provedor de e-mail. Todos gostamos bastante dos resultados dessa forma de comunicação e cada vez mais nossas aplicações estão seguindo por esse caminho. Por questões de priorização do Product Owner, é claro que as melhorias técnicas muitas vezes têm que ser adiadas, mas estamos progressivamente refinando nossa arquitetura e usando cada vez menos as comunicações EJB legadas e cada vez mais os serviços REST.</p>
<p>Bom, entre as lições aprendidas neste projeto, está a de desconfiar de todos os componentes, e tratar minuciosamente de possíveis situações de contingência, até as que pareciam improváveis. Vou confessar que fomos um pouco ingênuos em alguns aspectos. Devido ao enorme gabarito da empresa com a qual estávamos nos integrando, tínhamos aquela idéia de que os servidores deles seriam &#8220;quase invulneráveis&#8221; e que a API deles seria infalível.</p>
<p>Bom, continuo tendo um enorme respeito pela empresa, mas vi que eles também falham, e não é tão pouco como pensávamos. Alguns tratamentos de contingência que fizemos tiveram que ser revistos e acabamos aprendendo bastante com esse processo.</p>
<p>Foi interessante que no domingo depois termos colocado a aplicação no ar eu li <a href="http://www.addsimplicity.com/adding_simplicity_an_engi/2008/08/availability-en.html" target="_blank">um post do Dan Pritchett sobre disponibilidade de 99,999%</a>. Talvez se eu tivesse lido esse post uns 6 meses atrás eu acabaria só lendo rapidamente sem tanta atenção. Mas como vivenciei bem algumas questões que ele levantou, isso acabou realimentando um pouco as minhas idéias sobre o assunto.</p>
<p>Bom, para quem já está usando o novo e-mail da Globo, espero que a experiência esteja sendo a melhor possível. Para mim esta virada foi uma experiência muito proveitosa e torço para que venham mais e mais projetos desafiadores como esse.</p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/08/19/mais-um-projeto-em-producao-mais-licoes-aprendidas/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Projetando APIs e protocolos</title>
		<link>http://brunopereira.org/2008/06/14/projetando-apis-e-protocolos/</link>
		<comments>http://brunopereira.org/2008/06/14/projetando-apis-e-protocolos/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 01:25:11 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[posts em português]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[atompub]]></category>
		<category><![CDATA[bill de hora]]></category>
		<category><![CDATA[globo.com]]></category>
		<category><![CDATA[joe gregorio]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://brunopereira.org/?p=184</guid>
		<description><![CDATA[O Bill de hÓra publicou um post sobre um assunto que me interessa enormemente. Ele comentou sobre a dificuldade de se projetar boas APIs e protocolos.
Para quem não o conhece, o Bill de hÓra foi o co-editor da RFC do AtomPub, o protocolo de publicação do formato Atom. No post ele comentou sobre a dificuldade [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://dehora.net/journal" target="_blank">Bill de hÓra</a> <a href="http://www.dehora.net/journal/2008/06/11/4-years-ago/" target="_blank">publicou um post</a> sobre um assunto que me interessa enormemente. Ele comentou sobre a dificuldade de se projetar boas APIs e protocolos.</p>
<p>Para quem não o conhece, o Bill de hÓra foi o co-editor da <a href="http://tools.ietf.org/html/rfc5023" target="_blank">RFC do AtomPub</a>, o protocolo de publicação do formato <a href="http://brunopereira.org/2008/03/03/atom-one-format-to-rule-them-all/" target="_self">Atom</a>. No post ele comentou sobre a dificuldade de elaborar um bom protocolo de comunicação (no caso o AtomPub). O trabalho demorou mais de 2 anos para ser concluído, e neste 2 anos não contam o tempo no qual o <a href="http://bitworking.org/news/" target="_blank">Joe Gregorio</a> (o outro editor da RFC) já estava trabalhando no protocolo antes.</p>
<p>Uma observação que ele faz é que é difícil encontrar indivíduos capazes de projetar boas APIs, e bem mais difícil é encontrar indivíduos capazes de projetar bons protocolos de comunicação. Algumas pessoas dizem que essas habilidades (projetar APIs e projetar protocolos) são de certa forma opostas, o que implica que seria especialmente difícil encontrar pessoas com habilidade nas 2 coisas.</p>
<p>Ler esse post foi motivante e inspirador para mim.  Neste exato momento eu estou fazendo as duas coisas simultaneamente. Meu time é responsável pelo sistema de cadastro de usuários e autenticação da <a href="http://www.globo.com" target="_blank">Globo.com</a>, entre outras coisas. Esse sistema é provavelmente o que possui mais clientes internos na empresa. A implementação original utilizava EJBs para comunicação remota entre clientes e o servidor, e permitia apenas clientes Java.</p>
<p>Estamos progressivamente saindo dessa estrutura. Estamos implementando novas interfaces e clientes que usam serviços REST na comunicação, em vez dos EJBs. Isto está sendo feito de forma progressiva porque nenhum Product Owner daria alto valor de negócio para uma migração dessas, exceto em situações extremas (que não são nosso caso).</p>
<p>Pois bem, nesta migração eu estou atuando nas 2 frentes que o Bill de hÓra classificou como desafiadoras. Estamos modelando os serviços REST e o novo protocolo de comunicação. E estamos também implementando uma API Java para realizar as operações através deste novo protocolo.</p>
<p>Sem dúvida esta migração é desafiadora. De fato não é fácil elaborar um bom protocolo e uma boa API. Porém, isto também motiva demais. Quem acompanha o meu blog já sabe do meu apreço por serviços REST. Assim, este trabalho atual tem sido ótimo para conseguir explorar inúmeras situações envolvidas neste tipo de comunicação.</p>
<p>Para minha sorte, pude contar com alguns pontos facilitadores. Na elaboração do protocolo, o conhecimento do AtomPub ajuda muito. Eu já conheço bem esse protocolo e tinha desenvolvido serviços REST em alguns projetos, então essa parte da empreitada ficou muito facilitada.</p>
<p>Além disso, o conhecimento da API Java anterior do projeto traz várias idéias que podemos explorar. Algumas decisões na API anterior foram muito boas, e outras trouxeram alguns problemas. Eu não participei da implementação original do projeto (isso foi em 2004), mas após trabalhar no projeto por bastante tempo, consegui vivenciar bem os problemas dela. O principal era o alto acoplamento entre o servidor e os clientes, então isso é o principal ganho que pretendemos ter com essa nova implementação baseada em REST.</p>
<p>O outro ponto facilitador é estar no mesmo time que o Silvano, certamente um dos melhores caras que já conheci tecnicamente. Nós temos visões complementares sobre a arquitetura e a implementação. As idéias que colocamos na prática após as freqüentes discussões são muito superiores às que eu ou ele seríamos capazes de desenvolver individualmente. Com a liberdade de decisões técnicas que temos na Globo (principalmente após a adoção do Scrum), conseguimos evoluir nossas aplicações progressivamente, sempre avaliando pontos positivos e negativos das decisões anteriores.</p>
<p>Após ler esse post do Bill, tive uma dimensão melhor da grandeza do desafio que estamos tendo agora. Isto traz ainda mais motivação, e não abala a confiança. Tenho a mesma sensação que Isaac Newton teve ao dizer que &#8220;se ele pôde enxergar mais longe foi porque se apoiou nos ombros de gigantes&#8221;.</p>
<p>Quando estamos trabalhando freqüentemente com padrões e tecnologias abertas, temos sempre essa vantagem. Viver no mundo open source é se apoiar sempre nos ombros de gigantes, e então qualquer desafio fica muito mais suave e a nossa confiança aumenta. É por isso que eu amo o que faço <img src='http://brunopereira.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/06/14/projetando-apis-e-protocolos/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Apresentação sobre REST no RioJUG</title>
		<link>http://brunopereira.org/2008/05/19/apresentacao-sobre-rest-no-riojug/</link>
		<comments>http://brunopereira.org/2008/05/19/apresentacao-sobre-rest-no-riojug/#comments</comments>
		<pubDate>Mon, 19 May 2008 23:54:51 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[posts em português]]></category>
		<category><![CDATA[globo.com]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[restful web services]]></category>
		<category><![CDATA[riojug]]></category>
		<category><![CDATA[web services rest]]></category>

		<guid isPermaLink="false">http://blpsilva.wordpress.com/?p=181</guid>
		<description><![CDATA[Caros amigos, na terça-feira dia 27/05 farei uma apresentação sobre web services REST no RioJUG.
Esta apresentação será semelhante à que fiz recentemente na Globo.com, mas acho que ficará um pouco melhor. Maiores informações sobre a apresentação podem ser vistas na página do grupo. Após a apresentação atualizarei este post colocando os slides.
Quem quiser/puder comparecer será [...]]]></description>
			<content:encoded><![CDATA[<p>Caros amigos, na terça-feira dia 27/05 farei uma apresentação sobre web services REST no <a href="http://www.riojug.org" target="_blank">RioJUG</a>.</p>
<p>Esta apresentação será semelhante à que <a href="http://brunopereira.org/2008/04/24/apresentacao-sobre-web-services-rest/" target="_self">fiz recentemente na Globo.com</a>, mas acho que ficará um pouco melhor. Maiores informações sobre a apresentação podem ser vistas <a href="http://www.riojug.org/conteudo.jsp?id=707" target="_blank">na página do grupo</a>. Após a apresentação atualizarei este post colocando os slides.</p>
<p>Quem quiser/puder comparecer será muito bem-vindo <img src='http://brunopereira.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/05/19/apresentacao-sobre-rest-no-riojug/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Postgresql x Mysql: a diferença que faz uma estratégia correta</title>
		<link>http://brunopereira.org/2008/04/30/postgresql-x-mysql-a-diferenca-que-faz-uma-estrategia-correta/</link>
		<comments>http://brunopereira.org/2008/04/30/postgresql-x-mysql-a-diferenca-que-faz-uma-estrategia-correta/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 12:00:18 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[posts em português]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[globo.com]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[postgres]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[tech talk]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blpsilva.wordpress.com/?p=169</guid>
		<description><![CDATA[Ontem fui no Tech Talk de MySql aqui na Globo.com, que me trouxe algumas idéias interessantes e também fomentou algumas discussões. Não vou falar muito sobre o tech talk especificamente, mas sobre uma discussão paralela.
Algumas pessoas sabem da minha preferência pelo Postgres sobre o MySql. Durante a apresentação ontem o Rafael me perguntou porque tanta [...]]]></description>
			<content:encoded><![CDATA[<p>Ontem fui no Tech Talk de <a href="http://www.mysql.com" target="_blank">MySql</a> aqui na <a href="http://www.globo.com" target="_blank">Globo.com</a>, que me trouxe algumas idéias interessantes e também fomentou algumas discussões. Não vou falar muito sobre o tech talk especificamente, mas sobre uma discussão paralela.</p>
<p>Algumas pessoas sabem da minha preferência pelo <a href="http://www.postgresql.org" target="_blank">Postgres</a> sobre o MySql. Durante a apresentação ontem o Rafael me perguntou porque tanta gente utiliza o MySql e nem tanta gente usa o Postgres. Ele me perguntou isso porque usa o Postgres em alguns projetos e não viu vantagens em utilizar o MySql em vez do Postgres.</p>
<p>Bom, a resposta pra isso na minha opinião vem da diferença de estratégia. Banco por banco, sou mais o Postgres, embora eu considere que em boa parte dos casos, <a href="http://brunopereira.org/2008/03/17/bancos-de-dados-ja-sao-commodities/" target="_blank">qualquer banco atende aos requisitos</a>. Mas porque então o MySql ganhou bem mais adoção do que o Postgres?</p>
<p>Na minha opinião, o fator principal que levou a isso é que o MySql já há muito tempo oferece instalador nativo para o Windows. O MySql foi lançado em 1996 e começou com suporte apenas a Linux, mas <a href="http://lists.mysql.com/community/245" target="_blank">desde 1998 permite instalação nativa no Windows</a>. O Postgres <a href="http://www.postgresql.org/about/history" target="_blank">começou como um projeto acadêmico em 1986</a>, mas em 1996 se tornou um projeto open source com participação da comunidade de software livre. Podemos ver que nesta vertente atual de desenvolvimento, ambos estão disponíveis desde 1996. Enquanto o MySql suporta nativamente o Windows desde 1998, no Postgres isso só foi ocorrer em Janeiro de 2005, com o lançamento da versão 8.0. Anteriormente o Postgres só podia ser instalado no Windows com uso do <a href="http://www.cygwin.com/" target="_blank">Cygwin</a>, que está longe de ser algo prático.</p>
<p>Considerando os recursos que ambos os bancos ofereceram ao longo de sua história, não restam dúvidas de que o Postgres é historicamente superior tecnicamente, e na minha opinião continua sendo. Entretanto, com a enorme quantidade de desenvolvedores que só utilizavam Windows (what a shame!), o fato de poder rodar o banco de dados na mesma máquina de desenvolvimento tornou o MySql muito mais conveniente para quem precisava de um banco de dados gratuito para suas aplicações.</p>
<p>Quando o Postgres lançou a versão 8.0 em Janeiro de 2005, muitos desenvolvedores já utilizavam o MySql há anos, e com isso sua adoção já estava bem grande. Neste ponto podemos ver claramente a diferença que fez uma estratégia correta. O fato de ser limitado tecnicamente em comparação com o Postgres não impactou o sucesso do MySql, porque durante muitos anos ele foi simplesmente muito mais conveniente para o desenvolvedor.</p>
<p>Atualmente, só vejo chances do Postgres aumentar seu sucesso se for comprado por alguma grande empresa e colocado em uma pilha de produtos interessante. Eu gosto muito do banco, e nos meus projetos pessoais ele é minha opção default. Entretanto, temo que ele nunca saia da sua abrangência atual, pelos erros na estratégia. É uma pena, devido à qualidade do projeto. Mas é muito difícil qualquer mérito técnico sobreviver a uma estratégia perdedora.</p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/04/30/postgresql-x-mysql-a-diferenca-que-faz-uma-estrategia-correta/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Apresentação sobre web services REST</title>
		<link>http://brunopereira.org/2008/04/24/apresentacao-sobre-web-services-rest/</link>
		<comments>http://brunopereira.org/2008/04/24/apresentacao-sobre-web-services-rest/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 17:04:39 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[posts em português]]></category>
		<category><![CDATA[apresentação]]></category>
		<category><![CDATA[globo.com]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[tech talk]]></category>

		<guid isPermaLink="false">http://blpsilva.wordpress.com/?p=162</guid>
		<description><![CDATA[Hoje de manhã fiz uma apresentação sobre web services REST aqui na Globo.com. Espero que o pessoal tenha gostado. Provavelmente eu farei mais apresentações sobre o assunto este ano.
Estou disponibilizando aqui os slides da apresentação, e depois vou colocar os fontes do projeto de exemplo em algum lugar, pois o Wordpress não me permite fazer [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje de manhã fiz uma apresentação sobre web services REST aqui na Globo.com. Espero que o pessoal tenha gostado. Provavelmente eu farei mais apresentações sobre o assunto este ano.</p>
<p>Estou disponibilizando <a href="http://brunopereira.org/wp-content/uploads/2008/04/web-services-rest.ppt">aqui</a> os slides da apresentação, e depois vou colocar os fontes do projeto de exemplo em algum lugar, pois o Wordpress não me permite fazer upload de zips.</p>
<p>Update: o <a href="http://www.acarlos.com.br/blog/" target="_blank">Antônio Carlos</a> tirou umas fotos da apresentação, estou colocando a seguir:</p>
<p><a href="http://www.flickr.com/photos/acarlos1000/2453865584/"><img class="alignnone size-full wp-image-166" src="http://brunopereira.org/wp-content/uploads/2008/04/2453865584_3a667d6784.jpg" alt="Tech Talk de Web services REST" width="450" height="337" /></a></p>
<p><a href="http://www.flickr.com/photos/acarlos1000/2453866154/"><img class="alignnone size-full wp-image-167" src="http://brunopereira.org/wp-content/uploads/2008/04/2453866154_8eac08c4dd.jpg" alt="Tech Talk de Web services REST" width="450" height="337" /></a></p>
<p><a href="http://www.flickr.com/photos/acarlos1000/2448217471/"><img class="alignnone size-full wp-image-168" src="http://brunopereira.org/wp-content/uploads/2008/04/2448217471_f891c7ca87.jpg" alt="Tech Talk de Web services REST" width="450" height="337" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/04/24/apresentacao-sobre-web-services-rest/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

