Buscar

Trabalho Punk SD - CORBA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

IMPORTANTE: Se você mexer no documento, IDENTIFIQUE­SE (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/hello­world.html
Mas a execução da aplicação para ver se estava funcionando seguiu esse aqui
http://pt.scribd.com/doc/30196409/Tutorial­passo­a­passo­de­Java­RMI
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/upload­image­from­android­to­webservice
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////// Tutorialzinho do Bruno ///////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
RMI
//////////////////////////////////////////////////////////////////
va na raiz e digite:
javac ­classpath .:mongo­2.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/omninames­ubuntu.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/cxx­driver/)
http://downloads.mongodb.org/cxx­driver/mongodb­linux­x86_64­v2.2­latest.tgz
Pra quem for preguiço igual eu faça:
Entre na pasta que extraiu o driver e digite:
sudo apt­get install libboost­all­dev scons libpcre++­dev && scons && sudo scons
install
pra rodar o tutorial eu precisei de sudo no g++.
* abra o gerenciador de pacotes Symatic
* digite libboost­all­dev e baixe­o (vai baixar tudo desse libboost aí)
* baixe o scons (por apt­get)
* 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%2BTutorial­DriverBuild
compile o código igual está escrito lá e execute
(
caso houver erro na compilacao, instale mais as seguintes bibliotecas:
sudo apt­get install libboost­all­dev 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/mongo­cxx­driver­nightly ­pthread ­lmongoclient
­lboost_thread­mt ­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)
apt­get install netbeans
apt­get install python­dev
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
Certifique­se 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

Outros materiais