<?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-2713161188664017395</id><updated>2012-01-28T12:02:22.316-08:00</updated><category term='maven'/><category term='helloword'/><category term='blogger'/><category term='memoria'/><category term='java'/><category term='fonte'/><category term='tutorial'/><title type='text'>Aspirante a programador</title><subtitle type='html'>Projeto, análise, desenvolvimento, metodologias, ideias.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-2938962436422488285</id><published>2012-01-28T12:02:00.000-08:00</published><updated>2012-01-28T12:02:22.319-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='memoria'/><title type='text'>java.lang.OutOfMemoryError: PermGen space</title><content type='html'>Par não ocorrer Out Of Memory no meu toncat eu sempre coloca nas opções de VM:&lt;br /&gt;-Xms2048m -Xmx2048m -XX:MaxPermSize=2048m&lt;br /&gt;&lt;br /&gt;15 minutos depois&amp;nbsp;GodJavazilla comeu quase toda memória!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-2938962436422488285?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/2938962436422488285/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=2938962436422488285' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2938962436422488285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2938962436422488285'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2012/01/javalangoutofmemoryerror-permgen-space.html' title='java.lang.OutOfMemoryError: PermGen space'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-6009027859596024475</id><published>2012-01-13T07:53:00.000-08:00</published><updated>2012-01-13T07:53:03.211-08:00</updated><title type='text'>Criar WebService com Netbeans</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;Criar um webservice com o netbeans é muito simples. Basta seguir os seguintes passos:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;1 - Criar um novo projeto web.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Of7Fv2CgKX8/TxBP33eZTfI/AAAAAAAABIY/x1lNVz2g9Ho/s1600/novo-projeto-web-netbeans.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="272" src="http://2.bp.blogspot.com/-Of7Fv2CgKX8/TxBP33eZTfI/AAAAAAAABIY/x1lNVz2g9Ho/s400/novo-projeto-web-netbeans.bmp" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Não é necessário selecionar nenhum framework por enquanto.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-AN8K5A3Nvas/TxBPrpY-B4I/AAAAAAAABII/YGVapjen4Bo/s1600/novo-projeto-web-netbeans2.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="271" src="http://4.bp.blogspot.com/-AN8K5A3Nvas/TxBPrpY-B4I/AAAAAAAABII/YGVapjen4Bo/s400/novo-projeto-web-netbeans2.bmp" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;2 - Agora que criamos o projeto, temos que criar o serviço.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;- Arquivo -&amp;gt; Novo arquivo... -&amp;gt; Serviço Web -&amp;gt; Serviço Web (no campo da direita) -&amp;gt; Próximo.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-iYfkydN5Kf0/TxBPyB_7nYI/AAAAAAAABIQ/zb_w3vsRQfA/s1600/novo-projeto-web-netbeans3.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="238" src="http://2.bp.blogspot.com/-iYfkydN5Kf0/TxBPyB_7nYI/AAAAAAAABIQ/zb_w3vsRQfA/s400/novo-projeto-web-netbeans3.bmp" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;3 - Definir o nome e pacote do serviço.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="color: #660000;"&gt;Importante: Você só pode selecionar a opção "Implementar serviços Web como Bean de sessão sem estado", se estiver usando um servidor que suporte EJB e tomcat não é um destes.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-pQwPoh86QXA/TxBPS2lNJvI/AAAAAAAABHo/sJ8_iBCZgoE/s1600/criar-servivo-web-netbeans2.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-pQwPoh86QXA/TxBPS2lNJvI/AAAAAAAABHo/sJ8_iBCZgoE/s400/criar-servivo-web-netbeans2.bmp" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;4 - Selecionar sim na mensagem que aparece, para adicionar a &lt;a href="http://metro.java.net/discover/"&gt;frame work METRO&lt;/a&gt;.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-M_bX86B04OE/TxBPUmgaElI/AAAAAAAABHw/Amq-kJf-8W0/s1600/criar-servivo-web-netbeans3.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="112" src="http://4.bp.blogspot.com/-M_bX86B04OE/TxBPUmgaElI/AAAAAAAABHw/Amq-kJf-8W0/s400/criar-servivo-web-netbeans3.bmp" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;5 - Então é apresentada a tela com o fonte do seu webservice.&lt;br /&gt;Obs: Você pode importa ele para outro projeto usando a dica anterior.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-vow9kYobLA0/TxBPdV_SPhI/AAAAAAAABH4/0OGWTQ72pLA/s1600/criar-servivo-web-netbeans4.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="257" src="http://2.bp.blogspot.com/-vow9kYobLA0/TxBPdV_SPhI/AAAAAAAABH4/0OGWTQ72pLA/s400/criar-servivo-web-netbeans4.bmp" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Para acessar o serviço criado basta entra no endereço:&amp;nbsp;http://localhost:8084/TestWS/TestWS&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-6009027859596024475?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/6009027859596024475/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=6009027859596024475' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/6009027859596024475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/6009027859596024475'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2012/01/criar-webservice-com-netbeans.html' title='Criar WebService com Netbeans'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/-Of7Fv2CgKX8/TxBP33eZTfI/AAAAAAAABIY/x1lNVz2g9Ho/s72-c/novo-projeto-web-netbeans.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-2359756030272814488</id><published>2012-01-13T07:10:00.000-08:00</published><updated>2012-01-13T07:10:23.672-08:00</updated><title type='text'>Importar Web Service para Java</title><content type='html'>&lt;script src="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shCore.js" type="text/javascript"&gt;&lt;/script&gt;   &lt;script src="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shBrushJScript.js" type="text/javascript"&gt;&lt;/script&gt;   &lt;link href="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/styles/shCore.css" rel="stylesheet" type="text/css"&gt;&lt;link href="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/styles/shThemeDefault.css" rel="stylesheet" type="text/css"&gt;  Execute no console:&lt;pre class="brush: js"&gt; &lt;br /&gt; . &lt;br /&gt; $wsimport -keep -p org.test http://localhost:8080/testWS/TestWS?wsdl&lt;br /&gt; .&lt;br /&gt; .&lt;br /&gt; .&lt;br /&gt;&lt;/pre&gt;&lt;script type="text/javascript"&gt;     SyntaxHighlighter.all()&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-2359756030272814488?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/2359756030272814488/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=2359756030272814488' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2359756030272814488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2359756030272814488'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2012/01/importar-web-service-para-java.html' title='Importar Web Service para Java'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-2879178573704221724</id><published>2012-01-08T09:25:00.000-08:00</published><updated>2012-01-08T09:27:36.990-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><category scheme='http://www.blogger.com/atom/ns#' term='helloword'/><title type='text'>Primeiros passos com maven</title><content type='html'>&lt;script src="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shCore.js" type="text/javascript"&gt;&lt;/script&gt; &lt;script src="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shBrushJScript.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shBrushXml.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shBrushJava.js" type="text/javascript"&gt;&lt;/script&gt;&lt;link href="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/styles/shCore.css" rel="stylesheet" type="text/css"&gt;&lt;/link&gt;&lt;link href="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/styles/shThemeDefault.css" rel="stylesheet" type="text/css"&gt;&lt;/link&gt;&lt;/br&gt;Estrutura de pastas:&lt;/br&gt;&lt;/br&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ox_k8X5Jjr0/TwnR7fcqWKI/AAAAAAAABHg/gesQrKI42l0/s1600/estrutura-pastas.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="270" width="400" src="http://3.bp.blogspot.com/-ox_k8X5Jjr0/TwnR7fcqWKI/AAAAAAAABHg/gesQrKI42l0/s400/estrutura-pastas.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/br&gt;&lt;/br&gt;Primeiro passo: Criar o arquivo pom.xmlNo maven pom.xml é o arquivo onde você faz o mapeamento das dependencias e de como deve ser feita a montagem dos artefatos.pom.xml&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt;&lt;br /&gt;  &lt;modelversion&gt;4.0.0&lt;/modelversion&gt;&lt;br /&gt;  &lt;groupid&gt;com.ramon.app&lt;/groupid&gt;&lt;br /&gt;  &lt;artifactid&gt;my-app&lt;/artifactid&gt;&lt;br /&gt;  &lt;packaging&gt;jar&lt;/packaging&gt;&lt;br /&gt;  &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;&lt;br /&gt;  &lt;name&gt;my-app: Ramon's tests&lt;/name&gt;&lt;br /&gt;  &lt;url&gt;http://maven.apache.org&lt;/url&gt;&lt;br /&gt;  &lt;dependencies&gt;&lt;br /&gt;    &lt;dependency&gt;&lt;br /&gt;      &lt;groupid&gt;junit&lt;/groupid&gt;&lt;br /&gt;      &lt;artifactid&gt;junit&lt;/artifactid&gt;&lt;br /&gt;      &lt;version&gt;4.8.2&lt;/version&gt;&lt;br /&gt;      &lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;    &lt;/dependency&gt;&lt;br /&gt;    &lt;dependency&gt;&lt;br /&gt;      &lt;groupid&gt;log4j&lt;/groupid&gt;&lt;br /&gt;      &lt;artifactid&gt;log4j&lt;/artifactid&gt;&lt;br /&gt;      &lt;version&gt;1.2.12&lt;/version&gt;  &lt;br /&gt;    &lt;/dependency&gt;&lt;br /&gt;    &lt;dependency&gt;&lt;br /&gt;      &lt;groupid&gt;commons-logging&lt;/groupid&gt;&lt;br /&gt;      &lt;artifactid&gt;commons-logging&lt;/artifactid&gt;&lt;br /&gt;      &lt;version&gt;1.1.1&lt;/version&gt;&lt;br /&gt;    &lt;/dependency&gt;&lt;br /&gt;  &lt;/dependencies&gt;&lt;br /&gt;  &lt;build&gt;&lt;br /&gt;    &lt;resources&gt;&lt;br /&gt;      &lt;resource&gt;&lt;br /&gt;        &lt;directory&gt;src/main/resources&lt;/directory&gt;&lt;br /&gt;        &lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;      &lt;/resource&gt;&lt;br /&gt;    &lt;/resources&gt;&lt;br /&gt;    &lt;plugins&gt;&lt;br /&gt;      &lt;plugin&gt;&lt;br /&gt;        &lt;artifactid&gt;maven-assembly-plugin&lt;/artifactid&gt;&lt;br /&gt;        &lt;version&gt;2.2.1&lt;/version&gt;&lt;br /&gt;        &lt;configuration&gt;&lt;br /&gt;          &lt;descriptorrefs&gt;&lt;br /&gt;            &lt;descriptorref&gt;jar-with-dependencies&lt;/descriptorref&gt;&lt;br /&gt;          &lt;/descriptorrefs&gt;&lt;br /&gt;        &lt;/configuration&gt;&lt;br /&gt;      &lt;/plugin&gt;&lt;br /&gt;      &lt;plugin&gt;&lt;br /&gt; &lt;groupid&gt;org.apache.maven.plugins&lt;/groupid&gt;&lt;br /&gt;        &lt;artifactid&gt;maven-jar-plugin&lt;/artifactid&gt;&lt;br /&gt;        &lt;configuration&gt;&lt;br /&gt;          &lt;archive&gt;&lt;br /&gt;            &lt;manifest&gt;&lt;br /&gt;              &lt;mainclass&gt;com.ramon.app.App&lt;/mainclass&gt;&lt;br /&gt;            &lt;/manifest&gt;&lt;br /&gt;          &lt;/archive&gt;&lt;br /&gt;        &lt;/configuration&gt;&lt;br /&gt;      &lt;/plugin&gt;&lt;br /&gt;    &lt;/plugins&gt;&lt;br /&gt;  &lt;/build&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;/pre&gt;Após ter criado a estrutura de pastas e pom.xml você pode abrir o projeto no netbeans ou importar como projeto maven no eclipse.Existem outras maneiras de configurar seu projeto na IDE, mas eu prefiro assim.&lt;/br&gt;....&lt;/br&gt;Segundo passo: Codificando...Na codificacão você não precisa se preocupar em colocar as dependencias no classpath, pois elas já foram descritas no pom.xml.&lt;/br&gt;Quando for fazer o build o maven cuida das dependencias.App.java&lt;br /&gt;&lt;pre class="brush: java"&gt;package com.ramon.app;&lt;br /&gt;&lt;br /&gt;import java.util.ResourceBundle;&lt;br /&gt;import org.apache.log4j.BasicConfigurator;&lt;br /&gt;import org.apache.log4j.Logger;&lt;br /&gt;&lt;br /&gt;public class App{&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; static final Logger logger = Logger.getLogger(App.class);&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt;  *&lt;br /&gt;  * Metodo principal do sistema&lt;br /&gt;  *&lt;br /&gt; **/&lt;br /&gt; public static void main (String [] args){&lt;br /&gt;&lt;br /&gt;                ResourceBundle bundle = ResourceBundle.getBundle("application");&lt;br /&gt;  BasicConfigurator.configure();&lt;br /&gt;  logger.info("info -&amp;gt; Hello World");&lt;br /&gt;  logger.debug("debug -&amp;gt; Hello World!");&lt;br /&gt; &lt;br /&gt;  System.out.println("Hello World");&lt;br /&gt;                System.out.println("paramtro1: " + bundle.getString("parametro1"));&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;HelloWorld.java&lt;br /&gt;&lt;pre class="brush: java"&gt;package com.ramon.app;&lt;br /&gt;&lt;br /&gt;public class HelloWorld{&lt;br /&gt;&lt;br /&gt;    private String text ;&lt;br /&gt;&lt;br /&gt;    public HelloWorld() {&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public HelloWorld(String text) {&lt;br /&gt;        this.text = text;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setText(String text) {&lt;br /&gt;        this.text = text;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getText() {&lt;br /&gt;        return text;&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt;    @Override&lt;br /&gt;    public String toString() {&lt;br /&gt;        return text.toString();&lt;br /&gt;    }       &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;script type="text/javascript"&gt;     SyntaxHighlighter.all()&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-2879178573704221724?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/2879178573704221724/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=2879178573704221724' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2879178573704221724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2879178573704221724'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2012/01/primeiros-passos-com-maven.html' title='Primeiros passos com maven'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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://3.bp.blogspot.com/-ox_k8X5Jjr0/TwnR7fcqWKI/AAAAAAAABHg/gesQrKI42l0/s72-c/estrutura-pastas.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-7030426501370817952</id><published>2012-01-07T16:26:00.000-08:00</published><updated>2012-01-07T16:33:23.414-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fonte'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>Como colocar fonte java no blogger</title><content type='html'>&lt;script src="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shCore.js" type="text/javascript"&gt;&lt;/script&gt; &lt;script src="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shBrushJScript.js" type="text/javascript"&gt;&lt;/script&gt; &lt;link href="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/styles/shCore.css" rel="stylesheet" type="text/css"&gt;&lt;/link&gt;&lt;link href="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/styles/shThemeDefault.css" rel="stylesheet" type="text/css"&gt;&lt;/link&gt; &lt;br /&gt;&lt;pre class="brush: js"&gt;public class Test {&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt;  * @param args&lt;br /&gt;  */&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  System.out.println("Hello source!");&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;b&gt;Fonte necessário:&lt;/b&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;script src="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shCore.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;script src="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/scripts/shBrushJScript.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;link href="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/styles/shCore.css" rel="stylesheet" type="text/css"&gt;&lt;/link&gt;&lt;br /&gt;&lt;link href="http://alexgorbatchev.com.s3.amazonaws.com/pub/sh/3.0.83/styles/shThemeDefault.css" rel="stylesheet" type="text/css"&gt;&lt;/link&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;public class Test {&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt;  * @param args&lt;br /&gt;  */&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  System.out.println("Hello source!");&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;script type="text/javascript"&gt;     SyntaxHighlighter.all()&lt;/script&gt;&lt;/pre&gt;&lt;script type="text/javascript"&gt;     SyntaxHighlighter.all()&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-7030426501370817952?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/7030426501370817952/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=7030426501370817952' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7030426501370817952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7030426501370817952'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2012/01/teste-fonte-no-blogger.html' title='Como colocar fonte java no blogger'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-1556568214885376097</id><published>2011-02-13T10:44:00.001-08:00</published><updated>2011-02-13T10:44:31.202-08:00</updated><title type='text'>Hello World com oracle pl/sql</title><content type='html'>Olá Mundo:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;declare&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; ola varchar(100);&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ola := 'Hello World';&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DBMS_OUTPUT.PUT_LINE(ola);&lt;br /&gt;end;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-1556568214885376097?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/1556568214885376097/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=1556568214885376097' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/1556568214885376097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/1556568214885376097'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2011/02/hello-world-com-oracle-plsql.html' title='Hello World com oracle pl/sql'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-4375635393557016381</id><published>2010-06-30T09:14:00.000-07:00</published><updated>2010-06-30T09:14:44.231-07:00</updated><title type='text'>Introdução a NCL e Lua: Desenvolvendo Aplicações Interativas para TV Digital</title><content type='html'>Escrito por Ramon Rosa e Vagner Oliveira&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Resumo. A televisão é um dos maiores meios de comunicação do mundo, como também é uma grande fonte de informação, entretenimento e cultura. Além dos benefícios trazidos com a qualidade de som e imagem, a TV possibilita inúmeras facilidades e oportunidades para os programas de televisão. Os telespectadores poderão ter acesso a jogos e programas interativos, ou seja, o usuário deixará de ser um mero espectador e passará a interagir com a programação, moldando o conteúdo de acordo com a sua escolha. Este artigo traz um estudo sobre o as linguagens NCL (Nested Context Language) e Lua e um estudo de caso com a implementação de uma aplicação interativa para TV Digital.&lt;br /&gt;Palavras-chave: televisão digital interativa, NCL, Lua. &lt;br /&gt;1. Introdução&lt;br /&gt;A televisão é um dos maiores meios de comunicação do mundo, como também é uma grande fonte de informação, entretenimento e cultura. Em 2006, o governo brasileiro criou o SBTVD (Sistema Brasileiro de Televisão Digital), baseado no padrão japonês. O SBTVD inovou no seu middleware, o Ginga, que consiste de máquinas de execução das linguagens oferecidas, e bibliotecas de funções, que permitem o desenvolvimento rápido e fácil de aplicações.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; O Ginga é fruto do desenvolvimento de projetos coordenados pelos laboratórios Telemídia da PUC-Rio (Pontifícia Universidade Católica do Rio de Janeiro) e LAViD da UFPB (Universidade Federal da Paraíba). O nome Ginga foi escolhido em reconhecimento à cultura, arte e contínua luta por liberdade e igualdade do povo brasileiro.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uma aplicação de TV Digital pode ser declarativa, procedural ou híbrida. A seguir esses conceitos são apresentados:&lt;br /&gt;Linguagens Declarativas – são mais intuitivas (de mais alto nível), mais fáceis de usar e, normalmente, não exigem um perito em programação. Enfatiza a declaração descritiva de um problema, sem se preocupar como realmente implementará essas tarefas.&lt;br /&gt;Linguagens Procedurais – são mais complexas e usualmente requer um perito em programação. O programador deve informar ao computador cada passo a ser executada, ou seja, deve implementar uma solução algorítmica. No entanto, o programador possui um maior controle do código.&lt;br /&gt;Aplicações Híbridas – conjunto de entidades possui tanto conteúdo do tipo declarativo quanto procedural. Frequentemente fazem uso de scripts, cujo conteúdo é de natureza procedural.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; A seção a seguir descreve a linguagem Lua que pode ser inserida em documentos NCL, trazendo poder computacional adicional às aplicações declarativas.&lt;br /&gt;2. Linguagem Lua&lt;br /&gt;Lua é uma linguagem de programação em script criada em 1993, em um laboratório de pesquisa da PUC-Rio. É muito parecida com outras linguagens como Python, PHP, Ruby, ShellScript.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lua destaca-se pelo seu tamanho pequeno, seu núcleo é inferior a 200k, sua rapidez na execução, analistas informam que é a linguagem mais rápida das interpretadas com tipagem dinâmica, simplicidade, tem a programação simples em conformidade com as demais linguagens, portabilidade, Lua é feita com a junção de C ANSI com C++ ANSI.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lua é a única linguagem a ser utilizada em todo mundo, que foi desenvolvida fora dos EUA, Europa e Japão.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Atualmente a linguagem Lua está sendo utilizada principalmente para o desenvolvimento de jogos como World of Warcraft, The Sims e Sim City, e&amp;nbsp; aplicações para TV digital interativa.&lt;br /&gt;2.1 Executando lua&lt;br /&gt;Um trecho de código lua pode ser entrado no modo interativo (diretamente no console lua), pode ser escrito em&amp;nbsp; um arquivo com extensão “lua” e executado pelo interpretador ou compilado e depois executado pelo interpretador.&lt;br /&gt;2.1.1 Modo interativo&lt;br /&gt;Para executar trechos de código do lua em modo interativo deve-se primeiro chamar o interpretador da linguagem com o comando lua no terminal, exemplo:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ lua&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lua 5.1.4&amp;nbsp; Copyright (C) 1994-2008 Lua.org, PUC-Rio&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt; &lt;/span&gt;&lt;br /&gt;Com o interpretador lua em execução você pode entrar com comandos de acordo com a sintaxe da linguagem, e após teclar “enter” serão executados pelo interpretador lua, exemplo:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;$ lua&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lua 5.1.4&amp;nbsp; Copyright (C) 1994-2008 Lua.org, PUC-Rio&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt; varA = 'Hello'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt; varB = 'World'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt; print(varA .. ' ' .. varB)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hello World&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Como podemos constatar o interpretador define dinamicamente o tipo das variáveis (varA e varB) , e ao chamar o método print ele o interpretador executa e informa a saída no console.&lt;br /&gt;2.1.2 Executando arquivo pelo interpretador&lt;br /&gt;Podemos executar trechos de código lua através de arquivos para isto basta criar um arquivo contendo o código e depois chamar o interpretador com o nome do arquivo como parâmetro, por exemplo:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ nano hello.lua&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; varA='Hello '&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; varB='World'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(varA .. varB)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ lua hello.lua&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hello World&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Neste caso o arquivo é compilado e depois executado.&lt;br /&gt;2.1.3 Compilando e executando&lt;br /&gt;Uma maneira mais eficaz de se executar trechos lua é compilando e depois executando o arquivo que contem o trecho, por exemplo:&lt;br /&gt;&amp;nbsp;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; $ nano hello.lua&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; varA='Hello '&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; varB='World'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(varA .. varB)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ luac hello.lua&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ ls *.out&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; luac.out&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ lua luac.out &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hello World&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Neste caso sua execução é mais eficaz pois o arquivo já está compilado pele luac quando o arquivo é executado não existe a necessidade de um pre compilamento.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;3. Linguagem NCL&lt;br /&gt;NCL (Nested Context Languagem), Linguagem de Contextos Aninhados, é uma linguagem baseada em XML, destinada à criação de documentos hipermídia e utilizada para reunir objetos de mídia em uma apresentação multimídia. Estes objetos de mídia podem ser de qualquer tipo, aúdio, vídeo, documento HTML ou mesmo um objeto procedural.&lt;br /&gt;3.1 Estrutura de um documento NCL&lt;br /&gt;Todo o conteúdo de um documento NCL é definido dentro do elemento &amp;lt;ncl&amp;gt; sendo sua estrutura dividida em duas grandes partes, o cabeçalho e o corpo do documento. A figura 1 demonstra a estrutura de um documento NCL.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Helvetica Neue&amp;quot;,Arial,Helvetica,sans-serif;"&gt;Figura 1&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Figura 1. Estrutura de um documento NCL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; No cabeçalho são definidas as características de apresentação do documento, através das regiões e descritores, os relacionamentos que serão utilizados para a sincronização dos nós, através dos conectores, entre outras facilidades.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; No corpo definimos os elementos e a sincronização entre eles. Além da definição dos nós e elos, o corpo de um documento NCL pode também definir composições para melhorar sua estrutura e organização.&lt;br /&gt;4. Integração NCL-Lua&lt;br /&gt;O ambiente Ginga-NCL permite o uso de Lua dentro de aplicações NCL. Dessa forma, o poder de uma linguagem declarativa é elevado quando integrada com uma linguagem procedural. A aplicação passa a ter acesso a recursos computacionais genéricos, ou seja,&amp;nbsp; qualquer tipo de recurso que necessite estrutura de dados e algorítmicos, tais como cálculos, interação com a interface gráfica, entrada de dados por parte do telespectador,&amp;nbsp; etc. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Esta seção descreve como é feita essa integração, a qual permite um aumento do potencial dos programas para a televisão digital.&lt;br /&gt;4.1. Scripts NCLua&lt;br /&gt;Os scripts NCLua usam a mesma abstração para objetos de mídia utilizada para imagens, vídeos e outras mídias. Esses scripts seguem sintaxe idêntica à de Lua e possuem um conjunto de biblioteca similar. Ou seja, a linguagem Lua possui adaptações para funcionar embutida em documentos NCL.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; O arquivo Lua deve ser escrito em uma arquivo (com extensão .lua) separado do documento NCL, que apenas o referencia como qualquer outro nó de mídia. O ciclo de vida do script é controlado pelo documento NCL que o referencia, ou seja, o NCL determina quando o programa Lua inicia.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; As bibliotecas disponíveis são divididas em quatro módulos essenciais:&lt;br /&gt;Módulo event – permite a comunicação do NCLua com o formatador NCL através de eventos.&lt;br /&gt;Módulo canvas – oferece uma API para desenhar primitivas gráficas e imagens.&lt;br /&gt;Módulo settings – exporta a tabela settings com variáveis definidas pelo autor do documento NCL e variáveis de ambiente reservadas.&lt;br /&gt;Módulo persistent – oferece uma API para exportar a tabela persistent com variáveis definidas em uma área reservada, restrita do middleware.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; A seção a seguir&amp;nbsp; propõe um estudo de caso com a implementação de uma aplicação interativa para TV Digital.&lt;br /&gt;5. Aplicação proposta&lt;br /&gt;A aplicação proposta informa o valor do salário líquido após o usuário fornecer o salário bruto através do controle remoto. A aplicação desconta a porcentagem de INSS conforme o valor informado.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; O objetivo é demonstrar um pouco da capacidade e interatividade das aplicações de TV Digital. A seguir é descrito o comportamento esperado:&lt;br /&gt;Um campo de entrada e outro de saída são exibidos na tela.&lt;br /&gt;O usuário preenche o campo de entrada.&lt;br /&gt;Quando o usuário aperta a tecla ENTER, o valor do salário líquido é exibido no campo de saída.&lt;br /&gt;&lt;br /&gt;5.1 Principais trechos da aplicação&lt;br /&gt;Para execução correta da aplicação, alguns comandos são necessários, como o mapeamento do controle remoto da televisão:&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; local MAP = {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;['1'] = { '1', '.', ',' }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,['2']={'a','b','c','2'}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;,['3']= 'd','e','f','3'}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,['4']={'g','h','i','4'}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;,['5']={'j','k','l','5'}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,['6']={'m','n','o','6'}&amp;nbsp;&amp;nbsp;&amp;nbsp; ,['7']={'p','q','r','s','7'}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,['8']={'t','u','v','8'}&amp;nbsp;&amp;nbsp;&amp;nbsp; ,['9']={'w','x','y','z','9'}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; , ['0'] = { '0' }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Função que calcula o salário:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function calcula_salario(var)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if var &amp;lt;= 1024.97 then&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return var - (var * 0.08)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; elseif var &amp;gt;= 1024.98 and var &amp;lt;= 1708.27 then&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return var - (var * 0.09)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return var - (var * 0.11)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; end&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Corpo da arquivo NCL da apresentação:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;port id="entryPoint" component="input"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;media type="application/x-ginga-settings" id="programSettings"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;property name="service.currentKeyMaster" value="inputIdx"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;/media&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;media id="input" src="input.lua"&amp;nbsp; descriptor="dsInput"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;area id="select"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;property name="text"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;/media&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;media id="output2" src="output.lua" descriptor="dsOutput2"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;property name="text"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;/media&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;link xconnector="onBeginStart"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;bind role="onBegin" component="input"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;bind role="start"&amp;nbsp;&amp;nbsp; component="output2"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;/link&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;link xconnector="onBeginSet"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;bind role="onBegin" component="input" interface="select"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;bind role="set" component="output2" interface="text"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;bindParam name="var" value="$get"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;/bind&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;bind role="get" component="input" interface="text"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;/link&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Referências&lt;br /&gt;&lt;br /&gt;http://www.lua.org/&lt;br /&gt;http://www.ncl.org.br/&lt;br /&gt;http://www.ginga.org.br/&lt;br /&gt;http://www.gingancl.org.br/&lt;br /&gt;http://www.gingadf.com/blogGinga/?tag=ginga-ncl&lt;br /&gt;http://www.peta5.com.br/&lt;br /&gt;http://www.telemidia.puc-rio.br/~francisco/nclua/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-4375635393557016381?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/4375635393557016381/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=4375635393557016381' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/4375635393557016381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/4375635393557016381'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2010/06/introducao-ncl-e-lua-desenvolvendo.html' title='Introdução a NCL e Lua: Desenvolvendo Aplicações Interativas para TV Digital'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-9208562836613611294</id><published>2010-06-21T17:40:00.000-07:00</published><updated>2012-01-08T08:33:03.018-08:00</updated><title type='text'>Exemplo processo BPMN Pedido de Férias  (Com jbpm)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QWF9UH6uY-o/TCAFFOT11WI/AAAAAAAAATw/iZojQMH2be0/s1600/PedidoFerias.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="336" src="http://4.bp.blogspot.com/_QWF9UH6uY-o/TCAFFOT11WI/AAAAAAAAATw/iZojQMH2be0/s400/PedidoFerias.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt; &lt;br /&gt;&amp;lt;definitions id="Pedido de Férias-id"&amp;nbsp; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schema.omg.org/spec/BPMN/2.0 ../../../../../../../../../../bpmn/src/main/resources/BPMN20.xsd" xmlns="http://schema.omg.org/spec/BPMN/2.0" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://jbpm.org/example/bpmn2/vacation_request" xmlns:jbpm="http://jbpm.org/bpmn2"&amp;gt;&amp;nbsp; &amp;lt;process id="Pedido de Férias" name="Pedido de Férias"&amp;gt; &lt;br /&gt;&amp;lt;startEvent id="startNode" /&amp;gt;&lt;br /&gt;&amp;lt;userTask id="Formulário&amp;nbsp; de Pedido de Férias" name="Formulário&amp;nbsp; de Pedido de Férias" implementation="other"&amp;gt; &amp;lt;potentialOwner resourceRef="user"&amp;gt;&lt;br /&gt;&amp;lt;resourceAssignmentExpression&amp;gt;&lt;br /&gt;&amp;lt;formalExpression&amp;gt;Usuario.Usuario&amp;lt;/formalExpression&amp;gt;&lt;br /&gt;&amp;lt;/resourceAssignmentExpression&amp;gt; &lt;br /&gt;&amp;lt;/potentialOwner&amp;gt; &lt;br /&gt;&amp;lt;rendering id="pedido-ferias.html-form"&amp;gt;&lt;br /&gt;&amp;lt;jbpm:form&amp;gt;pedido-ferias.html&amp;lt;/jbpm:form&amp;gt;&lt;br /&gt;&amp;lt;/rendering&amp;gt;&lt;br /&gt;&amp;lt;/userTask&amp;gt;&lt;br /&gt;&amp;lt;userTask id="Verificar Pedido de Férias" name="Verificar Pedido de Férias" implementation="other"&amp;gt;&lt;br /&gt;&amp;lt;potentialOwner resourceRef="user"&amp;gt;&lt;br /&gt;&amp;lt;resourceAssignmentExpression&amp;gt;&lt;br /&gt;&amp;lt;formalExpression&amp;gt;Usuario.Usuario&amp;lt;/formalExpression&amp;gt;&lt;br /&gt;&amp;lt;/resourceAssignmentExpression&amp;gt; &lt;br /&gt;&amp;lt;/potentialOwner&amp;gt;&lt;br /&gt;&amp;lt;rendering id="verifica-pedido-ferias.html-form"&amp;gt;&lt;br /&gt;&amp;lt;jbpm:form&amp;gt;verifica-pedido-ferias.html&amp;lt;/jbpm:form&amp;gt;&lt;br /&gt;&amp;lt;/rendering&amp;gt;&lt;br /&gt;&amp;lt;/userTask&amp;gt; &lt;br /&gt;&amp;lt;endEvent id="node-aceitar-ferias-id" name="node-aceitar-ferias-name" /&amp;gt;&lt;br /&gt;&amp;lt;endEvent id="node-recusar-ferias-id" name="node-aceitar-ferias-id" /&amp;gt;&lt;br /&gt;&amp;lt;sequenceFlow id="startFlow" name="startToFistNode" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceRef="startNode" targetRef="Formulário&amp;nbsp; de Pedido de Férias" /&amp;gt;&lt;br /&gt;&amp;lt;sequenceFlow id="Pedir Férias" name="Pedir Férias" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceRef="Formulário&amp;nbsp; de Pedido de Férias" targetRef="Verificar Pedido de Férias" &amp;gt;&lt;br /&gt;&amp;lt;conditionExpression xsi:type="tFormalExpression"&amp;gt;${jbpm_outcome == 'Pedir Férias'}&amp;lt;/conditionExpression&amp;gt;&lt;br /&gt;&amp;lt;/sequenceFlow&amp;gt;&lt;br /&gt;&amp;lt;sequenceFlow id="Aceitar Férias" name="Aceitar Férias"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceRef="Verificar Pedido de Férias" targetRef="node-aceitar-ferias-id" &amp;gt;&lt;br /&gt;&amp;lt;conditionExpression xsi:type="tFormalExpression"&amp;gt;${jbpm_outcome == 'Aceitar Férias'}&amp;lt;/conditionExpression&amp;gt;&lt;br /&gt;&amp;lt;/sequenceFlow&amp;gt;&lt;br /&gt;&amp;lt;sequenceFlow id="Recusar Férias" name="Recusar Férias"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceRef="Verificar Pedido de Férias" targetRef="node-recusar-ferias-id" &amp;gt;&lt;br /&gt;&amp;lt;conditionExpression xsi:type="tFormalExpression"&amp;gt;${jbpm_outcome == 'Recusar Férias'}&amp;lt;/conditionExpression&amp;gt;&lt;br /&gt;&amp;lt;/sequenceFlow&amp;gt;&lt;br /&gt;&amp;lt;/process&amp;gt;&lt;br /&gt;&amp;lt;/definitions&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Formulários:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Formulário de Pedido de Férias&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;h1&amp;gt;Pedido de férias&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;lt;h2&amp;gt;Aqui você faz seu pedido de férias&amp;lt;/h2&amp;gt;&lt;br /&gt;&amp;lt;table border="0"&amp;gt;&lt;br /&gt;&amp;lt;tbody&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Usuário Pedido de Férias: &amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input id="usuarioPedidoFerias" name="usuarioPedidoFerias" type="hidden" value="#{userLogin}" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{userLogin}&lt;br /&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Dias de férias: &amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input id="diasFerias" name="diasFerias" type="text" value="${diasFerias}" /&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/tbody&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Formulário de Verificação de Férias&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;h1&amp;gt;Verificação de pedido de férias&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;lt;h2&amp;gt;Dados do pedido de férias:&amp;lt;/h2&amp;gt;&lt;br /&gt;&amp;lt;table border="0"&amp;gt;&lt;br /&gt;&amp;lt;tbody&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Usuário: : &amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input id="usuarioPedidoFerias" name="usuarioPedidoFerias" type="hidden" value="${usuarioPedidoFerias}" /&amp;gt;&lt;br /&gt;${usuarioPedidoFerias}&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Quantidade de&amp;nbsp; dias: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;input id="diasFerias" name="diasFerias" type="hidden" value="${diasFerias}" /&amp;gt;${diasFerias}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/tbody&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-9208562836613611294?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/9208562836613611294/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=9208562836613611294' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/9208562836613611294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/9208562836613611294'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2010/06/exemplo-processo-bpmn-pedido-de-ferias.html' title='Exemplo processo BPMN Pedido de Férias  (Com jbpm)'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/_QWF9UH6uY-o/TCAFFOT11WI/AAAAAAAAATw/iZojQMH2be0/s72-c/PedidoFerias.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-7631441838179097352</id><published>2010-06-21T17:16:00.000-07:00</published><updated>2010-06-21T17:18:09.362-07:00</updated><title type='text'>Diagrama de Classes Gerador de XML BPMN (Business Process Modelling Notation)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QWF9UH6uY-o/TCABNqoFkoI/AAAAAAAAATg/m4pknHMiNXI/s1600/Class+BpmnBuilder.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 328px;" src="http://2.bp.blogspot.com/_QWF9UH6uY-o/TCABNqoFkoI/AAAAAAAAATg/m4pknHMiNXI/s400/Class+BpmnBuilder.png" alt="" id="BLOGGER_PHOTO_ID_5485385680429617794" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-7631441838179097352?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/7631441838179097352/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=7631441838179097352' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7631441838179097352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7631441838179097352'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2010/06/diagrama-de-classes-gerador-de-xml-bpmn.html' title='Diagrama de Classes Gerador de XML BPMN (Business Process Modelling Notation)'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/_QWF9UH6uY-o/TCABNqoFkoI/AAAAAAAAATg/m4pknHMiNXI/s72-c/Class+BpmnBuilder.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-7593059095450848845</id><published>2010-06-21T17:13:00.000-07:00</published><updated>2010-06-21T17:15:48.152-07:00</updated><title type='text'>Digrama de Componente OpenBPMS (UML)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QWF9UH6uY-o/TCAAi4pH4xI/AAAAAAAAATY/Z02CUiojtbE/s1600/Components.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 293px;" src="http://1.bp.blogspot.com/_QWF9UH6uY-o/TCAAi4pH4xI/AAAAAAAAATY/Z02CUiojtbE/s400/Components.png" alt="" id="BLOGGER_PHOTO_ID_5485384945457685266" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-7593059095450848845?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/7593059095450848845/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=7593059095450848845' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7593059095450848845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7593059095450848845'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2010/06/digrama-de-componente-openbpms-uml.html' title='Digrama de Componente OpenBPMS (UML)'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/_QWF9UH6uY-o/TCAAi4pH4xI/AAAAAAAAATY/Z02CUiojtbE/s72-c/Components.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-2474050055723814961</id><published>2010-06-21T16:58:00.000-07:00</published><updated>2010-06-21T17:13:10.165-07:00</updated><title type='text'>Projeto OpenBPMS (Open Business Process Management System/ Sistema de Gerenciamento de Processos Empresariais) BPM jBPM</title><content type='html'>Hospedado:&lt;br /&gt;&lt;a href="http://sourceforge.net/projects/open-bpms/"&gt;http://sourceforge.net/projects/open-bpms/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class=" on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;Resumo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Este sistema é uma implementação de um trabalho para cadeira de engenharia de software, e um possível tema para TCC/Estágio.&lt;br /&gt;O trabalho descreve a implementação, de um software de gerenciamento de processos  de negócio (BPM, Business Process Management), utilizando JBPM.&lt;br /&gt;JBPM é uma framework¹ desenvolvida pela Jboss, para prover, linguagem de modelagem (jpdl e bpmn), estrutura para gerenciamento, automatização e workflow² de processos de negócio.&lt;br /&gt;Um processo de negócio é uma sequencia de atividades previamente estabelecidas pela empresa, com a finalidade de definir como é realizado determinado trabalho.&lt;br /&gt;A gerencia de processospasta sem título de negócio é uma ferramenta para criar, controlar, analisar e melhorar processos.&lt;br /&gt;Para o melhor desenvolvimento do software será feito documentação UML, como diagramas de classe, de atividade, de status, casos de uso.&lt;br /&gt;O software possibilitará que os processos sejam gerenciados por uma página da web, com controle de acesso por usuário.&lt;br /&gt;Auxiliará o nível estratégico da empresa a descobrir falhas ou gargalos no processos, como qual setor ou pessoa entrava o processo e com que frequência.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QWF9UH6uY-o/TB_9bOpzpDI/AAAAAAAAATQ/iOB1AOyCrj0/s1600/executar-tarefa.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 194px;" src="http://1.bp.blogspot.com/_QWF9UH6uY-o/TB_9bOpzpDI/AAAAAAAAATQ/iOB1AOyCrj0/s400/executar-tarefa.png" alt="" id="BLOGGER_PHOTO_ID_5485381515392295986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Tela de executar tarefa.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QWF9UH6uY-o/TB_9atPFneI/AAAAAAAAATI/YdJYPXJg4Dk/s1600/lista_processos.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 161px;" src="http://1.bp.blogspot.com/_QWF9UH6uY-o/TB_9atPFneI/AAAAAAAAATI/YdJYPXJg4Dk/s400/lista_processos.png" alt="" id="BLOGGER_PHOTO_ID_5485381506421857762" border="0" /&gt;&lt;/a&gt;Processos do Sistema&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QWF9UH6uY-o/TB_9aW2OY-I/AAAAAAAAATA/nKsWDxiHKac/s1600/lista-tarefas.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 146px;" src="http://1.bp.blogspot.com/_QWF9UH6uY-o/TB_9aW2OY-I/AAAAAAAAATA/nKsWDxiHKac/s400/lista-tarefas.png" alt="" id="BLOGGER_PHOTO_ID_5485381500411995106" border="0" /&gt;&lt;/a&gt;Tarefas abertas para o usuário "ramon"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QWF9UH6uY-o/TB_9aODB14I/AAAAAAAAAS4/7LlJS523LaA/s1600/relatorios.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 295px;" src="http://3.bp.blogspot.com/_QWF9UH6uY-o/TB_9aODB14I/AAAAAAAAAS4/7LlJS523LaA/s400/relatorios.png" alt="" id="BLOGGER_PHOTO_ID_5485381498049779586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Relatório de tarefas abertas&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QWF9UH6uY-o/TB_9IZw0xbI/AAAAAAAAASo/GhPo6ePC-yI/s1600/editar_contato.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 326px;" src="http://3.bp.blogspot.com/_QWF9UH6uY-o/TB_9IZw0xbI/AAAAAAAAASo/GhPo6ePC-yI/s400/editar_contato.png" alt="" id="BLOGGER_PHOTO_ID_5485381191957005746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Tela de editar contato&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QWF9UH6uY-o/TB_9B6vNVhI/AAAAAAAAASg/eliewkJy7G4/s1600/administrador.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 158px;" src="http://2.bp.blogspot.com/_QWF9UH6uY-o/TB_9B6vNVhI/AAAAAAAAASg/eliewkJy7G4/s400/administrador.png" alt="" id="BLOGGER_PHOTO_ID_5485381080549512722" border="0" /&gt;&lt;/a&gt;Tela do administrador do sistema&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:130%;"&gt;Objetivos&lt;/span&gt;&lt;br /&gt;Objetivo principal do sistema será promover auxilio ao ciclo de vida de processos de negócio.&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;Objetivos do sistema:&lt;/span&gt;&lt;br /&gt;1.Facilitar o controle dos processos de negócio.&lt;br /&gt;2.Disponibilizar a gestores estatísticas.&lt;br /&gt;3.Possibilitar a regulamentação de fluxo para determinado processo.&lt;br /&gt;4.Facilitar adaptação de novos funcionários aos processos da empresa.&lt;br /&gt;5.Ser base histórica para resultados de determinadas atividades.&lt;br /&gt;6.Diminuir a quantidade de documentos físicos na empresa.&lt;br /&gt;7.Aumentar a velocidade de tramitação de processos na empresa.&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Objetivos de implementação:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;1.Criar documentação e modelagem do sistema com UML (diagramas de classe, atividade, sequencia, status,  casos de uso).&lt;br /&gt;2.Criar banco de dados.&lt;br /&gt;3.Criar regras de negócio e controladores em java (beans, entities, servilets)&lt;br /&gt;4.Criar visualização utilizando Java Server Faces (paginas dinâmicas web para inserir, editar, atualizar, deletar, consultar).&lt;br /&gt;5.Criar relatórios utilizando iReport (impressão de processos, de cadastros, estatísticas).&lt;br /&gt;6.Criar um controle de acesso por usuário.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Recursos de hardware e de software&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Serão utilizadas as seguintes metodologias:&lt;br /&gt;Unified Modeling Language (UML)&lt;br /&gt;Utilizarei esta linguagem de modelagem de dados, pois com ela é fácil especificar, documentar, descrever a lógica para o desenvolvimento. Segundo Ahmed em Desenvolvendo aplicações comerciais em Java com J2EE e UML, a UML tem as ferramentas necessárias para o desenvolvimento &lt;/span&gt;de sistemas complexos e pode facilmente representar estruturas para java.&lt;br /&gt;&lt;br /&gt;Model-view-controller (MVC)&lt;br /&gt;Devido a complexidade do trabalho proposto utilizarei esta arquitetura dividindo a codificação em camadas (modelo, visão e controladores).&lt;br /&gt;Modelo: representação das entidades do sistema, como usuário, processo e documento, entre outros.&lt;br /&gt;Visão: paginas que representam a interface com o usuário, como cadastro de usuários.&lt;br /&gt;Controle: codificação das regras de negócio, validação de dados e faz a ligação entre a visão e o modelo.&lt;br /&gt;&lt;br /&gt;Servidor de aplicação e web&lt;br /&gt;Para implementação do sistema será necessário um servidor de aplicação e web. Java especifica uma arquitetura para este fim, Java 2 Enterprise Edition (J2EE).&lt;br /&gt;Banco de dados&lt;br /&gt;Para armazenamento de dados será utilizado banco de dados relacional, utilizarei o banco MySQL.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Sumário executivo (escopo do projeto)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Open-BPMS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Desenvolvimento de um sistema de gerenciamento de processos empresariais.&lt;br /&gt;Muitas empresas atualmente passam por dificuldades no controle e fiscalização da execução de seus processos, tais dificuldades acarretam em desperdício de tempo e material (inclusive humano).&lt;br /&gt;Em uma mesma empresa diferentes funcionários podem executar a mesma tarefa de modo diferente, a falta de um padrão pode dificultar tarefas como treinamento de um novo funcionário, determinação do valor da tarefa.&lt;br /&gt;O sistema irá prover uma interface para execução dos processos, desenvolvidos por analistas no formato BPMN XML ou JPDL XML.&lt;br /&gt;No sistema será necessário a criação de um fluxo para cada processo, com o caminho e documentos necessários para o andamento do processo. Cada vez que um novo processo é iniciado, ele deverá percorrer as etapas definidas em seu fluxo.&lt;br /&gt;O sistema deverá ser capaz de prover informações e relatórios dos processos.&lt;br /&gt;O sistema deverá prover o serviço em um servidor web, permitindo que os colaboradores possam acessar  de um web-brownser.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Requisitos:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Gerenciar usuários&lt;br /&gt;Gerenciar processos implantados&lt;br /&gt;Iniciar processo&lt;br /&gt;Ver / Executar tarefa&lt;br /&gt;Liberar tarefa&lt;br /&gt;Acessar informações do processo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-2474050055723814961?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/2474050055723814961/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=2474050055723814961' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2474050055723814961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2474050055723814961'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2010/06/projeto-openbpms-open-business-process.html' title='Projeto OpenBPMS (Open Business Process Management System/ Sistema de Gerenciamento de Processos Empresariais) BPM jBPM'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/_QWF9UH6uY-o/TB_9bOpzpDI/AAAAAAAAATQ/iOB1AOyCrj0/s72-c/executar-tarefa.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-6928626107378107454</id><published>2009-12-08T09:22:00.001-08:00</published><updated>2009-12-08T09:54:33.119-08:00</updated><title type='text'>Web Services, computação descentralizada para sistemas distribuídos, por Ramon Rosa da Silva</title><content type='html'>&lt;p style="margin-left: 0.8cm; margin-right: 0.8cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; &lt;i&gt;&lt;b&gt;Resumo.&lt;/b&gt; O crescimento dos serviços disponibilizados na internet tornou necessário uma padronização de protocolos para troca de informações. &lt;/i&gt; &lt;/p&gt; &lt;p style="margin-left: 0.8cm; margin-right: 0.8cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; &lt;i&gt;Para a interoperabilidade dos serviços desenvolvidos em diferentes arquiteturas, sistemas operacionais e linguagens, mais do que nunca é ressaltada a importância de padrões como XML (eXtensible Markup Language) e HTTP (Hypertext Transfer Protocol).&lt;/i&gt;&lt;/p&gt; &lt;p style="margin-left: 0.8cm; margin-right: 0.8cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; &lt;i&gt;Com ajuda destes padrões Web Services podem resolver problemas de comunicação entre diferentes aplicações, e disponibilizar serviços que podem ser utilizados por vários clientes sem necessidade de reconfiguração do servidor, isto é reutilização de serviços.&lt;/i&gt;&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;span style="font-size:100%;"&gt;&lt;b&gt;1.Introdução&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Na década de 60 a computação era baseada em grandes mainframes e terminais burros, isto é computação centralizada, existia pouca ou nenhuma preocupação com padronização de protocolos de comunicação, cada fabricante propunha sua própria especificação de seus produtos que não eram compatíveis com os produtos concorrentes. Muito rápido isso se tornou um problema para os clientes, que passava a ser também um problema aos fabricantes, foi neste contexto que sugiu a ISO, que propôs um modelo de arquitetura dividido em 7 camadas (famosa até hoje, arquitetura OSI).&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; Conforme foi sendo popularizado os computadores desktop e com a abertura da internet (por HTTP), a computação centralizada foi perdendo espaço, um novo modelo de computadores pessoais que operam sem necessidade de mainframes, que se comunicam pelo protocolo TCP/IP baseado no modelo OSI, assim iniciou a computação descentralizada.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; A descentralização possibilitou o surgimento de serviços disponibilizados na web, os Web Services, e novos padrões foram criados para o desenvolvimento de aplicações distribuídas, como CORBA (Commom Object Request Broker Architeture), DCOM da Microsoft entre outros. Em meados da década de 90 existiam vários padrões que criavam um forte acoplamento entre os sistemas, e se tornava complicado diferentes sistemas interagirem entre si.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; Mais uma vez foi necessário uma reformulação do modo de diferentes serviços se comunicarem, para este fim foi criada a XML, linguagem/padrão de troca de informações.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; Atualmente as empresas se esforçam para aperfeiçoamento de padrões como XML e HTTP, com linguagens como Java e PHP, que permitem a criação de sistemas independentes de arquiteturas e plataformas. Essas tecnologias são utilizadas tanto com os novos padrões quanto antigos em sistemas legados.&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;span style="font-size:100%;"&gt;&lt;b&gt;2.Padrão Web Service&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; O padrão do Web Service é padronizado pela W3C, com: “um sistema de software projectado para suportar a interoperabilidade entre máquinas sobre rede”.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; Essas interoperabilidade é garantida pelo seu padrão de comunicação baseado em XML encapsulado em SOAP.&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;span style="font-size:100%;"&gt;&lt;b&gt;3.XML&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; Atualmente de &lt;i&gt;facto&lt;/i&gt; XML é a linguagem padrão para comunicação entre serviços com serviços, e serviços com clientes.&lt;/p&gt;&lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QWF9UH6uY-o/Sx6MYCMljrI/AAAAAAAAAPo/J8kQgNq4reU/s1600-h/artigo+web+services_html_m53e4905b.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 318px;" src="http://2.bp.blogspot.com/_QWF9UH6uY-o/Sx6MYCMljrI/AAAAAAAAAPo/J8kQgNq4reU/s400/artigo+web+services_html_m53e4905b.png" alt="" id="BLOGGER_PHOTO_ID_5412918146680327858" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="CENTER"&gt;  Fig. 1: Comunicação entre os serviços.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  A linguagem XML é muito similar a HTML (Hyper Text Model Linguage), é escrita com tags com uma identificação e dados dentro das tags, podem existir tags dentro de tags. Por exemplo:&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; font-style: normal; page-break-before: auto;" align="JUSTIFY"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QWF9UH6uY-o/Sx6MYVS9GjI/AAAAAAAAAPw/0ncgWnbRbqo/s1600-h/artigo+web+services_html_120146b8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 168px; height: 116px;" src="http://3.bp.blogspot.com/_QWF9UH6uY-o/Sx6MYVS9GjI/AAAAAAAAAPw/0ncgWnbRbqo/s400/artigo+web+services_html_120146b8.png" alt="" id="BLOGGER_PHOTO_ID_5412918151807310386" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="CENTER"&gt; Fig. 2: Exemplo XML&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; O XML trafega pela rede dentro de um pacote HTTP ou HTTPS para conexões seguras, que é desempacotado pelo servidor.&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;span style="font-size:100%;"&gt;&lt;b&gt;4.SOAP&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; &lt;i&gt;Simple Object Access Protocol&lt;/i&gt;, trás a mesma ideia do RPC (&lt;i&gt;Remote Procedure Call&lt;/i&gt;) para XML, atualmente é um especificação da W3C.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; É um protocolo baseado em XML para comunicação entre aplicações HTTP.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; RCP não é recomendado para internet pois teria problemas com segurança e  com &lt;i&gt;firewalls&lt;/i&gt; ou &lt;i&gt;proxyes.&lt;/i&gt;&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; font-style: normal; page-break-before: auto;" align="JUSTIFY"&gt; Mensagens SOAP, são dividas em 3 partes:&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; font-style: normal; page-break-before: auto;" align="JUSTIFY"&gt; SOAP envelope: Define o conteúdo da mensagem.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; font-style: normal; page-break-before: auto;" align="JUSTIFY"&gt; SOAP header: Contém a autenticação, transação e contabilização, é opcional.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; font-style: normal; page-break-before: auto;" align="JUSTIFY"&gt; SOAP body: informações dos métodos e parâmetros que serão utilizados.&lt;/p&gt;&lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; font-style: normal; page-break-before: auto;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; font-style: normal; page-break-before: auto;" align="JUSTIFY"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QWF9UH6uY-o/Sx6MYVS9GjI/AAAAAAAAAPw/0ncgWnbRbqo/s1600-h/artigo+web+services_html_120146b8.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QWF9UH6uY-o/Sx6MYia_afI/AAAAAAAAAP4/6MNdrm3C63g/s1600-h/artigo+web+services_html_5e0e9320.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 233px;" src="http://2.bp.blogspot.com/_QWF9UH6uY-o/Sx6MYia_afI/AAAAAAAAAP4/6MNdrm3C63g/s400/artigo+web+services_html_5e0e9320.png" alt="" id="BLOGGER_PHOTO_ID_5412918155330677234" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; font-style: normal; page-break-before: auto;" align="CENTER"&gt;  Fig. 3: Exemplo mensagem  SOAP&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;   &lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;span style="font-size:100%;"&gt;&lt;b&gt;5.Web Services&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Web Services são aplicações publicadas na web, desde simples processos como  cálculos até complexas transações de empresariais, depois de publicados permitem obtenção e submissão de dados.&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  São acessados de forma independente de plataforma ou linguagem de programação, utilizando padrões como HTTP, XML e SOAP. Seus serviços são conhecidos através de uma mensagem padrão XML.&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Um Web Service é feito para suportar 3 categorias: provedor do serviço, provedor de registro e o cliente do serviço. Com operações de procura (&lt;i&gt;find&lt;/i&gt;), publicação (&lt;i&gt;publish&lt;/i&gt;) e acoplamento (&lt;i&gt;bind&lt;/i&gt;).&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; O cliente procura o serviço, e obtém a descrição do serviço e do provedor de registro, com essas informações ele pode acessar e interagir (&lt;i&gt;bind&lt;/i&gt;) com o provedor do serviço.&lt;/p&gt;&lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QWF9UH6uY-o/Sx6MYia_afI/AAAAAAAAAP4/6MNdrm3C63g/s1600-h/artigo+web+services_html_5e0e9320.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="CENTER"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QWF9UH6uY-o/Sx6MY1XZZcI/AAAAAAAAAQA/KDc66NXcHTk/s1600-h/artigo+web+services_html_62fd3d9f.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 308px;" src="http://1.bp.blogspot.com/_QWF9UH6uY-o/Sx6MY1XZZcI/AAAAAAAAAQA/KDc66NXcHTk/s400/artigo+web+services_html_62fd3d9f.png" alt="" id="BLOGGER_PHOTO_ID_5412918160415876546" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="CENTER"&gt;  Fig. 3: Ciclo de vida de um Web Service&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;b&gt;5.1.WSDL&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Web Services Description Language, linguagem XML, desenvolvida para descrever o Web Services, o que o serviços faz, como utiliza-lo e onde ele está localizado.&lt;/p&gt;&lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;Contém o elemento "definition" dividido em:&lt;br /&gt;"message" e "portType" : define quais operações o serviço fornece.&lt;br /&gt;"type" : este elemento opcional serve para definir tipos de dados estruturados .&lt;br /&gt;"binding" : designa como as operações são invocadas.&lt;br /&gt;"service" : explicita onde o serviço está localizado.&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;b&gt;5.2.UDDI&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Universal Description Discovery and Integration, é um conjunto de registros baseados na web que provem informações a respeito de uma entidade ou organização, podem ser utilizadas por qualquer um que queira tornar disponível ou queira obter informações a respeito de negócios ou entidades.&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  São encontrados 4 tipos de UDDI:&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  BusinessService: pode conter informações sobre uma ou mais organizações.&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  BusinessEntity: informações técnicas e de descrições de serviços.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; BindingTemplate : contem referencias a um ou mais tModels&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; tModel: definições de especificações técnicas de serviços.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; Uma UDDI é similar a uma lista telefônica. Páginas brancas (&lt;i&gt;white pages&lt;/i&gt;), contém informações como nome da organização, contato e identificadores. As páginas amarelas (&lt;i&gt;yellow pages&lt;/i&gt;) um índice de serviços e produtos e as páginas verdes (&lt;i&gt;green pages&lt;/i&gt;) contém informações a respeito de transações, descrições de serviço e invocação de aplicações.  &lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;span style="font-size:100%;"&gt;&lt;b&gt;6.Segurança&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;"&gt; Atualmente a segurança é uma das questões mais criticas em um Web Service, não existe falta de tecnologia para segurança, mas um falta de consenso para escolha desta tecnologia.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; Existe uma grande preocupação de separar bancos de dados importantes das empresas com os Web Services para maior segurança.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; Principais mecanismos de segurança são: SSL, XML signature, XML encryption, WS-security e  SAML.  &lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;b&gt;6.1.SSL&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Secure Socket Layer, desenvolvido para pequenos dispositivos, oferece autenticação, integridade e privacidade. Trabalha em cima de HTTP, com a desvantagem de ser mais lento que HTTP puro.&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;b&gt;6.2.XML signature&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Iniciado pela IETF (Internet Engineering Task Force) e W3C, como uma especificação de XML com assinatura digital. Com vantagem de ser independente de linguagem de desenvolvimento, ao contrario de outras assinaturas digitais.&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;b&gt;6.3.XML encryption&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Também iniciado pela IETF e W3C, define um processo de encriptação e decriptamento de dados no formato XML, onde o XML pode ser acessado por qualquer um, mas apenas o proprietário da chave pode entender os dados.   &lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;b&gt;6.4.WS-security&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Web Service seguro, iniciativa da Microsoft, IBM e Verisign, para XML signature e XML encryption, fornecer segurança para SOAP.&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;b&gt;6.5.SAML&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Security Assertion Markup Language, ainda pouco utilizada, é desenvolvida para prover autenticação e autorização em diferentes Web Services com níveis de direitos de acesso, permitindo que trabalhem como se fosse apenas um apicação.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;span style="font-size:100%;"&gt;&lt;b&gt;7.Implementação&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Um Web Service pode ser implementado de diferentes linguagens de programação. Linguagens como PHP, ASP, Java, possuem servidores que provem bibliotecas para facilitar a implementação.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; No caso do PHP existe o Apache, um dos servidores mais populares para internet, para ASP a Microsoft desenvolve seu próprio servidor e para Java a Sun Microsystens definiu uma arquitetura que é implementada por diferentes empresas como IBM com WebSphere, Oracle, Apache.org com Tomcat entre outras.&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;span style="font-size:100%;"&gt;&lt;b&gt;8.Conclusões&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  Os Web Services tem se tornados cada vez mais importantes para as empresas, já substituíram o paradigma de computação centralizada, estão atualmente substituindo servidores que usam protocolos fortemente acoplados como CORBA.&lt;/p&gt; &lt;p style="margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;  A tendencia é que cada vez mais as empresas passem a disponibilizar seus serviços por Web Services.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; Na medida que grandes empresas desenvolvedoras de software estão se dedicando no aperfeiçoamento de arquiteturas como J2EE, plataforma .Net, e também comunidade por trás do PHP, tem ficado cada vez mais simples para as empresas terem seus próprio Web Services.&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-top: 0.42cm; margin-bottom: 0cm; page-break-before: auto; page-break-after: avoid;"&gt; &lt;span style="font-size:100%;"&gt;&lt;b&gt;9.Referencias&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; W3C&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; w3schools&lt;/p&gt; &lt;p style="text-indent: 1.25cm; margin-top: 0.21cm; margin-bottom: 0cm; page-break-before: auto;" align="JUSTIFY"&gt; www.ws-i.org&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-6928626107378107454?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/6928626107378107454/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=6928626107378107454' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/6928626107378107454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/6928626107378107454'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/12/web-services-computacao-descentralizada.html' title='Web Services, computação descentralizada para sistemas distribuídos, por Ramon Rosa da Silva'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/_QWF9UH6uY-o/Sx6MYCMljrI/AAAAAAAAAPo/J8kQgNq4reU/s72-c/artigo+web+services_html_m53e4905b.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-7054033978127403996</id><published>2009-12-07T09:49:00.001-08:00</published><updated>2009-12-07T10:12:33.989-08:00</updated><title type='text'>TI Verde Por Ramon Rosa da Silva</title><content type='html'>A pratica da TI verde se da escolhendo fornecedores que assumam sua responsabilidade ecológica, utilização materiais renováveis, descartamento de correto de materiais, virtualização, economia de energia entre outros atos que venham em favor sustentabilidade da computação. De forma geral essa pratica procura diminuir o desperdício e aumentar a eficiência.&lt;br /&gt;Muitas pessoas não sabem mas uma forma simples de diminuir o gasto de energia é desligar o monitor quando não está sendo utilizado, principalmente quando é CRT, que pode consumir até 80% da energia do computador. Ainda bem estamos caminhando para monitores mais econômicos como LCDs e de LEDs, que consomem muito menos que os CRT.&lt;br /&gt;Hoje em dia a TI verde está saindo da teoria e entrando em pratica nas grandes empresas, muitas por economia e consciência, outros por publicidades, como concursos como “Top Green 500”, com a escolha dos 500 computadores mais eficientes energeticamente, mas em fim o que importa é a adesão das empresas na TI verde.&lt;br /&gt;Vale lembrar que além do hardware o software também tem grande importância na TI verde, imagine que quanto menor o processamento, menor aquecimento, que se relaciona com refrigeração interna do equipamento e do ambiente. No desenvolvimento o software também pode ser feito de forma sustentável, em forma colaborativa, criando módulos que possam ser melhorados, procurando a reutilização de formas comprovadas de eficiência.&lt;br /&gt;Estive semana passada em uma empresa a ViaFlow de consultoria que em parceria com a IBM, trabalha com implantação de um sistema de GED (Gerenciamento Eletrônico de Documentos), o sistema se trata da digitalização de documentos, visando facilitar o gerenciamento deste documento, e o que eu achei mais interessante, permite anular todos documentos em papel, mantendo-os apenas no sistema, com a mesma validade jurídica, um sistema que elimina papéis é importante não somente para empresas de TI, e sim para todas empresas que trabalhem com um volume considerável de documentos em papel.&lt;br /&gt;Eu trabalhei em um hospital de tamanho médio, e vi um grande volume de documentos gerados em papel apenas para fins jurídicos, pois o sistema podia abranger todas as atividades sem a necessidade de papel.&lt;br /&gt;Sistemas como GED, ou simplesmente gerar em PDF e utilizar e-mail ao invés de imprimir relatórios, ou de desligar os monitores, ou virtualização, entre outros métodos, não são utilizados por estrar intrinsecamente no subconsciente¹ a desconfiança da segurança do software ou hardware.&lt;br /&gt;Acredito que quando as empresas e pessoas tiverem maior consciência do desperdício que fazem, trocarão a cultura atual, por outra com maior confiança em tecnologias com um consciência ecológica.&lt;br /&gt;&lt;br /&gt;¹ Nota: Lembra as aulas de psicologia, talvez um psicologo possa ajudar nesse processo de mudanças. Se não me der bem no área de tecnologia vou cursar psicologia...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-7054033978127403996?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/7054033978127403996/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=7054033978127403996' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7054033978127403996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7054033978127403996'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/12/ti-verde-por-ramon-rosa-da-silva.html' title='TI Verde Por Ramon Rosa da Silva'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-7392941609509620693</id><published>2009-12-07T09:48:00.001-08:00</published><updated>2009-12-07T09:48:53.607-08:00</updated><title type='text'>Memória flash, por Ramon Rosa da Silva</title><content type='html'>A memória flash é a mais indicada para substituir a do disco rígida (HDs), por sua velocidade superior, com uma única operação é capas de escrever em vários blocos, com acesso aleatório, porém atualmente sua durabilidade é inferior a do disco rígido, são limitadas a uma quantidade finita de leitura e escrita. Seu custo atual é maior que a do disco rígido, quando seu custo baratear são vendida em massa nos desktops e em servidores, atualmente já são encontradas em alguns NetBooks.&lt;br /&gt;São do tipo EEPROM (Electrically-Erasable Programmable Read-Only Memory) . Muito parecidas com a memória RAM (Random Access Memory) com a diferença que não são voláteis (não se apaga quando é desligada).&lt;br /&gt;Encontradas em dispositivos como pen drives, mp3 players, câmeras digitais, celulares, principalmente por sua economia de energia e um tamanho pequeno.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-7392941609509620693?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/7392941609509620693/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=7392941609509620693' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7392941609509620693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7392941609509620693'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/12/memoria-flash-por-ramon-rosa-da-silva.html' title='Memória flash, por Ramon Rosa da Silva'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-1618295264824989175</id><published>2009-12-07T09:47:00.000-08:00</published><updated>2009-12-07T09:48:18.903-08:00</updated><title type='text'>Virtualização, por Ramon Rosa da Silva</title><content type='html'>Virtualização de sistemas operacionais é a possibilidade de em uma única máquina e sistema operacional, poder rodar por cima mais sistemas operacionais, que possam interagir entre si, e entre a rede de computadores, como se estivessem fisicamente instalados.&lt;br /&gt;Cada vez mais comum nas grandes empresas a virtualização tem se tornado uma grande aliada a redução de custos.&lt;br /&gt;Para que essa virtualização seja eficaz é necessário dispor de um equipamento potente, é pouco provável que um desktop comum tenha um bom desempenho para virtualizar outros sistemas operacionais.&lt;br /&gt;Empresa que produzem servidores estão se dedicando a criação de hardwares específicos para vitalização de vários sistemas operacionais no mesmo servidor, até mesmo desenvolvendo sistemas operacionais específicos para esta atividade. Utilizam dedicação de processadores ou núcleos, memória para determinada máquina virtual.&lt;br /&gt;Um desvantagem desta técnica é a centralização em uma única máquina de diversas atividades, caso ela necessite de reparos é recomendável ter uma outra máquina disponível (redundância), com um com backup dos sistemas virtualizados.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-1618295264824989175?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/1618295264824989175/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=1618295264824989175' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/1618295264824989175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/1618295264824989175'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/12/virtualizacao-por-ramon-rosa-da-silva.html' title='Virtualização, por Ramon Rosa da Silva'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-2484860910956441329</id><published>2009-12-06T11:18:00.001-08:00</published><updated>2009-12-06T11:18:23.295-08:00</updated><title type='text'>Computação social, Por Ramon Rosa da Silva</title><content type='html'>Tem sido cada vez maior a necessidade das pessoas interagirem utilizando a internet, para solucionar o problema de “como se relacionar pele internet” tem surgido sistemas web e desktop, esses sistemas promovem o relacionamento das mais diversas pessoas, de diferentes classes sociais e lugares do mundo.&lt;br /&gt;Mesmo já existindo muitas tecnologias voltadas para essa área, tais como, orkut, myspace, facebook, msn, gtalk, skype, ainda existe espaço para novas tecnologias que atenda públicos específicos, por exemplo, de empresas, de escolas, entre outros que a criatividade nos permita encontrar.&lt;br /&gt;Para alguns autores como Höök (2001) o termo é aplicado no sentido de “pesquisar e construir software que permita as pessoas terem uma vida social on-line”, para Ashok Rao (2002) o foco seria poder incluir socialmente cidadãos na tecnologia digital.&lt;br /&gt;Atualmente a computação social está motivando em grande quantidade o interesse das classes baixas por computadores e internet, devido a popularização do sistema de relacionamento Orkut, do mensageiro instantâneo Msn Messenger e sistema de gestão de conhecimento wikipedia  (os 3 mais populares em suas áreas no Brasil), que muitas pessoas começaram a utilizar os computadores, algumas vezes para se relacionar de uma maneira mais barata que o telefone com amigos/parentes que viajaram para longe, ou até mesmo para conhecer pessoas novas, manter contato.&lt;br /&gt;E também outro ponto importante que fez com que pais  de baixa renda adquirissem um computador com internet é a questão de estudo, pois tem a consciência que o futuro é digital e com o computador seus filhos terão mais chances de se relacionar e aprender pela internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-2484860910956441329?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/2484860910956441329/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=2484860910956441329' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2484860910956441329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2484860910956441329'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/12/computacao-social-por-ramon-rosa-da.html' title='Computação social, Por Ramon Rosa da Silva'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-3834870375023009448</id><published>2009-12-05T13:05:00.000-08:00</published><updated>2009-12-05T13:06:31.578-08:00</updated><title type='text'>Computação em nuvem, por Ramon Rosa da Silva</title><content type='html'>Em inglês chamada de “cloud computing”, é uma tendencia para o futuro da internet. &lt;br /&gt;Computação em nuvem é poder utilizar os softwares sem precisar instalá-los, muitas vezes está ligado a computação móvel, no futuro poderemos utilizar softwares com nossos documentos pessoais em qualquer lugar, pois estarão armazenados em servidores na internet.&lt;br /&gt;Mutias empresas atualmente já dedicam muito de seus esforços para aperfeiçoamento destes softwares, o Google por exemplo disponibiliza aos seus usuários, edição de textos, planilhas, email, mapas, e alguns outros software de escritório com gdocs, dmaps e gmail, para acesso em qualquer lugar pela internet. Além do google existem outras empresas como Zooho que estão seguindo o mesmo caminho.&lt;br /&gt;Computação em nuvens é um serviço feito para funcionar em diferentes sistemas operacionais.&lt;br /&gt;Alguns desvantagens deste serviço são:&lt;br /&gt;Dependência de conexão de internet, o serviço só será utilizado com perfeição se o usuário e o servidor estiver uma boa conexão com a internet, ou se por ventura a conexão de uma das pontas cair, termos problemas críticos.&lt;br /&gt;Exige segurança, autenticação segura, farejadores de rede, cópias sem autorização, alteração indevida, falhas com backup, entre outros, são problemas que podem acontecer quando se trabalha com dados armazenados em rede.&lt;br /&gt;Custo alto, atualmente para manter um sistema de computação em nuvens é necessário sistemas de arquivos distribuído muito complexo e equipamento potente, isso eleva muito o custo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-3834870375023009448?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/3834870375023009448/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=3834870375023009448' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3834870375023009448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3834870375023009448'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/12/computacao-em-nuvem-por-ramon-rosa-da.html' title='Computação em nuvem, por Ramon Rosa da Silva'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-6588837567088721722</id><published>2009-11-30T16:29:00.000-08:00</published><updated>2009-11-30T16:30:05.772-08:00</updated><title type='text'>Uma reflexão sobre ética</title><content type='html'>Com o inevitável crescimento da tecnologia nas empresa, tem ficado cada vez maior o controle dos funcionários (tempo de trabalho, no que foi trabalhado), quanto maior a empresa e mais inovadora, maior a necessidade de controle e segurança industrial.&lt;br /&gt;Mas toda essa busca por segurança e controle dos funcionários tem um carater invasivo, podendo passar por cima da privacidade ou até da legalidade. &lt;br /&gt;É muito importante estabelecer políticas éticas corporativas que incluam questões relacionadas aos Sistemas de Informação.&lt;br /&gt;Internet e e-mail fazem parte dos sistemas de informação, e tem preocupado muito as empresas com vazamento de informações confidenciais, que por isso invadem a privacidade de seus funcionários. Porém esse ideal de privacidade está em mutação, provavelmente esse avanço tecnológico crescente criará uma nova visão de privacidade.&lt;br /&gt;Isso gera uma questão: O avanço tenológico vale a perda de privacidade? Essa resposta depende muito da empresa, pois em algumas empresas é inevitável a evolução tecnológica.&lt;br /&gt;Mesmo os clientes das empresas sofrem com a perda de privacidade, com levantamento de perfil ou mesmo segurança dos próprios clientes é necessário invadir a privacidade, que talvez não fosse ético a não ser pelas circunstancias. &lt;br /&gt;Por exemplo é necessário que algumas empresas tenham câmeras de vigilância para sua segurança,  mas nem sempre o cliente ou funcionários estão cientes que estão sendo vigiados.&lt;br /&gt;Mais do que outros setores, o setor de TI necessita de uma equipe ciente das obrigações éticas, por exemplo um banco de dados hospitalar, ou de uma prefeitura, os dados armazenados nele contém informações que podem ser utilizadas para criação de cartões de crédito, compras pela internet, financiamento. Recentemente ocorreram casos onde foram feitos empréstimos em nome de aposentados, os dados dos aposentados eram vendidos na internet, que saíram de um banco de dados, isso foi um caso de falta de ética ligado a um sistema de informação.&lt;br /&gt;Normalmente a quebra de ética nas empresa é feita por necessidade e em um nível aceitável, é mais perigoso terem dados sigilosos em mãos de usuários comuns, hackers ou crackers do que de empresa.&lt;br /&gt;Algumas pessoas procuram vulnerabilidades em sites, procurando dados sigilosos, isto também é eticamente errado, mesmo que seja apenas para olhar os dados, e pior ainda vender ou destruir, isso é um crime.&lt;br /&gt;Existem também pessoas conhecidas como engenheiros sociais, se utilizam de conhecimentos tecnológicos ou específicos em um determinado seguimento para se passar por outras pessoas, afim de se infiltrar e conseguir informações ou até corromper-las, provavelmente essa é a mais perigosa forma de invasão ética, pois são indivíduos que podem entrar em diferentes ciclos sociais, algumas vezes são contratados por empresas para espionagem de outras empresas ou até de a vida pessoal das pessoas.&lt;br /&gt;Cada vez mas a privacidade das pessoas está ficando exposta, e cabe criarmos leis para que exista para regulamentação de até onde empresas podem entrar na nossa privacidade, e ter uma conscientização da equipe de TI das empresas sobre éticas, fora disso cabe a cada um ou empresa cuidar da segurança de informações contra crackers, hacker ou engenheiros sociais.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-6588837567088721722?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/6588837567088721722/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=6588837567088721722' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/6588837567088721722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/6588837567088721722'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/11/uma-reflexao-sobre-etica.html' title='Uma reflexão sobre ética'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-4904681001949456650</id><published>2009-11-29T13:24:00.000-08:00</published><updated>2009-11-30T10:32:12.309-08:00</updated><title type='text'>TCP, UDP e RMI minhas observações sobre exercício e exemplos</title><content type='html'>Obs importante, esse post é continuação, deste:&lt;a href="http://neoramon.blogspot.com/2009/11/essa-e-descricao-de-trabalho-de.html"&gt; http://neoramon.blogspot.com/2009/11/essa-e-descricao-de-trabalho-de.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Link para o fonte completo:&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class=" on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/162287536/b6844a93/sd_online.html"&gt;http://www.4shared.com/file/162287536/b6844a93/sd_online.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ambiente de teste:&lt;br /&gt;Sistema operacional Ubuntu Linux 9.10,&lt;br /&gt;Kernel 2.6.31,&lt;br /&gt;arquitetura i386&lt;br /&gt;java jdk 1.6&lt;br /&gt;Processador Intel Core 2 Duo 1,83 Ghz&lt;br /&gt;&lt;br /&gt;Instruções para compilação:&lt;br /&gt;Passos:&lt;br /&gt;entrar na pasta dos bytecodes&lt;br /&gt;ex: $HOME/NetBeansProjects/sd/build/classes/&lt;br /&gt;rodar o rmiregistory&lt;br /&gt;ex: /opt/jdk1.6.0_14/bin/rmiregistry 1099&amp;amp;&lt;br /&gt;rodar o menu da aplicação&lt;br /&gt;ex: /opt/jdk1.6.0_14/bin/java sd.Main&lt;br /&gt;Clicar nos botões dos servidores e depois nos botões de teste e esperar pelo resultado!&lt;br /&gt;Descrição dos testes:&lt;br /&gt;Os teste foram feitos sem utilização de threads nos clientes, para que sejam executadas sequencialmente,&lt;br /&gt;&lt;br /&gt;Para testar os dos cálculos foram feitas 10000 multiplicações, de 2 * 50.&lt;br /&gt;tempo em nanosegundos&lt;br /&gt;O tempo de execução do RMI é muito mais lento do que os de UDP e TCP,  pois fica mais complexo enviando dois parâmetros em uma única função.&lt;br /&gt;TCP por sua vez é mais lento que UDP, pela complexidade maior do protocolo UDP.&lt;br /&gt;&lt;br /&gt;Dificuldade&lt;br /&gt;A facilidade de implementação de uma multiplicação em RMI é muito mais simples do que em qualquer outros dos dois métodos.&lt;br /&gt;Em segundo lugar achei mais simples a implementação em UDP, pois na linguagem java, existe uma classe especifica para “empacotar” os dados (DatagramPacket), diferente do TCP, que utiliza classes não pensadas especificamente para rede, (OutputStream e InputStream).&lt;br /&gt;A dificuldade de implementação do TCP é aumentada pelo necessidade de ter que gerenciar um servidor (ServerSocket). No UDP o servidor é desnecessário pois o protocolo não exige, apenas temos que “ficar esperando” um pacote chegar (socket.receive(packet);). Em RMI apenas é necessário registrar o serviço no Servidor RMI (Naming.rebind("rmi://localhost:1099/CalculadoraService" , m);).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tempo médio em nanosegundos.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QWF9UH6uY-o/SxLpVhiGzNI/AAAAAAAAAPA/2tegoeaURC0/s1600/tabela_calculadora.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 290px;" src="http://1.bp.blogspot.com/_QWF9UH6uY-o/SxLpVhiGzNI/AAAAAAAAAPA/2tegoeaURC0/s400/tabela_calculadora.png" alt="" id="BLOGGER_PHOTO_ID_5409642658413333714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para testar os Ping pong foram feitas 64 envios de um pacote para o servidor que responde com o mesmo tamanho do pacote.&lt;br /&gt;tempo em nanosegundos&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TCP é mais lento que o UDP pela complexidade maior do TCP.&lt;br /&gt;RMI é o mais lento de todos.&lt;br /&gt;&lt;br /&gt;Valores em Kb / nanosegundos&lt;br /&gt;64 testes de 0 a 63.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QWF9UH6uY-o/SxLp3LbMWaI/AAAAAAAAAPI/oxHmfeUsXrc/s1600/tabela_ping_pong.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 301px;" src="http://1.bp.blogspot.com/_QWF9UH6uY-o/SxLp3LbMWaI/AAAAAAAAAPI/oxHmfeUsXrc/s400/tabela_ping_pong.png" alt="" id="BLOGGER_PHOTO_ID_5409643236594309538" border="0" /&gt;&lt;/a&gt;Facilidades de implementação:&lt;br /&gt;RMI, a implementação utilizando RMI, foi mais simples, pois apenas é necessário definir uma classe de interface, e uma implementação da interface, não é necessário se preocupar com o tamanho máximo de cada pacote, nem em converter do tipo byte para outro formato.&lt;br /&gt;A implementação com TCP e UDP foram muito parecidas, mas muito mais complexas do que a de RMI, pois necessita um planejamento de tamanho de cada pacote, e dificuldade de saber se foi o tamanho exato do pacote enviado.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QWF9UH6uY-o/SxLqU4wZA7I/AAAAAAAAAPQ/cPfuM6dDK_Q/s1600/rmi_tcp_udp_1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_QWF9UH6uY-o/SxLqU4wZA7I/AAAAAAAAAPQ/cPfuM6dDK_Q/s400/rmi_tcp_udp_1.png" alt="" id="BLOGGER_PHOTO_ID_5409643746979021746" border="0" /&gt;&lt;/a&gt;Tala da execução do software&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QWF9UH6uY-o/SxLqVoSvdQI/AAAAAAAAAPg/uddFUCcDDU0/s1600/rmi_tcp_udp_2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 370px; height: 247px;" src="http://2.bp.blogspot.com/_QWF9UH6uY-o/SxLqVoSvdQI/AAAAAAAAAPg/uddFUCcDDU0/s400/rmi_tcp_udp_2.png" alt="" id="BLOGGER_PHOTO_ID_5409643759739565314" border="0" /&gt;&lt;/a&gt;Tela de configuração dos testes&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QWF9UH6uY-o/SxLqVaXmy1I/AAAAAAAAAPY/sOCSsrAkrfY/s1600/rmi_tcp_udp_portas.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 354px; height: 282px;" src="http://4.bp.blogspot.com/_QWF9UH6uY-o/SxLqVaXmy1I/AAAAAAAAAPY/sOCSsrAkrfY/s400/rmi_tcp_udp_portas.png" alt="" id="BLOGGER_PHOTO_ID_5409643756001872722" border="0" /&gt;&lt;/a&gt;Tela de configuração das portas do servidor.&lt;br /&gt;&lt;br /&gt;Vou mostrar os Serivodores e Clientes do exemplo para calculadora:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;Servidor RMI&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;package sd.rmi.calculadora;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;import java.rmi.Naming;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.Valor;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   public class Servidor implements Runnable {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        private Valor valor;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        public Servidor() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            valor = new Valor();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       public void run() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;               Calculadora m = new CalculadoraImpl();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;               Naming.rebind("rmi://"+valor.getIpServidor()+":"+valor.getPortRmi()+"/CalculadoraService" , m);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           catch( Exception e ) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;               System.out.println( "Trouble: " + e );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;Cliente RMI&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;package sd.rmi.calculadora;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.rmi.Naming;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.rmi.RemoteException;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.rmi.NotBoundException;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.net.MalformedURLException;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.Valor;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.tabela.Linha;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.tabela.TabelaInterface;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class Cliente implements Runnable {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private Valor valor;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private TabelaInterface tabela;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public Cliente(TabelaInterface tablea) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        valor = new Valor();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        this.tabela = tablea;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public void run(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            Calculadora m = (Calculadora) Naming.lookup( "rmi://"+valor.getIpServidor()+":"+valor.getPortRmi()+"/CalculadoraService" );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            long t1 = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            long t2 = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            int n = valor.getnCalculadora();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            long tn = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            for (int i = 0; i &lt;&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                System.out.print(".");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                t1 = System.nanoTime();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                Integer resultado = m.multiplica(2, 50);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                t2 = System.nanoTime();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                long ta = t2-t1;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                tn += ta;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                Linha linha = new Linha();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setN(i);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setT1(t1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setT2(t2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setValor(resultado.toString());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                tabela.addLinha(linha);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                tabela.atualiza(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        catch( MalformedURLException e ) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println( "MalformedURLException: " + e.toString() );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        catch( RemoteException e ) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println( "RemoteException: " + e.toString() );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        catch( NotBoundException e ) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println( "NotBoundException: " + e.toString() );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        catch( Exception e ) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println( "Exception: " + e.toString() );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   } &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Interface RMI&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;package sd.rmi.calculadora;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   import java.rmi.Remote;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   import java.rmi.RemoteException;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   public interface Calculadora extends Remote {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        public Integer multiplica( Integer n1, Integer n2) throws RemoteException;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   }&lt;/span&gt;&lt;br /&gt;Implementação da Interface RMI&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;package sd.rmi.calculadora;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.rmi.RemoteException;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.rmi.server.UnicastRemoteObject;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class CalculadoraImpl extends UnicastRemoteObject implements Calculadora {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public CalculadoraImpl() throws RemoteException {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        super();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public Integer multiplica(Integer n1, Integer n2) throws RemoteException {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        return n1 * n2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;Servidor TCP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;package sd.tcp.calculadora;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * @author ramon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.net.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.io.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.Valor;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class Servidor implements Runnable {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private Socket clientSocket = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private ServerSocket serverSocket = null;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private Valor valor;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public Servidor() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        valor = new Valor();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public void run() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            serverSocket = new ServerSocket(valor.getPortTcpCalc());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            while (true){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                clientSocket = serverSocket.accept();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                InputStream in = clientSocket.getInputStream();    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                OutputStream out = clientSocket.getOutputStream();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                Integer v1 = Util.streamToInteger(in);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                Integer v2 = Util.streamToInteger(in);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                byte[] b = Util.integerToByte(v1*v2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out.write(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                in.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                clientSocket.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                //serverSocket.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }catch(Exception e){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }finally{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            try{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                serverSocket.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }catch(Exception e){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;Cliente TCP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;package sd.tcp.calculadora;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * @author ramon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.io.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.net.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.Valor;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.tabela.Linha;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.tabela.TabelaInterface;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class Cliente implements Runnable{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private Socket echoSocket = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private OutputStream out = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private InputStream in = null;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private Valor valor;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private TabelaInterface tabela;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public Cliente(TabelaInterface tablea) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        valor = new Valor();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        this.tabela = tablea;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public void run(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try {                        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            long t1, t2, tn;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            float tm = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            Integer v1 = 2, v2 = 50;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            int n = valor.getnCalculadora();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            tn = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            for (int i = 0; i &lt;&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                System.out.print(".");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                echoSocket = new Socket(valor.getIpServidor(), valor.getPortTcpCalc());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out = (echoSocket.getOutputStream());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                in = echoSocket.getInputStream();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                t1 = System.nanoTime();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out.write(Util.integerToByte(v1));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out.write(Util.integerToByte(v2));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                Integer resultado = Util.streamToInteger(in);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                t2 = System.nanoTime();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                tn += t2-t1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                in.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                echoSocket.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                Linha linha = new Linha();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setN(i);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setT1(t1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setT2(t2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setValor(resultado.toString());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                tabela.addLinha(linha);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            tabela.atualiza(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            out.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            in.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            echoSocket.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } catch (UnknownHostException e) {            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } catch (IOException e) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } catch (Exception e){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;Classe de Conversão&lt;/span&gt; Byte para integer e Integer pra byte&lt;br /&gt;Existe maneira mais fácil de fazer isso, por exemplo manda como string ou integer mesmo, porém tava dando alguns problemas na hora de execução do "for", então criei essa classe para evitar problemas&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;package sd.tcp.calculadora;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * @author ramon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.io.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.net.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.Valor;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.tabela.Linha;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.tabela.TabelaInterface;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class Cliente implements Runnable{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private Socket echoSocket = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private OutputStream out = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private InputStream in = null;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private Valor valor;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private TabelaInterface tabela;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public Cliente(TabelaInterface tablea) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        valor = new Valor();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        this.tabela = tablea;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public void run(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try {                        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            long t1, t2, tn;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            float tm = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            Integer v1 = 2, v2 = 50;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            int n = valor.getnCalculadora();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            tn = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            System.out.println();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            for (int i = 0; i &lt;&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                System.out.print(".");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                echoSocket = new Socket(valor.getIpServidor(), valor.getPortTcpCalc());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out = (echoSocket.getOutputStream());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                in = echoSocket.getInputStream();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                t1 = System.nanoTime();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out.write(Util.integerToByte(v1));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out.write(Util.integerToByte(v2));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                Integer resultado = Util.streamToInteger(in);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                t2 = System.nanoTime();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                tn += t2-t1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                in.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                out.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                echoSocket.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                Linha linha = new Linha();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setN(i);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setT1(t1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setT2(t2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                linha.setValor(resultado.toString());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                tabela.addLinha(linha);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            tabela.atualiza(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            out.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            in.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            echoSocket.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } catch (UnknownHostException e) {            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } catch (IOException e) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } catch (Exception e){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;Servidor UDP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * To change this template, choose Tools | Templates&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * and open the template in the editor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;package sd.udp.calculadora;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * @author ramon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.io.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.net.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import sd.Valor;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class Servidor implements Runnable{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    private Valor valor;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public Servidor() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        valor = new Valor();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public void parar(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public void run ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        DatagramSocket socket = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        socket = new DatagramSocket(valor.getPortUdpCalc());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        while (true) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            byte[] buf = new byte[256];&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            DatagramPacket packet = new DatagramPacket(buf, buf.length);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            socket.receive(packet);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            String str1 = new String(packet.getData(), 0, packet.getLength());&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            socket.receive(packet);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            String str2 = new String(packet.getData(), 0, packet.getLength());&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            String resultado = new Integer(new Integer(str1)*new Integer(str2)).toString();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            buf = resultado.getBytes();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            InetAddress address = packet.getAddress();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            int port = packet.getPort();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            packet = new DatagramPacket(buf, buf.length, address, port);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            socket.send(packet);            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } catch (IOException e) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }finally{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            try{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                socket.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }catch(Exception e){}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Cliente UDP&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;/*&lt;br /&gt;* To change this template, choose Tools | Templates&lt;br /&gt;* and open the template in the editor.&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;package sd.udp.calculadora;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author ramon&lt;br /&gt;*/&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author ramon&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;import java.io.*;&lt;br /&gt;import java.net.*;&lt;br /&gt;import java.util.logging.Level;&lt;br /&gt;import java.util.logging.Logger;&lt;br /&gt;import sd.Valor;&lt;br /&gt;import sd.tabela.Linha;&lt;br /&gt;import sd.tabela.TabelaInterface;&lt;br /&gt;&lt;br /&gt;public class Cliente implements Runnable{&lt;br /&gt;&lt;br /&gt;   Valor valor;&lt;br /&gt;   TabelaInterface tabela;&lt;br /&gt;  public Cliente(TabelaInterface tablea) {&lt;br /&gt;      valor = new Valor();&lt;br /&gt;      this.tabela = tablea;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  public void run(){&lt;br /&gt;      DatagramSocket socket = null;&lt;br /&gt;      try {&lt;br /&gt;       &lt;br /&gt;          InetAddress address = InetAddress.getByName(valor.getIpServidor());&lt;br /&gt;          DatagramPacket packet1;&lt;br /&gt;          DatagramPacket packet2;&lt;br /&gt;          DatagramPacket packet3;&lt;br /&gt;          int n = valor.getnCalculadora();&lt;br /&gt;          byte[] buf1 = new String("2").getBytes();&lt;br /&gt;          packet1 = new DatagramPacket(buf1, buf1.length, address, valor.getPortUdpCalc());&lt;br /&gt;          byte[] buf2 = new String("50").getBytes();&lt;br /&gt;          packet2 = new DatagramPacket(buf2, buf2.length, address, valor.getPortUdpCalc());&lt;br /&gt;          byte[] buf3 = new byte[256];&lt;br /&gt;          packet3 = new DatagramPacket(buf3, buf3.length);&lt;br /&gt;          long t1 = 0;&lt;br /&gt;          long t2 = 0;                     &lt;br /&gt;          System.out.println();&lt;br /&gt;          socket = new DatagramSocket();&lt;br /&gt;          for (int i = 0; i &lt; t1 =" System.nanoTime();" t2 =" System.nanoTime();" resultado =" new" linha =" new"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-4904681001949456650?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/4904681001949456650/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=4904681001949456650' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/4904681001949456650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/4904681001949456650'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/11/tcp-udp-e-rmi-minhas-observacoes-sobre.html' title='TCP, UDP e RMI minhas observações sobre exercício e exemplos'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/_QWF9UH6uY-o/SxLpVhiGzNI/AAAAAAAAAPA/2tegoeaURC0/s72-c/tabela_calculadora.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-7200137810542187289</id><published>2009-11-29T13:15:00.000-08:00</published><updated>2009-11-29T13:24:41.188-08:00</updated><title type='text'>TCP, UDP e RMI descrição do exercício</title><content type='html'>&lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;   	&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt; 	&lt;title&gt;&lt;/title&gt; 	&lt;meta name="GENERATOR" content="OpenOffice.org 3.1  (Linux)"&gt; 	&lt;style type="text/css"&gt; 	&lt;!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 	--&gt; 	&lt;/style&gt;  &lt;/p&gt;   	&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt; 	&lt;title&gt;&lt;/title&gt; 	&lt;meta name="GENERATOR" content="OpenOffice.org 3.1  (Linux)"&gt; 	&lt;style type="text/css"&gt; 	&lt;!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 	--&gt; 	&lt;/style&gt;  &lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Essa é a descrição de trabalho de sistemas distribuídos que deveria ser implementado utilizando TPC, UDP e RCP, podia ser implementado em C ou em Java, eu escolhi java é claro, só que no lugar de RCP no java utilizei RMI.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Vou disponibilizar no próximo post os fontes do projeto, fiz na IDE netbeans, mas pode fazer como preferir, a mão, no eclipse como bem quiser. OK?!&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Também vou colocar as instruções para poder executar o RMI, e algumas observações que fiz sobre a implementação.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-size:180%;"&gt;Descriçã do exercício&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;1. Objetivo:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="text-indent: 1.25cm; margin-bottom: 0cm;" align="JUSTIFY"&gt; &lt;span style="font-size:100%;"&gt;Implementar os dois problemas especificados abaixo utilizando, em ambos, sockets (TCP e UDP) e RPC e analisar as facilidades de implementação e uso de cada método, bem como o desempenho de cada um.&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;2. Características básicas:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;Desenvolver 	as aplicações em C, tomando como base os exemplos 	disponibilizados.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;3. Problemas:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Problema 1:&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; implementar um programa servidor que calcula a multiplicação de dois números enviados pelo cliente. O cliente envia esses números e imprime o resultado da multiplicação retornado pelo servidor. Cada versão do programa deverá ser executada um número de vezes estatisticamente válido e, ao final, deverá ser fornecido o tempo médio de execução de cada uma delas.&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Problema 2:&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; implementar um ping-pong, conforme modelo abaixo. A execução deverá ser feita para diferentes tamanhos de mensagens, desde zero bytes até 64Kbytes, com incrementos de 1024 bytes. Para cada um dos casos (para cada tamanho de mensagem) deverá ser calculada a banda passante da rede, que pode ser obtida dividindo-se a quantidade de informação transferida pelo tempo que levou para ser transferida.&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;PING (cliente):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;//cria buffer para alocar mensagem&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;Buffer = malloc();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;ti = GetTime();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;//envia e recebe a mensagem n vezes para melhorar a precisão da tomada de tempo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;for(i = 0; i &lt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;	Send(Buffer);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;	Recv(Buffer);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;tf = GetTime();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;t = (tf – ti)/n;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;PONG (servidor):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;//cria buffer para alocar mensagem&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;Buffer = malloc();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;ti = GetTime();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;//envia e recebe a mensagem n vezes para melhorar a precisão da tomada de tempo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" lang="en-US" align="JUSTIFY"&gt; &lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;for(i = 0; i &lt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" lang="en-US" align="JUSTIFY"&gt; &lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" lang="en-US" align="JUSTIFY"&gt; &lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;	Recv(Buffer);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" lang="en-US" align="JUSTIFY"&gt; &lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;	Send(Buffer);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;tf = GetTime();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:100%;"&gt;t = (tf – ti)/n;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;4. Relatório:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;	Além dos códigos-fonte dos programas, deverá ser entregue um relatório com os seguintes dados:&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;Descrição 	do ambiente de teste (sistema operacional, versão do sistema 	operacional, ...);&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;Instruções 	para compilação e execução dos programas;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;Descrição 	de como os testes foram conduzidos, número de vezes que foram 	executados;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;Tabela 	comparativa do tempo médio obtido pelas diferentes versões do 	servidor de multiplicação, com a resposta da seguinte questão: 	que conclusão se pode tirar desses testes?&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;Um 	gráfico comparando a banda passante da rede para cada caso de 	execução do ping-pong. Procure interpretar o comportamento do 	gráfico, tirando suas conclusões a respeito do que for observado;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span style="font-size:100%;"&gt;Descrição/análise 	das facilidades de implementação e uso dos diferentes métodos de 	comunicação;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;a name="DDE_LINK"&gt;&lt;/a&gt; 	&lt;span style="font-size:100%;"&gt;Descrição de características julgadas importantes em 	cada método de comunicação (lembre-se que, além das medições 	solicitadas, outras poderão ser efetuadas e apresentadas no 	relatório).&lt;/span&gt;&lt;/p&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/2713161188664017395-7200137810542187289?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/7200137810542187289/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=7200137810542187289' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7200137810542187289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7200137810542187289'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/11/essa-e-descricao-de-trabalho-de.html' title='TCP, UDP e RMI descrição do exercício'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-3390896315600864167</id><published>2009-11-29T12:56:00.001-08:00</published><updated>2009-11-29T13:15:49.872-08:00</updated><title type='text'>Empreendedorismo Transformando ideias em negócios</title><content type='html'>Vou disponibilizar os slides de uma apresentação que fiz sobre empreendedorismo, acho que programação, tecnologia e informação, te tudo a ver com empreendedorismo.&lt;br /&gt;&lt;br /&gt;Esses são os capítulos da apresentação.&lt;br /&gt;&lt;br /&gt;O Processo empreendedor&lt;br /&gt;Identificando oportunidades&lt;br /&gt;Plano de negócios&lt;br /&gt;Plano de negócios em pratica&lt;br /&gt;Buscando assessoria para o negócio&lt;br /&gt;Questões legais de constituição da empresa&lt;br /&gt;Recomendações finais ao empreendedor&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Link para a apresentação:&lt;/span&gt;&lt;br /&gt;&lt;a href="Vou%20disponibilizar%20os%20slides%20de%20uma%20apresenta%C3%83%C2%A7%C3%83%C2%A3o%20que%20fiz%20sobre%20empreendedorismo,%20acho%20que%20programa%C3%83%C2%A7%C3%83%C2%A3o,%20tecnologia%20e%20informa%C3%83%C2%A7%C3%83%C2%A3o,%20te%20tudo%20a%20ver%20com%20empreendedorismo.%20%20Esses%20s%C3%83%C2%A3o%20os%20cap%C3%83%C2%ADtulos%20da%20apresenta%C3%83%C2%A7%C3%83%C2%A3o.%20%20O%20Processo%20empreendedor%20Identificando%20oportunidades%20Plano%20de%20neg%C3%83%C2%B3cios%20Plano%20de%20neg%C3%83%C2%B3cios%20em%20pratica%20Buscando%20assessoria%20para%20o%20neg%C3%83%C2%B3cio%20Quest%C3%83%C2%B5es%20legais%20de%20constitui%C3%83%C2%A7%C3%83%C2%A3o%20da%20empresa%20Recomenda%C3%83%C2%A7%C3%83%C2%B5es%20finais%20ao%20empreendedor%20%20Link%20para%20a%20apresenta%C3%83%C2%A7%C3%83%C2%A3o:%20http://www.4shared.com/file/162262016/a97a4a9/Transformando_ideias_em_negoci.html"&gt;http://www.4shared.com/file/162262016/a97a4a9/Transformando_ideias_em_negoci.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-3390896315600864167?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/3390896315600864167/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=3390896315600864167' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3390896315600864167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3390896315600864167'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/11/empreendedorismo-transformando-ideias.html' title='Empreendedorismo Transformando ideias em negócios'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-3917344586045799875</id><published>2009-11-29T12:55:00.001-08:00</published><updated>2009-11-29T12:55:59.018-08:00</updated><title type='text'>DoCoMo, Celular carteira/cartão de credito</title><content type='html'>Qual o problema enfrentado pela DoCoMo?&lt;br /&gt;O problema principal é a falta de confiança do usuários em usar esse tipo de serviço, e os comerciantes que ainda não aceitam pagar a comissão sobre o valor dos produtos.&lt;br /&gt;&lt;br /&gt;Qual estrategia a empresa escolheu para solucioná-lo? &lt;br /&gt;A DoCoMo adicionou sistemas de segurança como o bloqueio remoto, e tenta incentivar os comerciantes a usar o sistema pagando a instalação da maquina leitora.&lt;br /&gt;&lt;br /&gt;É uma boa estrategia? Por quê?&lt;br /&gt;A segurança ainda parece um pouco baixa, pois pode demorar muito para o desativamento. Em relação aos comerciantes, como a uma baixa aceitação no mercado, não adianta cobrar uma taxa maior ou superior ao cartão de crédito convencional.&lt;br /&gt;&lt;br /&gt;Existem estrategias que a empresa deveria ter considerado?&lt;br /&gt;Um boa estrategia para segurança seria a possibilidade do aparelho só funcionar estando perto do proprietário, utilizando por exemplo tecnologia de blue tooth, como um fone de ouvido sem fio e o telefone. Caso o telefone seja roubado ou perdido, outra pessoa não poderia usar se não tivesse com o fone de ouvido, no lugar do fone de ouvido porderia ser outro aparelho blue tooth que funcionasse como uma chave sem fio.&lt;br /&gt;Com os comerciantes deveriam reduzir as taxas sobre os produtos, e ainda não cobrar pela instalação do equipamento leitor, depois de um período a empresa poderia subir novamente as taxas, e se os comerciantes não aceitasse devolveriam as maquias leitoras, mas por consequência iriam perder os cliente já habituados a comprar com esse serviço. &lt;br /&gt;&lt;br /&gt;Quais forças externas contribuíram para os desafios que a DoCoMo enfrenta?&lt;br /&gt;Para criar um carteira eletrônica mais cartão de credito em um celular, ela tem desafios como manter bons relacionamentos com bancos, adquirir experiencia com financeiro, capacitação de pessoal para trabalhar como cartão de credito, e principalmente conseguir equipar bancos e estabelecimentos com leitores do chip de cartão de crédito.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-3917344586045799875?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/3917344586045799875/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=3917344586045799875' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3917344586045799875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3917344586045799875'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/11/docomo-celular-carteiracartao-de.html' title='DoCoMo, Celular carteira/cartão de credito'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-9177756711082758131</id><published>2009-08-17T18:14:00.001-07:00</published><updated>2009-08-17T19:38:02.838-07:00</updated><title type='text'>Código Aberto</title><content type='html'>Essas foram algumas questões que a professora passo na aula de hj, cadeira de tecnologia da informação.&lt;br /&gt;&lt;br /&gt;Se alguém discorda, favor posta um comentário.&lt;br /&gt;&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt; 	&lt;title&gt;&lt;/title&gt; 	&lt;meta name="GENERATOR" content="OpenOffice.org 3.0  (Linux)"&gt; 	&lt;style type="text/css"&gt; 	&lt;!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 	--&gt; 	&lt;/style&gt;  &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;Quais problemas o Linux e outros softwares de código aberto ajudaram as empresas a enfrentar?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Integração entre softwares diferentes, conhecimento de como o software é executado, liberdade de adequação de um software, mais opções escolha, custos com licenças.&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;Como as ajudaram? &lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Com a possibilidade de ver e alterar o código fonte de um software, as empresas ganharam mais autonomia para poder adequar o software a sua real necessidade, ou integra-los com outros softwares.&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Conforme a popularização de um software livre, ele ganha mais desenvolvedores, e alguns criam novas versões ou ramificações. A empresa que deseja adotar o software tem pode escolher entre essas versões ou ramificações uma que melhor atenda suas necessidades.&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Os softwares de código aberto tem como grande vantagem o custo zero para sua utilização, isso reduz muito nos custos de uma empresa.&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;Quais problemas e desafios fez aumentar a adoção de softwares de código aberto? &lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Problemas como falhas software, vulnerabilidades, muitas vezes encontrados em softwares proprietários. Fizeram as empresas adotarem softwares mais confiáveis e testados por vários desenvolvedores, como os softwares de código aberto.&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;Para você, qual seria a melhor estratégia para implantar o Linux e outros componentes de código aberto em seu atual estado de evolução?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Grandes empresas tomarem a dianteira no desenvolvimento e aprimoramento de ferramentas livres, criando um comitê entre essas empresas e a comunidade desenvolvedora, onde seriam propostas regras, objetivos, treinamentos, validades.&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-9177756711082758131?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/9177756711082758131/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=9177756711082758131' title='5 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/9177756711082758131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/9177756711082758131'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/08/codigo-aberto.html' title='Código Aberto'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-6291840623956892396</id><published>2009-08-11T06:35:00.000-07:00</published><updated>2009-08-11T06:53:03.920-07:00</updated><title type='text'>Java, “JSP puro” vs “JSP + JSF”</title><content type='html'>   	&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt; 	&lt;title&gt;&lt;/title&gt; 	&lt;meta name="GENERATOR" content="OpenOffice.org 3.0  (Linux)"&gt; 	&lt;style type="text/css"&gt; 	&lt;!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 	--&gt; 	&lt;/style&gt;  &lt;p class="western" style="margin-bottom: 0cm; line-height: 100%;"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;Estava olhando minhas coisas do semestre passado e achei uma apresentação simples, do que é o JSF e umas comparações dele com JSP puro.&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 100%;"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; Aqui o link da apresentação em pdf: &lt;a href="http://www.4shared.com/file/124357482/878911a2/apresentao_jsp_jsf.html"&gt;http://www.4shared.com/file/124357482/878911a2/apresentao_jsp_jsf.html&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 100%;"&gt;Parte da apresentação a baixo:&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; line-height: 100%;"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;JSF: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 100%;"&gt; 	&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Prove 	componentes gráficos de &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;controle 	para HTML.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0cm; line-height: 100%;"&gt; 	&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Aplicação 	forçada de OO e MVC.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;(wikipedia) 	O JSF é atualmente considerado por muitos como a última palavra em 	termos de desenvolvimento de aplicações Web, resultado da 	experiência e maturidade adquiridas com o JSP/Servlet (Model1), 	Model2 (MVC) e Struts.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;b&gt;Porque 	continuar com &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;JSP puro.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p style="margin-bottom: 0cm; font-style: normal; line-height: 100%; text-decoration: none;"&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Porque continuar com JSP puro:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Curva 	de aprendizado muito alta;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Mais 	arquivo(s) XML para configurar (faces-conf.xml);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Dificulta 	para quem gosta de trabalhar com sql puro. (mas que gosta de criar 	querys sql?)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;b&gt;Porque utilizar JSF (1)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; font-style: normal; line-height: 100%; text-decoration: none;"&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Porque utilizar JSF:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Facilita 	utilização de &lt;i&gt;beans&lt;/i&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Exige 	organização (para alguns desvantagem).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Facilita 	JPA (Java Persistence Api);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Utiliza 	AJAX.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Gerencia 	de eventos. (servidor/cliente)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Integração 	com RichFaces (componentes ricos);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Performance 	do Servidor.	&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;" align="center"&gt; 	&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:DejaVu Sans,sans-serif;"&gt;&lt;span style="font-size:7;"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;orque 	utilizar JSF (2)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Várias 	IDEs: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 	&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Jbuilder, 	Borland;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Eclipse;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Jdeveloper, 	Oracle;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;NetBeans, 	Sun. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 	&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p style="margin-bottom: 0cm; font-style: normal; line-height: 100%; text-decoration: none;" align="center"&gt; &lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Porque utilizar JSF (3)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:DejaVu Sans,sans-serif;"&gt;&lt;span style="font-size:7;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Vários 	Servidores: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 	&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Tomcat;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;Jboss;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;WebLogic;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-style: normal; font-weight: normal; line-height: 100%; text-decoration: none;"&gt; 	&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;GlassFish.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p style="margin-bottom: 0cm; font-style: normal; line-height: 100%; text-decoration: none;" align="center"&gt; &lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="font-family:ARial,sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Exemplo página&lt;/b&gt;&lt;/span&gt;&lt;/span&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/2713161188664017395-6291840623956892396?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/6291840623956892396/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=6291840623956892396' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/6291840623956892396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/6291840623956892396'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/08/java-jsp-puro-vs-jsp-jsf.html' title='Java, “JSP puro” vs “JSP + JSF”'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-5433822221497913227</id><published>2009-08-03T09:52:00.001-07:00</published><updated>2009-08-03T09:59:05.355-07:00</updated><title type='text'>UML, Jude vs Plugin Netbeans</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QWF9UH6uY-o/SncWhuVe1gI/AAAAAAAAANw/uyPXUaahNTw/s1600-h/netbeans_uml.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_QWF9UH6uY-o/SncWhuVe1gI/AAAAAAAAANw/uyPXUaahNTw/s400/netbeans_uml.png" alt="" id="BLOGGER_PHOTO_ID_5365782249664861698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;UML no netbeans&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QWF9UH6uY-o/SncWI4VYfXI/AAAAAAAAANo/2JhYglL4YGg/s1600-h/jude.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 315px;" src="http://1.bp.blogspot.com/_QWF9UH6uY-o/SncWI4VYfXI/AAAAAAAAANo/2JhYglL4YGg/s400/jude.png" alt="" id="BLOGGER_PHOTO_ID_5365781822852070770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;UML no Jude, retirada do site.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;	&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt; 	&lt;title&gt;&lt;/title&gt; 	&lt;meta name="GENERATOR" content="OpenOffice.org 3.0  (Linux)"&gt; 	&lt;style type="text/css"&gt; 	&lt;/style&gt;  &lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;"&gt;Netbeans tem um plugin para UML, em versões anteriores o plugin já vinha com a IDE, agora é necessário baixar ele separadamente.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;"&gt;Jude uma ferramente muito conhecida para UML, o jude possui duas versões, a community e a profissional. Profissional é um paga, possui algumas funcionalidades a mais como diagrama de ER, suporte a C++... A versão comunity é mais simples e possui diagramas de classe, casos de uso, atividade, sequencia, em fim os diagramas mais comuns na UML.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;"&gt;Ambos (NetBeans e Jude), são multiplataforma, possuem engenharia reversa, e geração de code java, exporta para .jpg. HTML.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;"&gt;Vantagem do jude que ele roda ocupando muito menos memória e processador, ou seja o jude é mais leve.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;"&gt;Vantagem do netbeans, um design  muito mais bonito de se apresentar, gera um HTML perfeito, o qual você pode usar para apresentar como relatório para seu chefe ou professor.&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;"&gt;Alguém tem alguma vantagem a mais pra me contar?&lt;br /&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-5433822221497913227?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/5433822221497913227/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=5433822221497913227' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/5433822221497913227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/5433822221497913227'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/08/uml-jude-vs-plugin-netbeans.html' title='UML, Jude vs Plugin Netbeans'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/_QWF9UH6uY-o/SncWhuVe1gI/AAAAAAAAANw/uyPXUaahNTw/s72-c/netbeans_uml.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-4177863617205628815</id><published>2009-08-02T14:38:00.000-07:00</published><updated>2009-08-02T14:46:09.612-07:00</updated><title type='text'>Projeto Kenai, Netbeans 6,7, servidor subversion free</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QWF9UH6uY-o/SnYHzFszXdI/AAAAAAAAANg/NH0Gy9GcEEI/s1600-h/netbeans_kenai_.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://4.bp.blogspot.com/_QWF9UH6uY-o/SnYHzFszXdI/AAAAAAAAANg/NH0Gy9GcEEI/s400/netbeans_kenai_.png" alt="" id="BLOGGER_PHOTO_ID_5365484580343340498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Kenai é um projeto da Sun, para desenvolvedores hospedarem seus projetos livres. Eu gostei muito da velocidade que você pode hospedar seu projeto a partir do Netbeans 6.7.&lt;br /&gt;&lt;br /&gt;Muitas funções foram adicionadas no Netbeans para interagir com o Kenai, como exportação do seu projeto para o kenai, um chat para que você possa trocar informações com outros desenvolvedores do seu projeto, uma aba listando todos problemas/bugs registrados pela equipe, ou onde você também pode registrar um problema no projeto. Todas essa funções junto com o suporte a subversion (já existente nas versões anteriores) faz do netbeans totalmente integrado com kenai.&lt;br /&gt;&lt;br /&gt;Você pode criar seu projeto pelo netbeans, ou diretamente pelo site do Kanei.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-4177863617205628815?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/4177863617205628815/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=4177863617205628815' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/4177863617205628815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/4177863617205628815'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/08/projeto-kenai-netbeans-67-servidor.html' title='Projeto Kenai, Netbeans 6,7, servidor subversion free'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/_QWF9UH6uY-o/SnYHzFszXdI/AAAAAAAAANg/NH0Gy9GcEEI/s72-c/netbeans_kenai_.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-7382878269976655061</id><published>2009-06-02T13:15:00.000-07:00</published><updated>2009-06-02T13:17:00.582-07:00</updated><title type='text'>Sniffer de rede</title><content type='html'>&lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;O que é um sniffer de rede?&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;É software feito para capturar todos pacotes de rede que passam por uma determinada interface, um sniffer pode ser também um equipamento como um switch especial que captura todos os pacotes que passam por ele.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;O que é método de histerese em redes?&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;É um método em que se define valores mínimos e máximos para variáveis de rede, como por exemplo quantidades de pacotes broadcast, em uma rede, digamos que normalmente a 10 % dos pacotes da minha rede são broadcast, então os limites para o método poderiam ser: minimo 0% e maximo 15%. Estabelecendo esses limites poderia-se dizer que se mais de 15% de pacotes broadcast na minha rede sugerem um problema (ataque de negação de serviço, tentativa de invasão por bruta, um equipamento com problema, etc...), dos quais o administrador da rede deve procurar.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Exercício&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Nas ultimas aulas de administração e gerencia de redes foi proposto um trabalho para utilizar o método de histerese para analisar o que estava correndo pela rede.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Software utilizado&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Na implementação do trabalho foi necessário utilizar o tshark, derivado de um conhecido sniffer de rede o Wireshark, esses softwares rodam muito bem em Linux ou Windows.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Obtendo estatisticas com tshark&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;rodar como administrador:&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;tshark -i &lt;u&gt;placa&lt;/u&gt; -a duration:&lt;u&gt;duracao&lt;/u&gt; -q -z io,stat,&lt;u&gt;duracao&lt;/u&gt;,,,eth.addr==ff:ff:ff:ff:ff:ff,msnms,tcp,udp&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Trabalho:&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Na implementação do trabalho utilizei a linguagem Java, e fiz análise dos pacotes de  &lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;broadcast:  eth.addr==ff:ff:ff:ff:ff:ff&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Msn: msnms&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;tcp: tpc&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;e udp: udp&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Um teste&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Um bom teste pra você fazer é usar o wireshark (ferramenta visual) com o filtro do “msnms” assim você pode capturar todos pacotes do msn que passarem na sua rede.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;Implementação&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;link do cod fonte:&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0in;" lang="pt-BR"&gt;&lt;a href="http://www.4shared.com/file/109480798/27b1dda9/projeto_sniffer.html"&gt;http://www.4shared.com/file/109480798/27b1dda9/projeto_sniffer.html&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-7382878269976655061?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/7382878269976655061/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=7382878269976655061' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7382878269976655061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7382878269976655061'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/06/sniffer-de-rede.html' title='Sniffer de rede'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-5053554584914018020</id><published>2009-04-03T16:08:00.000-07:00</published><updated>2009-07-29T00:56:41.671-07:00</updated><title type='text'>ERP (em desenvolvimento)</title><content type='html'>Estou desenvolvendo um ERP web: &lt;a href="http://tecworks.no-ip.info/"&gt;http://tecworks.no-ip.info/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Atualmente contem:&lt;br /&gt;&lt;br /&gt;- Cadastro de contatos&lt;br /&gt;- Cadastro de serviços&lt;br /&gt;- Ordens de serviços&lt;br /&gt;&lt;br /&gt;Quem tiver alguma dica pode postar!&lt;br /&gt;&lt;br /&gt;obs: atualmente ele não está disponivel 100 % do tempo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-5053554584914018020?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/5053554584914018020/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=5053554584914018020' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/5053554584914018020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/5053554584914018020'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/04/erp-em-desenvolvimento.html' title='ERP (em desenvolvimento)'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-4084105247591449306</id><published>2009-04-03T04:51:00.000-07:00</published><updated>2009-04-03T04:55:17.634-07:00</updated><title type='text'>Tutorial RichFaces</title><content type='html'>sei demoro, mas esse é o tutorial de richfaces (para JSF).&lt;br /&gt;&lt;br /&gt;o cod fonte do projeto:&lt;br /&gt;&lt;a href="http://www.4shared.com/file/96525487/610229f2/testeRichFaces.html"&gt;http://www.4shared.com/file/96525487/610229f2/testeRichFaces.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;pdf explicativo:&lt;br /&gt;&lt;a href="http://www.4shared.com/file/96525492/873ec3c/Tuto_RichFaces.html"&gt;http://www.4shared.com/file/96525492/873ec3c/Tuto_RichFaces.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Se alguém ficar alguma dúvida é só postar!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-4084105247591449306?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/4084105247591449306/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=4084105247591449306' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/4084105247591449306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/4084105247591449306'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/04/tutorial-richfaces.html' title='Tutorial RichFaces'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-8826001443145075109</id><published>2009-03-06T16:57:00.000-08:00</published><updated>2009-03-06T17:05:01.961-08:00</updated><title type='text'>richfaces (ajax + jsf)</title><content type='html'>Estou estudando agora uma framework para ajax com jsf, richfaces é desenvolvida pela jboss, mas nem por isso não posso usar em outro servidor j2ee, estou usando no glassfish por exemplo.&lt;br /&gt;Richfaces é boa solução para quem quer paginas mais dinâmicas e bonitas, podemdo usar componentes tipo o text field de pesquisa do google, que mostra recomendações enquanto você digita sua pesquisa...&lt;br /&gt;Vou postar  um tutorial assim que tiver tempo...&lt;br /&gt;&lt;br /&gt;Até +!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-8826001443145075109?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/8826001443145075109/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=8826001443145075109' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/8826001443145075109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/8826001443145075109'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/03/richfaces-ajax-jsf.html' title='richfaces (ajax + jsf)'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-5069511055208113568</id><published>2009-02-10T05:44:00.000-08:00</published><updated>2009-02-10T06:41:22.490-08:00</updated><title type='text'>Lendo um arquivo de texto.</title><content type='html'>Um exemplo de uma classe em java pra ler um arquivo de texto:&lt;br /&gt;Linha por linha.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Nome: Lista.java&lt;/span&gt;&lt;br /&gt;import java.io.BufferedReader;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.FileReader;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;&lt;br /&gt;public class Lista {&lt;br /&gt;    public ArrayList lerArquivo(){       &lt;br /&gt;        ArrayList lista = new ArrayList();&lt;br /&gt;        File afile = new File ("valores.txt");&lt;br /&gt;        FileReader fileread;&lt;br /&gt;        try {&lt;br /&gt;            fileread = new FileReader(afile);&lt;br /&gt;            BufferedReader bufread = new BufferedReader(fileread);&lt;br /&gt;            String str = new String();&lt;br /&gt;            while( (str = bufread.readLine()) != null ){&lt;br /&gt;                lista.add(str);&lt;br /&gt;            }&lt;br /&gt;            fileread.close();&lt;br /&gt;            bufread.close();&lt;br /&gt;        }catch (Exception e) {&lt;br /&gt;            e.printStackTrace();&lt;br /&gt;        }finally{&lt;br /&gt;            return lista;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-5069511055208113568?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/5069511055208113568/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=5069511055208113568' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/5069511055208113568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/5069511055208113568'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/02/lendo-um-arquivo-de-texto.html' title='Lendo um arquivo de texto.'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-5580139152289897810</id><published>2009-02-06T03:50:00.000-08:00</published><updated>2009-02-06T04:56:12.644-08:00</updated><title type='text'>Orientação a Objetos II (Casos de uso)</title><content type='html'>Continuando a falar de orientação a objetos,&lt;br /&gt;&lt;br /&gt;Para a definir os objetos de um  software é muito importante estudar a descrição de casos de uso.&lt;br /&gt;&lt;br /&gt;Os casos de uso com ajuda do "levantamento de requisitos" (post anterior),    podemos descrever funcionalidades  do sistema.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Atores executam tarefas sobre o sistema.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Em sistemas simples e complexos encontramos atores, que podem ser módulos do &lt;br /&gt;sistema, um outro sistema, um perfil de usuário (administrador, atendente...).&lt;br /&gt;&lt;br /&gt;No estudo de caso do nosso simulador P2P, temos em exemplo:&lt;br /&gt;Requisito:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Construir um software que troque arquivos entre um &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;servidor &lt;/span&gt;&lt;span style="font-style: italic;"&gt;em um &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;cliente &lt;/span&gt;&lt;span style="font-style: italic;"&gt;pela  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;rede independente da implementação do cliente e do servidor, usando um  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;protocolo para padronização.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Atores: Cliente e Servidor.&lt;br /&gt;(Se quisermos ir mais a fundo podemos colocar até mesmo o usuário que lida com o cliente como um ator)&lt;br /&gt;&lt;br /&gt;Casos de uso do Ator &lt;span style="font-weight: bold;"&gt;Cliente&lt;/span&gt;:&lt;br /&gt;Case 1: Enviar um protocolo de pedido com a lista de arquivos do Servidor P2P&lt;br /&gt;Case 2: Enviar um protocolo com o pedido de download de um arquivo&lt;br /&gt;Case 3: Aceitar download de arquivo.&lt;br /&gt;E assim por diante....&lt;br /&gt;&lt;br /&gt;Casos de uso do Ator &lt;span style="font-weight: bold;"&gt;Servidor&lt;/span&gt;:&lt;br /&gt;Case 1: Enviar um protocolo com a lista arquivos do servidor;&lt;br /&gt;Case 2: Enviar arquivo para download.&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Próximo post: sobre como usar os casos de uso para criar os métdos (funções, ações) e como montar um classe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-5580139152289897810?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/5580139152289897810/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=5580139152289897810' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/5580139152289897810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/5580139152289897810'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/02/orientacao-objetos-ii-casos-de-uso.html' title='Orientação a Objetos II (Casos de uso)'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-7696538868659801605</id><published>2009-01-22T04:19:00.000-08:00</published><updated>2009-01-22T04:20:06.253-08:00</updated><title type='text'>P2P em Java (parte 1) Orientação a Objetos</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:595.3pt 841.9pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;Hoje vou comentar sobre um trabalho do semestre passado (6º) referente a cadeira de redes onde deveríamos simular um software P2P usando sockets. Para resolução do problema foi usado &lt;i style=""&gt;orientação a objetos.&lt;/i&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;O que é orientação a objetos?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;É um paradigma de programação onde se prevê uma modelagem de seu software divido em objetos.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Um objeto é criado com base em dois documentos (não somente): “&lt;b style=""&gt;levantamento de requisitos&lt;/b&gt;” do cliente (no meu caso o professor) e descrições de “&lt;b style=""&gt;caso de uso&lt;/b&gt;” (use case). Com a leitura desses dois documentos é levado em considerações “&lt;b style=""&gt;pronomes&lt;/b&gt;” para identificação de objetos.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Nosso &lt;b style=""&gt;levanta mento de requisitos&lt;/b&gt; ficaria mais ou menos assim: Construir um software que troque arquivos entre um servidor em um cliente pela rede independente da implementação do cliente e do servidor, usando um protocolo para padronização.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Se identificarmos os pronomes teremos:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;Construir um &lt;b style=""&gt;software&lt;/b&gt; que troque &lt;b style=""&gt;arquivos&lt;/b&gt; entre um &lt;b style=""&gt;servidor&lt;/b&gt; em um &lt;b style=""&gt;cliente&lt;/b&gt; pela &lt;b style=""&gt;rede&lt;/b&gt; independente da implementação do &lt;b style=""&gt;cliente&lt;/b&gt; e do &lt;b style=""&gt;servidor&lt;/b&gt;, usando um &lt;b style=""&gt;protocolo&lt;/b&gt; para padronização.&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Então teríamos os objetos: Servidor, Cliente, Rede, Protocolo, Arquivo e o próprio software P2P.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Mas os objetos ainda não estão prontos, falta definir o papel de cada um no software.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Continua... (&lt;b style=""&gt;casos de uso&lt;/b&gt;)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-7696538868659801605?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/7696538868659801605/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=7696538868659801605' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7696538868659801605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7696538868659801605'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/01/p2p-em-java-parte-1-orientao-objetos.html' title='P2P em Java (parte 1) Orientação a Objetos'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-4016256652494063182</id><published>2009-01-22T03:30:00.000-08:00</published><updated>2009-01-22T03:32:53.575-08:00</updated><title type='text'>Excesso de café pode causar alucinações, diz estudo</title><content type='html'>&lt;p&gt;Uma pesquisa feita por psicólogos da Universidade de Durham, na Grã-Bretanha, sugeriu que beber grandes quantidades de café pode fazer com que uma pessoa tenha maior tendência a sofrer alucinações.&lt;/p&gt;&lt;p&gt;   &lt;b&gt;» Café em excesso pode afetar fertilidade&lt;/b&gt;&lt;/p&gt;&lt;p&gt; Pessoas que consomem mais de sete xícaras de café instantâneo por dia têm três vezes maior probabilidade de ouvir vozes, ver coisas que não existem ou até acreditar que estão sentindo a presença de pessoas que já morreram, do que as que bebem menos do equivalente a uma xícara, de acordo com os pesquisadores. &lt;/p&gt;&lt;p&gt; Segundo o líder do estudo, Simon Jones, "alucinações não são necessariamente um sinal de doença mental (...) A maioria das pessoas tem experiências breves de ouvir vozes quando não há ninguém presente e cerca de 3% ouvem tais vozes regularmente". &lt;/p&gt;&lt;p&gt;   Mas o trabalho científico sugeriu que o risco de isso acontecer aumenta com o alto consumo de café e outras fontes de cafeína. &lt;/p&gt;&lt;p&gt;   &lt;b&gt;Cortisol&lt;/b&gt;&lt;br /&gt;Os pesquisadores atribuem os resultados de sua pesquisa, feita com 200 estudantes, ao fato de que o café pode levar a um aumento da produção de um hormônio chamado cortisol. &lt;/p&gt;&lt;p&gt; A cafeína aumenta os efeitos fisiológicos do estresse e, nesse estado, o corpo libera cortisol. Uma concentração mais alta da substância no organismo pode fazer com que uma pessoa escute vozes não existentes. &lt;/p&gt;&lt;p&gt;   Os cientistas dizem que esperam que a descoberta contribua para um melhor entendimento do efeito da nutrição sobre alucinações.&lt;/p&gt;&lt;p&gt; "Este é o primeiro passo para observar os fatores mais amplos associados a alucinações", disse Jones. "Pesquisas anteriores sublinharam vários fatores importantes, como trauma de infância, que pode levar a alucinações clinicamente relevantes".&lt;/p&gt;&lt;p&gt; "Acredita-se que vários destes fatores podem estar ligados a alucinações em parte por causa do seu impacto sobre a reação do organismo ao estresse. Dada a ligação entre comida e humor, e especialmente entre cafeína e a resposta do organismo ao estresse, parece sensato examinar o que uma perspectiva nutricional pode esclarecer", concluiu Jones.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Fonte: Terra = &lt;a href="http://noticias.terra.com.br/ciencia/interna/0,,OI3446887-EI298,00-Excesso+de+cafe+pode+causar+alucinacoes+diz+estudo.html"&gt; http://noticias.terra.com.br/ciencia/interna/0,,OI3446887-EI298,00-Excesso+de+cafe+pode+causar+alucinacoes+diz+estudo.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-4016256652494063182?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/4016256652494063182/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=4016256652494063182' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/4016256652494063182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/4016256652494063182'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/01/excesso-de-caf-pode-causar-alucinaes.html' title='Excesso de café pode causar alucinações, diz estudo'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-2257312379219614492</id><published>2009-01-21T11:17:00.000-08:00</published><updated>2009-01-21T11:33:11.244-08:00</updated><title type='text'>Lógica booleana e premissas (parte 2)</title><content type='html'>&lt;br /&gt;&lt;br /&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} a:link, span.MsoHyperlink 	{mso-style-priority:99; 	color:blue; 	mso-themecolor:hyperlink; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:purple; 	mso-themecolor:followedhyperlink; 	text-decoration:underline; 	text-underline:single;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:595.3pt 841.9pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;Premissa e lógica andam próximas na programação. Para entender premissa é necessário já saber o básico de &lt;a href="http://neoramon.blogspot.com/2009/01/lgica-booleana-e-premissas-parte-1.html"&gt;lógica booleana&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;As junções de premissas levam a uma conclusão, por exemplo:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Premissa 1 – Ramon é feliz.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Premissa 2 – Ramon gosta de programar.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;Conclusão – Os programadores são felizes.&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Este é um exemplo simples onde a junção de premissas leva a uma conclusão lógica. Agora analisando as premissas anteriores &lt;span style=""&gt; &lt;/span&gt;(1 e 2), vamos adicionar outra premissa:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Premissa 3 – Joãozinho não é programador.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Conclusão??? (tempo...)&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;Conclusão – Joãozinho não é feliz.&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Mesmo essas premissas sendo tão simples elas ajudam a entender muito sobre programação, pois é assim que funcionam os sistemas de informação, juntando informações passadas pelos usuários e gerando informações conclusivas, e claro estas premissas não são processadas aleatoriamente, elas são executadas conforme um &lt;i style=""&gt;algoritmo&lt;/i&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ex: Digamos que vamos desenvolver um software para um&lt;/p&gt; &lt;p class="MsoNormal"&gt;a locadora de filmes, onde um cliente só pode locar um filme se ele não está em débito com a loja, ou se ele for um cliente VIP.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Não "estar em débito" (- Premissa 1)&lt;/p&gt;&lt;p class="MsoNormal"&gt;Ou (operador lógico)&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;"Ser VIP" (- Premissa 2)&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QWF9UH6uY-o/SXd1oFaE8uI/AAAAAAAAAJo/v0N1b0RkVo8/s1600-h/diagrama_logica.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 127px;" src="http://2.bp.blogspot.com/_QWF9UH6uY-o/SXd1oFaE8uI/AAAAAAAAAJo/v0N1b0RkVo8/s320/diagrama_logica.JPG" alt="" id="BLOGGER_PHOTO_ID_5293829218504078050" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Premissa 1 – Fabio está em débito com a loja. (Estar em débito –&lt;/p&gt;  &lt;p class="MsoNormal"&gt; verdadeiro)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Premissa 2 – Fabio não é um cliente VIP. (ser VIP - falso)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;Conclusão – Fabio não pode locar um filme.&lt;/i&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QWF9UH6uY-o/SXd2GBUsgzI/AAAAAAAAAJw/JKdD-rR3Ox0/s1600-h/diagrama_fabio.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 132px;" src="http://2.bp.blogspot.com/_QWF9UH6uY-o/SXd2GBUsgzI/AAAAAAAAAJw/JKdD-rR3Ox0/s320/diagrama_fabio.JPG" alt="" id="BLOGGER_PHOTO_ID_5293829732803838770" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;i style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Premissa 1 – Renato está em débito com a loja. (estar em débito - verdadeiro)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Premissa 2 – Renato é um cliente VIP. (ser vip - verdadeiro)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;Conclusão – Renato pode locar um filme.&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QWF9UH6uY-o/SXd2jrp87pI/AAAAAAAAAJ4/07PAZy0UUP8/s1600-h/diagrama_renato.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 122px;" src="http://4.bp.blogspot.com/_QWF9UH6uY-o/SXd2jrp87pI/AAAAAAAAAJ4/07PAZy0UUP8/s320/diagrama_renato.JPG" alt="" id="BLOGGER_PHOTO_ID_5293830242383490706" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;i style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&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/2713161188664017395-2257312379219614492?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/2257312379219614492/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=2257312379219614492' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2257312379219614492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/2257312379219614492'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/01/lgica-booleana-e-premissas-parte-2.html' title='Lógica booleana e premissas (parte 2)'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/_QWF9UH6uY-o/SXd1oFaE8uI/AAAAAAAAAJo/v0N1b0RkVo8/s72-c/diagrama_logica.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-3495585334648332467</id><published>2009-01-21T09:16:00.000-08:00</published><updated>2009-01-21T09:48:41.099-08:00</updated><title type='text'>Lógica booleana e premissas (parte 1)</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:595.3pt 841.9pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} table.MsoTableGrid 	{mso-style-name:"Tabela com grade"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-priority:59; 	mso-style-unhide:no; 	border:solid black 1.0pt; 	mso-border-themecolor:text1; 	mso-border-alt:solid black .5pt; 	mso-border-themecolor:text1; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-border-insideh:.5pt solid black; 	mso-border-insideh-themecolor:text1; 	mso-border-insidev:.5pt solid black; 	mso-border-insidev-themecolor:text1; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-fareast-language:EN-US;} &lt;/style&gt; &lt;![endif]--&gt;    &lt;p class="MsoNormal"&gt;A lógica booleana é presente na matemática, na computação, na física e etc. Lembram no ensino médio das aulas (interessantíssimas) de física em que o professor simulava a rede elétrica de uma casa (circuito)? Existiam chaves, ativas (verdadeiro) ou desativas (falso), e para controlar, existiam as ligações, que podiam ser:&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QWF9UH6uY-o/SXdaXgyRAGI/AAAAAAAAAJQ/nSreb_hnblE/s1600-h/booleano_fisica.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 290px; height: 145px;" src="http://1.bp.blogspot.com/_QWF9UH6uY-o/SXdaXgyRAGI/AAAAAAAAAJQ/nSreb_hnblE/s320/booleano_fisica.bmp" alt="" id="BLOGGER_PHOTO_ID_5293799246981562466" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Onde o circuito aberto é uma ligação desativa (falsa) e circuito fechado a ligação está ativa (verdadeira). Na programação é a mesma coisa (pelo menos em todas linguagens que vi até hoje), com acréscimo de mais um operador, além de verdadeiro e falso, a negação, que simplesmente inverte o é dito. Por exemplo: se dizemos que um circuito está aberto e adicionamos o operador de negação, o resultado que é que o circuito está fechado. Simples não?&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QWF9UH6uY-o/SXdaqCfsaOI/AAAAAAAAAJY/gkGb9_m4WTY/s1600-h/booleano_computa%C3%A7%C3%A3o.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 243px; height: 187px;" src="http://2.bp.blogspot.com/_QWF9UH6uY-o/SXdaqCfsaOI/AAAAAAAAAJY/gkGb9_m4WTY/s320/booleano_computa%C3%A7%C3%A3o.bmp" alt="" id="BLOGGER_PHOTO_ID_5293799565268117730" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Entendendo melhor os operadores:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Operador “E” tem um resultado positivo quando ambos dados são verdadeiros. Por exemplo é verdadeiro apenas quando A e B são verdadeiros.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Tabela:&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 13pt;"&gt;   &lt;td style="border: 1pt solid black; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b style=""&gt;A&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b style=""&gt;B&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 57pt; height: 13pt;" valign="top" width="76"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b style=""&gt;Resultado&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 13pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro &lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 57pt; height: 13pt;" valign="top" width="76"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 13pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 57pt; height: 13pt;" valign="top" width="76"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 14pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 60.85pt; height: 14pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 60.85pt; height: 14pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 57pt; height: 14pt;" valign="top" width="76"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 14pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 60.85pt; height: 14pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 60.85pt; height: 14pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 57pt; height: 14pt;" valign="top" width="76"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Operador “Ou” é verdade quando A ou B são verdadeiros. Por exemplo se A é verdadeiro, B é falso, o resultado é verdadeiro.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Tabela:&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 13pt;"&gt;   &lt;td style="border: 1pt solid black; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b style=""&gt;A&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b style=""&gt;B&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 57pt; height: 13pt;" valign="top" width="76"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b style=""&gt;Resultado&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 13pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 57pt; height: 13pt;" valign="top" width="76"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 13pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 60.85pt; height: 13pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 57pt; height: 13pt;" valign="top" width="76"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 14pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 60.85pt; height: 14pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 60.85pt; height: 14pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 57pt; height: 14pt;" valign="top" width="76"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Verdadeiro&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 14pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 60.85pt; height: 14pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 60.85pt; height: 14pt;" valign="top" width="81"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 57pt; height: 14pt;" valign="top" width="76"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Falso&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Quero ajudar pessoas que estão iniciam no mundo da programação.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;No próximo post falo sobre premissas.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-3495585334648332467?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/3495585334648332467/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=3495585334648332467' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3495585334648332467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3495585334648332467'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/01/lgica-booleana-e-premissas-parte-1.html' title='Lógica booleana e premissas (parte 1)'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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/_QWF9UH6uY-o/SXdaXgyRAGI/AAAAAAAAAJQ/nSreb_hnblE/s72-c/booleano_fisica.bmp' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-978318506663875986</id><published>2009-01-20T09:22:00.000-08:00</published><updated>2009-01-20T09:27:26.109-08:00</updated><title type='text'>Vagas IBM</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;A IBM está com várias vagas para setor de TI em aberto: &lt;a href="https://jobs3.netmedia1.com/cp/search.jsp"&gt;https://jobs3.netmedia1.com/cp/search.jsp&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;O mais interessando que para trabalhar no Brasil o português deve ser intermediário, mas o inglês deve ser fluente.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-978318506663875986?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/978318506663875986/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=978318506663875986' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/978318506663875986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/978318506663875986'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/01/vagas-ibm.html' title='Vagas IBM'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-6410261394250644202</id><published>2009-01-20T08:05:00.000-08:00</published><updated>2009-01-20T08:06:34.381-08:00</updated><title type='text'>Como colocar um vírus no Ubuntu 8.10</title><content type='html'>&lt;table class="contentpaneopen"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span&gt;Notícias            -      &lt;/span&gt;       &lt;span&gt;       Humor     &lt;/span&gt;    &lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt;  &lt;td colspan="2" valign="top" width="70%"&gt;   &lt;span class="small"&gt;    Escrito por Josenaldo de Oliveira Matos Filho  &lt;/span&gt;       &lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt;  &lt;td colspan="2" class="createdate" valign="top"&gt;   Dom, 18 de Janeiro de 2009 05:44 &lt;/td&gt; &lt;/tr&gt;   &lt;tr&gt; &lt;td colspan="2" valign="top"&gt; &lt;p&gt;Tá pensando que Linux não pega vírus também?&lt;/p&gt;&lt;p&gt; Veja só como passar vírus praquele seu amigo metido que usa Linux. &lt;/p&gt;&lt;hr size="2" width="100%"&gt;&lt;br /&gt;&lt;strong&gt;Como instalar o evilmalware 0.6 beta no Ubuntu&lt;/strong&gt;&lt;p&gt;Aviso: &lt;/p&gt;&lt;p&gt;&lt;em&gt;Use estas operações de acordo com seu próprio risco. Não nos responsabilizamos por nenhum dano que você cause à sua máquina. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Este vírus é um software livre. Não existe, portanto, nenhuma garantia de que ele  lhe traga algum lucro, que cause destruição de arquivos ou que envie milhares de spams falando sobre viagra. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Antes de tentar compilar este vírus, verifique se você tem a versão correta da glibc instalada e se as regras do seu firewall estão configuradas para permitir tudo.&lt;/em&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Instalação e uso &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1 - Baixe o tar.gz do vírus e salve-o num diretorio apropriado. Por exemplo: /usr/src&lt;/p&gt;&lt;p&gt;2 - digite "tar -xzvf evilmalware.tar.gz' para extrair os fontes do vírus&lt;/p&gt;&lt;p&gt;3 -  Vá até o diretorio contendo os fontes do vírus (cd evilmalware) e digite './configure' para configurar o virus adequaramente para seu sistema. Se você estiver usando o 'csh' numa versão velha do Linux, você precisa digitar 'sh ./configure' para evitar que o csh tente rodar o vírus&lt;/p&gt;&lt;p&gt; 4 - Digite 'make' para compilar o pacote. Você precisa estar logado como root para executar essa ação. Opcionalmente você pode usaro parâmetro check_payable ('make check_payable') para poder rodar testes quevem com o vírus e que vai enviar uma generosa doação (originada de sua conta) para uma conta não numerada na Suiça.&lt;/p&gt;&lt;p&gt;5 -  Digite make install' para instalar o virus e quaisquer spywares, trojans, propagadnas de pornografia e aumento de penis, spam de viagra e ataques ddos que venham junto com o vírus. &lt;/p&gt;&lt;p&gt;6 - Configure o vírus adequadamente, escolhendo quais malwares deseja habilitar e suas configurações através do arquivo /etc/evilmalware.conf&lt;/p&gt;&lt;p&gt;Viu como é fácil infectar um computador com Linux? &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;hr size="2" width="100%"&gt;&lt;br /&gt;ATENÇÃO!&lt;p&gt; &lt;/p&gt;&lt;p&gt; ESTE ARTIGO É UMA BRINCADEIRA. SE VOCÊ LEVOU ISSO A SÉRIO, ENTÃO USE MENOS O WINDOWS. O MINISTÉRIO DA SAÚDE ADVERTE: USAR WINDOWS EM DEMASIA FAZ VOCÊ ACREDITAR EM PEGADINHAS IDIOTAS. RSRSRSRSRS&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Font: http://www.jnaldo.com/&lt;br /&gt;&lt;/p&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/2713161188664017395-6410261394250644202?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/6410261394250644202/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=6410261394250644202' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/6410261394250644202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/6410261394250644202'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/01/como-colocar-um-vrus-no-ubuntu-810.html' title='Como colocar um vírus no Ubuntu 8.10'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-7190549529687214126</id><published>2009-01-20T07:54:00.000-08:00</published><updated>2009-01-20T07:55:48.388-08:00</updated><title type='text'>POG</title><content type='html'>&lt;span class="gensmall"&gt;&lt;span style="color:red;"&gt;Primeiro pensamento POG &lt;/span&gt; &lt;i&gt; Existe casos e casos!&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="color:red;"&gt; Segundo pensamento POG &lt;/span&gt; &lt;i&gt; Do meu jeito é mais fácil e rápido! &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt; Primeira merda POG&lt;/span&gt; &lt;i&gt; Fazer as merdas que muitos fizeram por defender o primeiro pensamento &lt;b&gt;POG&lt;/b&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt; Segunda merda POG &lt;/span&gt; &lt;i&gt; Limitar o projeto ao escopo inicial.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt; Terceira merda POG &lt;/span&gt; &lt;i&gt; Se basear em absurdos para defender seu desenvolvimento.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt; Quarta merda POG &lt;/span&gt; &lt;i&gt; Não entender que padrão é beneficio e usar o primeiro pensamento &lt;b&gt;POG&lt;/b&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:red;"&gt; Quinta merda POG &lt;/span&gt; &lt;i&gt; Achar um absurdo eu escrever isso.&lt;br /&gt;&lt;br /&gt;kakakaka&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-7190549529687214126?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/7190549529687214126/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=7190549529687214126' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7190549529687214126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/7190549529687214126'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/01/pog.html' title='POG'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-3656421899651049512</id><published>2009-01-20T05:54:00.000-08:00</published><updated>2009-01-20T06:03:06.639-08:00</updated><title type='text'>Saindo de SQL pra HQL.</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:595.3pt 841.9pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;    &lt;p class="MsoNormal"&gt;Para aqueles que dispõem de um servidor com arquitetura &lt;a href="http://java.sun.com/j2ee/1.4/docs/tutorial/doc/"&gt;J2EE&lt;/a&gt;, existe a especificação &lt;a href="http://letmegooglethatforyou.com/?q=especifica%C3%A7%C3%A3o+jpa+j2ee"&gt;JPA&lt;/a&gt;, a qual o hibernate implementa. O hibernate é a solução para o programador que não querem colocar as mãos no famigerado SQL, e tratar das tables, views e família como objetos, ou seja, ele é uma ferramenta para mapeamento de objetos / relacionamentos do banco de dados para Java.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Como começar:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;pré-requisitos: ter um &lt;a href="http://letmegooglethatforyou.com/?q=download+servidor+j2ee"&gt;servidor J2EE&lt;/a&gt; (ex:&lt;span style=""&gt;  &lt;/span&gt;JBoss, GlassFish, ...) , driver JDBC do seu DB.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Passos:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;1 – Configurar um arquivo XML de persistência&lt;/p&gt;  &lt;p class="MsoNormal"&gt;2 – Criar uma classe Entity (representação de um objeto de banco de dados)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;3 – Criar a classe controladora JPA (executa as funções: inserir, delete ...)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;4 – Criar a interface que vai usar o controlador JPA (swing / web)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Uma boa maneira de iniciar é usando o Netbeans 6.5 (&lt;cite&gt;&lt;span style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;www.&lt;b&gt;netbeans&lt;/b&gt;.org/&lt;b&gt;downloads&lt;/b&gt;/)&lt;/span&gt;&lt;/cite&gt;, ele tem um excelente suporte a J2EE, e com ele você pode criar entity’s e controladores JPA automaticamente, e de quebra ainda pode criar interfaces CRUD em JSF.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;Você pode conseguir mais conteúdo &lt;a href="http://www.hibernate.org/hib_docs/reference/en/html/tutorial.html"&gt;aqui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Dúvidas?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-3656421899651049512?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/3656421899651049512/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=3656421899651049512' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3656421899651049512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3656421899651049512'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/01/saindo-de-sql-pra-hql.html' title='Saindo de SQL pra HQL.'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-5719797547687482200</id><published>2009-01-20T04:50:00.000-08:00</published><updated>2009-01-20T05:11:51.919-08:00</updated><title type='text'>PL / SQL inverter linha / coluna</title><content type='html'>&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:595.3pt 841.9pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;Uma função muito útil no PL / SQL para inverter valores de colunas para linha é o CASE.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Por exemplo, quando você quer simplificar a visualização de uma query de vendas por mês, ao invés de apresentar a data junto ao valor das vendas (na mesma linha), você pode colocar a data como coluna.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Então no lugar de ter:&lt;span style=""&gt;   &lt;/span&gt;SELECT cidade, dt_venda, valor FROM venda&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Que geraria uma lista muito grande e difícil de entender. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Você poderia melhorara usando a função case e sum, assim:&lt;/p&gt;  &lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:78%;"&gt;SELECT&lt;/span&gt;&lt;span style="font-size:78%;"&gt;           &lt;/span&gt;&lt;span style="font-size:78%;"&gt;cidade&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:78%;"&gt;        &lt;/span&gt;&lt;span style="font-size:78%;"&gt;,&lt;/span&gt;&lt;span style="font-size:78%;"&gt;        &lt;/span&gt;&lt;span style="font-size:78%;"&gt;Sum (CASE WHEN dt_venda&lt;/span&gt;&lt;span style="font-size:78%;"&gt;  &lt;/span&gt;&lt;span style="font-size:78%;"&gt;BETWEEN '01/01/2008' AND '31/01/2008' THEN valor END) AS JANEIRO_2008&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:78%;"&gt;        &lt;/span&gt;&lt;span style="font-size:78%;"&gt;,&lt;/span&gt;&lt;span style="font-size:78%;"&gt;        &lt;/span&gt;&lt;span style="font-size:78%;"&gt;Sum (CASE WHEN dt_venda&lt;/span&gt;&lt;span style="font-size:78%;"&gt;  &lt;/span&gt;&lt;span style="font-size:78%;"&gt;BETWEEN '01/02/2008' AND '28/02/2008' THEN valor END) AS FEVEREIRO_2008&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:78%;"&gt;        &lt;/span&gt;&lt;span style="font-size:78%;"&gt;,&lt;/span&gt;&lt;span style="font-size:78%;"&gt;        &lt;/span&gt;&lt;span style="font-size:78%;"&gt;Sum (CASE WHEN dt_venda&lt;/span&gt;&lt;span style="font-size:78%;"&gt;  &lt;/span&gt;&lt;span style="font-size:78%;"&gt;BETWEEN '01/03/2008' AND '31/03/2008' THEN valor END) AS MARCO_2008&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:78%;"&gt;        &lt;/span&gt;&lt;span style="font-size:78%;"&gt;-- e assim por diante nos outros meses.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:78%;"&gt;        &lt;/span&gt;&lt;span style="font-size:78%;"&gt;FROM venda&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:78%;"&gt;        &lt;/span&gt;&lt;span style="font-size:78%;"&gt;GROUP BY cidade&lt;/span&gt;&lt;/p&gt;&lt;p style="font-style: italic;" class="MsoNormal"&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Onde os messes apareceriam como coluna e a soma como linha, assim:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CUser%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} table.MsoTableGrid 	{mso-style-name:"Tabela com grade"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-priority:59; 	mso-style-unhide:no; 	border:solid black 1.0pt; 	mso-border-themecolor:text1; 	mso-border-alt:solid black .5pt; 	mso-border-themecolor:text1; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-border-insideh:.5pt solid black; 	mso-border-insideh-themecolor:text1; 	mso-border-insidev:.5pt solid black; 	mso-border-insidev-themecolor:text1; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-fareast-language:EN-US;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid black; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;CIDADE&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;JANEIRO_2008&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;FEVEREIRO_2008&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;MARCO_2008&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;CAPÃO DA CAMPA&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;100&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;200&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;150&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;PORTO ALEGRE&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;150&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;100&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;125&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;SÃO PAULO&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;300&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;250&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 108.05pt;" valign="top" width="144"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;310&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;Ok?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-5719797547687482200?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/5719797547687482200/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=5719797547687482200' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/5719797547687482200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/5719797547687482200'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2009/01/pl-sql-inverter-linha-coluna.html' title='PL / SQL inverter linha / coluna'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-3546145982743752917</id><published>2008-12-29T05:38:00.000-08:00</published><updated>2009-01-21T10:07:57.726-08:00</updated><title type='text'>Procurando outros</title><content type='html'>To procurando alguns trabalhos mais recentes em java, tem muito legal, que simula um programa P2P em java, e outro que é um messenger ambos usando sockets.&lt;br /&gt;&lt;br /&gt;Editado:&lt;br /&gt;21-01-09 perdi os trabalhos na ultima vez q formatei meu note. Esqueci de copiar a pasta da facu, ainda bem que to de férias.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-3546145982743752917?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/3546145982743752917/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=3546145982743752917' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3546145982743752917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3546145982743752917'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2008/12/procurando-outros.html' title='Procurando outros'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-804008655065469930</id><published>2008-12-29T05:36:00.000-08:00</published><updated>2008-12-29T05:38:36.497-08:00</updated><title type='text'>Mais um trabalho do segundo semestre</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Esse tbm é com pascal e trabalha com arquivos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Program Livraria;&lt;br /&gt;Uses Fdelay, crt;&lt;br /&gt;Const N_arq = 'trab_arq';&lt;br /&gt;Type&lt;br /&gt;    T_Livro = Record&lt;br /&gt;            Autor : String[15];&lt;br /&gt;            Titulo: String[15];&lt;br /&gt;            ISBN: Integer;&lt;br /&gt;            Ano: Integer;&lt;br /&gt;            Edicao: Byte;&lt;br /&gt;            Preco: Real;&lt;br /&gt;            Quantidade: integer;&lt;br /&gt;    End;&lt;br /&gt;    T_Arquivo = File of T_livro;&lt;br /&gt;Var&lt;br /&gt;   Livro: T_Livro;&lt;br /&gt;   Estoque: T_Arquivo;&lt;br /&gt;   Op: String;&lt;br /&gt;   ISBN, Pos: Integer;&lt;br /&gt;Procedure Abre_Arq(var Estoque: T_Arquivo);&lt;br /&gt;Begin&lt;br /&gt;ClrScr;&lt;br /&gt;      Assign(Estoque, n_arq);&lt;br /&gt;      {$I-}&lt;br /&gt;      Reset(Estoque);&lt;br /&gt;      {$I+}&lt;br /&gt;      IF ioresult &lt;&gt; 0 then&lt;br /&gt;         Begin&lt;br /&gt;              ReWrite(Estoque);&lt;br /&gt;              WriteLn('Arquivo criado');&lt;br /&gt;              Delay (20000);&lt;br /&gt;         End&lt;br /&gt;      Else&lt;br /&gt;          Begin&lt;br /&gt;               WriteLn('Arquivo aberto');&lt;br /&gt;               Delay(20000);&lt;br /&gt;          End;&lt;br /&gt;End;&lt;br /&gt;Procedure Menu(var op: string);&lt;br /&gt;Begin&lt;br /&gt;     ClrScr;&lt;br /&gt;     WriteLn('1 - Inserir');&lt;br /&gt;     WriteLn('2 - Pesquisar');&lt;br /&gt;     WriteLn('3 - Alterar');&lt;br /&gt;     WriteLn('4 - Excluir');&lt;br /&gt;     WriteLn('5 - Total do estoque');&lt;br /&gt;     WriteLn('6 - Sair');&lt;br /&gt;     op:=ReadKey;&lt;br /&gt;End;&lt;br /&gt;Procedure Pesquisar(var Livro:T_Livro; var Estoque: T_Arquivo; var Pos: Integer; ISBN: integer);&lt;br /&gt;Var&lt;br /&gt;   X: integer;&lt;br /&gt;Begin&lt;br /&gt;     x:=0;&lt;br /&gt;     Pos:=0;&lt;br /&gt;     Seek(Estoque, pos);&lt;br /&gt;     if filesize(estoque) &lt;&gt; 0 then&lt;br /&gt;     Repeat&lt;br /&gt;           Begin&lt;br /&gt;                Read(Estoque, Livro);&lt;br /&gt;                x:=x+1;&lt;br /&gt;           End;&lt;br /&gt;     Until ( x = filesize(estoque)) or (Livro.ISBN = ISBN) ;&lt;br /&gt;     If livro.isbn &lt;&gt; isbn then&lt;br /&gt;        Begin&lt;br /&gt;             pos:=1;&lt;br /&gt;             WriteLn('ISBN nao cadastrado');&lt;br /&gt;             Delay(20000);&lt;br /&gt;        End&lt;br /&gt;     Else&lt;br /&gt;         Begin&lt;br /&gt;              WriteLn('ISBN encontrado.');&lt;br /&gt;              pos:=filepos(estoque);&lt;br /&gt;              Delay(20000);&lt;br /&gt;         End;&lt;br /&gt;End;&lt;br /&gt;Procedure EntradaDeDados(Livro: T_Livro; var Estoque: T_Arquivo; Pos: Integer);&lt;br /&gt;Begin&lt;br /&gt;     Seek(Estoque,Pos-1);&lt;br /&gt;     With Livro do&lt;br /&gt;          Begin&lt;br /&gt;                           WriteLn('Digite o ISBN');&lt;br /&gt;                           ReadLn(ISBN);&lt;br /&gt;                           If isbn &lt;&gt; 0 then&lt;br /&gt;                           Begin&lt;br /&gt;                           WriteLn('Digite o nome do Autor');&lt;br /&gt;                           ReadLn(Autor);&lt;br /&gt;                           WriteLn('Digite o titulo do livro');&lt;br /&gt;                           ReadLn(Titulo);&lt;br /&gt;                           WriteLn('Digite o ano');&lt;br /&gt;                           ReadLn(Ano);&lt;br /&gt;                           WriteLn('Digite a edicao');&lt;br /&gt;                           ReadLn(Edicao);&lt;br /&gt;                           WriteLn('Digite o preco');&lt;br /&gt;                           ReadLn(Preco);&lt;br /&gt;                           WriteLn('Digite a quantidade');&lt;br /&gt;                           ReadLn(Quantidade);&lt;br /&gt;                           Write(Estoque,Livro);&lt;br /&gt;                           WriteLN('Registro salvo');&lt;br /&gt;           End&lt;br /&gt;           Else&lt;br /&gt;           WriteLn('0 nao eh um numero valido para ISBN');&lt;br /&gt;End;&lt;br /&gt;End;&lt;br /&gt;Procedure TotalEstoque(Livro: T_Livro; var Estoque: T_Arquivo);&lt;br /&gt;Var&lt;br /&gt;   TotalEstoque: Real;&lt;br /&gt;Begin&lt;br /&gt;     TotalEstoque:=0;&lt;br /&gt;     Seek(Estoque, 0);&lt;br /&gt;     While (not Eof(Estoque)) do&lt;br /&gt;           Begin&lt;br /&gt;                Read(Estoque, Livro);&lt;br /&gt;                If livro.isbn &lt;&gt; 0 then&lt;br /&gt;                With Livro do&lt;br /&gt;                     Begin&lt;br /&gt;                     TotalEstoque:= TotalEstoque + (Preco *  Quantidade);&lt;br /&gt;                     End;&lt;br /&gt;           End;&lt;br /&gt;     WriteLn('Valor total = ', TotalEstoque:3:2);&lt;br /&gt;     ReadKey;&lt;br /&gt;End;&lt;br /&gt;&lt;br /&gt;Procedure Teste (var estoque : t_arquivo; livro: t_livro);&lt;br /&gt;Var&lt;br /&gt;x,ISBN,Tam,Pos : Integer;&lt;br /&gt;Begin&lt;br /&gt;Tam := FileSize(estoque);&lt;br /&gt;WriteLn('Tam ',Tam);&lt;br /&gt;&lt;br /&gt;Seek(Estoque,0);&lt;br /&gt;if tam &lt;&gt; 0 then&lt;br /&gt;For x:= 1 to filesize(estoque) do&lt;br /&gt;Begin&lt;br /&gt;Read(estoque ,livro);&lt;br /&gt;Tam := FileSize(estoque);&lt;br /&gt;Pos := FilePos(estoque);&lt;br /&gt;WriteLN('Pos ',pos);&lt;br /&gt;isbn:= livro.isbn;&lt;br /&gt;WriteLn('ISBN ',ISBN);&lt;br /&gt;ReadKey;&lt;br /&gt;End;&lt;br /&gt;End;&lt;br /&gt;&lt;br /&gt;Begin&lt;br /&gt; Abre_Arq(Estoque);&lt;br /&gt; teste(estoque, livro);&lt;br /&gt;op:='0';&lt;br /&gt;While (op &lt;&gt; '1') and  (OP &lt;&gt; '2') and (op &lt;&gt; '3')  and (op &lt;&gt;'4') and (op &lt;&gt;'5') and (op &lt;&gt;'6') do&lt;br /&gt;Begin&lt;br /&gt;Menu(op);&lt;br /&gt;     if op = '1' then&lt;br /&gt;           Begin&lt;br /&gt;                Pos:= FileSize(Estoque)+1;&lt;br /&gt;                EntradaDeDados(Livro, Estoque, Pos);&lt;br /&gt;                ReadKey;&lt;br /&gt;                op:='0';&lt;br /&gt;           End;&lt;br /&gt;     If op = '2' then&lt;br /&gt;           Begin&lt;br /&gt;                WriteLn('Digite o ISBN a pesquisar');&lt;br /&gt;                ReadLN(ISBN);&lt;br /&gt;           If isbn &lt;&gt; 0 then&lt;br /&gt;              Begin&lt;br /&gt;                Pesquisar(Livro,Estoque, pos, ISBN);&lt;br /&gt;                Seek(Estoque, pos);&lt;br /&gt;                IF isbn = livro.isbn then&lt;br /&gt;                With Livro do&lt;br /&gt;                Begin&lt;br /&gt;                     Writeln('Autor ',Autor);&lt;br /&gt;                End;&lt;br /&gt;           End&lt;br /&gt;           Else&lt;br /&gt;           WriteLn('0 nao eh um numero valido para ISBN');&lt;br /&gt;           ReadKey;&lt;br /&gt;           op:='0';&lt;br /&gt;           End;&lt;br /&gt;     If op = '3' then&lt;br /&gt;           Begin&lt;br /&gt;           WriteLn('Digite o ISBN a Alterar');&lt;br /&gt;           ReadLN(ISBN);&lt;br /&gt;           If isbn &lt;&gt; 0 then&lt;br /&gt;           Begin&lt;br /&gt;           Pesquisar(Livro,Estoque, pos, ISBN);&lt;br /&gt;           Seek(Estoque,Pos);&lt;br /&gt;           IF isbn = livro.isbn then&lt;br /&gt;           EntradaDeDados(Livro, Estoque, Pos);&lt;br /&gt;           End&lt;br /&gt;           Else&lt;br /&gt;           WriteLn('0 nao eh um numero valido para ISBN');&lt;br /&gt;           ReadKey;&lt;br /&gt;           op:='0';&lt;br /&gt;           End;&lt;br /&gt;     If op = '4' then&lt;br /&gt;           Begin&lt;br /&gt;           WriteLn('Digite o ISBN a excluir');&lt;br /&gt;           ReadLn(ISBN);&lt;br /&gt;           If isbn &lt;&gt; 0 then&lt;br /&gt;              Begin&lt;br /&gt;                Pesquisar(Livro, Estoque,Pos,ISBN);&lt;br /&gt;                Seek(Estoque,Pos-1);&lt;br /&gt;                IF isbn = livro.isbn then&lt;br /&gt;                   With Livro do&lt;br /&gt;                   Begin&lt;br /&gt;                   ISBN:=0;&lt;br /&gt;                   Write(Estoque,Livro);&lt;br /&gt;                   End;&lt;br /&gt;              End&lt;br /&gt;              Else&lt;br /&gt;              WriteLn('0 nao eh um numero valido para ISBN');&lt;br /&gt;           ReadKey;&lt;br /&gt;           op:='0';&lt;br /&gt;           End;&lt;br /&gt;     IF op = '5' then&lt;br /&gt;     Begin&lt;br /&gt;     TotalEstoque(Livro, Estoque);&lt;br /&gt;     op:='0';&lt;br /&gt;     End;&lt;br /&gt;If op &lt;&gt; '6' then&lt;br /&gt;op:='7';&lt;br /&gt;End;&lt;br /&gt; Close(estoque);&lt;br /&gt;End.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-804008655065469930?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/804008655065469930/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=804008655065469930' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/804008655065469930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/804008655065469930'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2008/12/mais-um-trabalho-do-segundo-semestre.html' title='Mais um trabalho do segundo semestre'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2713161188664017395.post-3422805205485555493</id><published>2008-12-29T05:33:00.000-08:00</published><updated>2008-12-29T05:36:05.624-08:00</updated><title type='text'>Trabalho do segundo semestre</title><content type='html'>Estava olhando uns e-mails antigos e achei esse trabalho do segundo semestre feito em pascal, acho que voi compilado no turbo pascal (uma IDE muito chata).&lt;br /&gt;&lt;br /&gt;{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *&lt;br /&gt;*                                                                          *&lt;br /&gt;* UNIVERSIDADE DE SANTA CRUZ DO SUL                                        *&lt;br /&gt;*                                                                          *&lt;br /&gt;* Departamento de Informatica                                              *&lt;br /&gt;*                                                                          *&lt;br /&gt;* Curso de Sistemas de Informacao - Capao da Canoa                         *&lt;br /&gt;*                                                                          *&lt;br /&gt;*                                                                          *&lt;br /&gt;* ESTRUTURAS DE DADOS I (2006/02)                                          *&lt;br /&gt;*                                                                          *&lt;br /&gt;* ALUNOS:                                                                  *&lt;br /&gt;*       Joseli de Souza Neto                                               *&lt;br /&gt;*       Ramon Rosa da Silva                                                *&lt;br /&gt;*                                                                          *&lt;br /&gt;*                                                                          *&lt;br /&gt;* Trabalho 2:                                                              *&lt;br /&gt;*        Desenvolver um projeto do jogo ADIVINHA NUMEROS.                  *&lt;br /&gt;*                                                                          *&lt;br /&gt;*    O jogo funciona da seguinte forma:                                    *&lt;br /&gt;*                                                                          *&lt;br /&gt;*    -&gt; O jogo e composto por uma sequencia de N numeros escolhidos        *&lt;br /&gt;*    aleatoriamente (este projeto tem uma sequencia 4 numeros);            *&lt;br /&gt;*    -&gt; A quantidade de numeros sorteados e informado ao jogador;          *&lt;br /&gt;*    -&gt; O jogador deve digitar uma sequencia tambem de N numeros;          *&lt;br /&gt;*    -&gt; A sequencia digitada pelo jogador deve ser conferida com           *&lt;br /&gt;*    a sequencia gerada aleatoriamente;                                    *&lt;br /&gt;*    -&gt; O jogo deve informar ao jogador quantos numeros da sequencia       *&lt;br /&gt;*    aleatoria ele acertou e quantos numeros estao na posicao correta;     *&lt;br /&gt;*    -&gt; O jogador deve ter um maximo de jogadas permitidas - tentativas    *&lt;br /&gt;*    (este projeto foi permitidos 7 tentativas para adivinhar 5 numeros    *&lt;br /&gt;*    na sequencia correta);                                                *&lt;br /&gt;*    -&gt; Ao final do jogo, deve ser armazenado o nome do jogador e seus     *&lt;br /&gt;*    pontos (a lista de jogadores devera estar ordenada por pontos -       *&lt;br /&gt;*    recorde);                                                             *&lt;br /&gt;*    -&gt; Tambem, ao final do jogo, o jogador devera informar se deseja      *&lt;br /&gt;*    realizar um novo jogo ou sair  do sistema.                            *&lt;br /&gt;*                                                                          *&lt;br /&gt;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}&lt;br /&gt;&lt;br /&gt;{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *&lt;br /&gt;*                                                                          *&lt;br /&gt;*                                    OBS:                                  *&lt;br /&gt;*   Os assentos deste programa serao omotidos, o Pascal nao os reconhece   *&lt;br /&gt;*                                                                          *&lt;br /&gt;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}&lt;br /&gt;&lt;br /&gt;Program Adivinha_Numeros;&lt;br /&gt;Uses fdelay, crt, dos;&lt;br /&gt;&lt;br /&gt;{---------------------------------------------------------------------------&lt;br /&gt;                Declaracao de constantes do programa principal&lt;br /&gt;---------------------------------------------------------------------------}&lt;br /&gt;const&lt;br /&gt;     n=4;&lt;br /&gt;     qtdjogadas = 2;&lt;br /&gt;     Tempo = 50;&lt;br /&gt;&lt;br /&gt;{---------------------------------------------------------------------------&lt;br /&gt;                   Declaracao de tipo do programa principal&lt;br /&gt;                      -&gt; Foi utilizado um registro&lt;br /&gt;---------------------------------------------------------------------------}&lt;br /&gt;Type&lt;br /&gt;    Nod = ^Lv;&lt;br /&gt;&lt;br /&gt;      Lv = Record&lt;br /&gt;        Nome: String[15];&lt;br /&gt;        Pontos: Integer;&lt;br /&gt;        Prox: Nod;&lt;br /&gt;    END;&lt;br /&gt;&lt;br /&gt;{---------------------------------------------------------------------------&lt;br /&gt;               Declaracao de variveis do programa principal&lt;br /&gt;                  -&gt; Foi utilizado 2 vetores com 4 posicoes&lt;br /&gt;---------------------------------------------------------------------------}&lt;br /&gt;var&lt;br /&gt;   num,senha:array[1..n] of integer;&lt;br /&gt;   op, tent,i:byte;&lt;br /&gt;   Segundos, Ptos,x:integer;&lt;br /&gt;   Livro : Lv;&lt;br /&gt;   Nodo: Nod;&lt;br /&gt;   Ini: Nod;&lt;br /&gt;   aux: Nod;&lt;br /&gt;   ganho: boolean;&lt;br /&gt;{---------------------------------------------------------------------------&lt;br /&gt;                               PROCEDIMENTOS&lt;br /&gt;---------------------------------------------------------------------------}&lt;br /&gt;&lt;br /&gt;{--- Limpa a Tela e Dimenciona Janela ---}&lt;br /&gt;Procedure LimpaTela;&lt;br /&gt;Begin&lt;br /&gt;     textbackground(0);&lt;br /&gt;     window(1,1,80,25);&lt;br /&gt;     clrscr;&lt;br /&gt;End;&lt;br /&gt;&lt;br /&gt;{--- Cria uma Janela na Tela ---}&lt;br /&gt;Procedure Janela(col1,lin1,col2,lin2,cor:Byte;titulo:string);&lt;br /&gt;&lt;br /&gt;var   {--- Declaracao variavel local ---}&lt;br /&gt;   Tamanho:Byte;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;    Tamanho := length(Titulo);&lt;br /&gt;    textbackground(3);&lt;br /&gt;    window(col1,lin1,col2,lin2);&lt;br /&gt;    clrscr;&lt;br /&gt;    if Tamanho &lt; (col2 - col1) then&lt;br /&gt;       begin&lt;br /&gt;         Tamanho := (col2-col1) - Tamanho;&lt;br /&gt;         Tamanho :=  Tamanho DIV 2;&lt;br /&gt;         Gotoxy(Tamanho,1);&lt;br /&gt;         textcolor(14+128);&lt;br /&gt;         Writeln(Titulo);&lt;br /&gt;       end;&lt;br /&gt;    textbackground(7);&lt;br /&gt;    window(col1+1,lin1+1,col2-1,lin2-1);&lt;br /&gt;    clrscr;&lt;br /&gt;    gotoxy(18,2);&lt;br /&gt;    textcolor(0);&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;{--- Tela Inicial ---}&lt;br /&gt;Procedure Janela_1;&lt;br /&gt;begin&lt;br /&gt;     LimpaTela;&lt;br /&gt;     Janela(20,5,60,10,6,'   &gt;&gt; SuperJogos &lt;&lt; ');&lt;br /&gt;     gotoxy(5,2);writeln('A D I V I N H A - N U M E R O S');&lt;br /&gt;     delay(20000);&lt;br /&gt;     Limpatela;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;{--- Informa se o jogador quer continuar o jogo ou nao ---}&lt;br /&gt;Procedure Janela_3(var op, tent: byte);&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;     Limpatela;&lt;br /&gt;     Janela(20,10,60,20,6,'       ATENCAO !!!: ');&lt;br /&gt;     gotoxy(5,2);writeln('QUER CONTINUAR ?');&lt;br /&gt;     gotoxy(5,4);writeln('Digite [1]-Jogar    [2]-Sair');&lt;br /&gt;     gotoxy(5,6);write('OPCAO: ');&lt;br /&gt;     readln(op);&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;{--- Compara as duas sequencias, a sorteada com a digitada pelo jogador ---}&lt;br /&gt;Procedure Compara(var ptos: integer; var ganho : boolean);&lt;br /&gt;Var&lt;br /&gt;  pos, na,j, y,x: integer;&lt;br /&gt;  existe: boolean;&lt;br /&gt;begin&lt;br /&gt;na:=0;&lt;br /&gt;pos:=0;&lt;br /&gt;&lt;br /&gt;for x:=1 to n do&lt;br /&gt;    For y:=1 to n  do&lt;br /&gt;        Begin&lt;br /&gt;        existe:= false;&lt;br /&gt;        If num[x] = senha[y] then&lt;br /&gt;           Begin&lt;br /&gt;              for j:= 1 to y-1 do&lt;br /&gt;                  if senha[y] = senha[j] then&lt;br /&gt;                      existe:= true;&lt;br /&gt;              for j:= 1 to x-1 do&lt;br /&gt;                  if num[y] = num[j] then&lt;br /&gt;                      existe:= true;&lt;br /&gt;              IF existe = false then&lt;br /&gt;                na:=na+1;&lt;br /&gt;           End;&lt;br /&gt;&lt;br /&gt;        if (x = y) and (num[x] = senha[y]) then&lt;br /&gt;           pos:= pos +1;&lt;br /&gt;        End;&lt;br /&gt;        Ptos:= pos + na + Ptos;&lt;br /&gt;    LimpaTela;&lt;br /&gt;    Janela(20,10,60,20,6,'    Voce esta jogando ');&lt;br /&gt;    gotoxy(5,2);writeln('VOCE ACERTOU:');&lt;br /&gt;    gotoxy(5,4);writeln('-&gt; ',na,' NUMEROS !');&lt;br /&gt;    gotoxy(5,5);writeln('-&gt; ',pos,' NA POSICAO CORRETA !');&lt;br /&gt;    ReadLn;&lt;br /&gt;    if pos = n then&lt;br /&gt;    ganho:= true;&lt;br /&gt;End;&lt;br /&gt;&lt;br /&gt;{--- Jogador jogada ---}&lt;br /&gt;Procedure Janela_2(var op, tent: byte; var  ganho : boolean);&lt;br /&gt;Var&lt;br /&gt;   hh1,hh,mm1,mm,ss1,ss, ms1,ms : word;&lt;br /&gt;begin&lt;br /&gt;     tent:=0;&lt;br /&gt;     while (op &lt;&gt; 1) do&lt;br /&gt;           begin&lt;br /&gt;                LimpaTela;&lt;br /&gt;                Janela(20,10,60,20,6,'       ATENCAO !!!: ');&lt;br /&gt;                gotoxy(5,2);writeln('OPCAO INCORRETA');&lt;br /&gt;                gotoxy(5,4);writeln('Digite [1]-Jogar    [2]-Sair');&lt;br /&gt;                gotoxy(5,6);write('OPCAO: ');&lt;br /&gt;                readln(op);&lt;br /&gt;           end;&lt;br /&gt;     while (tent &lt; qtdjogadas) and (not ganho) and (segundos &lt;= tempo) do&lt;br /&gt;           begin&lt;br /&gt;                GetTime(hh,mm,ss,ms);&lt;br /&gt;                LimpaTela;&lt;br /&gt;                Tent:= tent +1;&lt;br /&gt;                Janela(20,10,60,20,6, '    Voce esta jogando ');&lt;br /&gt;                gotoxy(1,2);writeln('Digite uma sequencia de quatro numeros:');&lt;br /&gt;                for i:=1 to n do&lt;br /&gt;                    begin&lt;br /&gt;                         gotoxy(6,i+3);write('-&gt; ');&lt;br /&gt;                         readln(num[i]);&lt;br /&gt;&lt;br /&gt;                    end;&lt;br /&gt;                GetTime(hh1,mm1,ss1,ms1);&lt;br /&gt;                If ((ss1 - ss) &gt;= tempo) and ((mm1-mm)= 0)then&lt;br /&gt;                   Begin&lt;br /&gt;                   tent := qtdJogadas;&lt;br /&gt;                   WriteLn('tempo esgotado');&lt;br /&gt;                   End&lt;br /&gt;                Else&lt;br /&gt;                   If ((ss1- ss) &lt;&gt;0) then&lt;br /&gt;                   Begin&lt;br /&gt;                   tent := qtdJogadas;&lt;br /&gt;                   WriteLn('tempo esgotado');&lt;br /&gt;                   End&lt;br /&gt;                      Else&lt;br /&gt;                        Compara(ptos, ganho);&lt;br /&gt;                LimpaTela;&lt;br /&gt;           end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;{--- Escolhe a Opcao ---}&lt;br /&gt;Procedure Menu(Var Op, tent : byte);&lt;br /&gt;Begin&lt;br /&gt;     Janela(20,10,60,20,6,'    Digite a OPCAO: ');&lt;br /&gt;     gotoxy(5,2);writeln('1- Jogar');&lt;br /&gt;     gotoxy(5,3);writeln('2- Sair');&lt;br /&gt;     gotoxy(5,6);write('OPCAO: ');&lt;br /&gt;     readln(op);&lt;br /&gt;     tent:=0;&lt;br /&gt;     LimpaTela;&lt;br /&gt;End;&lt;br /&gt;&lt;br /&gt;{--- Sortea os numeros ---}&lt;br /&gt;Procedure sortea;&lt;br /&gt;begin&lt;br /&gt;     clrscr;&lt;br /&gt;     randomize;&lt;br /&gt;     writeln;&lt;br /&gt;     write('                  ');&lt;br /&gt;     for i:=1 to n do&lt;br /&gt;         begin&lt;br /&gt;              senha[i]:=random(9);&lt;br /&gt;              write(senha[i]);&lt;br /&gt;         end;&lt;br /&gt;     readln;&lt;br /&gt;&lt;br /&gt;end;&lt;br /&gt;{------------------------------------------------------------&lt;br /&gt;                     Programa Principal&lt;br /&gt;-------------------------------------------------------------}&lt;br /&gt;Begin&lt;br /&gt;     Nodo:=Nil;&lt;br /&gt;     Aux:=Nil;&lt;br /&gt;     Ptos:=0;&lt;br /&gt;     CLRSCR;&lt;br /&gt;     Janela_1;&lt;br /&gt;     Menu(op,tent);&lt;br /&gt;     while op &lt;&gt; 2 do&lt;br /&gt;          Begin&lt;br /&gt;               Ptos:=0;&lt;br /&gt;               Janela(20,5,60,10,6,'Senha Sorteada');&lt;br /&gt;               Sortea;&lt;br /&gt;               Janela_2(op,tent, ganho);&lt;br /&gt;               If ganho = true then&lt;br /&gt;               Begin&lt;br /&gt;                    LimpaTela;&lt;br /&gt;                    New(Aux);&lt;br /&gt;                    Janela(20,10,60,20,6,'        !!!: ');&lt;br /&gt;                    gotoxy(5,2);writeln('DIGITE SEU NOME');&lt;br /&gt;                    ReadLn(Aux^.Nome);&lt;br /&gt;                    Aux^.pontos:= ptos;&lt;br /&gt;                    If nodo = nil then&lt;br /&gt;                       Begin&lt;br /&gt;                            New(Nodo);&lt;br /&gt;                            Nodo := Aux;&lt;br /&gt;                            Nodo^.prox:=Nil;                  {ver ............1}&lt;br /&gt;                        end&lt;br /&gt;                     Else&lt;br /&gt;                        If aux^.pontos &lt; nodo^.pontos then&lt;br /&gt;                           Begin&lt;br /&gt;                              Aux^.prox:=Nodo;&lt;br /&gt;                              Nodo:= Aux;&lt;br /&gt;                                                          {ver.............2}&lt;br /&gt;                            End&lt;br /&gt;                          else&lt;br /&gt;                             Begin&lt;br /&gt;                                While (nodo^.pontos &lt;&gt; nil) do&lt;br /&gt;                                   nodo:= nodo^.prox;&lt;br /&gt;                                   aux^.prox:=nodo^.prox;  {ver ..................3}&lt;br /&gt;                                   Nodo^.prox:=Aux;&lt;br /&gt;                             End;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;               End;&lt;br /&gt;          Janela(20,10,60,20,6,'    RECORDES: ');&lt;br /&gt;          aux:=Nodo;&lt;br /&gt;          x:= 2;&lt;br /&gt;          Gotoxy(5,2);&lt;br /&gt;          If aux = nil then&lt;br /&gt;          WriteLn('ainda nao existem recordx');&lt;br /&gt;          ReadLn;&lt;br /&gt;          While aux &lt;&gt; nil do&lt;br /&gt;            Begin&lt;br /&gt;              gotoxy(5,x);writeln(x-2,' lugar -',aux^.Nome,', ',aux^.pontos);&lt;br /&gt;              x:=x+1;&lt;br /&gt;              aux:= aux^.prox;&lt;br /&gt;              readln;&lt;br /&gt;             End;&lt;br /&gt;          ganho:= false;&lt;br /&gt;          Janela_3(op, tent);&lt;br /&gt;     End;&lt;br /&gt;end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2713161188664017395-3422805205485555493?l=neoramon.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neoramon.blogspot.com/feeds/3422805205485555493/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2713161188664017395&amp;postID=3422805205485555493' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3422805205485555493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2713161188664017395/posts/default/3422805205485555493'/><link rel='alternate' type='text/html' href='http://neoramon.blogspot.com/2008/12/trabalho-do-segundo-semestre.html' title='Trabalho do segundo semestre'/><author><name>Ramon Rosa da Silva</name><uri>http://www.blogger.com/profile/09256854721738637267</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><thr:total>0</thr:total></entry></feed>
