Acessando Java a partir de outras linguagens  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
spranta
JavaEvangelist
[Avatar]

Membro desde: 19/01/2004 17:32:48
Mensagens: 305
Localização: Belo Horizonte
Offline

Pessoal, tenho um componente que necessito de reutilizar em outras sistemas que foram desenvolvidos em outras linguagens, pensei em criar um DLL que encapsulasse as chamadas ao meu componente Java (jar) pois a maioria das linguagens atuais consegue trabalhar com invocação de DLL, no entanto, nas pesquisas que fiz constatei até o momento não ser possível tornar meu jar acessível através de uma DLL, alguém me confirmaria isso?
Se não consiguo criar um DLL a partir do meu jar, como vocês enxergam como uma outra forma de linguagens como VB e Delphi poderem invocar métodos do meu jar?

"Não somos apenas ignorantes. Somos ignorantes sobre o quão ignorantes somos."
(Charles Darwin)
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Web services ou XML-RPC (lixo por ser RPC mas que tem para todas as linguagens)

E não concordo que a maioria das linguagens atuais consegue trabalhar com invocação de DLL.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1616
Offline

Na verdade, leêm DLL linguagens da Microsoft ou então ferramentas específicas para trabalhar com Windows.

"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

rmendes08 wrote:Na verdade, leêm DLL linguagens da Microsoft ou então ferramentas específicas para trabalhar com Windows.


Correto!

Fora C#, não me lembro de nenhuma das novas linguagens popularizadas nos últimos 4 ou 5 anos que se importe em ler DLLs. As mais antigas como Java, VB, Delphi, Fortran e Cobol conseguem.

[]s
Luca

This message was edited 1 time. Last update was at 09/12/2009 13:04:45


Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

Java é feito para rodar em um ambiente próprio, fora do sistema operacional, que é a máquina virtual. Se precisa escrever código portável a outras linguagens é melhor usar uma linguagem com um compilador nativo(c++, pascal, vb, etc...).

www.citrox.com.br
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

juliocbq wrote:Java é feito para rodar em um ambiente próprio, fora do sistema operacional, que é a máquina virtual. Se precisa escrever código portável a outras linguagens é melhor usar uma linguagem com um compilador nativo(c++, pascal, vb, etc...).


Não é bem assim. Hoje em dia é comum sistemas feitos usando aplicativos desenvolvidos em várias linguagens diferentes SEM precisar de DLLs. E sem usar a porcaria de RPC que sugeri na minha primeira mensagem. Há meios limpos e elegantes de se trocar web services sem RPC.

Mas se não houver outro jeito ou se a necessidade for mesmo a de RPC, então já tem coisas prontas muito fáceis de usar, um deles o velho e quase obsoleto XML-RPC.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
ralphsilver
Java Ninja
[Avatar]

Membro desde: 09/03/2008 19:53:14
Mensagens: 269
Offline

Para uma linguagem conversar com outra usualmente.. aconselho webservice que é uma implementação mais limpa.....
Agora para conversar de forma agil.. RPC é melhor pois o tempo de resposta é maior

No mundo há apenas 10 tipos de pessoas: os que sabem binário e os que não sabem
[MSN]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

Luca wrote:Olá

juliocbq wrote:Java é feito para rodar em um ambiente próprio, fora do sistema operacional, que é a máquina virtual. Se precisa escrever código portável a outras linguagens é melhor usar uma linguagem com um compilador nativo(c++, pascal, vb, etc...).


Não é bem assim. Hoje em dia é comum sistemas feitos usando aplicativos desenvolvidos em várias linguagens diferentes SEM precisar de DLLs. E sem usar a porcaria de RPC que sugeri na minha primeira mensagem. Há meios limpos e elegantes de se trocar web services sem RPC.

Mas se não houver outro jeito ou se a necessidade for mesmo a de RPC, então já tem coisas prontas muito fáceis de usar, um deles o velho e quase obsoleto XML-RPC.

[]s
Luca


A pergunta deste tópico foi: "É possível aproveitar código java, para ser usado em outras linguagens?"
A resposta é não.

Se for sim, pode me dizer quais linguagens fazem isso, e me dar um exemplo?

www.citrox.com.br
ralphsilver
Java Ninja
[Avatar]

Membro desde: 09/03/2008 19:53:14
Mensagens: 269
Offline

juliocbq wrote:
Luca wrote:Olá

juliocbq wrote:Java é feito para rodar em um ambiente próprio, fora do sistema operacional, que é a máquina virtual. Se precisa escrever código portável a outras linguagens é melhor usar uma linguagem com um compilador nativo(c++, pascal, vb, etc...).


Não é bem assim. Hoje em dia é comum sistemas feitos usando aplicativos desenvolvidos em várias linguagens diferentes SEM precisar de DLLs. E sem usar a porcaria de RPC que sugeri na minha primeira mensagem. Há meios limpos e elegantes de se trocar web services sem RPC.

Mas se não houver outro jeito ou se a necessidade for mesmo a de RPC, então já tem coisas prontas muito fáceis de usar, um deles o velho e quase obsoleto XML-RPC.

[]s
Luca


A pergunta deste tópico foi: "É possível aproveitar código java, para ser usado em outras linguagens?"
A resposta é não.

Se for sim, pode me dizer quais linguagens fazem isso, e me dar um exemplo?



Errado! .. inclusive aqui na empresa que eu trabalho agente utiliza um projeto que chama java-brigde... em que o php faz chamada de métodos java

No mundo há apenas 10 tipos de pessoas: os que sabem binário e os que não sabem
[MSN]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

ralphsilver wrote:
juliocbq wrote:
Luca wrote:Olá

juliocbq wrote:Java é feito para rodar em um ambiente próprio, fora do sistema operacional, que é a máquina virtual. Se precisa escrever código portável a outras linguagens é melhor usar uma linguagem com um compilador nativo(c++, pascal, vb, etc...).


Não é bem assim. Hoje em dia é comum sistemas feitos usando aplicativos desenvolvidos em várias linguagens diferentes SEM precisar de DLLs. E sem usar a porcaria de RPC que sugeri na minha primeira mensagem. Há meios limpos e elegantes de se trocar web services sem RPC.

Mas se não houver outro jeito ou se a necessidade for mesmo a de RPC, então já tem coisas prontas muito fáceis de usar, um deles o velho e quase obsoleto XML-RPC.

[]s
Luca


A pergunta deste tópico foi: "É possível aproveitar código java, para ser usado em outras linguagens?"
A resposta é não.

Se for sim, pode me dizer quais linguagens fazem isso, e me dar um exemplo?



Errado! .. inclusive aqui na empresa que eu trabalho agente utiliza um projeto que chama java-brigde... em que o php faz chamada de métodos java

Pode me mostrar como funciona? O código é acessado de um jar, como uma dll(A pergunta do tópico)?

www.citrox.com.br
ralphsilver
Java Ninja
[Avatar]

Membro desde: 09/03/2008 19:53:14
Mensagens: 269
Offline

Não.. sem dll... agente apenas precisa subir o projeto no apache do php...

depois disso... tem umas functions em php que chama a classe java e o método e ele te retorna a resposta...

eu trabalho no setor java aqui.. vou te arrumar um exemplo de como essa ferramenta funciona... é até simples o negócio

No mundo há apenas 10 tipos de pessoas: os que sabem binário e os que não sabem
[MSN]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

ralphsilver wrote:Não.. sem dll... agente apenas precisa subir o projeto no apache do php...

depois disso... tem umas functions em php que chama a classe java e o método e ele te retorna a resposta...

eu trabalho no setor java aqui.. vou te arrumar um exemplo de como essa ferramenta funciona... é até simples o negócio

Então funciona sim, como uma dll, se o php acessa a classe java. Se puder, me envia um exemplo pra eu ver.

www.citrox.com.br
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

juliocbq wrote:A pergunta deste tópico foi: "É possível aproveitar código java, para ser usado em outras linguagens?"
A resposta é não.

Se for sim, pode me dizer quais linguagens fazem isso, e me dar um exemplo?


Completamente errado. Com web services é possível aproveitar código feito em qualquer linguagem, inclusive Java.

Acessar como DLL, apesar de meio insano (pelo acoplamento desnecessário), não só é possível em Java como é muito fácil. Basta escrever uma ponte em C usando JNI. Não vejo a menor dificuldade em fazer isto apesar de que prefiro os web services ou similares

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3927
Offline

Luca wrote:Olá

juliocbq wrote:A pergunta deste tópico foi: "É possível aproveitar código java, para ser usado em outras linguagens?"
A resposta é não.

Se for sim, pode me dizer quais linguagens fazem isso, e me dar um exemplo?


Completamente errado. Com web services é possível aproveitar código feito em qualquer linguagem, inclusive Java.

Acessar como DLL, apesar de meio insano (pelo acoplamento desnecessário), não só é possível em Java como é muito fácil. Basta escrever uma ponte em C usando JNI. Não vejo a menor dificuldade em fazer isto apesar de que prefiro os web services ou similares

[]s
Luca


Espera ae luca. Se você escrever uma ponte jni já não é mais java, e sim c++. Isso sim seria realmente insano. É preferível escrever a aplicação em c++.

O que o autor do tópico perguntou é se existe uma maneira de acessar um bytecode (um arquivo .class) a partir de outras linguagens.
A resposta do ralphsilver é muito mais plausível.

www.citrox.com.br
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

juliocbq wrote:Espera ae luca. Se você escrever uma ponte jni já não é mais java, e sim c++. Isso sim seria realmente insano. É preferível escrever a aplicação em c++.

O que o autor do tópico perguntou é se existe uma maneira de acessar um bytecode (um arquivo .class) a partir de outras linguagens.


Nada disto. Já participei de um monte de projetos java que usavam um monte de linguagens usando pontes via JNI. É muito mais fácil escrever 20 ou 30 linhas em C para acessar outras coisas do que escrever tudo em C++.

E a ponte citada pelo ralphsilver faz a mesma coisa.

[]s
Luca

This message was edited 1 time. Last update was at 09/12/2009 14:57:06


Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team