<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>.:: Code Talk ::.</title>
	
	<link>http://codetalk.com.br</link>
	<description>Papo de programador</description>
	<lastBuildDate>Thu, 02 Feb 2012 13:54:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/CodeTalk" /><feedburner:info uri="codetalk" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>“Justiça francesa multa Google por oferecer mapas de graça”</title>
		<link>http://feedproxy.google.com/~r/CodeTalk/~3/X-dWaLDGbOk/</link>
		<comments>http://feedproxy.google.com/~r/antonini/~3/Ja59vaWGjjc/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 13:54:23 +0000</pubDate>
		<dc:creator>Endrigo Antonini</dc:creator>
				<category><![CDATA[Mapas]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Processo]]></category>
		<category><![CDATA[Teoria da Conspiração]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://blog.endrigoantonini.com.br/?p=804</guid>
		<description><![CDATA[&#8220;Uma corte francesa decidiu que o Google é culpado de abusar de sua posição dominante com o Google Maps, e o condenou a pagar multa e compensação por danos a uma empresa francesa de mapas. Segundo a AFP, a Bottin &#8230; Continue lendo &#38;#859...]]></description>
			<content:encoded><![CDATA[&#8220;Uma corte francesa decidiu que o Google é culpado de abusar de sua posição dominante com o Google Maps, e o condenou a pagar multa e compensação por danos a uma empresa francesa de mapas. Segundo a AFP, a Bottin &#8230; <a href="http://blog.endrigoantonini.com.br/2012/02/02/justica-francesa-multa-google-por-oferecer-mapas-de-graca/">Continue lendo <span class="meta-nav">&#8594;</span></a>
<p><a href="http://feedads.g.doubleclick.net/~a/Sjdv4NrXEw91L1PRL4-LfsdYE6k/0/da"><img src="http://feedads.g.doubleclick.net/~a/Sjdv4NrXEw91L1PRL4-LfsdYE6k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Sjdv4NrXEw91L1PRL4-LfsdYE6k/1/da"><img src="http://feedads.g.doubleclick.net/~a/Sjdv4NrXEw91L1PRL4-LfsdYE6k/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/antonini/~4/Ja59vaWGjjc" height="1" width="1"/>
<p><a href="http://feedads.g.doubleclick.net/~a/Pl87s1OMR5TIEsxDQhvF7iSJ3uM/0/da"><img src="http://feedads.g.doubleclick.net/~a/Pl87s1OMR5TIEsxDQhvF7iSJ3uM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Pl87s1OMR5TIEsxDQhvF7iSJ3uM/1/da"><img src="http://feedads.g.doubleclick.net/~a/Pl87s1OMR5TIEsxDQhvF7iSJ3uM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/CodeTalk/~4/X-dWaLDGbOk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.endrigoantonini.com.br/2012/02/02/justica-francesa-multa-google-por-oferecer-mapas-de-graca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://feedproxy.google.com/~r/antonini/~3/Ja59vaWGjjc/</feedburner:origLink></item>
		<item>
		<title>“Com o IPO, quanto valem suas informações no Facebook?”</title>
		<link>http://feedproxy.google.com/~r/CodeTalk/~3/KHFUyO1zbQE/</link>
		<comments>http://feedproxy.google.com/~r/antonini/~3/gTadVu8-ZEI/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 10:54:37 +0000</pubDate>
		<dc:creator>Endrigo Antonini</dc:creator>
				<category><![CDATA[Administração]]></category>
		<category><![CDATA[Bolsa de Valores]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[IPO]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://blog.endrigoantonini.com.br/?p=795</guid>
		<description><![CDATA[&#8220;Na quarta-feira, finalmente, o Facebook entrou com o pedido de oferta inicial de ações (IPO, na sigla em inglês) de US$ 5 bilhões. A rede social apresentou os documentos à Securities Exchange Commission, órgão regulador do mercado finance...]]></description>
			<content:encoded><![CDATA[&#8220;Na quarta-feira, finalmente, o Facebook entrou com o pedido de oferta inicial de ações (IPO, na sigla em inglês) de US$ 5 bilhões. A rede social apresentou os documentos à Securities Exchange Commission, órgão regulador do mercado financeiro dos Estados &#8230; <a href="http://blog.endrigoantonini.com.br/2012/02/02/com-o-ipo-quanto-valem-suas-informacoes-no-facebook/">Continue lendo <span class="meta-nav">&#8594;</span></a>
<p><a href="http://feedads.g.doubleclick.net/~a/19KpRA3mAQyKoFOqvcubyzW2MYA/0/da"><img src="http://feedads.g.doubleclick.net/~a/19KpRA3mAQyKoFOqvcubyzW2MYA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/19KpRA3mAQyKoFOqvcubyzW2MYA/1/da"><img src="http://feedads.g.doubleclick.net/~a/19KpRA3mAQyKoFOqvcubyzW2MYA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/antonini/~4/gTadVu8-ZEI" height="1" width="1"/>
<p><a href="http://feedads.g.doubleclick.net/~a/_yaIGgyUvbXplrtokySCBNsLM9I/0/da"><img src="http://feedads.g.doubleclick.net/~a/_yaIGgyUvbXplrtokySCBNsLM9I/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_yaIGgyUvbXplrtokySCBNsLM9I/1/da"><img src="http://feedads.g.doubleclick.net/~a/_yaIGgyUvbXplrtokySCBNsLM9I/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/CodeTalk/~4/KHFUyO1zbQE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.endrigoantonini.com.br/2012/02/02/com-o-ipo-quanto-valem-suas-informacoes-no-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://feedproxy.google.com/~r/antonini/~3/gTadVu8-ZEI/</feedburner:origLink></item>
		<item>
		<title>SOPA + PIPA = O Fim da internet</title>
		<link>http://feedproxy.google.com/~r/CodeTalk/~3/ZivYT1wsJL0/</link>
		<comments>http://feedproxy.google.com/~r/antonini/~3/_H8si_B5Kk0/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 19:32:08 +0000</pubDate>
		<dc:creator>Endrigo Antonini</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PIPA]]></category>
		<category><![CDATA[Protesto]]></category>
		<category><![CDATA[SOPA]]></category>

		<guid isPermaLink="false">http://blog.endrigoantonini.com.br/?p=779</guid>
		<description><![CDATA[O projeto SOPA (Stop Online Piracy Act, em português, Ato contra a pirataria online) junto com o outro projeto PIPA (Protect IP Act, em português, Ato de proteção de IP), ambos, projetos norte americanos podem acabar de vez com a &#8230; Continue l...]]></description>
			<content:encoded><![CDATA[O projeto SOPA (Stop Online Piracy Act, em português, Ato contra a pirataria online) junto com o outro projeto PIPA (Protect IP Act, em português, Ato de proteção de IP), ambos, projetos norte americanos podem acabar de vez com a &#8230; <a href="http://blog.endrigoantonini.com.br/2012/01/17/sopa-pipa-o-fim-da-internet/">Continue lendo <span class="meta-nav">&#8594;</span></a>
<p><a href="http://feedads.g.doubleclick.net/~a/OiDx6DLPFVO7R-Kt8ZCRXMDMotE/0/da"><img src="http://feedads.g.doubleclick.net/~a/OiDx6DLPFVO7R-Kt8ZCRXMDMotE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/OiDx6DLPFVO7R-Kt8ZCRXMDMotE/1/da"><img src="http://feedads.g.doubleclick.net/~a/OiDx6DLPFVO7R-Kt8ZCRXMDMotE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/antonini/~4/_H8si_B5Kk0" height="1" width="1"/>
<p><a href="http://feedads.g.doubleclick.net/~a/rNz2jDwvWKHLQU92CsmaKbLANw4/0/da"><img src="http://feedads.g.doubleclick.net/~a/rNz2jDwvWKHLQU92CsmaKbLANw4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/rNz2jDwvWKHLQU92CsmaKbLANw4/1/da"><img src="http://feedads.g.doubleclick.net/~a/rNz2jDwvWKHLQU92CsmaKbLANw4/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/CodeTalk/~4/ZivYT1wsJL0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.endrigoantonini.com.br/2012/01/17/sopa-pipa-o-fim-da-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://feedproxy.google.com/~r/antonini/~3/_H8si_B5Kk0/</feedburner:origLink></item>
		<item>
		<title>Utilidade pública: Alertar veículo roubado</title>
		<link>http://feedproxy.google.com/~r/CodeTalk/~3/xV0JmqstFBs/</link>
		<comments>http://feedproxy.google.com/~r/antonini/~3/smwVE7_wB5Y/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 00:04:15 +0000</pubDate>
		<dc:creator>Endrigo Antonini</dc:creator>
				<category><![CDATA[automóvel]]></category>
		<category><![CDATA[DPRF]]></category>
		<category><![CDATA[moto]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Roubo]]></category>
		<category><![CDATA[Utilidade pública]]></category>
		<category><![CDATA[Carro]]></category>

		<guid isPermaLink="false">http://blog.endrigoantonini.com.br/?p=771</guid>
		<description><![CDATA[Recentemente recebi por email informando que o DPRF (Departamento de Polícia Rodoviária Federal) implantou um sistema para que as pessoas pudessem notificar roubo de carro. Resolvi averiguar e constatei que realmente a polícia gerou esse sistema! (P...]]></description>
			<content:encoded><![CDATA[Recentemente recebi por email informando que o DPRF (Departamento de Polícia Rodoviária Federal) implantou um sistema para que as pessoas pudessem notificar roubo de carro. Resolvi averiguar e constatei que realmente a polícia gerou esse sistema! (Parabéns a eles por &#8230; <a href="http://blog.endrigoantonini.com.br/2012/01/08/utilidade-publica-alertar-veiculo-roubado/">Continue lendo <span class="meta-nav">&#8594;</span></a>
<p><a href="http://feedads.g.doubleclick.net/~a/jMRE--1577aPf51WS-c2IgQFQMM/0/da"><img src="http://feedads.g.doubleclick.net/~a/jMRE--1577aPf51WS-c2IgQFQMM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jMRE--1577aPf51WS-c2IgQFQMM/1/da"><img src="http://feedads.g.doubleclick.net/~a/jMRE--1577aPf51WS-c2IgQFQMM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/antonini/~4/smwVE7_wB5Y" height="1" width="1"/>
<p><a href="http://feedads.g.doubleclick.net/~a/3m9IHg-4AhVbhGG7wM4ZozyUstA/0/da"><img src="http://feedads.g.doubleclick.net/~a/3m9IHg-4AhVbhGG7wM4ZozyUstA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/3m9IHg-4AhVbhGG7wM4ZozyUstA/1/da"><img src="http://feedads.g.doubleclick.net/~a/3m9IHg-4AhVbhGG7wM4ZozyUstA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/CodeTalk/~4/xV0JmqstFBs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.endrigoantonini.com.br/2012/01/08/utilidade-publica-alertar-veiculo-roubado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://feedproxy.google.com/~r/antonini/~3/smwVE7_wB5Y/</feedburner:origLink></item>
		<item>
		<title>“Adobe ‘aposenta’ o flash para investir em tecnologia defendida pela Apple”</title>
		<link>http://feedproxy.google.com/~r/CodeTalk/~3/XQj-e9UzZcc/</link>
		<comments>http://feedproxy.google.com/~r/antonini/~3/Shk6v6a58N4/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 10:44:11 +0000</pubDate>
		<dc:creator>Endrigo Antonini</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Descontinuar]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://blog.endrigoantonini.com.br/?p=755</guid>
		<description><![CDATA[A Adobe, desenvolvedora de programas, divulgou em nota nesta quarta-feira (9) que não vai mais trabalhar no desenvolvimento da tecnologia flash, que permite a criação e execução de animações e vídeos em sites. A companhia afirmou que passará a...]]></description>
			<content:encoded><![CDATA[A Adobe, desenvolvedora de programas, divulgou em nota nesta quarta-feira (9) que não vai mais trabalhar no desenvolvimento da tecnologia flash, que permite a criação e execução de animações e vídeos em sites. A companhia afirmou que passará a investir &#8230; <a href="http://blog.endrigoantonini.com.br/2011/11/10/adobe-aposenta-o-flash-para-investir-em-tecnologia-defendida-pela-apple/">Continue lendo <span class="meta-nav">&#8594;</span></a>
<p><a href="http://feedads.g.doubleclick.net/~a/y5ptm0kmuTyFeZVcgxZ0dDYtu7c/0/da"><img src="http://feedads.g.doubleclick.net/~a/y5ptm0kmuTyFeZVcgxZ0dDYtu7c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/y5ptm0kmuTyFeZVcgxZ0dDYtu7c/1/da"><img src="http://feedads.g.doubleclick.net/~a/y5ptm0kmuTyFeZVcgxZ0dDYtu7c/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/antonini/~4/Shk6v6a58N4" height="1" width="1"/>
<p><a href="http://feedads.g.doubleclick.net/~a/ZIORUK_ITKeFsL_JIXCyOOrlZXA/0/da"><img src="http://feedads.g.doubleclick.net/~a/ZIORUK_ITKeFsL_JIXCyOOrlZXA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ZIORUK_ITKeFsL_JIXCyOOrlZXA/1/da"><img src="http://feedads.g.doubleclick.net/~a/ZIORUK_ITKeFsL_JIXCyOOrlZXA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/CodeTalk/~4/XQj-e9UzZcc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.endrigoantonini.com.br/2011/11/10/adobe-aposenta-o-flash-para-investir-em-tecnologia-defendida-pela-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://feedproxy.google.com/~r/antonini/~3/Shk6v6a58N4/</feedburner:origLink></item>
		<item>
		<title>“Conciliar negócio próprio com emprego fixo depende de ética”</title>
		<link>http://feedproxy.google.com/~r/CodeTalk/~3/9wNsYUymjwo/</link>
		<comments>http://feedproxy.google.com/~r/antonini/~3/rTFRajSDopM/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 11:07:45 +0000</pubDate>
		<dc:creator>Endrigo Antonini</dc:creator>
				<category><![CDATA[Administração]]></category>
		<category><![CDATA[Empreendedor]]></category>
		<category><![CDATA[Intraempreendedor]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[PEGN]]></category>
		<category><![CDATA[Recursos Humanos]]></category>

		<guid isPermaLink="false">http://blog.endrigoantonini.com.br/?p=749</guid>
		<description><![CDATA[&#8220;O consultor Eduardo Bom Angelo avalia o comportamento necessário para o profissional que deseja abrir uma empresa sem pedir demissão. Ele é um líder, trabalha bem em equipe, enxerga oportunidades e ajuda a empresa a crescer. O profissional i...]]></description>
			<content:encoded><![CDATA[&#8220;O consultor Eduardo Bom Angelo avalia o comportamento necessário para o profissional que deseja abrir uma empresa sem pedir demissão. Ele é um líder, trabalha bem em equipe, enxerga oportunidades e ajuda a empresa a crescer. O profissional intraempreendedor é &#8230; <a href="http://blog.endrigoantonini.com.br/2011/11/01/conciliar-negocio-proprio-com-emprego-fixo-depende-de-etica/">Continue lendo <span class="meta-nav">&#8594;</span></a>
<p><a href="http://feedads.g.doubleclick.net/~a/H1T-VQ8fhiHWw5g5szfEmfeg8Ew/0/da"><img src="http://feedads.g.doubleclick.net/~a/H1T-VQ8fhiHWw5g5szfEmfeg8Ew/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/H1T-VQ8fhiHWw5g5szfEmfeg8Ew/1/da"><img src="http://feedads.g.doubleclick.net/~a/H1T-VQ8fhiHWw5g5szfEmfeg8Ew/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/antonini/~4/rTFRajSDopM" height="1" width="1"/>
<p><a href="http://feedads.g.doubleclick.net/~a/3pdFHFlRYwKACcY0FuiFb_MzzUw/0/da"><img src="http://feedads.g.doubleclick.net/~a/3pdFHFlRYwKACcY0FuiFb_MzzUw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/3pdFHFlRYwKACcY0FuiFb_MzzUw/1/da"><img src="http://feedads.g.doubleclick.net/~a/3pdFHFlRYwKACcY0FuiFb_MzzUw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/CodeTalk/~4/9wNsYUymjwo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.endrigoantonini.com.br/2011/11/01/conciliar-negocio-proprio-com-emprego-fixo-depende-de-etica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://feedproxy.google.com/~r/antonini/~3/rTFRajSDopM/</feedburner:origLink></item>
		<item>
		<title>“Estudante cria sistema que permite fazer pedidos na mesa da praça de alimentação”</title>
		<link>http://feedproxy.google.com/~r/CodeTalk/~3/2xmJhkM8rrI/</link>
		<comments>http://feedproxy.google.com/~r/antonini/~3/XYBcjfLF9c0/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 18:21:09 +0000</pubDate>
		<dc:creator>Endrigo Antonini</dc:creator>
				<category><![CDATA[Celular]]></category>
		<category><![CDATA[Comércio]]></category>
		<category><![CDATA[Inovação]]></category>
		<category><![CDATA[NFC]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://blog.endrigoantonini.com.br/?p=741</guid>
		<description><![CDATA[O estudante australiano Stephen Davis criou um sistema que pode facilitar a vida de quem frequenta praças de alimentação. A Brand Table (Mesa das Marcas) usa a tecnologia NFC (Near Field Communication) para disponibilizar menus e realizar pedidos e ...]]></description>
			<content:encoded><![CDATA[O estudante australiano Stephen Davis criou um sistema que pode facilitar a vida de quem frequenta praças de alimentação. A Brand Table (Mesa das Marcas) usa a tecnologia NFC (Near Field Communication) para disponibilizar menus e realizar pedidos e pagamentos &#8230; <a href="http://blog.endrigoantonini.com.br/2011/10/25/estudante-cria-sistema-que-permite-fazer-pedidos-na-mesa-da-praca-de-alimentacao/">Continue lendo <span class="meta-nav">&#8594;</span></a>
<p><a href="http://feedads.g.doubleclick.net/~a/V7zeMGYDnnc2UFtORh8SJCyZeBw/0/da"><img src="http://feedads.g.doubleclick.net/~a/V7zeMGYDnnc2UFtORh8SJCyZeBw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/V7zeMGYDnnc2UFtORh8SJCyZeBw/1/da"><img src="http://feedads.g.doubleclick.net/~a/V7zeMGYDnnc2UFtORh8SJCyZeBw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/antonini/~4/XYBcjfLF9c0" height="1" width="1"/>
<p><a href="http://feedads.g.doubleclick.net/~a/7gCxPOi_GkeH9_B2Wp-pv8x4lW4/0/da"><img src="http://feedads.g.doubleclick.net/~a/7gCxPOi_GkeH9_B2Wp-pv8x4lW4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/7gCxPOi_GkeH9_B2Wp-pv8x4lW4/1/da"><img src="http://feedads.g.doubleclick.net/~a/7gCxPOi_GkeH9_B2Wp-pv8x4lW4/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/CodeTalk/~4/2xmJhkM8rrI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.endrigoantonini.com.br/2011/10/25/estudante-cria-sistema-que-permite-fazer-pedidos-na-mesa-da-praca-de-alimentacao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://feedproxy.google.com/~r/antonini/~3/XYBcjfLF9c0/</feedburner:origLink></item>
		<item>
		<title>Introdução a Groovy e Grails na Semana da Computação UDESC</title>
		<link>http://feedproxy.google.com/~r/CodeTalk/~3/PGUkAT_64gI/introducao-a-groovy-e-grails-na-semana-da-com</link>
		<comments>http://arianpasquali.com/introducao-a-groovy-e-grails-na-semana-da-com#comments</comments>
		<pubDate>Wed, 12 Oct 2011 13:40:00 +0000</pubDate>
		<dc:creator>Arian Pasquali</dc:creator>
		
		<guid isPermaLink="false">http://arianpasquali.com/introducao-a-groovy-e-grails-na-semana-da-com</guid>
		<description><![CDATA[
        
	No dia 26/set pude apresentar um pouco de Groovy e Grails na Semana da Computa&#231;&#227;o da UDESC.&#160;

Segue slides da palestra.
Groovy &#38; grails 







View more presentations from Arian Pasquali.




	


Permalink 

	&#124; Leave ...]]></description>
			<content:encoded><![CDATA[
        <p>
	<div style="">No dia 26/set pude apresentar um pouco de <a href="http://groovy.codehaus.org/" >Groovy</a> e <a href="http://grails.org/" >Grails</a> na Semana da Computa&ccedil;&atilde;o da UDESC.&nbsp;</div>
<p />
<div style="">Segue slides da palestra.</div>
<div style=""><strong style="display: block; margin: 12px 0 4px;"><a href="http://www.slideshare.net/arianpasquali/groovy-grails-9659279" title="Groovy &amp; grails">Groovy &amp; grails</a></strong> 
<object height="355" width="425">
<param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=groovygrails-111012083703-phpapp02&amp;stripped_title=groovy-grails-9659279&amp;userName=arianpasquali" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=groovygrails-111012083703-phpapp02&amp;stripped_title=groovy-grails-9659279&amp;userName=arianpasquali" type="application/x-shockwave-flash" height="355" width="425"></embed>
</object>
</div>
<div style="">
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/arianpasquali">Arian Pasquali</a>.</div>
</div>



	
</p>

<p><a href="http://arianpasquali.com/introducao-a-groovy-e-grails-na-semana-da-com">Permalink</a> 

	| <a href="http://arianpasquali.com/introducao-a-groovy-e-grails-na-semana-da-com#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>
      
<p><a href="http://feedads.g.doubleclick.net/~a/iGGBUgUNN0JwwjVrjmqE0JwTpQ4/0/da"><img src="http://feedads.g.doubleclick.net/~a/iGGBUgUNN0JwwjVrjmqE0JwTpQ4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/iGGBUgUNN0JwwjVrjmqE0JwTpQ4/1/da"><img src="http://feedads.g.doubleclick.net/~a/iGGBUgUNN0JwwjVrjmqE0JwTpQ4/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/CodeTalk/~4/PGUkAT_64gI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codetalk.com.br/2011/10/introducao-a-groovy-e-grails-na-semana-da-computacao-udesc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://arianpasquali.com/introducao-a-groovy-e-grails-na-semana-da-com</feedburner:origLink></item>
		<item>
		<title>Configurando Log4j para email de exceptions no Grails</title>
		<link>http://feedproxy.google.com/~r/CodeTalk/~3/TQX0k3CSqy4/configurando-log4j-para-email-de-exceptions-n</link>
		<comments>http://arianpasquali.com/configurando-log4j-para-email-de-exceptions-n#comments</comments>
		<pubDate>Wed, 12 Oct 2011 11:20:00 +0000</pubDate>
		<dc:creator>Arian Pasquali</dc:creator>
		
		<guid isPermaLink="false">http://arianpasquali.com/configurando-log4j-para-email-de-exceptions-n</guid>
		<description><![CDATA[
        
	O log4j tem um appender que envia emails chamado SMTPAppender. Nesse post eu vou mostrar como configurar esse appender no Grails.
Dessa forma sempre que for lan&#231;ada uma exception n&#227;o tratada voc&#234; recebe um email com o err...]]></description>
			<content:encoded><![CDATA[
        <p>
	<div style="color: #222222; font-family: arial, sans-serif;">O log4j tem um appender que envia emails chamado SMTPAppender. Nesse post eu vou mostrar como configurar esse appender no Grails.</div>
<div style="color: #222222; font-family: arial, sans-serif;">Dessa forma sempre que for lan&ccedil;ada uma exception n&atilde;o tratada voc&ecirc; recebe um email com o erro e o stacktrace.</div>
<div style="color: #222222; font-family: arial, sans-serif;">Encontrei essa solu&ccedil;&atilde;o&nbsp;<a href="http://bit.ly/nf1Wfl" >aqui</a>.</div>
<p />
<div style="color: #222222; font-family: arial, sans-serif;">Pra fazer isso siga os passos.</div>
<div style="color: #222222; font-family: arial, sans-serif;">1. Adicionar dependencia de mail.jar e activation.jar em&nbsp;BuildConfig.groovy</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<p />
<div style="color: #222222; font-family: arial, sans-serif;">dependencies {</div>
<div style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span>compile("javax.mail:mail:1.4.4")</div>
<div style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span>compile("javax.activation:activation:1.1.1")</div>
</div>
<div style="color: #222222; font-family: arial, sans-serif;">}</div>
<div style="color: #222222; font-family: arial, sans-serif;">2. Alterar Config.groovy</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<p />
<p />
<div>import org.apache.log4j.Level</div>
<div>import org.apache.log4j.net.SMTPAppender</div>
<p />
</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<div>System.setProperty 'mail.smtp.port', '465'</div>
<div>System.setProperty 'mail.smtp.starttls.enable', 'true'</div>
<p />
</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<div>mail.error.server = '<span style="color: #1155cc;">smtp.gmail.com</span>'</div>
<div>mail.error.port = 465</div>
<div>mail.error.username = '<span style="color: #1155cc;"><a href="mailto:seu@email.com">seu@email.com</a></span>'</div>
<div>mail.error.password = 'sua-senha-aqui'</div>
<div><span style="color: #1155cc;">mail.error.to</span>&nbsp;= '<span style="color: #1155cc;">to@e</span>mail.com'</div>
<div>mail.error.from = '<span style="color: #1155cc;"><a href="mailto:from@email.com">from@email.com</a></span>'</div>
<div>mail.error.subject = '[Application Error]'</div>
<div>mail.error.starttls = true</div>
<div>mail.error.auth = true</div>
<div>mail.error.socketFactory.port = 465</div>
<div>mail.error.socketFactory.class = "javax.net.ssl.SSLSocketFactory"</div>
<div>mail.error.socketFactory.fallback = false</div>
<div>mail.error.debug = false</div>
<p />
</div>
<div>
<div>
<div><span style="color: #222222; font-family: arial, sans-serif;">// log4j configuration</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;">log4j = {</span></div>
<p />
<div><span style="color: #222222; font-family: arial, sans-serif;">&nbsp; &nbsp; <span style=""> </span>System.setProperty 'mail.smtp.port', mail.error.port.toString()</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; <span style=""> </span>System.setProperty 'mail.smtp.starttls.enable', mail.error.starttls.toString()</span></div>
<p />
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; <span style=""> </span>appenders {</span></div>
<p />
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp;appender new SMTPAppender(<span style=""> </span>name: 'smtp',&nbsp;</span><span style="color: #222222; font-family: arial, sans-serif;">to: mail.error.to,&nbsp;</span><span style="color: #222222; font-family: arial, sans-serif;">from: mail.error.from,</span><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp;&nbsp;<span style=""> </span>subject: mail.error.subject,</span><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span>threshold: Level.ERROR,&nbsp;</span><span style="color: #222222; font-family: arial, sans-serif;">SMTPHost: mail.error.server,</span><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span>SMTPUsername: mail.error.username,&nbsp;</span><span style="color: #222222; font-family: arial, sans-serif;">SMTPDebug: mail.error.debug.toString(),&nbsp;</span><span style="color: #222222; font-family: arial, sans-serif;">SMTPPassword: mail.error.password,&nbsp;</span><span style="color: #222222; font-family: arial, sans-serif;">layout: pattern(conversionPattern:&nbsp;</span><span style="color: #222222; font-family: arial, sans-serif;">'%d{[ dd.MM.yyyy HH:mm:ss.SSS]} [%t] %n%-5p %n%c %n%C %n %x %n %m%n'))</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; }</span></div>
<p />
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; error &nbsp;'org.codehaus.groovy.grails.web.servlet', &nbsp;// &nbsp;controllers</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'org.codehaus.groovy.grails.web.pages', // &nbsp;GSP</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'org.codehaus.groovy.grails.web.sitemesh', // &nbsp;layouts</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'org.codehaus.groovy.grails.web.mapping', // URL mapping</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'org.codehaus.groovy.grails.commons', // core / classloading</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'org.codehaus.groovy.grails.plugins', // plugins</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'org.springframework',</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'org.hibernate',</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'net.sf.ehcache.hibernate'</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; warn &nbsp; 'org.mortbay.log'</span></div>
<p />
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; root {</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp;error 'stdout', 'smtp'</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; &nbsp; &nbsp;additivity = true</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;"><span style=""> </span> &nbsp; }</span></div>
<div><span style="color: #222222; font-family: arial, sans-serif;">}</span></div>
<p />
<p />
</div>
</div>
<div style="color: #222222; font-family: arial, sans-serif;">that's pretty much it</div>
	
</p>

<p><a href="http://arianpasquali.com/configurando-log4j-para-email-de-exceptions-n">Permalink</a> 

	| <a href="http://arianpasquali.com/configurando-log4j-para-email-de-exceptions-n#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>
      
<p><a href="http://feedads.g.doubleclick.net/~a/92BOdfxZb50EwFoIO6LvJTtYWJE/0/da"><img src="http://feedads.g.doubleclick.net/~a/92BOdfxZb50EwFoIO6LvJTtYWJE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/92BOdfxZb50EwFoIO6LvJTtYWJE/1/da"><img src="http://feedads.g.doubleclick.net/~a/92BOdfxZb50EwFoIO6LvJTtYWJE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/CodeTalk/~4/TQX0k3CSqy4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codetalk.com.br/2011/10/configurando-log4j-para-email-de-exceptions-no-grails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://arianpasquali.com/configurando-log4j-para-email-de-exceptions-n</feedburner:origLink></item>
		<item>
		<title>Sistema modular aplicando OSGI com Apache Felix</title>
		<link>http://feedproxy.google.com/~r/CodeTalk/~3/qud2hUEnbqM/sistema-modular-aplicando-osgi-com-apache-kar</link>
		<comments>http://arianpasquali.com/sistema-modular-aplicando-osgi-com-apache-kar#comments</comments>
		<pubDate>Sun, 25 Sep 2011 05:18:00 +0000</pubDate>
		<dc:creator>Arian Pasquali</dc:creator>
		
		<guid isPermaLink="false">http://arianpasquali.com/sistema-modular-aplicando-osgi-com-apache-kar</guid>
		<description><![CDATA[
        
	No in&#237;cio desse ano estive envolvido em um projeto onde um dos principais requisitos seria a flexibilidade de instalar, desinstalar, pausar e restartar m&#243;dulos em tempo de execu&#231;&#227;o sem precisar parar o sistema tod...]]></description>
			<content:encoded><![CDATA[
        <p>
	<p>No in&iacute;cio desse ano estive envolvido em um projeto onde um dos principais requisitos seria a flexibilidade de instalar, desinstalar, pausar e restartar m&oacute;dulos em tempo de execu&ccedil;&atilde;o sem precisar parar o sistema todo ou impactando o m&iacute;nimo nos m&oacute;dulos j&aacute; instalados. Isso especialmente porque o ciclo de vida de desenvolvimento desses m&oacute;dulos seriam independentes e por outras quest&otilde;es de ambiente. O sistema n&atilde;o podia crescer sendo um bloco monol&iacute;tico. Ele precisava ter modularidade no seu DNA e os componentes&nbsp;deveriam funcionar mais como servi&ccedil;os que cooperariam entre si.&nbsp;</p>
<p>Quando comecei a esbo&ccedil;ar o n&uacute;cleo do sistema percebi que o problema era mais comum do que havia imaginado inicialmente, foi quando lembrei que j&aacute; existia uma solu&ccedil;&atilde;o pra isso e podia atender pelo nome de OSGi, ou Open Services Gateway Initiative, que apesar do nome pouco intuitivo &eacute; uma especifica&ccedil;&atilde;o para se criar sistemas modulares e orientados a servi&ccedil;os em Java.</p>
<p>A primeira vers&atilde;o da especifica&ccedil;&atilde;o saiu em 2000 e desde de ent&atilde;o vem evoluindo e sendo empregada em aplica&ccedil;&otilde;es como Eclipse, Glashfish e no ServiceMix.&nbsp;O que todas essas aplica&ccedil;&otilde;es t&ecirc;em em comum &eacute; a capacidade de suportar e gerenciar plugins. Exatamente como no projeto em quest&atilde;o.</p>
<p><span>Os containers mais relevantes que eu encontrei na &eacute;poca foram o&nbsp;</span><span style="font-family: sans-serif; line-height: 19px;"><a href="http://felix.apache.org/" rel="nofollow" >Apache Felix</a></span><span>&nbsp;,&nbsp;</span><span style="font-family: sans-serif; line-height: 19px;"><a href="http://www.eclipse.org/equinox" rel="nofollow" >Equinox</a></span><span>&nbsp;e&nbsp;<span style="font-family: sans-serif; line-height: 19px;"><a href="http://www.knopflerfish.org/" rel="nofollow" >Knopflerfish</a>.&nbsp;</span></span>Brincando um pouco com cada acabei escolhendo o projeto Apache pela facilidade. &nbsp;Depois de fazer o download, pra iniciar o felix basta executar um jar.</p>
<div class="CodeRay">
  <div class="code"><pre>java -jar bin/felix.jar</pre></div>
</div>

<p>Executando o comando lb ele lista os componentes ativos (ou bundles como s&atilde;o chamados).</p>
<div class="CodeRay">
  <div class="code"><pre>g! lb
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (3.0.0)
    1|Active     |    1|Apache Felix Bundle Repository (1.6.2)
    2|Active     |    1|Apache Felix Gogo Command (0.6.0)
    3|Active     |    1|Apache Felix Gogo Runtime (0.6.0)
    4|Active     |    1|Apache Felix Gogo Shell (0.6.0)</pre></div>
</div>

<p>Agora com o Felix rodando s&oacute; falta instalar um bundle pr&oacute;prio.</p>
<p>Basicamente a especifica&ccedil;&atilde;o pede que voc&ecirc; informe meta-informa&ccedil;&otilde;es sobre o seu jar dentro do manifest. Se voc&ecirc; usa Maven fica tudo mais f&aacute;cil&nbsp;com o&nbsp;<a href="http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html" >Maven Bundle Plugin</a>.&nbsp;Com esse plugin voc&ecirc; consegue definir no seu arquivo pom as informa&ccedil;&otilde;es para transform&aacute;-lo em um bundle OSGI.<br />O ciclo de vida de um bundle &eacute; gerenciado pelo container e voc&ecirc; s&oacute; precisa de uma classe que implemente a interface&nbsp;<a href="http://www.osgi.org/javadoc/r4v43/org/osgi/framework/BundleActivator.html" >BundleActivator</a>.&nbsp;</p>
<p>package&nbsp;org.foo.myproject.impl1;</p>
<p>import org.osgi.framework.BundleActivator;<br />import org.osgi.framework.BundleContext;</p>
<p>public class MyBundleActivator implements BundleActivator {</p>
<p><span style=""> </span>public void start(BundleContext bundleContext){<br /><span style=""><span style=""> </span></span>System.out.println("Ol&aacute;! Eu sou um bundle ativo =) ");<br /><span style=""> </span>}<br /><span style=""> </span>public void stop(BundleContext context) {<br /><span style=""><span style=""> </span> </span>System.out.println("Bye bye");<br />&nbsp;}<br />}</p>
<p>Essa classe deve ser informada no manifest. Usando maven a configura&ccedil;&atilde;o voc&ecirc; adicionaria essa configura&ccedil;&atilde;o no seu arquivo pom dessa maneira.</p>
<p>...<br />&lt;plugins&gt;<br />&lt;plugin&gt;<br /><span style=""> </span>&lt;groupId&gt;org.apache.felix&lt;/groupId&gt;<br />&nbsp;<span style=""> </span>&lt;artifactId&gt;maven-bundle-plugin&lt;/artifactId&gt;<br /><span style=""> </span>&lt;extensions&gt;true&lt;/extensions&gt;<br /><span style=""> </span>&lt;configuration&gt;<br />&nbsp; &nbsp;<span style=""> </span>&lt;instructions&gt;<br />&nbsp; &nbsp; &nbsp;<span style=""> </span>&lt;Export-Package&gt;org.foo.myproject.api&lt;/Export-Package&gt; &lt;!-- vis&iacute;vel para outros bundles --&gt;<br />&nbsp; &nbsp; &nbsp;&nbsp;<span style=""> </span>&lt;Private-Package&gt;org.foo.myproject.*&lt;/Private-Package&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp;<span style=""> </span>&lt;Bundle-Activator&gt;org.foo.myproject.impl1.MyBundleActivator&lt;/Bundle-Activator&gt;<br />&nbsp; &nbsp;<span style=""> </span>&lt;/instructions&gt;<br /><span style=""> </span>&lt;/configuration&gt;<br /><span style=""> </span>&lt;/plugin&gt;<br />&lt;/plugins&gt;<br />...</p>
<p>Execute "mvn package" e pronto.&nbsp;<br />Para instalar o novo bundle basta executar o comando install:</p>
<p><span style="color: #3b3b3b; font-family: Tahoma, Arial, sans-serif; line-height: 18px;"> </span></p>
<div class="CodeRay">
  <div class="code"><pre>g! install file:/path/to/bundle/bundle.jar
g! lb
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (3.0.0)
    1|Active     |    1|Apache Felix Bundle Repository (1.6.2)
    2|Active     |    1|Apache Felix Gogo Command (0.6.0)
    3|Active     |    1|Apache Felix Gogo Runtime (0.6.0)
    4|Active     |    1|Apache Felix Gogo Shell (0.6.0)
    5|Installed  |    1|Example Bundle (1.0.0)
g! start 5
Olá! Eu sou um bundle ativo =) 
g!</pre></div>
</div>

<p><span>Pesquisando mais a fundo o projeto descobri ainda um subprojeto chamado&nbsp;</span><a href="http://karaf.apache.org/" title="Apache Karaf" >Apache Karaf</a>&nbsp;que veio facilitar ainda mais o gerenciamento dos componentes<span>. Basicamente &eacute; uma distribui&ccedil;&atilde;o&nbsp;</span>baseada no kernel do Apache Felix somando funcionalidades adicionais mais amig&aacute;veis para o gerenciamento dos bundles tais como console, interface web de administra&ccedil;&atilde;o, seguran&ccedil;a, sistema de&nbsp;logging, configura&ccedil;&atilde;o din&acirc;mica, features, hot deployment e&nbsp;etc.</p>
<p>Hoje temos o Karaf rodando em ambiente de produ&ccedil;&atilde;o e cobrindo nossas necessidades.</p>
<p>O mais legal disso tudo &eacute; que voc&ecirc; acaba tendo mais uma op&ccedil;&atilde;o pra evitar usar um container pesado como um servidor de aplica&ccedil;&atilde;o para disponibilizar seus componentes. Considere tamb&eacute;m um container OSGI a partir de agora.&nbsp;</p>
	
</p>

<p><a href="http://arianpasquali.com/sistema-modular-aplicando-osgi-com-apache-kar">Permalink</a> 

	| <a href="http://arianpasquali.com/sistema-modular-aplicando-osgi-com-apache-kar#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>
      
<p><a href="http://feedads.g.doubleclick.net/~a/rJohrL-6WJk8iFHGgZh1bIDthq8/0/da"><img src="http://feedads.g.doubleclick.net/~a/rJohrL-6WJk8iFHGgZh1bIDthq8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/rJohrL-6WJk8iFHGgZh1bIDthq8/1/da"><img src="http://feedads.g.doubleclick.net/~a/rJohrL-6WJk8iFHGgZh1bIDthq8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/CodeTalk/~4/qud2hUEnbqM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codetalk.com.br/2011/09/sistema-modular-aplicando-osgi-com-apache-felix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://arianpasquali.com/sistema-modular-aplicando-osgi-com-apache-kar</feedburner:origLink></item>
	</channel>
</rss>

