Baixe o app para aproveitar ainda mais
Prévia do material em texto
IMPORTANTE: Se você mexer no documento, IDENTIFIQUESE (pode ser por cor ou colocando seu nome na frente do que vc mexeu) assim, se der algo errado, fica mais fácil da gente saber pra quem perguntar! E não venha chamar de folgado pq todo mundo aqui tá se ajudando! AVISO: Coloquei uma seção de troubleshooting no final do arquivo. Pra quem ainda tá enrolado com o CORBA: http://omniorb.sourceforge.net/omni41/omniORB/omniORB002.html Copiem todo o eg3 e eg3_clt Instalando o CORBA Tutorial da vez (esse parece q funciona) http://www.yolinux.com/TUTORIALS/CORBA.html Criando e usando a Cloud AppEngine Basicamente, seguimos o tutorial que o Bruno colocou no facebook, que o Fábio fez. Criando e usando o RMI Java A criação do código seguiu esse tutorial: http://docs.oracle.com/javase/6/docs/technotes/guides/rmi/hello/helloworld.html Mas a execução da aplicação para ver se estava funcionando seguiu esse aqui http://pt.scribd.com/doc/30196409/TutorialpassoapassodeJavaRMI Criando e usando o WebService Java Basicamente, seguimos o tutorial de WebService dísponível no moodle nas aulas de SD (feito no NetBeans). Pra fazer upload do Android pro WebService http://stackoverflow.com/questions/8019868/uploadimagefromandroidtowebservice ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////// Tutorialzinho do Bruno /////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// RMI ////////////////////////////////////////////////////////////////// va na raiz e digite: javac classpath .:mongo2.10.1.jar src/interfaceRMI/*.java cd src rmic interfaceRMI.ServicoRemotoImpl2 vai no eclipse e roda os bagulho tudo (servidor e cliente separadamente) //passando para o bitnami computer scp r /home/bruno/ServicoServer.jar sudo bitnami@192.168.247.146:/home/bitnami/ enable ssh on bitnami machine $ sudo mv /etc/init/ssh.conf.back /etc/init/ssh.conf $ sudo start ssh ssh bitnami@192.168.247.146 senha: aquela netstat tulpn | grep 80 como executar servidor RMI sudo ufw disable java Djava.rmi.server.hostname=192.168.247.146 jar ServicoServer.jar no windows, vá em CMD e digite "rmiregistry start" abra o webservice /////////////////////////////////////////////////////////////////// CORBA ////////////////////////////////////////////////////////////////// Siga o tutorial do baldo até num funcionar o bagulho... daí voce começa aqui... encontra o bang // pidof omniNames killl num // apaga os arquivos se necessário /bruno/omninamesubuntu.log inicia o servidor de nomes com o suport bootstrapAgent, para suportar conexao java // omniNames start ORBsupportBootstrapAgent 1 // Configure as variáveis do omniorb e exporte elas // OMNIORB_CONFIG=/etc/omniORB.cfg; OMNIORB_CONFIG=/etc/omniORB.cfg; export OMNIORB_CONFIG // rode o servidor // ./Server // rode o cliente // java DadoClient ORBInitialPort 2809 ORBInitialHost // /////////////////////////////////////////////////////////////////// Mongo DB + C++ ////////////////////////////////////////////////////////////////// * baixe o driver dele. HUGO: (http://dl.mongodb.org/dl/cxxdriver/) http://downloads.mongodb.org/cxxdriver/mongodblinuxx86_64v2.2latest.tgz Pra quem for preguiço igual eu faça: Entre na pasta que extraiu o driver e digite: sudo aptget install libboostalldev scons libpcre++dev && scons && sudo scons install pra rodar o tutorial eu precisei de sudo no g++. * abra o gerenciador de pacotes Symatic * digite libboostalldev e baixeo (vai baixar tudo desse libboost aí) * baixe o scons (por aptget) * entre na pasta do driver e dê o comando "scons" vai compilar tudo * sente e espere * dê o comando "sudo scons install" * crie um arquivo cpp com o codigo deste tutorial: http://www.mongodb.org/pages/viewpage.action?pageId=133415#C%2B%2BTutorialDriverBuild compile o código igual está escrito lá e execute ( caso houver erro na compilacao, instale mais as seguintes bibliotecas: sudo aptget install libboostalldev libpcre++dev ) recompile e execute o bagulho... é pra funcionar (JESGA) se não funcionar mesmo assim, acrescente na linha do g++ L<caminho_do_driver>, aqui ficou assim: g++ tutorial.cpp L/home/jessica/mongo/mongocxxdrivernightly pthread lmongoclient lboost_threadmt lboost_filesystem lboost_program_options lboost_system o tutorial e execute normalmente com ./tutorial <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Inserir e recuperar tupla (document?) do MongoDB em C++ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> #include <cstdlib> #include <iostream> #include "mongo/client/dbclient.h" using namespace bson; void run() { mongo::DBClientConnection c; c.connect("localhost"); //IP da máquina onde esta o banco mongo::BSONObjBuilder b; b.append("name", "Jesga"); b.append("age", 20); b.append("_id", 10); c.insert("test.test", b.obj()); //indica que quero um _id = 10 mongo::BSONObj coiso = BSON("_id"<<10); //recuperar primeira tupla com _id = 10 bo obj = c.findOne("test.test", mongo::Query(coiso)); //imprime o campo "name" da tupla recuperada std::cout<<obj.getField("name")<<std::endl; } int main() { try { run(); std::cout << "connected ok" << std::endl; } catch( const mongo::DBException &e ) { std::cout << "caught " << e.what() << std::endl; } return EXIT_SUCCESS; } HUGO: Pra galera que ta usando Android, informar o IP como localhost ou 127.0.0.1 não funciona, porque esse sera o localhost do Android e não da sua máquina. #================================================================ TUTORIAL DO BALDO #================================================================ system > admintration > synaptic package manager search: omniORB select all > install terminal sudo su (senha) aptget install netbeans aptget install pythondev terminal sudo su (senha) gedit /etc/omniORB4.cfg no arquivo: InitRef = NameService=corbname::my.host.name da enter, tira o # e coloca o seu ip + :2809 na ultima linha: supportBootstrapAgent = 1 gedit /etc/bash.bashrc coloca no começo export OMNIORB_CONFIG=/etc/omniORB4.cfg export OMNINAMES_LOGDIR=/etc gedit /etc/hosts vai ter um 127.0... tira todos e coloca: seu ip + nome do pc (é o segundo ja) netstat lpn Igrep :2809 vai ter algo /omninames kill omniNames ( o mesmo de cima, o PID dele) obs: se precisar, pega o pid pelo "lsof i" (vai mostrar q processo tá naquela porta) tnameserv ORBInitialPort 2809& cd (pasta Crb) > EchoClient.java, echo_example.idl, server.py gerar stubs pro python omniidl bpython echo_example.idl idlj echo_example.idl javac EchoClient.java iniciar o servidor python server.py abre outro terminal sudo su (senha) java EchoClient ORBInitialPort 2809 ORBInitialHost 192.... java CorbaClient ORBInitialPort 2809 TROUBLESHOOTING ================================================ Erro de BAD_PARAM ao rodar o servidor Certifiquese que só tem um InitRefdescomentado no seu arquivo omniORB.cfg > Hugo < Segui esse tutorial pro RMI (tem que usar a versão 6 do Java, na versão 7 não funciona) http://www.youtube.com/watch?v=itIZlUkO2w4
Compartilhar