<?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-2696825862704345157</id><updated>2011-11-27T16:36:04.808-08:00</updated><category term='Projetos'/><category term='Inicio'/><category term='JEE'/><category term='Perfil'/><title type='text'>Giuliano Bortolassi</title><subtitle type='html'>Blog Pessoal</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.giulianobortolassi.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.giulianobortolassi.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Giuliano Bortolassi</name><uri>http://www.blogger.com/profile/12662174331283557472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_M6uHZT2WAGo/R_4_GHcdmYI/AAAAAAAAAEA/cnktmvv4f4Q/S220/MySignpb.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2696825862704345157.post-4778349494517020215</id><published>2008-08-11T10:41:00.000-07:00</published><updated>2008-08-11T13:46:07.572-07:00</updated><title type='text'>Conversando sobre JEE parte 2</title><content type='html'>Como falei no artigo anterior (&lt;a href="http://giulianobortolassi.blogspot.com/2008/08/jee-o-que-java-ee.html"&gt;Conversando sobre JEE&lt;/a&gt;) a plataforma JEE da Sun já tem 11 anos de desenvolvimento e evolução. Hoje ela é uma plataforma robusta com uma especificação bem elaborada e com várias empresas que usam e investem na sua manutenção e criam produtos baseados na tecnologia JEE, como por exemplo a ORACLE, IBM, BEA que tem seus servidores de aplicação JEE.&lt;br /&gt;&lt;br /&gt;O porque dessas empresas adotarem e apoiarem a plataforma JEE, provavelmente, deve-se ao fato de estarmos falando de uma plataforma aberta e robusta, com preocupação principal na compatibilidade entre os servidores e aplicações e as aplicações desenvolvidas para eles. Essa postura de “manter a compatibilidade” entre os softwares desenvolvidos para JEE torna a plataforma uma escolha agradável e acessível para os gerentes de TI, já que, optando pela plataforma JEE eles não ficam amarrados com nenhum vendedor em específico.&lt;br /&gt;&lt;br /&gt;No entanto, para que essa compatibilidade, e essa robustez da plataforma fosse alcançada, a Sun e o JCP tiveram, e ainda tem, diversos desafios a vencer. Um deles foi criar a especificação para implementação da plataforma, o que aconteceu na época do lançamento do JPE. De lá para cá a especificação da plataforma tem crescido juntamente com as tecnologias que ela vem agregando ao seu kit de ferramentas. Outro desafio era testar se todas as empresas que usavam a especificação JEE estavam realmente seguindo à risca o que foi especificado. Para isso a Sun lançou sua “implementação de referencia” e o “Kit de testes de compatibilidade” que podem ser usados para assegurar a compatibilidade de um produto com a plataforma JEE de maneira relativamente rápida e fácil. Outro trabalho desenvolvido não só pela Sun, mas por toda comunidade, foi a criação do J2EE Blueprints, que é um catálogo de “boas maneiras” (padrões de projeto) para o desenvolvimento de aplicações JEE.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Especificação JEE&lt;/span&gt;&lt;br /&gt;A especificação JEE é um conjunto de documentos que explica como os servidores de aplicação e as implementações de algumas tecnologias (como JSF por exemplo) devem ser desenvolvidas por empresas que o queiram fazer. Essas especificações chegam a nível de “métodos”, ou seja, existem documentos e “interfaces” Java publica que os “implementadores de JEE” devem seguir para que seus produtos sejam considerados compatíveis com JEE.&lt;br /&gt;Esses documentos podem ser encontrados no site da Sun, mais especificamente no seguinte link: http://java.sun.com/javaee/reference/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Implementação de referencia&lt;/span&gt;&lt;br /&gt;A Sun, juntamente com as especificações libera as “implementações de referencia”, que são bibliotecas que “concretas” que implementam as interfaces documentadas. Podemos encontrar as implementações de referencia no site da Sun, no seguinte link: http://java.sun.com/javaee/technologies/. Cada tecnologia listada tem sua implementação e os manuais de como utilizá-las. O Glassfish, que é o servidor de aplicação de “referencia” da Sun já traz, no seu download, a maioria das implementações de referencia das demais tecnologias.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Kit de testes de compatibilidade (CTS e AVK)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;O CTS &lt;/span&gt;(Compatibility Test Suit) é um conjunto de aplicações que servem para testar se um Servidor de Aplicação é compatível com a especificação JEE atual. Se o conjunto de testes for bem sucedido quando executado em um determinado servidor de aplicação, esse servidor pode receber o selo de “J2EE Compatível”, sendo assim, as aplicações que usam as bibliotecas JEE funcionarão perfeitamente nesses servidores.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;O AVK &lt;/span&gt;(Application Verification Kit) é um kit de testes, semelhantes ao CTS, mas para ser executados nas aplicações. Esse kit garante que a aplicação não tem nenhum código específico, ou seja, nenhum código que fuja da especificação JEE, garantindo assim que a aplicação desenvolvida seja portável entre todos os servidores que passem no teste CTS.&lt;br /&gt;Até a versão 1.4 (J2EE) do AVK, as aplicações que passavam nessa bateria de testes poderiam fazer parte do programa “Java Powered for the Enterprise brand”, mas a partir da versão 1.5 ou 5.0 (JEE) esse programa será descontinuado. Para mais informações acesse: http://java.sun.com/j2ee/verified/program.html&lt;br /&gt;&lt;br /&gt;Para saber detalhes de como os testes funcionam, e para baixar os kits de testes, acessem o seguinte link: http://java.sun.com/j2ee/verified/avk_enterprise.html&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;J2EE Blueprints&lt;/span&gt;&lt;br /&gt;O J2EE Blueprints é um catalogo de “padrões de projeto” para o uso com a plataforma J2EE. Os padrões de projeto (design patterns) são soluções para problemas comuns que foram testadas, e, verificando-se sua eficiência e possibilidade de reuso, catalogadas e tomadas como “boas maneiras” para se desenvolver softwares.&lt;br /&gt;&lt;br /&gt;Existem diversos “padrões do projetos”, muitos desenvolvidos pelo GoF (Gang of Four), mas o J2EE Blueprints trata de um conjunto de padrões específicos para aplicações J2EE. Esse catálogo pode ser encontrado em (http://java.sun.com/reference/blueprints/) . Existe também a versão impressa, o livro chama: Core J2EE Patterns: Best Practices and Design Strategies, existindo também uma versão em portugês.  Na minha opinião, qualquer um que queira trabalhar profissionalmente com JEE deveria conhecer os padrões do livro, e estar atento para utiliza-los no projeto que irá/está desenvolvendo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Podemos notar que os desenvolvedores da plataforma JEE preocupam-se em fazer algo que siga o principal objetivo do Java: Escreva uma vez, use sempre!  Ou seja, Portabilidade! Não a portabilidade entre sistemas operacionais ou entre dispositivos diferentes, mas acima disso, a portabilidade entre servidores e aplicações!!&lt;br /&gt;Quais os benefícios disso?&lt;br /&gt;Pensando como gerente de TI: Utilizando a plataforma JEE podemos criar aplicações que sejam portáveis entre diversos servidores, e que possam se comunicar com outras aplicações de forma padronizada, diminuindo drasticamente o “custo” no que se diz respeito a testes numa possível troca de ambiente (servidores, etc) ou em testes de integração entre aplicações. Temos uma plataforma aberta, sem medo de que derrepente um fabricante suba o preço ou pare de dar suporte a algum produto do qual dependemos. Na pior das hipóteses, temos toda a “receita” de como criar nosso próprio servidor de aplicação.&lt;br /&gt;Pensando como Programador: Temos uma plataforma completamente documentada, sem perigo de encontrar “armadilhas”. Podemos escolher qual servidor usar para desenvolver sem deixar nosso ambiente pesado (optar por desenvolver em servidores lightweight no ambiente de desenvolvimento), podemos compartilhar componentes com pessoas da comunidade JEE sem se preocupar com compatibilidade nem ter que ficar explicando nos mínimos detalhes como nosso componente funciona já que todos estarão falando a mesma linguagem!&lt;br /&gt;&lt;br /&gt;Na sequencia da conversa vamos ver como é a estrutura de uma aplicação JEE e vamos entrar em detalhes mais técnicos!&lt;br /&gt;&lt;br /&gt;Abraços!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2696825862704345157-4778349494517020215?l=www.giulianobortolassi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.giulianobortolassi.com/feeds/4778349494517020215/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2696825862704345157&amp;postID=4778349494517020215' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/4778349494517020215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/4778349494517020215'/><link rel='alternate' type='text/html' href='http://www.giulianobortolassi.com/2008/08/conversando-sobre-jee-parte-2.html' title='Conversando sobre JEE parte 2'/><author><name>Giuliano Bortolassi</name><uri>http://www.blogger.com/profile/12662174331283557472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_M6uHZT2WAGo/R_4_GHcdmYI/AAAAAAAAAEA/cnktmvv4f4Q/S220/MySignpb.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2696825862704345157.post-2625322513072741482</id><published>2008-08-01T12:27:00.000-07:00</published><updated>2008-08-11T10:45:16.141-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JEE'/><title type='text'>JEE, o que é Java EE</title><content type='html'>Acho que uma das coisas mais chatas quando estamos desenvolvendo um sistema comercial de grande porte é termos que nos preocupar em escrever lógica de serviço de infra estrutura (Leia-se LOG, Conexão com Banco de dados, Cache, etc) e de nos preocupar com aspectos do desenvolvimento que são repetitivos e genéricos.&lt;br /&gt;&lt;br /&gt;Esse tipo de preocupação, além de provavelmente não fazer parte do negócio para o qual estamos desenvolvendo o sistema, na maioria das vezes não agrega valor ao nosso sistema e é uma tarefa repetitiva ao longo do desenvolvimento, o que pode ser um esforço mal direcionado.&lt;br /&gt;Pensando em resolver esses problemas, diversas empresas desenvolveram o que chamamos de Frameworks, que seriam “plataformas” de desenvolvimento que já implementam toda essa lógica repetitiva que não gostamos de implementar! Cada fabricante e cada Framework é focada em um determinado conjunto de regras de infra estrutura que resolve uma quantidade de detalhes de implementação.&lt;br /&gt;&lt;br /&gt;Meu objetivo aqui é falar sobre a Plataforma Java Enterprise da Sun, que é um conjunto de especificação de frameworks que podem ser utilizadas juntas (ou não) para facilitar o desenvolvimento de nossos softwares coorporativos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Especificação?&lt;/span&gt;&lt;/span&gt; Sim!&lt;br /&gt;&lt;br /&gt;A Sun, em conjunto com o JCP (Java Community Process) desenvolve as especificações para a plataforma JEE (Java Enterprise Edition), e essa especificação é “aberta”, portanto qualquer empresa que se interesse pode desenvovler seus produtos (OpenSource ou não) seguindo essa especificação criada pelo JCP. Isso garante a portabilidade das aplicações desenvolvidas para a plataforma Java Enterprise. Então, você pode criar seu software de “locadora de videos” baseado em uma plataforma JEE e escolher de quem você vai comprar o servidor de aplicação, tendo a “certeza” de que sua aplicação vai ser portável entre os servidores.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Poxa, quer dizer então que a Sun não desenvolve a plataforma JEE?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Na verdade a Sun inventa a plataforma (em conjunto com o JCP) e atualmente ela tem liberado uma “implementação de referência” para cada especificação criada. Antigamente, quando a Sun lançou a JPE (Java Plataform for Enterprise, a predecessora da J2EE que é predecessora da JEE) em Abril de 1997,  ela apenas produzia a especificação. No entanto,  não existia uma maneira sólida de testar se os produtos criados por outros vendedores (ex. Oracle, BEA, etc) seguiam a especificação “à risca”.&lt;br /&gt;&lt;br /&gt;Atualmente, quando sai uma especificação nova de alguma tecnologia que faz parte da JEE (discutirei essas tecnologias mais a fundo nos próximos posts) a Sun lança uma “implementação de referência”, que é um software implementando todas as funcionalidades que a especificação tras. Resumindo, se você desenvolver um software usando uma das tecnologias JEE e ele funcionar na implementação de referência, ele deve funcionar em um servidor comercial, se não funcionar é porque o vendedor daquele produto não está seguindo a especificação.&lt;br /&gt;Outro problema que a JPE enfrentou foi a não sincronia das tecnologias especificadas.&lt;br /&gt;Como assim?&lt;br /&gt;&lt;br /&gt;Bom, a JPE inicialmente trazia a especificação para as seguintes tecnologias:&lt;br /&gt;-    EJB – Enterprise Java beans&lt;br /&gt;-     Servlet – Geradores de páginas HTML&lt;br /&gt;-    JNDI – Java Namming Directory&lt;br /&gt;-    (outras mais)&lt;br /&gt;&lt;br /&gt;Imagine que, a equipe que desenvolveu a especificação do JNDI comece aprimorar essa especificação e criam um serviço de nomes muito mais estável e robusto, enquanto o pessoal que é responsável pelo EJB vai tirar ferias e esquece de pensar em melhorar a especificação. Qual seria o resultado? Teriamos uma especificação JNDI que poderia se tornar imcompatível com EJB. Uma outra plataforma que sofreu com problemas semelhantes foi a plataforma Eclipse. Antes do lançamento do projeto Europa, os plugins do eclipse evoluiam separadamente, e como existe muita dependência entre os plugins, eles acabavam se tornando imcompatíveis.&lt;br /&gt;&lt;br /&gt;Atualmente, para cada distribuição do eclipse, é feito um controle dos plugins disponíveis para garantir essa compatibilidade e evitar muita dor de cabeça ao usuário. A Sun tomou essa mesma postura, e a partir da especificação J2EE já implementou um controle de versão e sincronia das tecnologias que fazem parte da plataforma Java Enterprise.&lt;br /&gt;&lt;br /&gt;A plataforma JEE é uma plataforma que já tem 11 anos de história, e 11 anos de evolução contínua. Cabe lembrar que ela também não é proprietária, ou seja, não é a Sun que inventa as especificações ao seu “bel prazer”, existe um “consórcio” de empresas (o JCP) que decidem juntos as especificações, e disponibilizam essas especificações para quem quizer desenvolver.&lt;br /&gt;&lt;br /&gt;Isso traz uma garantia para o desenvolvedor de que ele não vai ficar na “mão” de um único fabricante, nem amarrado a um software específico (ou seja, se o servidor de aplicação da oracle for muito caro, voce pode comprar o da RedHat, ou usar a  “implementação de referência” da Sun, que é gratis e open source), o que pode ser uma grande vantagem para os “executivos” das empresas que escolhem adotar o Java como tecnologia de desenvolvimento. Para o Desenvolvedor a vantagem é enorme, já que ele tem uma plataforma padronizada e não precisa ficar se preocupando de quem a empresa vai comprar os servidores, além de ja poder usar um kit de ferramentas que implementam a maior parte da lógica de infra estrutura, ou seja, podem se focar apenas nos pontos importantes do software que estão desenvolvendo!&lt;br /&gt;&lt;br /&gt;Nos próximos posts iniciarei uma discussão sobre a plataforma JEE atual, falando de uma maneira mais técnica sobre cada uma de suas tecnologias.&lt;br /&gt;&lt;br /&gt;Abraços e até lá!&lt;br /&gt;Giuliano Bortolassi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2696825862704345157-2625322513072741482?l=www.giulianobortolassi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.giulianobortolassi.com/feeds/2625322513072741482/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2696825862704345157&amp;postID=2625322513072741482' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/2625322513072741482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/2625322513072741482'/><link rel='alternate' type='text/html' href='http://www.giulianobortolassi.com/2008/08/jee-o-que-java-ee.html' title='JEE, o que é Java EE'/><author><name>Giuliano Bortolassi</name><uri>http://www.blogger.com/profile/12662174331283557472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_M6uHZT2WAGo/R_4_GHcdmYI/AAAAAAAAAEA/cnktmvv4f4Q/S220/MySignpb.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2696825862704345157.post-5168794085873260726</id><published>2008-07-24T16:16:00.000-07:00</published><updated>2008-08-08T21:01:21.882-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JEE'/><title type='text'>Configurando projeto Flex num Tomcat para acessar EJBs do JBoss</title><content type='html'>Pretendo explicar nesse post como configurar a biblioteca do Ryannorris (&lt;a href="http://www.ryannorris.com/"&gt;http://www.ryannorris.com/&lt;/a&gt;) para acessar um servidor de aplicação em uma máquina virtual diferente daquela onde roda seu aplicativo Flex.&lt;br /&gt;&lt;br /&gt;O cenário onde apliquei os passos descritos nesse post foi o seguinte:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sistema Operacional:&lt;/span&gt; Mac Os X 10.4&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Versão do Java: &lt;/span&gt;1.5&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Servidor de aplicação: &lt;/span&gt;Jboss 2.0GA (&lt;a href="http://www.jboss.org/"&gt;http://www.jboss.org/&lt;/a&gt;)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Servidor Web:&lt;/span&gt; Esse servidor roda o projeto em Flex + Lcds: Tomcat 6.0 (&lt;a href="http://tomcat.apache.org/"&gt;http://tomcat.apache.org/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Considere que o projeto em Flex já está funcionando juntamente com o LCDs, e os objetos remotos já estão sendo consumidos pelas aplicações em MXML.&lt;br /&gt;&lt;br /&gt;A partir do momento em que o meu projeto já estava configurado e integrado com o LCDs, o que precisei fazer foi o seguinte:&lt;br /&gt;&lt;br /&gt;(Ah! Tambem estou supondo que já exista um Application Server com os EJBs configurados e rodando perfeitamente)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Passo 1&lt;/span&gt; - Adicionei as bibliotecas de cliente do JBoss na pasta lib do WEB-INF do meu projeto flex. ( No Flex Builder 3 o path seria algo mais ou menos assim&lt;br /&gt;&amp;lt;projetoflex_home&amp;gt;/WebContent/WEB-INF/lib )&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Passo 2 -&lt;/span&gt; Adicionei a biblioteca do Ryannorris na mesma pasta lib (&amp;lt;projetoflex_home&amp;gt;/WebContent/WEB-INF/lib). No entanto, precisei modificar a biblioteca do Ryannorris para acessar meu sevidor. Veja mais a frente como fiz.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Passo 3 -&lt;/span&gt; Registrar o Factory no &lt;span style="font-weight: bold;"&gt;services-config.xml &lt;/span&gt;do Lcds. O diretorio desse arquivo é o seguinte: &lt;projetoflex_home&gt;/WebContent/WEB-INF/flex/.&lt;br /&gt;Para registrar o Factory precisamos colocar o seguinte trecho de codigo no final do documento:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;factories&amp;gt;&lt;br /&gt;&amp;lt;factory id="ejbFactory" class="com.adobe.ac.ejb.EJB3Factory"&amp;gt;&lt;br /&gt;&amp;lt;/factories&amp;gt;&lt;br /&gt;&lt;/pre&gt;Essa classe EJB3Factory faz parte do jar da biblioteca do Ryannorris(&lt;span style="font-weight: bold;"&gt;flex-ejb-factory.jar&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Passo 4 -&lt;/span&gt; Registrar seu EJB no &lt;span style="font-weight: bold;"&gt;remoting-config.xml&lt;/span&gt; ( o arquivo fica no mesmo diretório do services-config.xml)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;destination id="carrinhoCompraBean"&amp;gt;&lt;br /&gt;&amp;lt;properties&amp;gt;&lt;br /&gt;     &amp;lt;factory&amp;gt;ejbFactory&amp;lt;/factory&amp;gt;&lt;br /&gt;     &amp;lt;source&amp;gt;nomeRemotoDoSeuEJB&amp;lt;/source&amp;gt;&lt;br /&gt;     &amp;lt;scope&amp;gt;application&amp;lt;/scope&amp;gt;&lt;br /&gt;&amp;lt;/properties&amp;gt;&lt;br /&gt;&amp;lt;/destination&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;O "nomeRemotoDoSeuEJB" é o nome usado para dar Lookup no objeto. Esse nome varia de servidor para servidor. No meu caso, usando o JBoss é algo mais ou menos assim: &lt;span style="font-weight: bold;"&gt;nomeProjeto/nomeClasseImplementacao/remote.&lt;br /&gt;&lt;/span&gt;Ex:&lt;br /&gt;&lt;blockquote&gt; myFlexEjbSample/CarrinhoBean/remote&lt;/blockquote&gt;Pronto. Isso é tudo que precisei configurar do lado do servidor. Iniciei o tomcat, e vi que ele startou corretamente, inclusive carregando o Factory especificado.&lt;br /&gt;&lt;br /&gt;Agora vamos ao lado da aplicação MXML.&lt;br /&gt;&lt;br /&gt;Na aplicação MXML precisamos apenas mapear mais um objeto remoto, como qualquer outro que já estejamos usando.&lt;br /&gt;&lt;br /&gt;O código que usei foi o seguinte:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"&amp;gt;&lt;br /&gt;&amp;lt;mx:Script&amp;gt;&lt;br /&gt;&amp;lt;![CDATA[&lt;br /&gt;     import mx.controls.Alert;&lt;br /&gt;     import mx.rpc.events.FaultEvent;&lt;br /&gt;     import mx.rpc.events.ResultEvent;&lt;br /&gt;&lt;br /&gt;     /* Listener para o sucesso do metodo */&lt;br /&gt;     private function meuMetodoRemotoHandler(result:ResultEvent):void{&lt;br /&gt;              Alert.show("Result: "+result," Executou Metodo remoto ");&lt;br /&gt;     }&lt;br /&gt;     /* Listener para o erro do metodo */&lt;br /&gt;     private function meuMetodoRemotoErrorHandler(fault:FaultEvent):void{&lt;br /&gt;              Alert.show("Fault: "+fault," Erro ao executar metodo remoto ");&lt;br /&gt;     }&lt;br /&gt;]]&amp;gt;&lt;br /&gt;&amp;lt;/mx:Script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;mx:RemoteObject id="meuEjb" destination="carrinhoCompraBean"&amp;gt;&lt;br /&gt;    &amp;lt;mx:method name="meuMetodoRemoto"     result="meuMetodoRemotoHandler(event)" fault="meuMetodoRemotoErrorHandler(event)"/&amp;gt;&lt;br /&gt;&amp;lt;/mx:RemoteObject&amp;gt;&lt;br /&gt; &amp;lt;mx:Button click="meuEjb.meuMetodoremoto()" label="Executar"  x="250" y="218"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/mx:Application&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Na teoria é somente isso que precisamos. Se o seu serivor de aplicação e o servidor onde roda o LCDS forem o mesmo, provavelmente isso funciona. Como expliquei no inicio do post, o ambiente em que desenvolvo é diferente. O servidor de aplicação é em uma maquina, o meu servidor onde roda o LCDs é em outra... simplesmente o Factory não vai encontrar o meu EJB.&lt;br /&gt;&lt;br /&gt;Por padrão, quando vamos desenvolver um cliente para um EJB, em outra máquina virtual, e em uma máquina com outro IP, precisamos adicionar um arquivo&lt;span style="font-style: italic; font-weight: bold;"&gt; jndi.properties &lt;/span&gt;na pasta "src" do nosso projeto com as informacões para que nosso "initial context" encontre nosso servidor de aplicação. Eu tentei fazer isso. Adicionei esse arquivo na pasta source (que quando exportado vai para a pasta "/WEB-INF/classes" do projeto. Não funcionou. A Factory ainda não encontrava o servidor de aplicação.&lt;br /&gt;Testei colocar o arquivo jndi.properties em outros diretórios, mas também não tive sucesso. Parti para o plano B, alterar os fontes do nosso amigo Ryannorris. ( a biblioteca ja vem com os fonts configurados para trabalhar no eclipse!! Uma mão na roda!)&lt;br /&gt;&lt;br /&gt;Joguei a pasta dos fontes em um projeto novo no eclipse e dei uma bisbilhotada! Poxa.. como é simples fazer essa tal de Factory! Achei fantástico o trabalho do Ryannorris!&lt;br /&gt;&lt;br /&gt;A idéia da Factory é a seguinte: Extender uma interface do LCDS (&lt;span style="font-style: italic; font-weight: bold;"&gt;flex.messaging.FlexFactory&lt;/span&gt;) e implementar os métodos para criar seus objetos. No nosso caso, fazer o lookup dos EJBs. Como não poderia deixar de ser, em algum lugar vamos ter que criar nosso InitialContext e fazer o "lookup" do ejb. Fui na veia procurando já essa instanciação do Initial context. Isso acontece na classe &lt;span style="font-weight: bold;"&gt;"com.adobe.ac.ejb.LocalJNDIResourceLocator" &lt;/span&gt;da biblioteca do Ryannorris. Bom, como não consegui externalizar os parametros, criei um HashMap com eles e passei no construtor do InitialContext. Sei que isso é "feio" de se fazer, porque torna a implementação totalmente acoplada, não fica nada genérico. Toda vez que eu mudar meu servidor de aplicação de IP terei que alterar essa biblioteca. Uma alternativa imbutir o codigo do Ryannorris no meu projeto, mas não pretendo fazer isso. Por enquanto deixarei o código fixo, simplemente para fazer funcionar o lookup. Futuramente me preocuparei em externalizar essas configurações.&lt;br /&gt;&lt;br /&gt;Vamos ao código. O que adicionei foram as seguintes linhas no método "locate" da classe do Ryannorris:&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;span style="font-family:courier new;"&gt;Hashtable&lt;/span&gt;&lt;string, style="font-family: courier new;"&gt; hashParametros = new Hashtable&lt;string,&gt;();&lt;br /&gt;       hashParametros.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");&lt;br /&gt;       hashParametros.put("java.naming.provider.url", "jnp://10.0.0.22:1099");&lt;br /&gt;       final Context ctx = new InitialContext(hashParametros);&lt;/string,&gt;&lt;/string,&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;O código completo do método ficou da seguinte maneira:&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;span style="font-family:courier new;"&gt;public Object locate(final String name ) throws ResourceException {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;           try {&lt;/span&gt;&lt;br /&gt;&lt;/projetoflex_home&gt;&lt;span style="font-family:courier new;"&gt;                         &lt;/span&gt;&lt;projetoflex_home style="font-family: courier new;"&gt;        Hashtable&lt;string,&gt; hashParametros = new Hashtable&lt;string,&gt;();&lt;br /&gt;             &lt;/string,&gt;&lt;/string,&gt;&lt;/projetoflex_home&gt;                  &lt;projetoflex_home style="font-family: courier new;"&gt;&lt;string,&gt;&lt;string,&gt;hashParametros.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");&lt;br /&gt;             &lt;/string,&gt;&lt;/string,&gt;&lt;/projetoflex_home&gt;                  &lt;projetoflex_home style="font-family: courier new;"&gt;&lt;string,&gt;&lt;string,&gt;hashParametros.put("java.naming.provider.url", "jnp://localhost:1099");&lt;br /&gt;             &lt;/string,&gt;&lt;/string,&gt;&lt;/projetoflex_home&gt;                  &lt;projetoflex_home style="font-family: courier new;"&gt;&lt;string,&gt;&lt;string,&gt;final Context ctx = new InitialContext(hashParametros);&lt;br /&gt;             &lt;/string,&gt;&lt;/string,&gt;&lt;/projetoflex_home&gt;                  &lt;projetoflex_home style="font-family: courier new;"&gt;&lt;string,&gt;&lt;string,&gt;final Object res = ctx.lookup( name );&lt;br /&gt;             &lt;/string,&gt;&lt;/string,&gt;&lt;/projetoflex_home&gt;                  &lt;projetoflex_home style="font-family: courier new;"&gt;&lt;string,&gt;&lt;string,&gt;return res;&lt;br /&gt;  &lt;/string,&gt;&lt;/string,&gt;&lt;/projetoflex_home&gt;&lt;projetoflex_home style="font-family: courier new;"&gt;&lt;string,&gt;&lt;string,&gt;} catch ( NamingException e ) {&lt;br /&gt;           &lt;/string,&gt;&lt;/string,&gt;&lt;/projetoflex_home&gt;                  &lt;projetoflex_home style="font-family: courier new;"&gt;&lt;string,&gt;&lt;string,&gt;// tratamento da exception&lt;br /&gt;    &lt;/string,&gt;&lt;/string,&gt;&lt;/projetoflex_home&gt;         &lt;projetoflex_home&gt;&lt;string,&gt;&lt;string,&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;hr /&gt;&lt;br /&gt;&lt;/string,&gt;&lt;/string,&gt;Percebam que a única coisa que mudei foram realmente os parametros. Esses são os parametros que ficariam dentro do jndi.properties&lt;br /&gt;&lt;br /&gt;E.. Voila! Funcionou!&lt;br /&gt;&lt;br /&gt;Executei a aplicação flex e meu método remoto funcionou perfeitamente, invocando oEJB no outro servidor corretamente!&lt;br /&gt;&lt;br /&gt;Se alguém tem uma solução simples e mais inteligente que a minha (heheh coisa que não é dificil) ou sabe onde colocar o arquivo jndi.porpeties para trabalhar com a biblioteca do Ryannorris, por favor me diga!&lt;br /&gt;&lt;br /&gt;Bom, é isso ai, acho que fazer funcionar o EJB não foi tão dificil. Agora quero ver é usar o EJB de uma forma eficiente no projeto! é meu próximo desafio!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/projetoflex_home&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2696825862704345157-5168794085873260726?l=www.giulianobortolassi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.giulianobortolassi.com/feeds/5168794085873260726/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2696825862704345157&amp;postID=5168794085873260726' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/5168794085873260726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/5168794085873260726'/><link rel='alternate' type='text/html' href='http://www.giulianobortolassi.com/2008/07/configurando-projeto-flex-num-tomcat.html' title='Configurando projeto Flex num Tomcat para acessar EJBs do JBoss'/><author><name>Giuliano Bortolassi</name><uri>http://www.blogger.com/profile/12662174331283557472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_M6uHZT2WAGo/R_4_GHcdmYI/AAAAAAAAAEA/cnktmvv4f4Q/S220/MySignpb.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2696825862704345157.post-7043377562322833559</id><published>2008-07-24T15:42:00.000-07:00</published><updated>2008-07-24T17:20:35.210-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JEE'/><title type='text'>Flex3 + Lcds + EJB3</title><content type='html'>Recentemente terminei um curso de EJB3 (FJ-31) na Caelum. Curso muito bom, diga-se de passagem e tirei um peso de minhas costas: Aprender a usar efetivamente o tal do EJB.&lt;br /&gt;&lt;br /&gt;A um tempo atraz eu tinha iniciado um blog somente para falar sobre tecnologia JEE e para me motivar a estudar o ejb (&lt;a href="http://jeenoob.blogspot.com"&gt;http://jeenoob.blogspot.com&lt;/a&gt;) mas acabei desistindo quando não consegui fazer o lookup e regigir corretamente os arquivos de deploy para o servidor Glassfish. No entanto agora, que aprendi como fazer o tal do EJB funcionar comecei a correr atraz de como usar ele nos meus projetos.&lt;br /&gt;&lt;br /&gt;Hoje trabalho como arquiteto/gerente de produção em um projeto que usa as tecnologias Flex, Java e Microsoft SqlServer. Tirando o SQLServer a plataforma é bem produtiva e o Flex3 vem superando minhas expectativas no que diz respeito a produtividade.&lt;br /&gt;&lt;br /&gt;Devido a alguns objetivos do lider do projeto, estou prevendo que vamos precisar se esforçar mais em relação a "robustes" da aplicação. Procurei então como mesclar o Flex, o Java e o EJB que poderia ser uma solução para um problema futuro.&lt;br /&gt;&lt;br /&gt;Encontrei referências para o blog do Raynnorris ( &lt;a href="http://www.ryannorris.com/"&gt;http://www.ryannorris.com/ &lt;/a&gt;) que desenvolveu uma Factory para o Lcds que consegue instanciar e fornecer EJBs de forma transparente para os aplicativos Flex. Achei a idéia fabulosa e fui testar.&lt;br /&gt;&lt;br /&gt;O post do Raynnorris que explica como usar a biblioteca que ele criou é o seguinte:  &lt;a href="http://www.ryannorris.com/2007/05/18/using-flex-data-services-with-ejb3/"&gt;http://www.ryannorris.com/2007/05/18/using-flex-data-services-with-ejb3/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O post é bastante claro em relação a como configurar o LCDs para usar a Factory que ele criou, e explica muito bem como editar os XMLs do flex.&lt;br /&gt;&lt;br /&gt;Simples, pratico e rápido.&lt;br /&gt;&lt;br /&gt;No meu caso especifico tive que fazer algumas alterações nos fontes do Ray para que a Factory encontrasse meu servidor de aplicação.&lt;br /&gt;&lt;br /&gt;Explico o que fiz para usar a biblioteca dele no post:&lt;br /&gt; &lt;a href="http://giulianobortolassi.blogspot.com/2008/07/configurando-projeto-flex-num-tomcat.html"&gt;Configurando projeto Flex num Tomcat para acessar EJB3 no JBoss&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Agora resta a dúvida... como será que o LCDs se comporta com uma grande quantidade de requisições??&lt;br /&gt;&lt;br /&gt;O próximo passo vai ser fazer um "stress test" no meu aplicativo... simular as requisições e ver se o LCDs não vai gerar gargalo.&lt;br /&gt;&lt;br /&gt;De nada adianta ter uma servidor robusto e uma arquitetura extremamente boa no servidor de aplicação se o servidor web não der conta do recado.&lt;br /&gt;&lt;br /&gt;Um outro teste que estou agendando é fazer o LCDs rodar no próprio JBoss (hoje ele roda em um Tomcat 6.0).&lt;br /&gt;&lt;br /&gt;Vamos ver no que dá!&lt;projetoflex_home&gt;&lt;projetoflex_home&gt;&lt;projetoflex_home&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/projetoflex_home&gt;&lt;/projetoflex_home&gt;&lt;/projetoflex_home&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2696825862704345157-7043377562322833559?l=www.giulianobortolassi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.giulianobortolassi.com/feeds/7043377562322833559/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2696825862704345157&amp;postID=7043377562322833559' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/7043377562322833559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/7043377562322833559'/><link rel='alternate' type='text/html' href='http://www.giulianobortolassi.com/2008/07/flex3-lcds-ejb3.html' title='Flex3 + Lcds + EJB3'/><author><name>Giuliano Bortolassi</name><uri>http://www.blogger.com/profile/12662174331283557472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_M6uHZT2WAGo/R_4_GHcdmYI/AAAAAAAAAEA/cnktmvv4f4Q/S220/MySignpb.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2696825862704345157.post-1708623894843476853</id><published>2008-06-05T06:29:00.001-07:00</published><updated>2008-07-12T05:13:53.343-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perfil'/><title type='text'>Perfil</title><content type='html'>Perfil de Giuliano&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2696825862704345157-1708623894843476853?l=www.giulianobortolassi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.giulianobortolassi.com/feeds/1708623894843476853/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2696825862704345157&amp;postID=1708623894843476853' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/1708623894843476853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/1708623894843476853'/><link rel='alternate' type='text/html' href='http://www.giulianobortolassi.com/2008/06/perfil.html' title='Perfil'/><author><name>Giuliano Bortolassi</name><uri>http://www.blogger.com/profile/12662174331283557472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_M6uHZT2WAGo/R_4_GHcdmYI/AAAAAAAAAEA/cnktmvv4f4Q/S220/MySignpb.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2696825862704345157.post-1028999611386236201</id><published>2008-06-05T06:28:00.002-07:00</published><updated>2008-07-19T11:24:53.590-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projetos'/><title type='text'>Projetos Ativos</title><content type='html'>Como todos desenvolvedores, acabamos nos metendo em encrencas por ai (leia-se projetos), e eu também me envolvi em algumas. Algumas eu mesmo criei, como as duas abaixo:&lt;br /&gt;&lt;br /&gt;- Tentativa de um servidor genérico para jogos&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Link Direto:  &lt;a href="https://sourceforge.net/projects/mmooog/"&gt;https://sourceforge.net/projects/mmooog/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- Aplicativo Java para edição de stored procedures no SQL Server 2005&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Link Direto: &lt;a href="https://sourceforge.net/projects/jprocbuildersql"&gt; https://sourceforge.net/projects/jprocbuildersql&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Também acabei fazendo parte de outros projetos durante meu tempo de trabalho:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Sistema de BI de uma empresa da área editorial&lt;/li&gt;&lt;li&gt; Sistema de PDV-Mobile&lt;/li&gt;&lt;li&gt; Sistemas B2B &lt;/li&gt;&lt;li&gt; Sistemas de Ensino a Distância&lt;/li&gt;&lt;li&gt; Sistema de Gestão Acadêmica&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Cada uma das encrencas me trouxe lições. Espero que sejam úteis para vocês!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2696825862704345157-1028999611386236201?l=www.giulianobortolassi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.giulianobortolassi.com/feeds/1028999611386236201/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2696825862704345157&amp;postID=1028999611386236201' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/1028999611386236201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/1028999611386236201'/><link rel='alternate' type='text/html' href='http://www.giulianobortolassi.com/2008/06/gerenciamento-de-projetos.html' title='Projetos Ativos'/><author><name>Giuliano Bortolassi</name><uri>http://www.blogger.com/profile/12662174331283557472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_M6uHZT2WAGo/R_4_GHcdmYI/AAAAAAAAAEA/cnktmvv4f4Q/S220/MySignpb.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2696825862704345157.post-3468427726792580035</id><published>2008-06-05T06:28:00.001-07:00</published><updated>2008-12-11T09:43:49.362-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inicio'/><title type='text'></title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-family:lucida grande;"&gt;Posts Recentes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://giulianobortolassi.blogspot.com/2008/08/conversando-sobre-jee-parte-2.html"&gt;Conversando sobre JEE parte 2:&lt;/a&gt; Continuação da discussão sobre JEE. Como a Sun venceu os desafios de manter a portabilidade e assegurar que os produtores de aplicativos JEE seguissem o padrão?&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="http://giulianobortolassi.blogspot.com/2008/08/jee-o-que-java-ee.html"&gt;Conversando sobre JEE&lt;/a&gt;: Inicio de uma discussão sobre a plataforma JEE. Por que usá-la, quais as vantagens.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="http://giulianobortolassi.blogspot.com/2008/07/configurando-projeto-flex-num-tomcat.html"&gt;Configurando Projeto Flex para consumir EJBs&lt;/a&gt;: Veja como foi simples configurar a biblioteca do Raynorris para fazer sua aplicação flex consumir EJBs do JBoss!!&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr noshade="noshade"&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-family:lucida grande;"&gt;Sessões &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; width: 100px; height: 87px;" src="http://1.bp.blogspot.com/_M6uHZT2WAGo/SIUdsfcAiRI/AAAAAAAAAFc/6mU-KSB_qG4/s320/java-duke-guitar.png" alt="" id="BLOGGER_PHOTO_ID_5225615592823752978" border="0" /&gt;&lt;a style="color: rgb(0, 0, 0); font-weight: bold;" href="http://giulianobortolassi.blogspot.com/search/label/JEE"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;Java Enterprise:&lt;/span&gt;&lt;/a&gt; Discussão sobre tecnologia Java para projetos coorporativos. Arquitetura de software, soluções conhecidas, frameworks e problemas comuns desenvolver aplicações no mundo coorporativo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; width: 100px; height: 103px;" src="http://1.bp.blogspot.com/_M6uHZT2WAGo/SIUd4c2guuI/AAAAAAAAAFk/pkfUF9uG1Bg/s320/atpo-5-the-conceptdraw-proj.png" alt="" id="BLOGGER_PHOTO_ID_5225615798288038626" border="0" /&gt;&lt;a href="http://giulianobortolassi.blogspot.com/search/label/Projetos"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;Projetos:&lt;/span&gt;&lt;/a&gt; Compartilhamento de experiências dos projetos passados e dos atuais. Lições que aprendemos no dia a dia, quebrando a cara ou acertando na mosca! Veja os abacaxis descascados e as pisadas na bola.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; width: 100px; height: 116px;" src="http://3.bp.blogspot.com/_M6uHZT2WAGo/SIUeD9FcEII/AAAAAAAAAFs/SO5TF5PsytE/s320/MySignpb.gif" alt="" id="BLOGGER_PHOTO_ID_5225615995919143042" border="0" /&gt;&lt;a href="http://giulianobortolassi.blogspot.com/search/label/Perfil"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;Perfil&lt;/span&gt;&lt;/a&gt;: Dados sobre mim. Portifólio, curriculum e informações pessoais.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2696825862704345157-3468427726792580035?l=www.giulianobortolassi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.giulianobortolassi.com/feeds/3468427726792580035/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2696825862704345157&amp;postID=3468427726792580035' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/3468427726792580035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/3468427726792580035'/><link rel='alternate' type='text/html' href='http://www.giulianobortolassi.com/2008/06/pgina-principal.html' title=''/><author><name>Giuliano Bortolassi</name><uri>http://www.blogger.com/profile/12662174331283557472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_M6uHZT2WAGo/R_4_GHcdmYI/AAAAAAAAAEA/cnktmvv4f4Q/S220/MySignpb.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_M6uHZT2WAGo/SIUdsfcAiRI/AAAAAAAAAFc/6mU-KSB_qG4/s72-c/java-duke-guitar.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2696825862704345157.post-8593881090491358278</id><published>2008-06-05T06:19:00.000-07:00</published><updated>2008-07-24T17:22:25.457-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JEE'/><title type='text'>Java Enterprise Edition</title><content type='html'>&lt;div style="text-align: center; font-family: lucida grande;"&gt;&lt;span style="font-size:130%;"&gt;Posts sobre JEE&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://giulianobortolassi.blogspot.com/2008/07/flex3-lcds-ejb3.html"&gt;Flex + LCDS + EJB3&lt;/a&gt; - Integrando seu projeto Flex com a tecnologia EJB!&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://giulianobortolassi.blogspot.com/2008/07/configurando-projeto-flex-num-tomcat.html"&gt;Configurando um Projeto FLEX no Tomcat para acessar EJB3 do JBoss&lt;/a&gt; - Acho que o título do post já diz tudo.&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/2696825862704345157-8593881090491358278?l=www.giulianobortolassi.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.giulianobortolassi.com/feeds/8593881090491358278/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2696825862704345157&amp;postID=8593881090491358278' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/8593881090491358278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2696825862704345157/posts/default/8593881090491358278'/><link rel='alternate' type='text/html' href='http://www.giulianobortolassi.com/2008/06/java-enterprise-edition.html' title='Java Enterprise Edition'/><author><name>Giuliano Bortolassi</name><uri>http://www.blogger.com/profile/12662174331283557472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://bp1.blogger.com/_M6uHZT2WAGo/R_4_GHcdmYI/AAAAAAAAAEA/cnktmvv4f4Q/S220/MySignpb.gif'/></author><thr:total>2</thr:total></entry></feed>
