<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7873075</id><updated>2012-02-16T09:08:32.338-02:00</updated><title type='text'>Palma Dias's Blog</title><subtitle type='html'>Palma Dias's Blog</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://palmadias.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>69</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7873075.post-5986818191338054207</id><published>2010-12-24T15:16:00.002-02:00</published><updated>2010-12-24T15:21:59.963-02:00</updated><title type='text'>Submarino não entrega na data programada.</title><content type='html'>No ultimo domingo fiz uma compra no site Submarino. A data de entrega do pedido 3 dias uteis. Hj dia 24, um dia apos o combinado, o compra nao chegou ainda.&lt;br /&gt;&lt;br /&gt;Alem disso, estou tentando, no telefone fornecido no site, deste as 09 horas da manha para saber sobre o pedido. E para surpresa a ligacao nao completa.&lt;br /&gt;&lt;br /&gt;Falta de respeito.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-5986818191338054207?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/5986818191338054207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/5986818191338054207'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2010/12/submarino-nao-entrega-na-data.html' title='Submarino não entrega na data programada.'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-4612756651187500007</id><published>2009-10-20T22:27:00.004-02:00</published><updated>2009-10-20T22:34:42.416-02:00</updated><title type='text'>quase 6 meses</title><content type='html'>Jah se passaram quase 6 meses... Os 6 meses mais felizes de toda a minha vida. Foi no dia 24 de abril que tudo comecou a mudar. Nesse dia a minha Betina nasceu. Uma joia na minha vida. O sorriso mais doce que jah conheci.&lt;br /&gt;&lt;br /&gt;A cada dia que passa ela fica mais esperta e danada. Hj mesmo cheguei em casa e o seu supercilio esquerdo estava bem inchado. Ela bateu o rosto no movel da televisao. Pelo jeito sera o primeiro roxo de muitos que virao pela frente.&lt;br /&gt;&lt;br /&gt;Nesse exato momento a Lidi tah com ela no colo enquanto eu estou aqui escrevendo. A Betina tah dormindo com um anjinho, e a Lidi aproveita o momento para cortar as unhas da minha nossa princesa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-4612756651187500007?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4612756651187500007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4612756651187500007'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2009/10/quase-6-meses.html' title='quase 6 meses'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-4393046852471440846</id><published>2009-04-03T21:15:00.008-03:00</published><updated>2009-04-03T21:25:51.578-03:00</updated><title type='text'>redimencionar iframe html</title><content type='html'>testei esse codigo no ubuntu com o firefox 3.0.8 e nao tive nenhum problema.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;function autoIframe(frame){&lt;br /&gt;try{&lt;br /&gt;innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;&lt;br /&gt;frame.height = innerDoc.body.scrollHeight + 50;&lt;br /&gt;}catch(err){&lt;br /&gt;alert(err);&lt;br /&gt;window.status = err.message;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;iframe name="detailFrame"&lt;br /&gt;    src ="foo.html"&lt;br /&gt;    scrolling="no"&lt;br /&gt;    frameborder="0"&lt;br /&gt;    onload="if (window.parent &amp;amp;&amp;amp; window.parent.autoIframe) {window.parent.autoIframe(this);}"&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-4393046852471440846?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4393046852471440846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4393046852471440846'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2009/04/redimencionar-iframe-html.html' title='redimencionar iframe html'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-4169174021524313462</id><published>2009-02-03T21:44:00.003-02:00</published><updated>2009-02-03T22:03:49.426-02:00</updated><title type='text'>configurar sistema de arquivos sftp no ubuntu</title><content type='html'>- baixar o pacote sshfssudo apt-get install sshf&lt;br /&gt;  sudo apt-get install sshfs&lt;br /&gt;&lt;br /&gt;- criar diretorio do sistema de arquivos&lt;br /&gt;  sudo mkdir /media/nome-dir&lt;br /&gt;&lt;br /&gt;- dar permissao para o usuario&lt;br /&gt;  sudo chown felipe /media/nome-dir&lt;br /&gt;&lt;br /&gt;- uncluir o usuario no grupo fuse (nao sei o que eh esse grupo)&lt;br /&gt;  sudo adduser felipe fuse &lt;br /&gt;&lt;br /&gt;- montar sistema de arquivos&lt;br /&gt;  sshfs servidor.com:/qualquercoisa /media/nome-dir&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-4169174021524313462?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4169174021524313462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4169174021524313462'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2009/02/configurar-sistema-de-arquivos-sftp-no.html' title='configurar sistema de arquivos sftp no ubuntu'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-6346405871487311432</id><published>2009-01-12T21:39:00.002-02:00</published><updated>2009-01-12T21:43:00.837-02:00</updated><title type='text'>Evite float e double se você quer respostas exatas!</title><content type='html'>&lt;div id="tituloPublicacao"&gt;Usar double ou float podem trazer muitos problemas para operações que exijam exatidão, como operações financeiras. Saiba como evitar tais problemas utilizando as alternativas aqui apresentadas...&lt;br /&gt;&lt;p class="autor"&gt;David Pereira (david@jeebrasil.com.br)&lt;br /&gt;         &lt;/p&gt;           &lt;span style="font-weight: bold;"&gt;http://www.jeebrasil.com.br/mostrar/47&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-6346405871487311432?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/6346405871487311432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/6346405871487311432'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2009/01/evite-float-e-double-se-voc-quer.html' title='Evite float e double se você quer respostas exatas!'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-225225332623169324</id><published>2008-06-08T21:36:00.000-03:00</published><updated>2008-06-08T21:37:59.058-03:00</updated><title type='text'>backup e restore do ubuntu</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Backup &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;tar -cvpzf /media/sda5/bkp/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media /&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Restore&lt;/span&gt;&lt;br /&gt;tar xvpfz backup.tgz -C /&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-225225332623169324?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/225225332623169324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/225225332623169324'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/06/backup-e-restore-do-ubuntu.html' title='backup e restore do ubuntu'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-3327109778831919814</id><published>2008-06-06T12:11:00.002-03:00</published><updated>2008-06-06T13:03:10.467-03:00</updated><title type='text'>essa foto ficou para história</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kgG47Qe5qAs/SElftkGn3hI/AAAAAAAAABU/RSLvL3gXXJo/s1600-h/gurizada.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_kgG47Qe5qAs/SElftkGn3hI/AAAAAAAAABU/RSLvL3gXXJo/s400/gurizada.jpg" alt="" id="BLOGGER_PHOTO_ID_5208799680420896274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kgG47Qe5qAs/SElTmA7YkZI/AAAAAAAAABM/YCSc8Z53ba8/s1600-h/gurizada.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-3327109778831919814?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3327109778831919814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3327109778831919814'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/06/essa-foto-ficou-para-histria.html' title='essa foto ficou para história'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kgG47Qe5qAs/SElftkGn3hI/AAAAAAAAABU/RSLvL3gXXJo/s72-c/gurizada.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-2114496828975001045</id><published>2008-06-05T21:42:00.002-03:00</published><updated>2008-06-05T22:44:36.170-03:00</updated><title type='text'>Getting started with BlazeDS</title><content type='html'>Artigo para dar os primeiros passos com BlazeDS.&lt;br /&gt;&lt;a href="http://www.adobe.com/devnet/livecycle/articles/blazeds_gettingstarted.html"&gt;http://www.adobe.com/devnet/livecycle/articles/blazeds_gettingstarted.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-2114496828975001045?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/2114496828975001045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/2114496828975001045'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/06/getting-started-with-blazeds.html' title='Getting started with BlazeDS'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-7288156615681831063</id><published>2008-06-02T11:37:00.006-03:00</published><updated>2008-06-02T11:48:27.579-03:00</updated><title type='text'>Colegas da PUC</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kgG47Qe5qAs/SEQHaBKrR9I/AAAAAAAAAA4/AS3LB4st714/s1600-h/PUC-SP+-+P%D0%B2s+-+Turma+3.+Sem+-+31.05.08+-+Foto+025.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_kgG47Qe5qAs/SEQHaBKrR9I/AAAAAAAAAA4/AS3LB4st714/s400/PUC-SP+-+P%D0%B2s+-+Turma+3.+Sem+-+31.05.08+-+Foto+025.jpg" alt="" id="BLOGGER_PHOTO_ID_5207295212718344146" border="0" /&gt;&lt;/a&gt;Esses são meus colegas da pós em engenharia da computação na PUC-SP. A foto foi tirada no último dia de aula, sábado passado. Foi muito bacana conhecer todos eles. Vou sentir saudades. Um grande abraço!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-7288156615681831063?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/7288156615681831063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/7288156615681831063'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/06/colegas-da-puc.html' title='Colegas da PUC'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_kgG47Qe5qAs/SEQHaBKrR9I/AAAAAAAAAA4/AS3LB4st714/s72-c/PUC-SP+-+P%D0%B2s+-+Turma+3.+Sem+-+31.05.08+-+Foto+025.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-3756050638510134321</id><published>2008-05-29T22:12:00.002-03:00</published><updated>2008-05-29T22:17:23.336-03:00</updated><title type='text'>Programas essenciais para o Ubuntu</title><content type='html'>&lt;span style="font-weight: bold;font-size:100%;" &gt;Avidemux&lt;/span&gt;&lt;br /&gt;Editor de vídeo&lt;br /&gt;download: &lt;a href="http://www.getdeb.net/app/Avidemux"&gt;http://www.getdeb.net/app/Avidemux&lt;/a&gt;&lt;br /&gt;info: &lt;a href="http://ubuntudicas.blogspot.com/2008/01/avidemux-editor-de-vdeo.html"&gt;http://ubuntudicas.blogspot.com/2008/01/avidemux-editor-de-vdeo.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Deluge&lt;/span&gt;&lt;br /&gt;Torrents&lt;br /&gt;donwload: &lt;a href="http://www.getdeb.net/app/Deluge"&gt;http://www.getdeb.net/app/Deluge&lt;/a&gt;&lt;br /&gt;info: &lt;a href="http://ubuntudicas.blogspot.com/2008/01/deluge-0581-nova-verso.html"&gt;http://ubuntudicas.blogspot.com/2008/01/deluge-0581-nova-verso.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Emesene&lt;/span&gt;&lt;br /&gt;Instant Messenger tipo MSN&lt;br /&gt;info: &lt;a href="http://ubuntudicas.blogspot.com/2007/12/emesene-clone-do-msn.html"&gt;http://ubuntudicas.blogspot.com/2007/12/emesene-clone-do-msn.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Exaile&lt;/span&gt;&lt;br /&gt;&lt;a href="http://ubuntudicas.blogspot.com/2008/01/programas-essenciais.html#" onclick="hwClick7944284812381(-1917266660);return false;" style="border-bottom: 1px dotted; color: rgb(0, 102, 0); text-decoration: underline;" onmouseover="hw7944284812381(event, this, '-1917266660'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='solid';" onmouseout="hideMaybe(event, this); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='dotted 1px'; " oncontextmenu="return false;"&gt;Player&lt;/a&gt; de mp3 e CD&lt;br /&gt;download: via Adicionar/Remover Programas...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Frostwire&lt;/span&gt;&lt;br /&gt;P2P&lt;br /&gt;download: via Adicionar/Remover Programas...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Gmount-ISO&lt;/span&gt;&lt;br /&gt;Leia imagens ISO&lt;br /&gt;download: Via Synaptic&lt;br /&gt;via terminal: &lt;span style="font-family:courier new;"&gt;sudo apt-get install gmountiso&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;PyTube&lt;/span&gt;&lt;br /&gt;Baixar vídeos do YouTube&lt;br /&gt;info: &lt;a href="http://bashterritory.com/pytube/index.php"&gt;http://bashterritory.com/pytube/index.php&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://bashterritory.com/pytube/index.php?option=com_remository&amp;amp;Itemid=26&amp;amp;func=fileinfo&amp;amp;id=1"&gt;download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;VLC&lt;/span&gt;&lt;br /&gt;Player de vídeo divx ou dvd&lt;br /&gt;download: Via Synaptic&lt;br /&gt;info: &lt;a href="http://ubuntudicas.blogspot.com/2007/10/vlc-no-mostra-as-legendas.html"&gt;http://ubuntudicas.blogspot.com/2007/10/vlc-no-mostra-as-legendas.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Wifi Radar&lt;/span&gt;&lt;br /&gt;Buscador de  &lt;a href="http://ubuntudicas.blogspot.com/2008/01/programas-essenciais.html#" onclick="hwClick16898951671381(-1917266660);return false;" style="border-bottom: 1px dotted; color: rgb(0, 102, 0); text-decoration: underline;" onmouseover="hw16898951671381(event, this, '-1917266660'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='solid';" onmouseout="hideMaybe(event, this); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='dotted 1px'; " oncontextmenu="return false;"&gt;redes&lt;/a&gt; wireless&lt;br /&gt;donwload: Via Synaptic&lt;br /&gt;info: &lt;a href="http://ubuntudicas.blogspot.com/2008/01/wifi-radar.html"&gt;http://ubuntudicas.blogspot.com/2008/01/wifi-radar.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Fonte: http://ubuntudicas.blogspot.com/2008/01/programas-essenciais.html&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-3756050638510134321?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3756050638510134321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3756050638510134321'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/05/programas-essenciais-para-o-ubuntu_29.html' title='Programas essenciais para o Ubuntu'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-4917367748185244653</id><published>2008-05-29T21:33:00.004-03:00</published><updated>2008-05-29T22:09:25.715-03:00</updated><title type='text'>iOque?</title><content type='html'>O Itaú lançou mais um brinquedinho eletrônico, iToke. Uma especie de chaveirinho com um sistema para gerar números (senhas) para acesso ao bankline do Itaú. Outro apetrecho que carregamos junto com ipods, celular, mp3 player, pendrive, etc.&lt;br /&gt;&lt;br /&gt;No comercial em da tv e no folder de apresentação, que os cliente recebem em casa,  o banco anuncia o iToke como a solução definitiva para a solução de segurança. Na minha opinião é apenas mais uma jogada de marketing.&lt;br /&gt;&lt;br /&gt;Outro noite em casa precisei do iToken pra fazer uma transação, e adivinhe? Parou de funcionar. Na manhã seguinte liguei para o atendimento para notificar o ocorrido e solicitar outro. Prontamente a gerente do banco providenciou um novo "chaveirinho" pra mim e na mesma tarde o gerador de senhas  já estava em minhas mãos.&lt;br /&gt;&lt;br /&gt;O cartãozinho de segurança, aquele cheio de senhas (os clientes do itaú sabem ao que me refiro), era muito mais prático e não parava de funcionar sozinho.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-4917367748185244653?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4917367748185244653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4917367748185244653'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/05/ioque.html' title='iOque?'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-3939028672338305590</id><published>2008-05-28T19:06:00.005-03:00</published><updated>2008-05-28T20:01:03.629-03:00</updated><title type='text'>Sistemas Especialitas</title><content type='html'>&lt;strong&gt;&lt;span style="font-size:180%;"&gt;Sistema Baseado em Conhecimento (SBC)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sistemas de software no qual o conhecimento relativo ao dominio de problemas é armazenado como regras, separadas do modo como são processadas, em um repositório chamado Base de Conhecimento (BC).&lt;/li&gt;&lt;li&gt;&lt;em&gt;&lt;strong&gt;Sistema Especialista&lt;/strong&gt; &lt;/em&gt;é um SBC construído para executar tarefas que requerem conhecimento de um especialista humano (perito).&lt;/li&gt;&lt;li&gt;Sistema computacional no qual um programa &lt;strong&gt;interpretador &lt;/strong&gt;(Motor de Inferencia - MI), com base nos &lt;strong&gt;dados correntes&lt;/strong&gt; armazenados na &lt;strong&gt;Memória de Trabalho&lt;/strong&gt; (MT), escolhe e aplica &lt;strong&gt;regras de inferência &lt;/strong&gt;armazenadas em uma &lt;strong&gt;Base de Conhecimento&lt;/strong&gt; (BC) para realizar tarefas do domínio.&lt;/li&gt;&lt;li&gt;Sistemas Especialistas estão baseados no pressuposto que &lt;strong&gt;conhecimento perito&lt;/strong&gt; pode ser representado como fatos, regras e objetos e estes elementos podem ser descobertos em um processo de &lt;strong&gt;aquisição de conhecimento&lt;/strong&gt;, e tornados explícitos em uma &lt;strong&gt;BC&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Regras de Produção ou Inferência definem a lógica de uma aplicação de forma separada do modo como são processadas (encademaento).&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-3939028672338305590?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3939028672338305590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3939028672338305590'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/05/sistemas-especialitas.html' title='Sistemas Especialitas'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-8583261998816013550</id><published>2008-05-26T20:20:00.005-03:00</published><updated>2008-05-26T20:47:36.277-03:00</updated><title type='text'>Modelo CMMI</title><content type='html'>O &lt;b&gt;CMMI&lt;/b&gt; (&lt;b&gt;Capability Maturity Model Integration&lt;/b&gt;) é um modelo de referência que contém práticas (&lt;i&gt;Genéricas ou Específicas&lt;/i&gt;) necessárias à maturidade em disciplinas específicas (&lt;span style="font-style: italic;"&gt;Engenharia de Sistemas&lt;/span&gt;&lt;i&gt;, Engenharia de Software, Desenvolvimento Integrado do Produto e do Processo, Fontes de Aquisição&lt;/i&gt;). Desenvolvido pelo SEI (&lt;i&gt;Software Engineering Institute&lt;/i&gt;) da Universidade Carnegie Mellon, o CMMI é uma evolução do &lt;span class="mw-redirect"&gt;CMM&lt;/span&gt; e seu objetivo servir de guia para a melhoria de processos na organização e também da habilidade dos profissionais em gerenciar o desenvolvimento, aquisição e manutenção de produtos e serviços. Assim espera-se que o uso do CMMI permita a organização ser mais eficiente, respeitando seus proprios prazos e construíndo software com menos erro.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Os 5 Níveis da Maturidade do CMMI:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Inicial (Imprevisível, mal controlado e reativo)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Gerenciado (Projetos, reativo)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Definido (Organizado e pró-ativo)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Quantitativamente Gerenciado (Processo medido e controlado)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Otimização (Melhoria contínua do processo)&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Nível 2 - Gerenciado&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Gerência de Requisitos&lt;/li&gt;&lt;li&gt;Planejamento de Projetos&lt;/li&gt;&lt;li&gt;Acompanhamento e Supervisão de Projetos&lt;/li&gt;&lt;li&gt;Gerencia de fornecimento&lt;/li&gt;&lt;li&gt;Medição e Análise&lt;/li&gt;&lt;li&gt;Garantia da Qualidade de Software de processo e produto&lt;/li&gt;&lt;li&gt;Gerência de Configuração de Software&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Nível 3 - Definido&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Desenvolvimento de requisitos&lt;/li&gt;&lt;li&gt;Solução técnica&lt;/li&gt;&lt;li&gt;Integração de produto&lt;/li&gt;&lt;li&gt;Verificação&lt;/li&gt;&lt;li&gt;Validação&lt;/li&gt;&lt;li&gt;Foco no Processo da Organização (SEPG)&lt;/li&gt;&lt;li&gt;Definição do Processo da Organização&lt;/li&gt;&lt;li&gt;Programa de Treinamento&lt;/li&gt;&lt;li&gt;Gerência de Projetos Integrada&lt;/li&gt;&lt;li&gt;Gerencia de riscos&lt;/li&gt;&lt;li&gt;Coordenação entre Grupos&lt;/li&gt;&lt;li&gt;Gerencia integrada de fornecimento&lt;/li&gt;&lt;li&gt;Análises de decisão e resolução&lt;/li&gt;&lt;li&gt;Ambiente organizacional para integração&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Nível 4 – Quantitativamente gerenciado&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;Desempenho de processo organizacional&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Gerência Quantitativa de Projetos&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Nível 5 - Otimizado&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Inovação organizacional e distribuição&lt;/li&gt;&lt;li&gt;Análise casual e resolução&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-8583261998816013550?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/8583261998816013550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/8583261998816013550'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/05/modelo-cmmi.html' title='Modelo CMMI'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-3454161711611307850</id><published>2008-05-24T00:09:00.002-03:00</published><updated>2008-05-24T00:42:48.645-03:00</updated><title type='text'>dica de leitura</title><content type='html'>Esse livro é muito bacana, &lt;span class="b"&gt;Covert Java™: Techniques for Decompiling, Patching, and Reverse Engineering&lt;/span&gt;&lt;span&gt;by &lt;/span&gt;&lt;a href="http://www.informit.com/authors/author_bio.asp?ISBN=0672326388"&gt;Alex Kalinovsky&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Várias técnicas para solução de problemas de desenvolvimento na plataforma Java como interceptação dinâmica do fluxo de execução usando reflection, como usar de forma adequada técnicas de tracing,  dicas para descompilar classes, dicas para proteger aplicações comerciais contra hacking, etc.&lt;br /&gt;&lt;br /&gt;Vale a pena ler esse livro.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-3454161711611307850?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3454161711611307850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3454161711611307850'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/05/dica-de-leitura_24.html' title='dica de leitura'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-2882277079361817054</id><published>2008-05-13T19:30:00.009-03:00</published><updated>2008-05-26T19:22:12.837-03:00</updated><title type='text'>O que é qualidade de software?</title><content type='html'>A qualidade de software depende principalmente do correto emprego de boas metodologias pelos desenvolvedores de software, está ligada a um processo de melhoria contínua.&lt;br /&gt;&lt;br /&gt;Um dos fatores que exerce influência negativa sobre a qualidade de um projeto é a complexidade que está associada ao tamanho das especificações, em razão das interações entre diversos componentes dos sistema.&lt;br /&gt;&lt;br /&gt;As dificuldades no processo de software começam durante as etapas iniciais de um  projeto: delimitar o escopo de um sistema está longe de ser uma tarefa trivial. A volatilidade dos requisitos é uma das maiores causas de insucesso de projeto de software. Muitas vezes, mesmo que a estrutura do software tenha sido toda desenhada, é muito complicado prever como será programa acabado.&lt;br /&gt;&lt;br /&gt;A qualidade é um conceito muito subjetivo, o que para uns pode ser bom, para outros não. Por isso, estabelecer critérios (requisitos) que sirvam de base é uma forma de garantir a qualidade de um determinado produto/processo. É preciso saber como cada pessoa envolvida no projeto influi sobre os requisitos para conhecer com precisão o objetivo que se pretende alcançar.&lt;br /&gt;&lt;br /&gt;Então é possível dizer que a qualidade de software é o conjunto de características mensuráveis que possibilitam a um produto atender as necessidades do cliente, de forma confiável, acessível, segura, no tempo certo e com o menor custo:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Qualidade de Processo&lt;/span&gt; – refere-se às “atividades, métodos, práticas e transformações que profissionais de informática utilizam para desenvolver e manter software e os produtos associados” (CMMI)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Qualidade de Projeto&lt;/span&gt; – refere-se ao correto emprego da metodologia definida e dos recursos disponibilizados na produção de software, objetivando: Eficiência, Eficácia, Controle de Custos, Cumprimento de Prazos, Satisfação de clientes e usuários&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Qualidade de Produto&lt;/span&gt; – seu controle visa garantir a conformidade com as especificações de projeto&lt;/li&gt;&lt;/ul&gt;Algumas recomendações nas atividades relacionadas a qualidade de software:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Requisitos de qualidade de software&lt;/span&gt; - orçamento para realização, usuários envolvidos, ferramentas e métodos necessários, aspéctos relacionados a segurança de funcionamento e as consequencias que as falhas podem causar.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Detecção a não-conformidade dos requisitos &lt;/span&gt;- teste de software, revisões, inspeções, auditorias e ferramentas automatizadas de verificação.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Técnicas para gerenciamento de qualidade&lt;/span&gt; - orientada a pessoas, como é o caso de revisões e auditorias; estáticas, que não envolvem execução do produto; dinâmicas, que são efetuadas durante a execução do software; e as técnicas analíticas, que fazem uso de métodos formais.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Medição de qualidade&lt;/span&gt; - conjunto de dados obtidos por medidas é um recurso de extrema ajuda para auxiliar a tomada de decisões gerenciais.&lt;/li&gt;&lt;/ul&gt;Características que determinam o grau de qualidade de um produto final de software:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Facilidade de instalação&lt;/li&gt;&lt;li&gt;Facilidade de utilização&lt;/li&gt;&lt;li&gt;Previsibilidade de comportamento&lt;/li&gt;&lt;li&gt;Padronização das interfaces e do código fonte&lt;/li&gt;&lt;li&gt;Cobertura das necessidades funcionais que se pretende atender (escopo)&lt;/li&gt;&lt;li&gt;Exatidão de resultados&lt;/li&gt;&lt;li&gt;Tratamento apropriado de casos normais e exceções&lt;/li&gt;&lt;li&gt;Facilidade de manutenção&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-2882277079361817054?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/2882277079361817054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/2882277079361817054'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/05/o-que-qualidade-de-software.html' title='O que é qualidade de software?'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-8201806522725173685</id><published>2008-05-11T16:09:00.001-03:00</published><updated>2008-05-11T16:12:12.788-03:00</updated><title type='text'>Modelo de um documento de iniciação da monografia</title><content type='html'>Título (localizador do trabalho)&lt;br /&gt;         - Motivação (inclui a descrição do problema)&lt;br /&gt;         - Objetivos&lt;br /&gt;         -       Resultados Esperados e Contribuições (produtos e extensões de conhecimento)&lt;br /&gt;         -       Método de Pesquisa (atividades)&lt;br /&gt;         -       Cronograma (atividades no tempo)&lt;br /&gt;         -       Referências a serem consultadas&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-8201806522725173685?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/8201806522725173685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/8201806522725173685'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/05/modelo-de-um-documento-de-iniciao-da.html' title='Modelo de um documento de iniciação da monografia'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-8707069456534155901</id><published>2008-05-07T23:28:00.001-03:00</published><updated>2008-05-07T23:28:54.600-03:00</updated><title type='text'>dica de leitura</title><content type='html'>&lt;span class="nome"&gt;&lt;span id="titleproduct"&gt;1968: o Ano que Não Terminou&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.submarino.com.br/books_bio.asp?Query=ProductPage&amp;amp;ProdTypeId=1&amp;amp;ArtistId=66684&amp;amp;Type=1" class="corpo"&gt;&lt;/a&gt;&lt;br /&gt;Zuenir Ventura&lt;br /&gt;&lt;br /&gt;"Fascinante reconstituição dos acontecimentos de 1968 no âmbito do país. Os heróis dessa geração que queriam virar o mundo pelo avesso, seus dramas e paixões, suas lutas e vitórias estão descritos neste relato fundamental para a compreensão do Brasil contemporâneo."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-8707069456534155901?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/8707069456534155901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/8707069456534155901'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/05/dica-de-leitura.html' title='dica de leitura'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-9117653416653712435</id><published>2008-04-14T19:16:00.000-03:00</published><updated>2008-04-14T19:18:03.553-03:00</updated><title type='text'>Conceitos de padrões de projeto de software</title><content type='html'>&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;Projeto de software orientado a objetos reutilizável:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;  identificar objetos pertinentes&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;  fatorar os objetos em classes   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;  definir interfaces&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;  definir hierarquia de herança   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;  estabelecer as relações-chave entre objetos&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt; A grande dificuldade é tentar desenvolver sistemas específicos que ao mesmo tempo sejam genéricos afim de que no futuro os componentes modelados possam ser reutilizado.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt; Boas soluções precisam ser reutilizadas repetidamente, ou seja, padrões de classes e de comunicação entre elas devem ser repassados entre diferentes projetos, dessa forma os projetos orientados a objetos tornam-se mais flexíveis.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt; Padrões de projetos tornam mais fácil reutilizar projetos e arquiteturas. Os padrões de projetos  ajudam a escolher alternativas de projeto que tornam um sistema reutilizável.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt; Segundo Christopher Alexander “cada padrão descreve um problema no nosso ambiente e o cerne de sua solução, de tal forma que você possa usar essa solução mais de um milhão de vezes, sem nunca faze-lo da mesma maneira” [AIS+ 77]. Para Erich Gamma padrões de projeto “são descrições de objetos e classes comunicantes que precisam ser personalizadas para resolver um problema geral de projeto num contexto particular. Um padrão de projeto nomeia, abstrai, e identifica aspectos-chave de uma estrutura de projeto comum para torna-lo útil para a criação de um projeto orientado a objetos reutilizável” [G193].&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt; Um padrão possui 4 elementos essenciais:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;  O &lt;b&gt;nome do padrão&lt;/b&gt;: vocabulário de projeto.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;  O &lt;b&gt;problema&lt;/b&gt;&lt;span style=""&gt;: descreve em que  situação aplicar o padrão.&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;  &lt;span style=""&gt;A &lt;/span&gt;&lt;b&gt;solução&lt;/b&gt;&lt;span style=""&gt;:  elementos que compõe o padrão de projeto  (relacionamentos, responsabilidades e colaborações)&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;  &lt;span style=""&gt;As &lt;/span&gt;&lt;b&gt;consequências&lt;/b&gt;&lt;span style=""&gt;:  resultados e análise das vantagens e desvantagens da  aplicação do padrão. As consequências de  um padrão incluem o seu impacto sobre a flexibilidade, a  extensibilidade ou a portabilidade de um sistema.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-9117653416653712435?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/9117653416653712435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/9117653416653712435'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/04/conceitos-de-padres-de-projeto-de.html' title='Conceitos de padrões de projeto de software'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-7744636239007750698</id><published>2008-01-26T15:34:00.000-02:00</published><updated>2008-01-26T15:35:21.359-02:00</updated><title type='text'></title><content type='html'>&lt;table align="right" border="0" cellpadding="2" cellspacing="1" width="98%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="75%"&gt;&lt;span class="titulo_resenha"&gt;SUAVE E A NOITE &lt;/span&gt;&lt;br /&gt; &lt;!--&lt;end&gt;--&gt;   &lt;strong&gt;Autor: &lt;/strong&gt;   &lt;a href="http://www.livrariacultura.com.br/scripts/cultura/catalogo/busca.asp?parceiro=153101&amp;amp;nautor=7589&amp;amp;refino=1&amp;amp;sid=93313917010126560246131281&amp;amp;k5=28C0C6D2&amp;amp;uid="&gt;FITZGERALD, F. SCOTT&lt;/a&gt;         &lt;br /&gt; &lt;strong&gt;Editora:&lt;/strong&gt; &lt;a href="http://www.livrariacultura.com.br/scripts/cultura/catalogo/busca.asp?parceiro=153101&amp;amp;tipo_pesq=editora&amp;amp;neditora=4105&amp;amp;refino=2&amp;amp;sid=93313917010126560246131281&amp;amp;k5=28C0C6D2&amp;amp;uid="&gt;&lt;i&gt;CASA JORGE EDITORIAL&lt;/i&gt;&lt;/a&gt;&lt;br /&gt; &lt;strong&gt;Assunto:&lt;/strong&gt; &lt;span style="font-family:arial;font-size:-2;"&gt;&lt;a href="http://www.livrariacultura.com.br/scripts/cultura/catalogo/busca.asp?parceiro=153101&amp;amp;bmodo=cat&amp;amp;n1=34&amp;amp;n2=0&amp;amp;refino=3&amp;amp;sid=93313917010126560246131281&amp;amp;k5=28C0C6D2&amp;amp;uid="&gt;LITERATURA ESTRANGEIRA&lt;/a&gt;&lt;br /&gt; &lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-7744636239007750698?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/7744636239007750698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/7744636239007750698'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2008/01/suave-e-noite-autor-fitzgerald-f.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-3411059337576646061</id><published>2007-08-25T10:16:00.000-03:00</published><updated>2007-08-25T10:33:41.849-03:00</updated><title type='text'></title><content type='html'>pesquisar livros bruce eckel e doug rosenberg.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iconixsw.com/UMLBook.html"&gt;http://www.iconixsw.com/UMLBook.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-3411059337576646061?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3411059337576646061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3411059337576646061'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/08/pesquisar-livros-bruce-eckel.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-5752316647337779051</id><published>2007-07-27T21:44:00.000-03:00</published><updated>2007-07-27T21:45:02.069-03:00</updated><title type='text'>J2EE e Web Services</title><content type='html'>&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;"&gt;&lt;span lang="pt-PT"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:#000000;"&gt;A plataforma Java 2, Enterprise Edition (J2EE) foi concebida para simplificar problemas complexos no desenvolvimento, disponibilizarão e gerenciamento de soluções multicamadas. J2EE é uma especificação padrão, e é o resultado de uma grande iniciativa liderada pela Sun Microsystems. O objetivo das especificações J2EE é oferecer aos clientes a chance de escolha de um fornecedor de produtos e ferramentas, encorajando a competição entre esses fornecedores por oferecer produtos de alta qualidade. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="western" style="line-height: 150%;" lang="pt-PT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; Já é conhecido que o J2EE foi concebido para arquitetura baseada do lado do servidor pela linguagem de programação Java. Pode ser utilizado para construção de tradicionais web sites à componentes de software. O J2EE foi estendido para suportar a construção de web services baseados em XML. Esses web services podem possuir interoperabilidade com outros web services que podem ou não ter sido escritos com o padrão J2EE.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; A tecnologia J2EE através da API  JAX-RPC permite a interoperabilidade com Java. JAX-PRC significa API Java para PRC baseado em XML, é uma tecnologia para construir serviços e clientes de Web Services que utilizam chamadas de procedimento remoto e XML. Freqüentemente usados em um modelo cliente-servidor distribuído, um mecanismo RPC habilita os clientes a executar procedimentos em outros sistemas.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; Em JAX-RPC, uma chama de procedimento remoto é representada por um protocolo baseado em XML, como SOAP, por exemplo.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; Embora as mensagens SOAP sejam complexas, a API JAX-RPC oculta esta complexidade para o desenvolvedor da aplicação. No lado do servidor, o desenvolvedor especifica os procedimentos remotos definindo método em uma interface Java. Uma ou mais classes que implementam essa interface também precisam ser codificadas. No lado cliente, a API  JAX-RPC também fornece uma forma bem definida de encapsular a complexidade da execução de um Web Services.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; Com JAX-RPC, clientes e Web Services têm uma grande vantagem, a independência de plataforma da linguagem de programação Java . Além disso, JAX-RPC não é restritivo, ou seja, um cliente JAX-RPC pode acessar um Web Services que não esteja rodando na plataforma Java, e vice-versa. Essa flexibilidade é possível por JAX-RPC utiliza tecnologias definidas pela World Wide Consortion (W3C) – HTTP, SOAP e WSDL.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2 class="western"&gt;Tipos suportado por JAX-RPC&lt;/h2&gt; &lt;p class="western" style="line-height: 150%;"&gt;&lt;span lang="pt-PT"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color:#000000;"&gt; A API JAX-RPC mapeai os tipos da linguagem de programação Java para definições XML/WSDL. Po exemplo, JAX-RPC mapeia a classe &lt;i&gt;java.lang.String &lt;/i&gt;&lt;span style="font-style: normal;"&gt;para o tipo de dado XML &lt;/span&gt;&lt;i&gt;xsd:string&lt;/i&gt;&lt;span style="font-style: normal;"&gt;. O desenvolvedor do aplicativo na precisa saber os detalhes destes mapeamentos, mas devem estar conscientes de nem toda classe da plataforma Java (J2SE) pode ser usada como parametro de metodo ou tipo de retorno em JAX-RPC.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;Os seguintes tipos Java são suportados por JAX-RPC:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Classes&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.lang.Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.lang.Byte&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.lang.Double&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.lang.Float&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.lang.Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.lang.Long&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.lang.Short&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.lang.String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.math.BigDecimal.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.math.BigInteger&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.net.URI&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.uitl.Calendar&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;java.uitl.Date&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Primitivos&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;byte&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;double&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;long&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;short&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Arrays&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;JAX-RPC também suporta arrays que possuam membros de tipos suportados por JAX-RPC. Exemplos de arrays suportados são int[] e String[]. Arrays multidimencional, tais como BigDecimal[][], também sao suportados.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Componentes JavaBeans&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; JAX-RPC também suporta componentes JavaBeans, que devem obedecer ao mesmo conjunto de regras, como as classes de aplicativos. Além disso, um componente JavaBean deve possuir um metodo getter e um setter para cada propriedade do bean. O tipo de propriedade do bean deve ser um tipo JAX-RPC suportado. &lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;h2 class="western"&gt;Tecnologias J2EE para Web Services&lt;/h2&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; Graças ao fato de XML e Java trabalharem de maneira tão coesa juntas, ambas tecnologias aos poucos se tornaram um ponto central para os Web services. Em Java, já na versão J2EE 1.3, já se era encontrado todos os recursos necessários para infraestrutura de Web Services. A versão atual  apresenta integração nativa com Web Services.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; A disseminação no uso de web services nos últimos anos incentivou o mercado e a comunidade Java a oferecer uma grande variedade de ferramentas e aplicações para prover suporte a essa tecnologia. Atualmente, as principais plataformas para web services, Sun Microsystems, IBM, BEA, Oracle, Apache fornece uma leque diversificado aplicações para criar, manipular e executar Web services. &lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; A IBM é um fornecedor altamente diversificado de tecnologias e ferramentas para web services e servidores de aplicação. O IBM WebSphere Software Developer Kit for Web Services (WSDK V5.0.1) é um conjunto de ferramentas para a criação, busca, invocação e testes para web services. O WSDK versão 5.0.1 encontra-se em conformidade com as últimas versões das especificações para web services incluindo WS-Security, SOAP, WSDL e UDDI. Entre as principais ferramentas de desenvolvimento, podem ser citadas o WebSphere Studio Application Developer (IDE), Web Services Gateway, Web Services Invocation Framework e o UDDI Explorer.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; O Java Web Services Developer Pack (Java WSDP) é um conjunto de ferramentas integradas e gratuitas que permite desenvolvedores Java implementarem e testarem aplicações web com XML e web services. O Java WSDP engloba as APIs de Java para XML, Java Architecture for XML Binding (JAXB), JavaServer Faces, Web Services Interoperability Sample Application, Web Services Security, JavaServer Pages Standard Tag Library (JSTL) e Java WSDP Registry Server. As ferramentas Ant Build Tool e Apache Tomcat container também fazem parte deste pacote distribuído pela Sun. O servidor de aplicação da Sun é o Sun ONE™ Application Server 7.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="font-style: normal; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; Saindo de sistemas proprietarios e entrando em sistemas do Web Services abertos e desenvolvidos pela comunidade Java, encontramos o servidor de Web Services Apache Axis. Apache Axis é um projeto open source para um servidor e cliente SOAP. Axis é considerado basicamente um SOAP engine – um framework para a construção de processadores de mensagens SOAP. Atualmente está implementado apenas na linguagem Java, mas uma versão para cliente C++ está em andamento.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-5752316647337779051?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/5752316647337779051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/5752316647337779051'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/07/j2ee-e-web-services.html' title='J2EE e Web Services'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-1247640745982964326</id><published>2007-07-27T21:43:00.001-03:00</published><updated>2007-07-27T21:43:47.138-03:00</updated><title type='text'>Interoperabilidade</title><content type='html'>&lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt;Interoperabilidade é a capacidade de um sistema de se comunicar de forma transparente (ou o mais próximo disso) com outro sistema (semelhante ou não). Para um sistema ser considerado interoperável, é muito importante que ele trabalhe com padrões abertos.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; A interoperabilidade entre sistemas de informação está se tornando fundamental para o compartilhamento da informação em ambientes corporativos, onde normalmente diversos sistemas são usado para armazenar dados  e objetos de negócio, em sistemas computacionais distintos e em regiões geograficamente distribuídas. Devido à diversidade existente entre estes sistemas, a integração as vezes torna-se difícil. Os problemas de interoperabilidade podem ser técnicos, onde os componentes de computação dos sistemas não permitem a cooperação devido às diferenças nos protocolos de comunicação ou semânticos, ocasionados devido à diversidade de representação da informação transmitida. &lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; Web Services são na essência interoperabilidade conectando programas e aplicações a outros programas e aplicações, especialmente quando estes são desenvolvidos usando diferentes linguagens, ferramentas ou plataformas. A tecnologia chave para esse fim, o XML, tem todo um potencial de implementação e integração com a tecnologia J2EE. Outros padrões como SOAP, UDDI, WSDL fornecem uma base para interoperabilidade entre serviços. &lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 150%;" lang="pt-PT"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-size:100%;"&gt; Para construir sistemas baseados em web services, existem mais requisitos que os seus olhos podem ver. Seus web services deverão ser confiáveis, ter alta disponibilidade, tolerante a falhas e escaláveis. Essas necessidades não são diferentes das mesmas existentes em outras aplicações corporativas. Todos esses requisitos são suportados e podem ser implementados com Java e a tecnologia J2EE.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-1247640745982964326?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/1247640745982964326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/1247640745982964326'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/07/interoperabilidade.html' title='Interoperabilidade'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-4485956318097948220</id><published>2007-06-21T18:07:00.003-03:00</published><updated>2007-06-21T18:07:57.312-03:00</updated><title type='text'>Os diagramas da UML não precisam ser completos</title><content type='html'>&lt;p class="MsoNormal"&gt;Um diagrama provê uma parcial representação do sistema. Ele ajuda a compreender a arquitetura do sistema em desenvolvimento. A UML não é um método de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como projetar seu sistema, mas ela lhe auxilia a visualizar seu desenho e a comunicação entre objetos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Dessa forma a UML nos permite ignorarmos alguns detalhes de sintaxe na descrição dos diagramas, desde que os diagramas mantenham o foco na especificação, construção, visualização, e documentação dos artefatos de um software&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-4485956318097948220?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4485956318097948220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4485956318097948220'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/os-diagramas-da-uml-no-precisam-ser.html' title='Os diagramas da UML não precisam ser completos'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-2189056470689798191</id><published>2007-06-21T18:07:00.001-03:00</published><updated>2007-06-21T18:07:34.340-03:00</updated><title type='text'>Diagramas de estados são distintos de diagramas de atividades</title><content type='html'>&lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Os diagramas de atividade e de estado especificam o comportamento de uma entidade só, seja um objeto instância de uma classe, uma operação ou um sistema. Um diagrama começa ao estado inicial que marca o começo da operação ou do sistema, a criação do objeto, etc. A ”execução” vai seguir as transições de estados em estados (de atividade ou de ação). Um diagrama pode não ter de estado final enquanto não a fim prevista à vida do objeto. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;O objetivo do diagrama de atividades é mostrar o fluxo de atividades em um único processo. O diagrama mostra como uma atividade depende uma da outra. É essencialmente um gráfico de fluxo, mostrando o fluxo de controle de uma atividade para outra. Comumente isso envolve a modelagem das etapas seqüenciais em um processo computacional. Os diagramas de atividade não são importantes somente para a modelagem de aspectos dinâmicos de um sistema ou um fluxograma, mas também para a construção de sistemas executáveis por meio de engenharia de produção reversa. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoIndexHeading"&gt;O objetivo do diagrama de estado ilustra os eventos e os estados interessantes de um objeto e o comportamento de um objeto em reposta a um evento, mostrando o ciclo de vida de um objeto, os eventos pelos quais ele passa, as suas transições e os estados em que ele está entre estes eventos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-2189056470689798191?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/2189056470689798191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/2189056470689798191'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/diagramas-de-estados-so-distintos-de.html' title='Diagramas de estados são distintos de diagramas de atividades'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-8298843351743265147</id><published>2007-06-21T18:06:00.002-03:00</published><updated>2007-06-21T18:07:10.487-03:00</updated><title type='text'>Cada classe deve poCada classe deve possuir responsabilidades bem definidasssuir responsabilidades bem definidas</title><content type='html'>&lt;p class="MsoBodyText"&gt;Existem muitas atividades e artefatos possiveis na analise e no projeto, bem como um rico conjunto de principios e diretrizes. Num sistema orientado a objetos a habilidade individual mais importante na analise do projeto é a atribuição de responsabilidade dos componentes do software. Pois é esta atividade que deve ser executada, inevitavelmente, e que tem o efeito mais profundo sobre robustez, a facilidade de manutenção e a re-usabilidade dos componentes do software. Num segundo nivel de importancia, mas nao menos importante, identificar os objetos e abstrações adequadas são fundamentais num processo de desenvolvimento de software orientado a objetos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Mesmo num processo de desenvolvimento onde o desenvolvedor nao executa as atividades de analise ou projeto, o chamado processo de desenvolvimento do tipo “corrida para codificação”, a atribuição de responsabilidades é inevitável.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-8298843351743265147?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/8298843351743265147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/8298843351743265147'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/cada-classe-deve-pocada-classe-deve.html' title='Cada classe deve poCada classe deve possuir responsabilidades bem definidasssuir responsabilidades bem definidas'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-4435995211976325922</id><published>2007-06-21T18:06:00.001-03:00</published><updated>2007-06-21T18:06:34.913-03:00</updated><title type='text'>A ordem de realização das atividades em um processo de software é importante</title><content type='html'>&lt;p class="MsoBodyText"&gt;Para se criar um software de qualidade que atenda as espectativas do cliente é necessário uma descrição do problema e de seus requisitos, o que é problema e o que o sistema tem que fazer. A análise enfatiza uma investigação do problema, de como uma solução é definida. Também é necessário ter uma descrição de alto nivel e descrição detalhada da solução e de como ela atende os requisitos e as restrições. Após todos esses passos de analise, seguir uma boa metodologia de desenvolvimento, escolher adequadamente a tecnologia junto a aplicação de patterns.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;Durante a analise orientada a objetos, há uma enfase na descoberta e na descrição do objetos, ou conceitos, do dominio do problema. Por exemplo, no caso de um sistema de informação para biblioteca, alguns conceitos incluem &lt;i&gt;Livro, Biblioteca e Usuário&lt;/i&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;Durante o projeto orientado a objeto existe uma enfase na definição de elementos lógicos de software. Estes objetos de softwares tem atributos e metodos. Seguindo o exemplo, o objeto &lt;i&gt;Livro&lt;/i&gt; pode ter um atributo &lt;i&gt;título&lt;/i&gt; e um metodo &lt;i&gt;imprimir&lt;/i&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;Finalmente, durante a construção do programação, os componentes do projeto são implementados, tais como uma classe &lt;i&gt;Livro&lt;/i&gt; em C++, Java, C#, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoIndexHeading"&gt;A ordem que estas atividades são realizadas está fortemente ligada a qualidade final do produto entregue ao cliente. Por isso a importancia de realizar numa derminada ordem as atividades.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-4435995211976325922?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4435995211976325922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/4435995211976325922'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/ordem-de-realizao-das-atividades-em-um.html' title='A ordem de realização das atividades em um processo de software é importante'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-3490997291510693550</id><published>2007-06-21T18:04:00.000-03:00</published><updated>2007-06-21T18:06:06.668-03:00</updated><title type='text'>Diagramas de casos de uso possuem um foco abrangente e de poucos detalhes enquanto diagramas de seqüência possuem um foco mais restrito e detalhado.</title><content type='html'>&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Compreender os requisitos, em parte, compreender os processos do dominio externo de uma forma mais abrangente,&lt;span style=""&gt;  &lt;/span&gt;mostrar como o sistema interage com seu meio ambiente e descrever as operações que o sistema deve cumprir, são funções de um diagrama de caso de uso.&lt;span style=""&gt;  &lt;/span&gt;Por serem de facil compreensão, tanto por desenvolvedores e por pessoas da área de negócio, são uma excelente ponte entre o desenvolvedor e os usuários do software. Casos de uso não são um artefato exclusivo da orientação a objeto, e por sua vez podem ser usados num projeto que não usa orientação a objeto. Assim a abrangencia de um caso de uso é maior no ponto de vista funcional, deixando os detalhes de implementação serem demonstrados pelos diagramas de sequencia, que representam as interações entre o sistema e seus atores e promove as funcionalidades ou serviços do sistema numa maneira mais restrita.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-3490997291510693550?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3490997291510693550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/3490997291510693550'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/diagramas-de-casos-de-uso-possuem-um.html' title='Diagramas de casos de uso possuem um foco abrangente e de poucos detalhes enquanto diagramas de seqüência possuem um foco mais restrito e detalhado.'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-6416583299706103099</id><published>2007-06-21T17:56:00.001-03:00</published><updated>2007-06-21T18:03:27.839-03:00</updated><title type='text'>Um bom sistema possui uma estrutura de classes com baixo acoplamento e alta coesão</title><content type='html'>&lt;span lang="PT"&gt;Quando nos referimos a um sistema de classes com baixo acoplamento estamos medindo a interligação entre diferentes classes em um sistema [12 pág. 18], ou seja, quanto uma classe conhece e dependente de outra. Classes com baixo acoplamento são mais fáceis de serem entendidas, testadas, reusadas e mantidas, porque podem ser isoladas e trabalhadas individualmente. Além de todas as vantagens, um sistema com classes de baixo acoplamento promove o paralelismo na implementação do sistema, diminuindo o tempo de desenvolvimento e aumenta a produtividade da equipe.&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Por outro lado, um caso extremo de baixo acoplamento é quando não existe ou existe muito pouco acoplamento entre as classes. Isso não é desejável porque uma metáfora central da tecnologia de objetos é um sistema composto de objetos conectados que se comunicam através de mensagens. Se o acoplamento baixo é aplicado em excesso, leva a um projeto fraco, porque conduz a uns poucos objetos ativos, sem coesão, inchados e complexos que efetuam todo trabalho. Ao mesmo tempo existirão muitos objetos praticamente passivos, com acoplamento zero, que funcionem como simples repositórios de dados.&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Já quando falamos em coesão estamos medindo o quão relacionadas ou focadas estão as responsabilidades da classe [12 pág. 19]. Uma classe com baixa coesão assume responsabilidades que pertencem a outro contexto, com isso torna-se mais difícil de ser entendida, reusada e mantida. Classes de coesão baixa representam, geralmente, uma abstração de grande granularidade ou, então, assumiriam responsabilidades que deveriam ter sido delegadas a outros objetos.&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Grady Booch descreve a coesão funcional alta como algo que existe quando os elementos de um componente (tal como uma classe) “trabalham todos em conjunto, para fornecer algum comportamento bem-delimitado” [14].&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Uma série de benefícios é relacionada com a coesão alta, como a clareza e a facilidade de compreensão do projeto aumenta, a manutenção e as melhorias são simplificadas, freqüentemente o baixo acoplamento é favorecido, e a granularidade de funcionalidades altamente relacionadas suporta o aumento do potencial de reutilização, porque uma classe altamente coesiva pode ser usada para uma finalidade muito especifica.&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Como exemplo, considere o seguinte diagrama de classe parcial de uma aplicação de venda. Suponha que necessitamos criar uma instância de &lt;i&gt;Pagamento&lt;/i&gt; de associá-la a &lt;i&gt;Venda&lt;/i&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kgG47Qe5qAs/RnrmTvO54rI/AAAAAAAAAAM/6w9CceEWbEM/s1600-h/exemplo2.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_kgG47Qe5qAs/RnrmTvO54rI/AAAAAAAAAAM/6w9CceEWbEM/s320/exemplo2.png" alt="" id="BLOGGER_PHOTO_ID_5078624756584538802" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="font-size: 12pt;"&gt;Qual classe deveria ser responsável por criar &lt;i&gt;Pagamento&lt;/i&gt;? Se a classe &lt;i&gt;POST&lt;/i&gt; for responsável em criar o &lt;i&gt;Pagamento&lt;/i&gt;, a instância de &lt;i&gt;POST &lt;/i&gt;poderia, então, enviar uma mensagem acrescentar pagamento para &lt;i&gt;Venda&lt;/i&gt;, passando junto um novo &lt;i&gt;Pagamento&lt;/i&gt; como parâmetro&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_kgG47Qe5qAs/RnrmjfO54sI/AAAAAAAAAAU/47xR-4xo6tI/s1600-h/exemplo3.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_kgG47Qe5qAs/RnrmjfO54sI/AAAAAAAAAAU/47xR-4xo6tI/s320/exemplo3.png" alt="" id="BLOGGER_PHOTO_ID_5078625027167478466" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Esta atribuição de responsabilidade acopla a classe &lt;/span&gt;&lt;i&gt;&lt;span lang="PT"&gt;POST &lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt;a conhecimento da classe &lt;/span&gt;&lt;i&gt;&lt;span lang="PT"&gt;Pagamento. &lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt;Neste exemplo isolado, isso é aceitável, porém se continuarmos a fazer a classe &lt;/span&gt;&lt;i&gt;&lt;span lang="PT"&gt;POST &lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt;responsável por realizar algum trabalho ou a maior parte dele, o qual esta relacionada cada vez mais operações do sistema, ela se tornará progressivamente mais carregada com tarefas e perderá sua coesão e conseqüentemente o acoplamento será desfavorecido.&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Uma solução alternativa para criar &lt;i&gt;Pagamento&lt;/i&gt; e associá-lo à &lt;i&gt;Venda &lt;/i&gt;é mostrada na próxima figura:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_kgG47Qe5qAs/RnrnKPO54tI/AAAAAAAAAAc/FLpQwkNZG5o/s1600-h/exemplo4.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_kgG47Qe5qAs/RnrnKPO54tI/AAAAAAAAAAc/FLpQwkNZG5o/s320/exemplo4.png" alt="" id="BLOGGER_PHOTO_ID_5078625692887409362" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;No que diz respeito ao acoplamento, o segundo exemplo ilustrado é preferível porque é mantido um acoplamento geral mais fraco. Sob o ponto de vista da coesão o segundo exemplo favorece uma coesão mais alta em &lt;/span&gt;&lt;i&gt;&lt;span lang="PT"&gt;POST.&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Por fim, tanto o acoplamento baixo como a coesão alta são princípios a serem levados em conta em todas a decisões do projeto como padrões de avaliação, ou seja, padrões que um projetista avalia em todas as decisões de projeto.&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-6416583299706103099?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/6416583299706103099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/6416583299706103099'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/um-bom-sistema-possui-uma-estrutura-de.html' title='Um bom sistema possui uma estrutura de classes com baixo acoplamento e alta coesão'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kgG47Qe5qAs/RnrmTvO54rI/AAAAAAAAAAM/6w9CceEWbEM/s72-c/exemplo2.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-2562484074734117209</id><published>2007-06-21T17:55:00.003-03:00</published><updated>2007-06-21T17:55:56.096-03:00</updated><title type='text'>Overriding (sobreposição)</title><content type='html'>&lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Na programação orientada a objetos é a característica da linguagem que permitir uma subclasse implementar um método existente na superclasse. A implementação da subclasse sobrepõe o método, com mesmo nome e mesma assinatura, da classe pai. Por exemplo:&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;public class SuperClasse &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;public void imprimir()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang="PT"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;// faz alguma coisa.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;public class SubClasse extends SuperClasse &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;            &lt;/span&gt;// este método sobrepoe o metodo definido na classe&lt;span style=""&gt;  &lt;/span&gt;SuperClasse.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;public void imprimir()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang="PT"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;// faz alguma coisa.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-2562484074734117209?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/2562484074734117209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/2562484074734117209'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/overriding-sobreposio.html' title='Overriding (sobreposição)'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-90710140954078668</id><published>2007-06-21T17:55:00.001-03:00</published><updated>2007-06-21T17:55:25.544-03:00</updated><title type='text'>Overloading (sobrecarga)</title><content type='html'>&lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Se dois métodos de uma classe têm o mesmo nome, mas diferente assinatura (parâmetros de tipos diferentes) então dizemos que esse método foi &lt;/span&gt;&lt;i&gt;&lt;span lang="PT"&gt;sobrecarregado&lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt;. O &lt;/span&gt;&lt;i&gt;&lt;span lang="PT"&gt;overloading&lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt; é um truque de compilação que permitir usar o mesmo nome de método para executar diferentes ações dependendo dos parâmetros. &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Por exemplo:&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;public class TesteOverloading {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;public void somar(int x, int y)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;System.out.println(“soma de inteiros = ” + (x + y));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;public void somar(double x, double y)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;System.out.println(“soma de decimais = ” + (x + y));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang="PT"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-90710140954078668?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/90710140954078668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/90710140954078668'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/overloading-sobrecarga.html' title='Overloading (sobrecarga)'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-637328343895630282</id><published>2007-06-21T17:54:00.002-03:00</published><updated>2007-06-21T17:55:06.909-03:00</updated><title type='text'>Generalização e Herança</title><content type='html'>&lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Generalização e herança são abstrações poderosas para compartilhar similaridades entre classes e ao mesmo tempo preservar suas diferenças. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;i style=""&gt;&lt;span lang="PT"&gt;Generalização&lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt; é o relacionamento entre uma classe e um ou mais versões refinadas (especializadas) desta classe. A classe sendo refinada é chamada de superclasse ou &lt;/span&gt;&lt;i style=""&gt;&lt;span lang="PT"&gt;classe base&lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt;, enquanto que a versão refinada da classe é chamada uma subclasse ou &lt;/span&gt;&lt;i style=""&gt;&lt;span lang="PT"&gt;classe derivada&lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt;. Atributos e operações comuns a um grupo de classes derivadas são colocadas como atributos e operações da classe base, sendo compartilhados por cada classe derivada. Diz-se que cada classe derivada &lt;/span&gt;&lt;i style=""&gt;&lt;span lang="PT"&gt;herda&lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt; as características de sua classe base. Algumas vezes, generalização é chamada de relacionamento &lt;/span&gt;&lt;i style=""&gt;&lt;span lang="PT"&gt;is-a&lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt; (é-um), porque cada instância de uma classe derivada é também uma instância da classe base. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Generalização e herança são transitivas, isto é, podem ser recursivamente aplicadas a um número arbitrário de níveis. Cada classe derivada não apenas herda todas as características de todos seus ancestrais como também pode acrescentar seus atributos e operações específicas [10]. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A generalização é um conceito aplicado no momento de criação das classes. Ela é usada na intenção de evitar que classes que possuam atributos ou métodos semelhantes sejam repetidamente criadas. Como exemplo pode-se observar as classes 'aluno' e 'professor', onde ambas possuem atributos como nome, endereço e telefone. Nesse caso pode-se criar uma nova classe chamada, por exemplo, 'pessoa', que contenha as semelhanças entre as duas classes, fazendo com que aluno e professor herdem as características de pessoa, desta maneira pode-se dizer que aluno e professor são subclasses de pessoa.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-637328343895630282?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/637328343895630282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/637328343895630282'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/generalizao-e-herana.html' title='Generalização e Herança'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-2881190271676063386</id><published>2007-06-21T17:54:00.001-03:00</published><updated>2007-06-21T17:54:42.654-03:00</updated><title type='text'>Encapsulamento</title><content type='html'>&lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;A capacidade que um objeto tem de impedir que outros objetos tenham acesso aos seus dados é denominado de encapsulamento. O encapsulamento é a técnica empregada para garantir a ocultação de informação na qual a interface e implementação de uma classe são separadas sintaticamente. Com isso, somente os métodos pertencentes a um objeto podem ter acesso aos dados encapsulados. O encapsulamento encoraja a modularidade do programa e permite que decisões de projetos fiquem “escondidas” dentro da implementação de modo a restringir possíveis interdependências com outras classes, exceto por meio da sua interface [6].&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Assim como abstração, o conceito de encapsulamento não é exclusivo da abordagem de orientação a objetos. Entretanto, a habilidade de se combinar estrutura de dados e comportamento em uma única entidade torna o encapsulamento mais elegante e mais poderoso do que em linguagens convencionais que separam estruturas de dados e comportamento [11]. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Um bom exemplo de encapsulamento seria um disco rígido. A interface do disco rígido deixa acessível ao computador (cliente) suas funções de leitura e escrita, os dispositivos mecânicos e eletromagnéticos que o HD utiliza para realizar tais operações não fica acessível ao seu cliente estando assim encapsulados.&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Os exemplos a seguir foram escritor utilizando a linguagem Java. Entretanto, a idéia aplica-se a qualquer linguagem de programação OO. Atente ao fato de que cada linguagem de programação define os literais de palavra reservada para definir seus modificadores de acesso.&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Sem encapsulamento:&lt;em&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;class NaoEncapsulado {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;   &lt;/span&gt;//implicitamentamente há modificador, mas não é o mais restritivo.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;int semProtecao; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;public class TesteNaoEncapsulado {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;public static void main(String[] args) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span lang="PT"&gt;NaoEncapsulado ne = new NaoEncapsulado(); //ne é uma instância de NaoEncapsulado&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;        &lt;/span&gt;ne.semProtecao = 10; //acesso direto ao atributo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;        &lt;/span&gt;System.out.println("Valor sem proteção: " + ne.semProtecao); //acesso direto ao atributo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;}&lt;/span&gt;&lt;/em&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Com encapsulamento:&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;class Encapsulado {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;   &lt;/span&gt;//private é um modificador de acesso de restrição máxima&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;private int comProtecao;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span lang="PT"&gt;public void setComProtecao(int comProtecao) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;       &lt;/span&gt;this.comProtecao = comProtecao;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;public int getComProtecao() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;       &lt;/span&gt;return this.comProtecao;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;public class TesteEncapsulado {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;public static void main(String[] args) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span lang="PT"&gt;Encapsulado e = new Encapsulado(); //"e" é uma instância de Encapsulado&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;       &lt;/span&gt;//acesso direto a um atributo protegido implicará em erro de compilação.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;       &lt;/span&gt;e.comProtecao = 10;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;       &lt;/span&gt;//deve-se acessar o atributos de forma indireta, encapsulado.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;       &lt;/span&gt;e.setComProtecao(10);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;       &lt;/span&gt;System.out.println("Valor com proteção: " + e.getComProtecao());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;&lt;span style=""&gt;   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;em&gt;&lt;span lang="PT"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-2881190271676063386?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/2881190271676063386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/2881190271676063386'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/encapsulamento.html' title='Encapsulamento'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-46842161673068878</id><published>2007-06-21T17:53:00.001-03:00</published><updated>2007-06-21T17:54:12.257-03:00</updated><title type='text'>Polimorfismo</title><content type='html'>&lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura), mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de &lt;/span&gt;&lt;i&gt;&lt;span lang="PT"&gt;ligação tardia &lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt;[7]&lt;/span&gt;&lt;i&gt;&lt;span lang="PT"&gt;. &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Quando o método a ser invocado é definido durante a compilação do programa, o mecanismo de &lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span style="font-weight: normal;" lang="PT"&gt;ligação prematura&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span lang="PT"&gt; &lt;/span&gt;&lt;em&gt;&lt;span lang="PT"&gt;(early binding)&lt;/span&gt;&lt;/em&gt;&lt;span lang="PT"&gt; é utilizado. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Para a utilização de polimorfismo, a linguagem de programação orientada a objetos deve suportar o conceito de &lt;/span&gt;&lt;strong&gt;&lt;i&gt;&lt;span style="font-weight: normal;" lang="PT"&gt;ligação tardia&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;span lang="PT"&gt; &lt;/span&gt;&lt;em&gt;&lt;span lang="PT"&gt;(late binding)&lt;/span&gt;&lt;/em&gt;&lt;span lang="PT"&gt;, onde a definição do método que será efetivamente invocado só ocorre durante a execução do programa. O mecanismo de ligação tardia também é conhecido pelos termos &lt;/span&gt;&lt;em&gt;&lt;span lang="PT"&gt;dynamic binding&lt;/span&gt;&lt;/em&gt;&lt;span lang="PT"&gt; ou &lt;/span&gt;&lt;em&gt;&lt;span lang="PT"&gt;run-time binding &lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-style: normal;" lang="PT"&gt;[8]&lt;/span&gt;&lt;/em&gt;&lt;span lang="PT"&gt;. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Na programação, o polimorfismo permite uma extensão continuada do design. Quando novas classes são criadas, elas podem adicionar novos comportamentos a uma função já existente [2].&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-46842161673068878?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/46842161673068878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/46842161673068878'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/polimorfismo.html' title='Polimorfismo'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-5729364014166207378</id><published>2007-06-21T17:52:00.003-03:00</published><updated>2007-06-21T17:52:58.779-03:00</updated><title type='text'>Objeto</title><content type='html'>&lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Oficialmente, objeto significa a instancia de uma classe [2]. Mas podemos encontrar uma série de definições para objetos: “um objeto tem o estado, comportamento, e identidade; a estrutura e o comportamento de objetos similares são definidos em sua classe comum; os termos instancia e objeto são permutáveis” [4].&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Objetos têm dois propósitos: promover o entendimento do mundo real e suportar uma base prática para uma implementação computacional. Não existe uma maneira “correta” de decompor um problema em objetos; esta decomposição depende do julgamento do projetista e da natureza do problema. Todos objetos têm identidade própria e são distinguíveis [1].&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Todo objeto sabe a que classe ele pertence, ou seja, a classe de um objeto é um atributo implícito do objeto. Este conceito é suportado na maior parte das linguagens de programação orientada a objeto [1]. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;O termo objeto foi aplicado formalmente pela primeira vez na linguagem de programação &lt;/span&gt;&lt;i&gt;&lt;span lang="PT"&gt;Simula, &lt;/span&gt;&lt;/i&gt;&lt;span lang="PT"&gt;e nessa linguagem objetos tipicamente existem para simular alguns aspectos da realizada [4].&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-5729364014166207378?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/5729364014166207378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/5729364014166207378'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/objeto.html' title='Objeto'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-839729102186299190</id><published>2007-06-21T17:52:00.001-03:00</published><updated>2007-06-21T17:52:41.371-03:00</updated><title type='text'>Classe</title><content type='html'>&lt;p class="MsoNormal"&gt;Em termos gerais uma classe denota classificação e também tem um novo significado nos métodos de orientação a objetos. No contexto OO, a classe é a especificação da estrutura (atributos), comportamento (métodos), e herança (classes pai, ou estrutura recursiva e comportamento) para objetos [3]. Uma &lt;i style=""&gt;classe de objetos&lt;/i&gt; descreve um grupo de objetos com propriedades similares, comportamento similar, relacionamentos comuns com outros objetos e uma semântica comum. Por exemplo, &lt;i style=""&gt;Pessoa&lt;/i&gt; e &lt;i style=""&gt;Companhia&lt;/i&gt; são classes de objetos. Cada pessoa tem um nome e uma idade; estes seriam os atributos comuns da classe. Companhias também podem ter os mesmos atributos nome e idade definida. Entretanto, devido à distinção semântica elas provavelmente estariam agrupados em outra classe que não &lt;i style=""&gt;Pessoa&lt;/i&gt;. Como se pode observar, o agrupamento em classes não leva em conta apenas o compartilhamento de propriedades [1].&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-839729102186299190?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/839729102186299190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/839729102186299190'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/classe.html' title='Classe'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-6966739031851666602</id><published>2007-06-21T17:49:00.000-03:00</published><updated>2007-06-21T17:52:01.055-03:00</updated><title type='text'>Classes e Objetos</title><content type='html'>&lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Se observarmos nosso meio, quase tudo o que nos cerca podemos chamar de objetos. Até mesmo muitas das tarefas e ações que fazemos são executadas sobre objetos ou, são tarefas que se relacionam a objetos.&lt;span style=""&gt;  &lt;/span&gt;Carros, livros, copos, roupas, dinheiro... Por vezes os objetos são compostos por outros objetos... Nós humanos pensamos e lidamos com objetos naturalmente. Para quase todos objetos podemos atribuir, ou reconhecer, características, como: cor, tamanho, forma etc. Para outros objetos podemos inclusive atribuir comportamentos, ou funções, como locomoção, alimentação e outras várias. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Um modelo de objetos busca capturar a estrutura estática de um sistema mostrando os objetos existentes, seus relacionamentos, e atributos e operações que caracterizam cada classe de objetos. É através do uso deste modelo que se enfatiza o desenvolvimento em termos de objetos ao invés de mecanismos tradicionais de desenvolvimento baseado em funcionalidades, permitindo uma representação mais próxima do mundo real [1]. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;A tecnologia da orientação a objetos permite aos designers de sistemas construir estruturas com somente de dados, dados-e-funções, ou somente funções [2]. Dessa forma reduzindo custo, diminuindo o acoplamento e permitindo um maior reaproveitamento de código.&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Usando a abordagem de entendimento por exemplos, vamos imaginar que estamos diante de um monitor de computador (ou de um console de vídeo game) que mostre, por exemplo, uma tartaruga numa determinada ação, correndo, ou melhor, vagarosamente se locomovendo. Obviamente que esta deve ser uma tartaruga virtual. Vamos chamá-la de um &lt;/span&gt;&lt;strong&gt;&lt;span lang="PT"&gt;objeto&lt;/span&gt;&lt;/strong&gt;&lt;span lang="PT"&gt; virtual, algo que foi programado, ou seja, descrito através de um software que animava e propiciava aparência (cor e forma) a este objeto, a esta tartaruga virtual. &lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="PT"&gt;Com base no descrito acima e, considerando que o programador usou a &lt;/span&gt;&lt;strong&gt;&lt;span lang="PT"&gt;abordagem de orientação a objetos&lt;/span&gt;&lt;/strong&gt;&lt;span lang="PT"&gt; no desenvolvimento do seu programa, este programador descreveu em software os estados (as características) e comportamentos (as tarefas) possíveis de uma tartaruga virtual [1].&lt;/span&gt;&lt;span lang="PT"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;h1&gt;&lt;a name="_Toc169697253"&gt;Referência Bibliográfica&lt;/a&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/h1&gt;    &lt;p class="MsoNormal"&gt;&lt;b&gt;[1]&lt;/b&gt; &lt;a href="http://www.dca.fee.unicamp.br/cursos/POOCPP/node9.html"&gt;http://www.dca.fee.unicamp.br/cursos/POOCPP/node9.html&lt;/a&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="EN-US"&gt;[2]&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt; Cockburn, Alistair, Surving Object-Oriented Projects – The Agile Software Development&lt;o:p&gt;&lt;/o:p&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="EN-US"&gt;[3] &lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt;&lt;a href="http://www.ipipan.gda.pl/%7Emarek/objects/faq/oo-faq-S-1.3.html#S-1.3"&gt;http://www.ipipan.gda.pl/%7Emarek/objects/faq/oo-faq-S-1.3.html#S-1.3&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="EN-US"&gt;[4]&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt; Booch, Grady. Object-Oriented Design With Applications. &lt;/span&gt;&lt;span style="" lang="ES-TRAD"&gt;Benjamin Cummings.&lt;o:p&gt;&lt;/o:p&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="ES-TRAD"&gt;[5]&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="ES-TRAD"&gt; &lt;a href="http://dfm.ffclrp.usp.br/%7Eevandro/ibm1030/intro_classe/clas_obj.html"&gt;http://dfm.ffclrp.usp.br/~evandro/ibm1030/intro_classe/clas_obj.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="PT"&gt;[6]&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="PT"&gt; Vicenzi, Amauri Marcelo Rizzo. Tese do instituto de Ciências Matemáticas da Computação – ICMC-USP, maio 2004&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="PT"&gt;[7]&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="PT"&gt; &lt;a href="http://www.dca.fee.unicamp.br/cursos/PooJava/polimorf/index.html"&gt;http://www.dca.fee.unicamp.br/cursos/PooJava/polimorf/index.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoIndexHeading"&gt;&lt;b&gt;&lt;span style="" lang="PT"&gt;[8]&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="PT"&gt; http://www.dca.fee.unicamp.br/cursos/PooJava/polimorf/latebind.html&lt;o:p&gt;&lt;/o:p&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="PT"&gt;[10]&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="PT"&gt; &lt;a href="http://www.dca.fee.unicamp.br/cursos/POOCPP/node15.html"&gt;http://www.dca.fee.unicamp.br/cursos/POOCPP/node15.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="PT"&gt;[11]&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="PT"&gt; &lt;a href="http://www.dca.fee.unicamp.br/cursos/POOCPP/node7.html"&gt;http://www.dca.fee.unicamp.br/cursos/POOCPP/node7.html&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="EN-US"&gt;[12]&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt; Hohmann, Luke. Beyond Software Archtecture – Creating and Sustainning Winning Solutions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="PT"&gt;[13]&lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="PT"&gt; Larman, Graig. Yutilizando UML e Padrões – Uma introdução à análise de ao projeto orienteado a objetos.&lt;o:p&gt;&lt;/o:p&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="" lang="EN-US"&gt;[14] &lt;/span&gt;&lt;/b&gt;&lt;span style="" lang="EN-US"&gt;Booch, G. Object Solutions: Managing the Object-Oriented Projetc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-6966739031851666602?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/6966739031851666602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/6966739031851666602'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/classes-e-objetos.html' title='Classes e Objetos'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-8767480531380790435</id><published>2007-06-10T12:34:00.002-03:00</published><updated>2008-06-10T12:48:23.728-03:00</updated><title type='text'>Supermercado Compre Bem do Largo do Cambuci</title><content type='html'>Nada pode ser mais sujo e desorganizado que o supermercado Compre Bem localizado no Lago do Cambuci, em São Paulo.&lt;br /&gt;&lt;br /&gt;O espaço é muito desorganizado e sujo. O produtos nas prateleiras estão sempre com poeira. Eu já vi, mais de uma vez, baratas andando entre os produtos. Os legumes, frutas e verduras são de péssima qualidade e sujos.&lt;br /&gt;&lt;br /&gt;O atendimento é péssimo. Funcionários sem paciência com os clientes e com má vontade. Já presenciei diversas cenas de descaso com clientes. Um vez no setor de frios esperei uns 2 minutos para ser atendido, os funcionários estavam de papo no depósito atrás do balcão e simplesmente esqueceram que estavam trabalhando.&lt;br /&gt;&lt;br /&gt;Como odeio fazer compras nesse lugar. A impressão que tenho, é que esse Compre Bem é o resto do estoque e de funcionários da cadeia. Pois já comprei em outros Compre Bem, e este é o único com esses problemas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-8767480531380790435?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/8767480531380790435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/8767480531380790435'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/06/supermercado-compre-bem-do-largo-do.html' title='Supermercado Compre Bem do Largo do Cambuci'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-117035459958424640</id><published>2007-02-01T16:28:00.000-02:00</published><updated>2007-02-01T16:29:59.596-02:00</updated><title type='text'>dica de leitura</title><content type='html'>A ferro e fogo - Josué Guimarães&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-117035459958424640?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/117035459958424640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/117035459958424640'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2007/02/dica-de-leitura.html' title='dica de leitura'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-115429994380222745</id><published>2006-07-30T19:50:00.000-03:00</published><updated>2006-07-30T19:52:23.820-03:00</updated><title type='text'></title><content type='html'>Vergonha! Esse é o meu sentimento no monento. O que atorcida do gremio esta fazendo  no beira-rio é triste. Jogar fogo nos banheiros e tulmutuar o jogo. Uma vergonha.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-115429994380222745?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115429994380222745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115429994380222745'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2006/07/vergonha-esse-o-meu-sentimento-no.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-115394668783336291</id><published>2006-07-26T17:42:00.000-03:00</published><updated>2006-07-26T17:44:47.843-03:00</updated><title type='text'></title><content type='html'>dentro tinha uma ovo repartido ao meio... guisado, presunto e queijo... um monstro de 30 cm que teima em revirar meu estomago.&lt;br /&gt;&lt;br /&gt;pastel filha da p...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-115394668783336291?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115394668783336291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115394668783336291'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2006/07/dentro-tinha-uma-ovo-repartido-ao-meio.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-115378353800968068</id><published>2006-07-24T20:23:00.000-03:00</published><updated>2006-07-24T20:25:38.020-03:00</updated><title type='text'></title><content type='html'>já nem durmo mais direito... o meu time só me dá dor de cabeca. &lt;br /&gt;&lt;br /&gt;Perder para o Figueirese. Tá certo... jogamos com o time cheio de reservas. Mesmo assim perder para um timinho de SC... faça me o favor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-115378353800968068?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115378353800968068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115378353800968068'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2006/07/j-nem-durmo-mais-direito.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-115369994478072460</id><published>2006-07-23T21:09:00.000-03:00</published><updated>2006-07-23T21:13:12.970-03:00</updated><title type='text'></title><content type='html'>já esta tracado o plano. O colorado chegara a final da libertadores com o Chivas do Mexico, e é claro, perderá. Como os mexicanos nao sao filiados na conmebol, nao podem participar da disputa do titulo mundial no japao. &lt;br /&gt;&lt;br /&gt;O colorado vai para final no japao e perdera a final para o Barcelona. haha 2 gols de Ronaldinho Gaucho.&lt;br /&gt;&lt;br /&gt;Vice da libertadores e vice mundial. d+!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-115369994478072460?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115369994478072460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115369994478072460'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2006/07/j-esta-tracado-o-plano.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-115344836823439207</id><published>2006-07-20T23:14:00.000-03:00</published><updated>2006-07-20T23:27:00.070-03:00</updated><title type='text'>secar</title><content type='html'>secar é uma arte que exige muita concentracao e técnica. Mas ultimamente mesmo usando  as tecnicas dos maiores mestres tá complicado secar o colorado. Mas nao vou desitir, ainda falta a semi-final e a final.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-115344836823439207?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115344836823439207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115344836823439207'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2006/07/secar.html' title='secar'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-115344715814646699</id><published>2006-07-20T22:56:00.000-03:00</published><updated>2006-07-20T22:59:18.160-03:00</updated><title type='text'>rádio argentina</title><content type='html'>para quem gosta de ouvir futebol no rádio, uma dica para acompanhar o futebol argentino na net é a Rádio Continetal.&lt;br /&gt;&lt;br /&gt;http://www.continental.com.ar/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-115344715814646699?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115344715814646699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115344715814646699'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2006/07/rdio-argentina.html' title='rádio argentina'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-115245051037970633</id><published>2006-07-09T10:00:00.000-03:00</published><updated>2006-07-09T10:12:18.780-03:00</updated><title type='text'></title><content type='html'>Nao consigo me adapter com o desenvolvimento de sistemas para desktop. A maior dificuldade é criar uma interface grafica, arrastar componentes, organizar e adequar os componentes visuais dentro da tela. É uma dureza!!!&lt;br /&gt;&lt;br /&gt;Para fugir dos APIs graficas do Java (basicamente Swing e AWT) estou testando a versao embed do tomcat. Num primeiro momento esta me parecendo facil de trabalhar com esses container web. Este artigo http://www.vsj.co.uk/java/display.asp?id=319 da algumas dicas de como usar o tomcat embed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-115245051037970633?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115245051037970633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115245051037970633'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2006/07/nao-consigo-me-adapter-com-o.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-115051180053719507</id><published>2006-06-16T23:35:00.000-03:00</published><updated>2006-07-09T09:54:30.803-03:00</updated><title type='text'>artigo interessante</title><content type='html'>Create Desktop Applications with Java-Based Web Technologies&lt;br /&gt;&lt;br /&gt;http://www.onjava.com/pub/a/onjava/2003/09/17/macosxjava.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-115051180053719507?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115051180053719507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/115051180053719507'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2006/06/artigo-interessante.html' title='artigo interessante'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-114627119553353128</id><published>2006-04-28T21:38:00.000-03:00</published><updated>2006-04-28T21:39:55.543-03:00</updated><title type='text'>dica de leitura</title><content type='html'>A Metamorfose (Die Verwandlung em alemão), é um conto escrito por Franz Kafka, publicado pela primeira vez em 1915.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-114627119553353128?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/114627119553353128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/114627119553353128'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2006/04/dica-de-leitura.html' title='dica de leitura'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-114520359748206891</id><published>2006-04-16T13:05:00.000-03:00</published><updated>2006-07-20T23:40:52.013-03:00</updated><title type='text'>dicas de leitura</title><content type='html'>A Sangue Frio, Truman Capote.&lt;br /&gt;&lt;br /&gt;Cem Anos de Solidão, García Máquez.&lt;br /&gt;&lt;br /&gt;Paradiso, Lezama Lima&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-114520359748206891?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/114520359748206891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/114520359748206891'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2006/04/dicas-de-leitura.html' title='dicas de leitura'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-111973603618049219</id><published>2005-06-25T18:41:00.000-03:00</published><updated>2005-06-25T18:47:16.180-03:00</updated><title type='text'></title><content type='html'>Nem tudo está sendo ruim hoje. O Gremio ganhou do Santo André, 1x0. O jogo foi nervoso. O Gremio não jogou muito bem. Propos um estilo de jogo bem proprio da historia do Tricolor, muita marcassão e vontade. Não lembro de uma chance de gol clara do Santo André.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-111973603618049219?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/111973603618049219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/111973603618049219'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2005/06/nem-tudo-est-sendo-ruim-hoje.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-111758358775906611</id><published>2005-05-31T20:45:00.000-03:00</published><updated>2005-05-31T20:55:55.310-03:00</updated><title type='text'></title><content type='html'>Todo brasileiro gosta de criticar técnicos da seleção brasilieira, todo mundo quer escalar o time. Um técnico da seleção não deve viver em paz. Imaginem o que o Parreira não deve escutar todos os dias: "pô, como vc não escala o fulano...", "porque vc não tira do time o siclano", "bah Parreira, tem que convocar este aqui e aquele ali....".&lt;br /&gt;&lt;br /&gt;Nos últimos dias tá todo mundo reclamando da não convocação do Ronaldo. Eu por exemplo, acho que o Ronaldo e o Ronaldinho são os únicos jogadores intócaveis da Seleção. Mas o Parreira deve ter seus motivos. Ele não iria descartar um jogador como o Ronaldo apenas por birra.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-111758358775906611?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/111758358775906611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/111758358775906611'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2005/05/todo-brasileiro-gosta-de-criticar.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-111619512879993421</id><published>2005-05-15T19:11:00.000-03:00</published><updated>2005-05-15T19:12:21.580-03:00</updated><title type='text'>Da-le Grêmio!!!</title><content type='html'>&lt;p style="margin-bottom: 0cm;"&gt;A última rodada da séria A e B foi de 100% de aproveitamento para os gaúchos. A dupla Gre-nal e Caju ganharam seus jogos. Grêmio e Inter baterem os catarinenses Criciúma e Figueirense em Santa Catarina. O Inter com muita sorte venceu o fraco Figueirense, 1x2. O Grêmio com muita raça venceu o grande Criciúma por 0x2. Com grande atuação do craque Anderson e do goleiro Galatto, o Grêmio mostrou para Criciúma como uma equipe de futebol deve jogar. &lt;/p&gt;   &lt;p style="margin-bottom: 0cm;"&gt;Já no lado da Beira-rio, o colorado usou a vantagem de um jogador a mais, e conseguiu vencer com dois gols de Jorge Vagner. Os dois gols marcados no segundo tempo, o primeiro aos 2 e o segundo aos 40 minutos. O gol do Figueirense também foi marcado aos 31 do segundo tempo. Com a vitória Inter assume a 9ª colocação. &lt;/p&gt;   &lt;p style="margin-bottom: 0cm;"&gt;O Grêmio com esquema de muita marcação massacrou o Criciúma. Com gols de Saulo (contra) e Samuel, o Grêmio entrou no zona de classificação da série B e ocupa a 8ª posição. Uma posição na frente do Inter.&lt;/p&gt;   &lt;p style="margin-bottom: 0cm;"&gt;A vitória fora de casa trouxe esperança para a nação azul e afastou o perigo de rebaixamento. Penso que a vitória em Criciúma foi o primeiro passo do Grêmio em busca do título. Da-le Grêmio!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-111619512879993421?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/111619512879993421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/111619512879993421'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2005/05/da-le-grmio.html' title='Da-le Grêmio!!!'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-111549049487190967</id><published>2005-05-07T14:33:00.000-03:00</published><updated>2005-05-07T15:28:14.950-03:00</updated><title type='text'></title><content type='html'>Bah, este site tá uma carroça Levou quase 5 minutos para eu conseguir chegar aqui no editor.&lt;br /&gt;&lt;br /&gt;To aqui de bobeira aqui em casa. Sem muita coisa pra fazer. Resolvi escrever algumas bobeiras.&lt;br /&gt;&lt;br /&gt;É foda, levou tanto tempo pra carregar este site que perdi as idéias.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-111549049487190967?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/111549049487190967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/111549049487190967'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2005/05/bah-este-site-t-uma-carroa-levou-quase.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109916133678747674</id><published>2004-10-30T15:35:00.000-03:00</published><updated>2004-10-30T15:35:36.786-03:00</updated><title type='text'>Criando um banco de dados no MySQL</title><content type='html'>CREATE DATABASE mydatabase;&lt;br /&gt;&lt;br /&gt;GRANT ALL ON mydatabase.* TO mydatabase@"%" IDENTIFIED BY "mydatabase";&lt;br /&gt;&lt;br /&gt;GRANT ALL ON mydatabase.* TO mydatabase@localhost IDENTIFIED BY "mydatabase";&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109916133678747674?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109916133678747674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109916133678747674'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/10/criando-um-banco-de-dados-no-mysql.html' title='Criando um banco de dados no MySQL'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109779786709172298</id><published>2004-10-14T19:51:00.000-03:00</published><updated>2004-10-14T20:56:28.050-03:00</updated><title type='text'>Deploy de um aplicação no OC4J</title><content type='html'>&lt;p&gt;1 - gerar o arquivo .ear&lt;br /&gt;&lt;br /&gt;2- editar o arquivo %OC4J_HOME%\oc4j-config\default-web-site.xml&lt;br /&gt;&lt;br /&gt;3- inserir a linha:&lt;br /&gt;&lt;br /&gt;&amp;lt;web-app application="ssof" name="ssof"&lt;br /&gt;root="/ssof" load-on-startup="false"/&amp;gt;&lt;br /&gt;&lt;br /&gt;4- executar:&lt;br /&gt;&lt;br /&gt;java -jar C:\jdev9052\j2ee\home\admin.jar ormi://localhost:23891&lt;br /&gt;admin welcome -deploy -file&lt;br /&gt;D:\projects\mywork\ssof\deploy\ssof.ear -deploymentName ssof&lt;br /&gt;-bindWebApp /ssof&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Feito. &lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109779786709172298?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109779786709172298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109779786709172298'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/10/deploy-de-um-aplicao-no-oc4j.html' title='Deploy de um aplicação no OC4J'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109366598539157160</id><published>2004-08-28T05:10:00.000-03:00</published><updated>2004-08-28T01:07:14.766-03:00</updated><title type='text'></title><content type='html'>Escrever é uma coisa quem vem fascinando minha vida. Essa forma de expressar idéias, pensamentos e sentimentos é algo novo. Algo que esta se tornando um prazer. Também gosto de contar, através das letras, quais foram os momentos que marcaram minha vida, meus sonhos e desejos.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109366598539157160?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109366598539157160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109366598539157160'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/escrever-uma-coisa-quem-vem-fascinando.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109399976437733367</id><published>2004-08-24T16:29:00.000-03:00</published><updated>2004-08-31T21:49:24.376-03:00</updated><title type='text'>Exportar/importar as mensagens do Oracle Application.</title><content type='html'>Exportar:&lt;br /&gt;&lt;br /&gt;Inglês:&lt;br /&gt;export NLS_LANG="American_America.WE8ISO8859P1"&lt;br /&gt;FNDLOAD user/passwd 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct xpmsgport_us.ldt FND_NEW_MESSAGES&lt;br /&gt;&lt;br /&gt;Espanhol:&lt;br /&gt;export NLS_LANG="SPANISH_SPAIN.WE8ISO8859P1"  &lt;br /&gt;FNDLOAD user/passwd 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct xpmsgport_e.ldt FND_NEW_MESSAGES&lt;br /&gt;&lt;br /&gt;Português:&lt;br /&gt;export NLS_LANG="BRAZILIAN PORTUGUESE_BRAZIL.WE8ISO8859P1"&lt;br /&gt;FNDLOAD user/passwd 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct xpmsgport_ptb.ldt FND_NEW_MESSAGES&lt;br /&gt;&lt;br /&gt;Importar:&lt;br /&gt;&lt;br /&gt;Inglês:&lt;br /&gt;export NLS_LANG="American_America.WE8ISO8859P1"&lt;br /&gt;FNDLOAD user/passwd 0 Y UPLOAD $FND_TOP/patch/115/import/afmdmsg.lct xxpmsgport_us.ldt&lt;br /&gt;&lt;br /&gt;Espanhol:&lt;br /&gt;export NLS_LANG="SPANISH_SPAIN.WE8ISO8859P1"  &lt;br /&gt;FNDLOAD user/passwd 0 Y UPLOAD $FND_TOP/patch/115/import/afmdmsg.lct xxpmsgport_e.ldt&lt;br /&gt;&lt;br /&gt;Português:&lt;br /&gt;export NLS_LANG="BRAZILIAN PORTUGUESE_BRAZIL.WE8ISO8859P1"&lt;br /&gt;FNDLOAD user/passwd 0 Y UPLOAD $FND_TOP/patch/115/import/afmdmsg.lct xxpmsgport_ptb.ldt&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109399976437733367?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109399976437733367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109399976437733367'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/exportarimportar-as-mensagens-do.html' title='Exportar/importar as mensagens do Oracle Application.'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109336820552904826</id><published>2004-08-24T14:23:00.000-03:00</published><updated>2004-08-24T14:23:25.530-03:00</updated><title type='text'>Mensagem de falha na validação de uma sessão.</title><content type='html'>"Falha na Validação da Sessão. Pode ser por causa da expiração da sessão ou porque você informou uma combinação de Nome de Usuário/Senha Inválida. Tente estabelecer login novamente. Se você ainda não tiver se registrado, Registre-se antes de tentar novamente. Se tiver problemas, entre em contato com o Administrador do Sistema. "&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109336820552904826?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109336820552904826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109336820552904826'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/mensagem-de-falha-na-validao-de-uma.html' title='Mensagem de falha na validação de uma sessão.'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109399970906868227</id><published>2004-08-21T01:01:00.000-03:00</published><updated>2004-08-31T21:48:29.066-03:00</updated><title type='text'>desenvolver um framework. </title><content type='html'>Escrever um framework de sistemas corporativos é um grande sonho em minha vida. São vários anos pensando e estudando tecnologias da informação, para tentar, da melhor forma possível, montar uma estrutura de desenvolvimento para aplicações corporativas. Diariamente, me pego pensado em criar o componente X, a classe Y, o método A, o atributo B, etc.&lt;br /&gt;Podem me achar um pouco pirado, achar que é bobagem eu perder meu tempo ou até mesmo falar que quero re-inventar a roda, mas esse é um sonho, e cada um pode ter o seu. No meu caso, desenvolver o framework, será uma realização profissional pra mim. Penso que todo o profissional, não importa a área, gostaria de realizar um projeto em sua carreira.&lt;br /&gt;Acho que agora estou no caminho certo. As idéias começaram a ficar mais claras e objetivas. Um exemplo disso é o ssof. Estou me dedicando muito nesse projeto.&lt;br /&gt;Também não sou tão louco de querer fazer tudo, algumas tecnologias free do mercado pretendo usar, como struts, por exemplo. Tem muita coisa boa por ai que precisam ser aproveitadas.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109399970906868227?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109399970906868227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109399970906868227'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/desenvolver-um-framework.html' title='desenvolver um framework. '/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109399930706660545</id><published>2004-08-20T20:40:00.000-03:00</published><updated>2004-08-31T21:41:47.066-03:00</updated><title type='text'>Quanta novidade surgindo.</title><content type='html'>É f... a cada dia que passa a quantidade de novidades que surgem no mercado Java é impressionante, frameworks, APIs, patterns, etc., etc, etc, etc.&lt;br /&gt;As vezes da vontade de jogar tudo fora e começar tudo novamente, da vontade até de chorar.&lt;br /&gt;Tô com essa dificuldade no meu projeto. Saio navegando pela net a procura de artigos e idéias, e a todo momento acho um novidade. Da vontade de escrever todo o código novamente.&lt;br /&gt;Hoje mesmo, navegando pelo site da IBM e The server side, achei uma série de artigos sobre sigle sing-on e SAML. Uma idéia melhor que a outra.&lt;br /&gt;Como não da para deixar para trás o que já fiz, é melhor eu acabar de ler os artigos e tentar pincelar algumas idéias.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109399930706660545?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109399930706660545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109399930706660545'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/quanta-novidade-surgindo.html' title='Quanta novidade surgindo.'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109399950346625072</id><published>2004-08-20T13:50:00.000-03:00</published><updated>2004-08-31T21:47:24.360-03:00</updated><title type='text'>Mini Web cache</title><content type='html'>&lt;p&gt;Mini Web cache&lt;br /&gt;Hoje precisei implementar um Web cache. - falando assim até parece que foi algo extraordinário. Algo bem simples, mas tá funcionando. Um dos clientes pediu essa implementação, pois a performance de acesso ao seu Web services não estava lá essas coisas....&lt;br /&gt;Como eu já disse, foi algo simples. Uma classe com um atributo hash estático e privado que funciona como meu cache. Implementei dois métodos de acesso a essa hash, um add e um get. O primeiro insere um objeto no cache, e o segundo lê um objeto do cache.Agora estou trabalhando num mecanismo para limpar os objetos que não serão mais usados - senão, haja memória. Ainda não sei muito bem como será, mas imagino em criar um thread que de tempos em tempos leia e remove os objetos sem utilidade.&lt;/p&gt;&lt;p&gt;O código ficou mais ou menos assim:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Courier;"&gt;public class SessionCache&lt;br /&gt;{&lt;br /&gt;    private static Hashtable globalCache = new Hashtable();&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * &amp;lt;p&amp;gt;Insere um objeto no cache do usuário.&lt;br /&gt;     */   &lt;br /&gt;    public static void add(String name, Object value)&lt;br /&gt;    {&lt;br /&gt;        String sessionId = RequestCtx.getUserId().toString() +&lt;br /&gt;                           RequestCtx.getAccountId().toString() +&lt;br /&gt;                           RequestCtx.getResponsibilityId().toString() +&lt;br /&gt;                           ServletSessionManager.getIcxSessionTicket();&lt;br /&gt;                          &lt;br /&gt;        Hashtable uc = (Hashtable)globalCache.get(sessionId);&lt;br /&gt;        if (uc == null)&lt;br /&gt;            uc = new Hashtable();&lt;br /&gt;        uc.put(name, value);&lt;br /&gt;        globalCache.put(sessionId,uc);&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * &amp;lt;p&amp;gt;Pega um objeto do cache ou null se o objeto não existir.&lt;br /&gt;     */&lt;br /&gt;    public static Object get(String name)&lt;br /&gt;    {&lt;br /&gt;        Object value = null;&lt;br /&gt;        String sessionId = RequestCtx.getUserId().toString() +&lt;br /&gt;                           RequestCtx.getAccountId().toString() +&lt;br /&gt;                           RequestCtx.getResponsibilityId().toString() +&lt;br /&gt;                           ServletSessionManager.getIcxSessionTicket();&lt;br /&gt;        Hashtable uc = (Hashtable)globalCache.get(sessionId);&lt;br /&gt;        if (uc != null)&lt;br /&gt;            value = uc.get(name);&lt;br /&gt;       &lt;br /&gt;        return value;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109399950346625072?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109399950346625072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109399950346625072'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/mini-web-cache.html' title='Mini Web cache'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109399940225503430</id><published>2004-08-20T09:00:00.000-03:00</published><updated>2004-08-31T21:43:22.256-03:00</updated><title type='text'>ssof - single sing-on free</title><content type='html'>Vou começar a escrever sobre o meu projeto, o ssof. Tentarei aqui explicar uma pouco das minhas idéias.&lt;br /&gt;&lt;br /&gt;A principal motivação que me levou a começar a desenvolver esse projeto, foi de não ter encontrado nenhuma ferramenta free para single sing-on. Estava trabalhando num projeto de integração de sistemas no meu trabalho, e precisa de uma componente de login único.&lt;br /&gt;&lt;br /&gt;O ssof é um framework que fornece um serviço autenticação e controle de acesso a funcionalidades de aplicações. Ele será construído nos padrões de Web sevices da indústria - a idéia aqui é utilizar SOAP, ou quem sabe numa segunda versão utilizar o padrão SAML. O ssof estará apto para suportar single sing-on para aplicações independentes da plataforma na qual for construída.&lt;br /&gt;&lt;br /&gt;O site do projeto ainda não está pronto, por esse motivo ainda está na incubadora do Java.net, mas quem quiser acessar, ai vai o link: &lt;a href="http://ssof.dev.java.net/"&gt;http://ssof.dev.java.net&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109399940225503430?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109399940225503430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109399940225503430'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/ssof-single-sing-on-free.html' title='ssof - single sing-on free'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109288273059604689</id><published>2004-08-19T04:10:00.000-03:00</published><updated>2004-08-19T00:15:14.770-03:00</updated><title type='text'>TGA</title><content type='html'>TGA, Teoria geral de administração. Primeira aula foi hoje. O professor parece ser bom e matéria tb. Tivemos um pouco da história da administração, mas o foco mesmo foi nas teorias da administração. São quatro teorias.&lt;br /&gt;&lt;br /&gt;A primeira, administração científica. Taylor propoe a analisa das tarefas dos trabalhadores. O objetivo é diminuir os esforço e aumentar a produtividade. Foi citado como exemplo o fato de um pedreiro que está construindo uma parede. Ele precisa abaixar-se para pegar cada tijolo. Agora, se trouxermos a pilha de tijolos mais próxima do trabalhador, o seu esforço diminuirá e sua produtividade aumentará, e por conseqüência, o lucro da empresa tb aumentará, hehehehehe. Esta teoria foi a mais comentada. O professor até propôs um debate na turma... sem muito sucesso, a galera não estava nem ai com a aula, rsrsrsrsrs.&lt;br /&gt;&lt;br /&gt;A segunda teoria é a teoria da abordagem administrativa. Esta teoria propõe a administração da alta gerencia, ou seja, a administração de cima para baixo em uma empresa. Tem 5 pontos chave: planejamento, organização, direção, coordenação e controle. Estrutura-se a gerencia e a diretoria para depois organizar os operários.&lt;br /&gt;&lt;br /&gt;A terceira teoria - gostei muito dessa - é a teoria da abordagem do comportamento humano. Para entender melhor essa teoria tem até uma historinha legal. A GE, fabricante de lâmpadas, queria vender seu produto, mas para isso precisa convencer as pessoas da importância da luminosidade no ambiente de trabalho. Numa linha de montagem de uma fábrica americana, a GE aumentou a quantidade de luz. Nesse período perceberam que a produtividade dos funcionário aumentará junto com a luz. Para finalizar com chave de ouro, a GE propos diminuir a intensidade da luz durante o mesmo período. Para surpresa de todos, a produtividade continuou aumentando, ou seja, nada tinha a ver com a luz, e sim com a importância e o status, que durante a pesquisa, os funcionários daquela linha de produção haviam recebido. Esta terceira teoria esta fundamenta na ralação humana, preocupação com o empregado, consideração com as atitudes dos empregados, identificação das necessidades do homem e como estas são satisfeitas.&lt;br /&gt;&lt;br /&gt;A quarta e última não entendi muito bem, ou melhor, não entendi nada. É melhor perguntar para o professor na próxima aula.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109288273059604689?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109288273059604689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109288273059604689'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/tga.html' title='TGA'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109270766776330654</id><published>2004-08-17T02:54:00.000-03:00</published><updated>2004-08-16T23:00:20.896-03:00</updated><title type='text'>Cadastro da entidade Principal</title><content type='html'>Finalizei o cadastro da entidade Principal do meu projeto (SSOF). As telas ficaram meio toscas, mas funcionam. São duas telas: a primeira um lista mostrando todos os Principals cadastrados, e a segunda é a tela de manutenção (INSERT e UPDATE).&lt;br /&gt;&lt;br /&gt;To um pouco lento. Preciso acelerar mais.&lt;br /&gt;&lt;br /&gt;Vou atacar o cadastro de Sequences agora.&lt;br /&gt;&lt;br /&gt;T+.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109270766776330654?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109270766776330654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109270766776330654'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/cadastro-da-entidade-principal.html' title='Cadastro da entidade Principal'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109245765297829986</id><published>2004-08-13T17:35:00.000-03:00</published><updated>2004-08-14T01:29:14.213-03:00</updated><title type='text'>Meu site</title><content type='html'>Acho que pode uma ser uma idéia boa. No meu site, criar um área com os meus projetos.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109245765297829986?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109245765297829986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109245765297829986'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/meu-site.html' title='Meu site'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109205693469902113</id><published>2004-08-09T10:08:00.000-03:00</published><updated>2004-08-09T10:08:54.700-03:00</updated><title type='text'>Fim das férias</title><content type='html'>Tudo que é bom acaba rápido. Essa é a vida. As férias acabaram. A guerra continua.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109205693469902113?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109205693469902113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109205693469902113'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/fim-das-frias.html' title='Fim das férias'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109197616983707795</id><published>2004-08-08T11:42:00.000-03:00</published><updated>2004-08-08T11:42:49.836-03:00</updated><title type='text'>SSOF - Sigle Sing On Free</title><content type='html'>O tal sistema de autenticação que citei numa mensagem acima se chama ssof. Sei lá porque dei este nome. Eu imaginava criar alguma coisa livre e open source - Sigle Sing On Free. Abri um projeto para desenvolve-lo no Java.net. Estou esperando aprovação para publica-lo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109197616983707795?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109197616983707795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109197616983707795'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/ssof-sigle-sing-on-free.html' title='SSOF - Sigle Sing On Free'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109188534047498210</id><published>2004-08-07T10:29:00.000-03:00</published><updated>2004-08-07T10:29:20.410-03:00</updated><title type='text'>Ressaca braba</title><content type='html'>Velhinho, to numa ressaca. Sai ontem com alguns amigos. Fui no Bar Brahma. Bebi muito. Tudo tá girando.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109188534047498210?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109188534047498210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109188534047498210'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/ressaca-braba.html' title='Ressaca braba'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109181364517011639</id><published>2004-08-06T14:29:00.000-03:00</published><updated>2004-08-06T14:34:05.170-03:00</updated><title type='text'>Tentando montar a grade de matérias na faculdade.</title><content type='html'>To aqui na faculdade. Par variar, deixai para o último dia das minhas férias para falar com a coordenadora do meu curso e montar a grade de matérias. Adivinhe a surpresa que tive quando cheguei na faculdade? A professora não estava! Eu esqueci que ela não vem nas sextas.&lt;br /&gt;&lt;br /&gt;Terei que voltar na segunda.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109181364517011639?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109181364517011639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109181364517011639'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/tentando-montar-grade-de-matrias-na.html' title='Tentando montar a grade de matérias na faculdade.'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7873075.post-109176940936992465</id><published>2004-08-06T02:16:00.000-03:00</published><updated>2004-08-06T14:14:04.476-03:00</updated><title type='text'>Sistema de autenticação.</title><content type='html'>Criar um sistema de autenticação independente de plataforma e linguagem. Um sistema que permita diferentes usuários de outros sistemas utilizarem o mesmo ponto de autenticação e validação de sessão.&lt;br /&gt;&lt;br /&gt;O estrutura do modelo de dados é a seguinte: criar uma tabela de usuários internos, que contenha todos os usuários de todos os sistemas terceiros externos cadastrados. Este cadastro central possuirá uma coluna de identificação de cada usuário (índice único). Uma segunda tabela será criada para registrar os sistemas externos envolvidos, o usuário externo e usuário interno. Um de-para entre as colunas do usuário externo e usuário interno. Os campos Sistema Externo mais Usuário Externo, formam um índice único.&lt;br /&gt;&lt;br /&gt;Este sistema de autenticação, fornecera mecanismos de chamadas externas para autenticação e validação de sessão.&lt;br /&gt;&lt;br /&gt;Os objetos que imagino serem parte desse sistema são: a sessão e um repositório. A sessão será o objeto responsável em armazenar as informações de um usuário que está ou esteve conectado. Uma sessão contém o nome do usuário, a data do login e data do logoff. No objeto sessão tb teremos os métodos de manipulação da sessão, como criar e expirar a sessão. O repositório será o componente responsável em gerenciar as sessões do usuário. O acesso ao repositório e as sessões será feito através de um componente que terá a função de proxy no sistema. Recebendo requisições para leitura e manipulação da sessão.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7873075-109176940936992465?l=palmadias.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109176940936992465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7873075/posts/default/109176940936992465'/><link rel='alternate' type='text/html' href='http://palmadias.blogspot.com/2004/08/sistema-de-autenticao.html' title='Sistema de autenticação.'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/09906031727094639103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
