Great to hear it! If you put the web application WAR and EJB JAR together in an EAR, then the web application classes will automatically be able to see the EJB classes from the EJB JAR -- no special configuration is necessary.
If you want to deploy the web application WAR and EJB JAR separately, then the best strategy is usually to put the EJB interfaces in WEB-INF/classes or in a JAR in WEB-INF/lib so the web app classes can see the EJB interface classes (and any data transfer object classes and stuff; but they don't need to see the EJB implementation classes). In Geronimo, if the WAR and EJB JAR are deployed separately, you could also list the EJB JAR configId as an <import> in your geronimo-web.xml and then the web app classes would be able to see the EJB classes even if they're not included in the WAR -- but this is slightly less portable because some other servers don't have a similar feature (whereas the EAR approach or packing the EJB interfaces in the WAR shoudl work on any server). All in all, I think the EAR approach is best. As far as the database pool goes, it doesn't really matter if the EJB accesses the database pool or if it calls a helper class that accesses the database pool. Just make sure that the helper class gets a new connection from the database pool on every call, and does not try to save an open connection for future use. That way, due to some magic in the pooling implementation*, if 5 EJBs call the helper class at the same time, the ones in the same transaction will get the same connection from the pool, and the ones in different transactions will get different connections from the pool, which is generally the behavior you want. Thanks, Aaron * Controlled by the sharable flag in the resource adapter, which should be enabled by default for the TranQL JDBC pool resource adapter On 2/20/06, Olivier Voutat <[EMAIL PROTECTED]> wrote: > IT WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT > WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED > !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT > WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED > !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT WORKED !!! IT > WORKED !!! IT WORKED !!! > > Thank you very much for helping to get there Aaron (and principally for your > time, man) !!! It worked perfectly. > > Can I just ask one or two more questions ? Not technical but about best > structure. > > My first doubt is, if I do a Web application that uses ejb's, it is best to > put the ejb's inside it (WEB-INF/classes), so I don't have to link the Web > application to them and make a direct reference in the web.xml ? Or this way > that we used here is more suitable ? Or it doesn't matter at all :) ? > > The other question is, with a database pool it is best to have ejb's that do > direct connections to the database or it doesn't really matter ? > > I'm thinking about it because we did here like this: > ejb's --> simple class which makes the connection --> database pool > > Here is my thought, if a simple class deals with the connection, all the > ejb's may suddenly try to use it at the same time, no ? My thought is right > ? > > Best Regards, > Olivier Voutat > > > > > On 2/20/06, Aaron Mulder <[EMAIL PROTECTED] > wrote: > > On 2/19/06, Olivier Voutat < [EMAIL PROTECTED]> wrote: > > > Like this so: > > > > > > <?xml version="1.0" encoding="UTF-8"?> > > > <web-app id="WebApp_15" version="2.4" xmlns=" > http://java.sun.com/xml/ns/j2ee > > > " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > > xsi:schemaLocation=" http://java.sun.com/xml/ns/j2ee > > > http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> > > > <display-name>AgendaWeb</display-name> > > > <welcome-file-list> > > > <welcome-file> index.html</welcome-file> > > > </welcome-file-list> > > > <servlet> > > > <servlet-name>Controle</servlet-name> > > > > > > > <servlet-class>br.cefetrn.olivier.servlet.ControladorServlet > > > </servlet-class> > > > </servlet> > > > <servlet-mapping> > > > <servlet-name>Controle</servlet-name> > > > <url-pattern>/control</url-pattern> > > > </servlet-mapping> > > > <ejb-ref> > > > <ejb-ref-name>Agenda</ejb-ref-name> > > > <ejb-ref-type>Session</ejb-ref-type> > > > <home>br.cefetrn.olivier.ejb.AgendaHome</home> > > > <remote> br.cefetrn.olivier.ejb.Agenda</remote> > > > <ejb-link>Agenda</ejb-link> > > > </ejb-ref> > > > </web-app> > > > > Right -- then look the EJB up in your servlet with code like this: > > > > AgendaHome home = (AgendaHome)new > > InitialContext().lookup("java:comp/env/Agenda"); > > > > > Question: It is more eficient to use a Database Pool or Entity-Beans ? > > > > For simple things, the entity beans should be more efficient unless > > you're very aggressive about optimizing your database access. For > > more complex queries or usage involving a large number of rows (like a > > search screen), JDBC is typically more efficient. But you also have > > to factor in the amount of effort required to write and maintain the > > code -- both the SQL on the JDBC side and the entity bean classes, > > interfaces, and deployment descriptors on the EJB side. If you're > > working with entity beans, you may want to look into tools like > > Middlegen and XDoclet to generate some of that code for you. > > > > Thanks, > > Aaron > > > > > On 2/19/06, Aaron Mulder < [EMAIL PROTECTED]> wrote: > > > > The way you're trying to call the EJB is normally used for application > > > > clients. For a web application, you should declare an ejb-ref in your > > > > web.xml, and include an ejb-link in the ejb-ref that points to the > > > > name of the EJB. > > > > > > > > Thanks, > > > > Aaron > > > > > > > > On 2/19/06, Olivier Voutat < [EMAIL PROTECTED] > wrote: > > > > > Thanks again Aaron, I included that lines and now the deploy works > > > > > BUT....(there is always a BUT) now I have another problem. When I > call > > > the > > > > > Agenda ejb it is saying that it is not there....Don't know why since > it > > > > > worked before... > > > > > > > > > > javax.naming.NameNotFoundException: Agenda > > > > > > > > > > my ejb-jar.xml: > > > > > > > > > > <session id="Session_Agenda"> > > > > > <description><![CDATA[A session bean named > > > Agenda]]></description> > > > > > <display-name>Agenda</display-name> > > > > > > > > > > <ejb-name>Agenda</ejb-name> > > > > > > > > > > <home>br.cefetrn.olivier.ejb.AgendaHome > </home> > > > > > <remote> br.cefetrn.olivier.ejb.Agenda </remote> > > > > > > > > > > > > > > <ejb-class>br.cefetrn.olivier.ejb.AgendaBean</ejb-class> > > > > > <session-type>Stateless</session-type> > > > > > > <transaction-type>Container</transaction-type> > > > > > <resource-ref> > > > > > > <res-ref-name>MyDatabase</res-ref-name> > > > > > <res-type>javax.sql.DataSource</res-type> > > > > > <res-auth>Container</res-auth> > > > > > > > > > > <res-sharing-scope>Shareable</res-sharing-scope> > > > > > </resource-ref> > > > > > </session> > > > > > > > > > > My servlet which calls the bean: > > > > > Properties p = new Properties(); > > > > > p.put("java.naming.factory.initial", > > > > > > > > > > "org.openejb.client.RemoteInitialContextFactory"); > > > > > > > > > > p.put(" java.naming.provider.url", > > > > > "localhost:4201"); > > > > > > > > > > p.put("java.naming.security.principal", > > > > > "system"); > > > > > > > > > > p.put("java.naming.security.credentials", > > > > > "manager"); > > > > > > > > > > //-----Obtem o contexto inicial JNDI---------- > > > > > InitialContext ctx = new InitialContext(p); > > > > > > > > > > // ------Pega a referencia do objeto home-------- > > > > > Object obj = ctx.lookup("Agenda"); > > > > > // tried too Object obj = ctx.lookup("java:comp/Agenda"); > > > > > > > > > > AgendaHome home = (AgendaHome)obj; > > > > > Agenda agenda = home.create (); > > > > > > > > > > And a doubt that I have. For a Database pool beeing really useful, > it > > > should > > > > > be used by a ejb ? I think that because if u call it in a simple > class, > > > that > > > > > one will receive all the requests from all the ejbs and the Database > > > Pool > > > > > won't be so practical. > > > > > > > > > > Olivier Voutat > > > > > > > > > > > > > > > On 2/19/06, Aaron Mulder <[EMAIL PROTECTED]> wrote: > > > > > > You left out the namespace and configId and other stuff that has > to go > > > > > > in the first openejb-jar element. There's an example with > everything > > > > > > you might need here: > > > > > > > > > > > > > > > http://chariotsolutions.com/geronimo/ejb-overview.html > > > > > > > > > > > > Of that, you probably just need the xmlns and configId for now. > > > > > > > > > > > > Thanks, > > > > > > Aaron > > > > > > > > > > > > On 2/19/06, Olivier Voutat < [EMAIL PROTECTED]> wrote: > > > > > > > So, I created my openejb-jar.xml in the same folder (META-INF) > that > > > my > > > > > > > ejb-jar.xml was, like this: > > > > > > > > > > > > > > <?xml version=" 1.0" encoding="UTF-8"?> > > > > > > > <openejb-jar> > > > > > > > <enterprise-beans> > > > > > > > <session> > > > > > > > <ejb-name>Agenda</ejb-name> > > > > > > > <resource-ref> > > > > > > > <ref-name>MyDatabase</ref-name> > > > > > > > > > > > > <resource-link>AgendaEJB</resource-link> > > > > > > > </resource-ref> > > > > > > > </session> > > > > > > > </enterprise-beans> > > > > > > > </openejb-jar> > > > > > > > > > > > > > > But when I try to deploy Geronimo says: > > > > > > > > > > > > > > Currently a Geronimo deployment plan is required for an EJB > module. > > > > > Please > > > > > > > provide a plan as a deployer argument or packaged in the EJB JAR > at > > > > > > > META-INF/openejb- jar.xml > > > > > > > > > > > > > > ??? > > > > > > > > > > > > > > Olivier > > > > > > > > > > > > > > > > > > > > > On 2/18/06, Aaron Mulder < [EMAIL PROTECTED]> wrote: > > > > > > > > The openejb-jar.xml file goes in META-INF/ of the EJB JAR next > to > > > > > > > ejb-jar.xml. > > > > > > > > > > > > > > > > The header block and a variety of possible content is here: > > > > > > > > > > > > > > > > http://chariotsolutions.com/geronimo/ejb.html > > > > > > > > > > > > > > > > But if you didn't have this file before, you probably don't > need > > > much > > > > > > > > but the header, footer, and the bits I gave in the example. > In > > > > > > > > particular, you don't need to list a particular EJB there if > you > > > don't > > > > > > > > have any special settings for it. > > > > > > > > > > > > > > > > Thanks, > > > > > > > > Aaron > > > > > > > > > > > > > > > > On 2/18/06, Olivier Voutat < [EMAIL PROTECTED] > wrote: > > > > > > > > > Thanks Aaron but I have a last little question, I never used > > > until > > > > > now > > > > > > > this > > > > > > > > > openejb-jar.xml.. . > > > > > > > > > > > > > > > > > > I only have application.xml, geronimo-application.xml in the > EAR > > > and > > > > > the > > > > > > > > > ejb-jar.xml in the EJB module. > > > > > > > > > > > > > > > > > > There is someplace else where I can put it or I must create > this > > > > > > > > > openejb-jar.xml ? If so could you give me an example of how > it > > > > > should > > > > > > > look > > > > > > > > > like. > > > > > > > > > > > > > > > > > > Best Regards, > > > > > > > > > Olivier Voutat > > > > > > > > > > > > > > > > > > > > > > > > > > > On 2/18/06, Aaron Mulder < [EMAIL PROTECTED] > > > > wrote: > > > > > > > > > > > > > > > > > > > > In ejb-jar.xml you add a resource-ref entry in the section > > > where > > > > > you > > > > > > > > > > declare your bean, so it looks like this: > > > > > > > > > > > > > > > > > > > > <ejb-jar ...> > > > > > > > > > > <enterprise-beans> > > > > > > > > > > <session> > > > > > > > > > > <ejb-name>Foo</ejb-name> > > > > > > > > > > ... > > > > > > > > > > <resource-ref> > > > > > > > > > > > > > <res-ref-name>MyDatabase</res-ref-name> > > > > > > > > > > <res-type> javax.sql.DataSource</res-type> > > > > > > > > > > <res-auth>Container</res-auth> > > > > > > > > > > > > > > > > > > <res-sharing-scope>Shareable</res-sharing-scope> > > > > > > > > > > </resource-ref> > > > > > > > > > > </session> > > > > > > > > > > </enterprise-beans> > > > > > > > > > > </ejb-jar> > > > > > > > > > > > > > > > > > > > > Then in your openejb-jar.xml you add a section to point > that > > > to a > > > > > > > > > > specific database pool (where ref-name matches > res-ref-name in > > > > > > > > > > ejb-jar.xml , and resource-link matches the name of the > > > database > > > > > pool > > > > > > > > > > as you configured it in the console): > > > > > > > > > > > > > > > > > > > > <openejb-jar ...> > > > > > > > > > > <enterprise-beans> > > > > > > > > > > <session> > > > > > > > > > > <ejb-name>Foo</ejb-name> > > > > > > > > > > ... > > > > > > > > > > <resource-ref> > > > > > > > > > > <ref-name>MyDatabase</ref-name> > > > > > > > > > > > > > > > <resource-link>PostgreSQLPool</resource-link> > > > > > > > > > > </resource-ref> > > > > > > > > > > </session> > > > > > > > > > > </enterprise-beans> > > > > > > > > > > </openejb-jar> > > > > > > > > > > > > > > > > > > > > Finally, in your EJB code, you look up the data source in > JNDI > > > > > like > > > > > > > > > > this, where the JNDI name is "java:comp/env/" plus the > > > > > res-ref-name > > > > > > > > > > you used in ejb-jar.xml: > > > > > > > > > > > > > > > > > > > > Context ctx = new InitialContext(); > > > > > > > > > > Object obj = ctx.lookup("java:comp/env/MyDatabase"); > > > > > > > > > > DataSource ds = (DataSource)obj; > > > > > > > > > > Connection con = ds.getConnection(); > > > > > > > > > > > > > > > > > > > > If you want to access the database pool from a web > component > > > like > > > > > a > > > > > > > > > > servlet, you have to add a similar resource reference to > > > web.xml > > > > > and a > > > > > > > > > > similar block to resolve it to a database pool to > > > geronimo-web.xml > > > > > and > > > > > > > > > > the code would look the same. > > > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > Aaron > > > > > > > > > > > > > > > > > > > > On 2/17/06, Olivier Voutat < [EMAIL PROTECTED]> > wrote: > > > > > > > > > > > Thanks Aaron, > > > > > > > > > > > > > > > > > > > > > > This worked perfectly, but now I have a little > problem....u > > > made > > > > > me > > > > > > > get > > > > > > > > > > > curious about using a database pool... u see I'm a > student > > > of > > > > > > > computer > > > > > > > > > > > sciences in Brazil and we use Java as our main > programming > > > > > language. > > > > > > > Our > > > > > > > > > > > teacher uses JBoss, and since I knew Geronimo now I call > it > > > > > JBosta > > > > > > > > > (meaning > > > > > > > > > > > Jshit, sorry the word)... > > > > > > > > > > > > > > > > > > > > > > I easily create the database pool but how should I > configure > > > my > > > > > ejb > > > > > > > to > > > > > > > > > be > > > > > > > > > > > able to use it ? > > > > > > > > > > > > > > > > > > > > > > David, the tip that Aaron gaved me is very easy to use > and > > > works > > > > > > > > > perfectly > > > > > > > > > > > for Jaybird for simple connections. > > > > > > > > > > > > > > > > > > > > > > Olivier > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 2/17/06, Aaron Mulder < > [EMAIL PROTECTED]> > > > wrote: > > > > > > > > > > > > Ah, I see... If you don't want to use the connection > pool > > > > > then > > > > > > > the > > > > > > > > > > > > technique is a little different. You need a > <dependency> > > > > > element > > > > > > > in > > > > > > > > > > > > the Geronimo deployment plan for your J2EE module ( > e.g. > > > > > > > > > > > > geronimo-web.xml for a web app). > > > > > > > > > > > > > > > > > > > > > > > > If you want to know exactly what the dependency > element > > > should > > > > > > > look > > > > > > > > > > > > like you can go through the database pool screen in > the > > > > > console > > > > > > > just > > > > > > > > > > > > like you did and then after you test it hit "Show > Plan" > > > > > instead of > > > > > > > > > > > > deploying the pool, and just take the <depenency> > element > > > from > > > > > out > > > > > > > of > > > > > > > > > > > > that plan, and put it in the plan for your J2EE module > > > > > instead. > > > > > > > It's > > > > > > > > > > > > not necessary to go through the console this way, but > > > it'll > > > > > give > > > > > > > you > > > > > > > > > > > > somethign to copy and paste exactly. :) Anyway, > it'll be > > > > > > > something > > > > > > > > > > > > like this, depending on exactly where you put it in > the > > > > > > > repository: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <dependency><url>something/jaybird-full/2.0.1/jar</uri></dependency> > > > > > > > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > > > Aaron > > > > > > > > > > > > > > > > > > > > > > > > On 2/17/06, Olivier Voutat < [EMAIL PROTECTED]> > > > wrote: > > > > > > > > > > > > > Hi again, > > > > > > > > > > > > > > > > > > > > > > > > > > For those who doesn't know, I'm trying to establish > a > > > > > > > connection > > > > > > > > > > > between my > > > > > > > > > > > > > J2EE application and Firebird Database using > > > > > > > > > Jaybird-2.0.1JDK_1.5.zip > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://firebird.sourceforge.net/index.php?op=files&id=jaybird > > > > > > > > > > > > > > > > > > > > > > > > > > (yeah,yeah, I know that Geronimo is only certified > for > > > J2EE > > > > > 1.4 > > > > > > > but > > > > > > > > > so > > > > > > > > > > > far > > > > > > > > > > > > > it hasn't be a big issue). > > > > > > > > > > > > > > > > > > > > > > > > > > Extra information: The application that I'm testing > > > already > > > > > > > worked > > > > > > > > > > > under > > > > > > > > > > > > > Geronimo using a connection to Firebird through > unixODBC > > > > > without > > > > > > > a > > > > > > > > > > > database > > > > > > > > > > > > > pool. > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks everybody who replied. Didn't understand > very > > > well > > > > > your > > > > > > > .rar > > > > > > > > > > > issue > > > > > > > > > > > > > David, but anyway here is my situation: > > > > > > > > > > > > > > > > > > > > > > > > > > I wasn't trying to create a database pool to do a > > > > > connection > > > > > > > (it is > > > > > > > > > > > really > > > > > > > > > > > > > necessary ?). > > > > > > > > > > > > > I was trying to make the jaybird-full-2.0.1.jar > > > avaliable > > > > > to my > > > > > > > > > J2EE. > > > > > > > > > > > > > > > > > > > > > > > > > > Current situation, I created a database pool > connection > > > > > with > > > > > > > the > > > > > > > > > > > Database > > > > > > > > > > > > > Type "Other". > > > > > > > > > > > > > In the next config page I put: > > > > > > > > > > > > > > > > > > > > > > > > > > JDBC Driver Class: org.firebirdsql.jdbc.FBDriver > > > > > > > > > > > > > Driver JAR: jaybird-full-2.0.1.jar (deployed in the > > > > > repository > > > > > > > > > trough > > > > > > > > > > > the > > > > > > > > > > > > > common libraries page) > > > > > > > > > > > > > JDBC Connect URL: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > jdbc:firebirdsql:localhost/3050:/firebirdData/mydatabase.fdb > > > > > > > > > > > > > DB User Name: ******* > > > > > > > > > > > > > DB Password: ******* > > > > > > > > > > > > > > > > > > > > > > > > > > After that I did a "Test Connection" and no problem > > > alert > > > > > was > > > > > > > given > > > > > > > > > so > > > > > > > > > > > I > > > > > > > > > > > > > deployed it. > > > > > > > > > > > > > > > > > > > > > > > > > > Deployed my application and it stills gives me the > > > message > > > > > > > > > > > > > ClassNotFoundException... > > > > > > > > > > > > > > > > > > > > > > > > > > Olivier Voutat > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 2/17/06, David Jencks < [EMAIL PROTECTED]> > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Feb 16, 2006, at 6:22 PM, Olivier Voutat wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm not getting how to install the driver to > make > > > this > > > > > one > > > > > > > > > > > > > > > avaliable to my applications in Geronimo. Tried > many > > > > > ways, > > > > > > > and > > > > > > > > > > > > > > > can't find a way that makes it works. Didn't > find > > > any > > > > > > > documents > > > > > > > > > > > > > > > about it neither. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Can somebody help me about it ? > > > > > > > > > > > > > > > > > > > > > > > > > > > > I tried deploying the latest rar from the > downloads, > > > but > > > > > it > > > > > > > has a > > > > > > > > > > > > > > problem in ra.xml (see firebird issue 1433327). I > > > fixed > > > > > the > > > > > > > > > problem > > > > > > > > > > > > > > in firebird cvs, so if you build the rar yourself > it > > > will > > > > > > > work. > > > > > > > > > > > > > > (I'll also send you a copy privately). If you > want to > > > use > > > > > > > > > something > > > > > > > > > > > > > > closer to the current release, you need to change > in > > > > > ra.xml > > > > > > > > > > > > > > > > > > > > > > > > > > > > <credential- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > interface>javax.resource.security.PasswordCredential > > > > > > > > > </credential- > > > > > > > > > > > > > > interface> > > > > > > > > > > > > > > to > > > > > > > > > > > > > > <credential- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > interface>javax.resource.spi.security.PasswordCredential > > > > > > > > > </credential- > > > > > > > > > > > > > > interface> > > > > > > > > > > > > > > > > > > > > > > > > > > > > and repack the rar. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Anyway, after obtaining a correct rar, you can > modify > > > the > > > > > plan > > > > > > > I > > > > > > > > > will > > > > > > > > > > > > > > also send privately to suit your environment and > > > deploy to > > > > > a > > > > > > > > > running > > > > > > > > > > > > > > server using > > > > > > > > > > > > > > > > > > > > > > > > > > > > java -jar target/geronimo- > > > 1.1-SNAPSHOT/bin/deployer.jar > > > > > > > --user > > > > > > > > > system > > > > > > > > > > > > > > --password manager deploy jaybird-2.1.0.rar > > > > > jaybird-plan.xml > > > > > > > > > > > > > > > > > > > > > > > > > > > > This deployed OK for me but I don't have a > firebird > > > > > > > installation > > > > > > > > > > > > > > handy so I don't know if there are other problems. > > > Please > > > > > let > > > > > > > me > > > > > > > > > > > > > > know of your progress, I would like there to be a > wiki > > > > > page on > > > > > > > > > using > > > > > > > > > > > > > > firebird/jaybird with Geronimo. > > > > > > > > > > > > > > > > > > > > > > > > > > > > If anyone else would like a copy of the plan I can > > > perhaps > > > > > get > > > > > > > > > > > > > > started on the wiki page and attach it there. > > > > > > > > > > > > > > > > > > > > > > > > > > > > thanks > > > > > > > > > > > > > > david jencks > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Olivier > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Olivier & Cidiane Voutat > > > > > > > > > > > > > Rua Praia de Muri�, 9188 > > > > > > > > > > > > > Cep 59092-390 / Natal - RN > > > > > > > > > > > > > Tel: (84) 3219-0427 Cel: (84) 9977-3917 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > Olivier & Cidiane Voutat > > > > > > > > > > > Rua Praia de Muri�, 9188 > > > > > > > > > > > Cep 59092-390 / Natal - RN > > > > > > > > > > > Tel: (84) 3219-0427 Cel: (84) 9977-3917 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Olivier & Cidiane Voutat > > > > > > > > > Rua Praia de Muri�, 9188 > > > > > > > > > > > > > > > > > > Cep 59092-390 / Natal - RN > > > > > > > > > Tel: (84) 3219-0427 Cel: (84) 9977-3917 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Olivier & Cidiane Voutat > > > > > > > Rua Praia de Muriú, 9188 > > > > > > > > > > > > > > Cep 59092-390 / Natal - RN > > > > > > > Tel: (84) 3219-0427 Cel: (84) 9977-3917 > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Olivier & Cidiane Voutat > > > > > Rua Praia de Muriú, 9188 > > > > > Cep 59092-390 / Natal - RN > > > > > Tel: (84) 3219-0427 Cel: (84) 9977-3917 > > > > > > > > > > > > > > > > -- > > > > > > Olivier & Cidiane Voutat > > > Rua Praia de Muriú, 9188 > > > Cep 59092-390 / Natal - RN > > > Tel: (84) 3219-0427 Cel: (84) 9977-3917 > > > > > > -- > > Olivier & Cidiane Voutat > Rua Praia de Muriú, 9188 > Cep 59092-390 / Natal - RN > Tel: (84) 3219-0427 Cel: (84) 9977-3917