[Java] Acesso a BD sem JDBC

Fork

What is folding?
Boas,

Ando a planear uma aplicação em java que tem de aceder a uma base de dados. O problema é que o servidor onde está a base de dados não permite que aplicações desktop acedam a BD directamente.

Tenho de por uns scripts em PHP no servidor e apanhar os resultados do script e construir os objectos necessários a partir disso. A minha pergunta é: qual é a melhor maneira de fazer isto? Por scripts PHP e parsar sobre o HTML? Como posso parsar sobre o HTML?

Obrigado pela ajuda.
 
Podes criar Web Services (em PHP ou Java, por exemplo) que acedem aos dados na base de dados do servidor. Em seguida, do lado da aplicação Java, só precisas de invocar os métodos disponibilizados pelos Web Services para obteres os dados relevantes. Scraping não me parece uma boa ideia.
 
Obrigado, estou a investigar. Confesso que não conhecia muito de Web Services. Podes me apontar para algum livro ou tutorial?
 
Tens o livro Web Services: Concepts, Architectures and Applications da Springer. No entanto, o livro é relativamente avançado e teórico, não tendo qualquer exemplo de código, pelo que não te aconselho, para já. Se por acaso algum dia quiseres aprofundar os teus conhecimentos sobre Web Services (WS), então este livro é uma boa escolha.

Na web, tens vários tutoriais interessantes, tanto para PHP como para Java, embora não seja tão comum implementar WS em PHP. Para começar, podes dar uma vista de olhos no artigo da wikipedia sobre WS, que apesar de não ser muito avançado, apresenta os conceitos básicos.

Em seguida, e como suponho que deves ter uma certa pressa em implementar o que pretendes, podes dar uma olhada no tutorial da Sun, disponível aqui. O tutorial tem no entanto um "problema", que é o facto de cobrir praticamente toda a stack de WS do Java, o que pode tornar difícil a filtragem daquilo que é realmente relevante.

Para um tutorial straight to the point, os melhores são talvez os do NetBeans. Se utilizares este IDE, a criação de WS é bastante simples, e a maioria dos passos são automatizados pela ferramenta, desde a criação de classes que representam uma determinada entidade do teu modelo de dados (ver aqui), ao deploy do WS.
 
Obrigado, mas a minha duvida agora está entre que linguagem escolher. Não tenho a certeza que o servidor em questão (o freehostia, ja agora) me deixe correr Java no lado do servidor. So sei que me deixa correr PHP. Vou ter de ver melhor.

Edit:
Eles não aceitam java, vai ter de ser PHP.
 
Última edição:
Hmm, provavelmente não. Sendo assim, tens o PHP. Penso que a maneira mais simples seria criares um WS REST. Para invocares um WS deste tipo em Java, vê os exemplos disponibilizados aqui. Para a criação, podes utilizar uma framework, ou gerar o output através de echos.

Entretanto encontrei isto, que vai ao encontro daquilo que acho que pretendes.
 
Última edição:
Olá outra vez.

Agora que analisei isto com mais atenção. Isto não é basicamente ter um script seja em que linguagem for, que produz um output em XML. E este output tem de ser parsado pela aplicação cliente?
 
Back
Topo