Creazione servlet

di il
8 risposte

Creazione servlet

Ciao, chi ha esperienze con la creazione di servlet (o restlet) utilizzando magari Apache Phoenix e HBase?

io ho seguito questa guida : https://github.com/lessc0de/rest-phoeni

ma è molto mal fatta e non si riesce a compilarla.

Grazie a tutti

8 Risposte

  • Re: Creazione servlet

    AleSpino92 ha scritto:


    Ciao, chi ha esperienze con la creazione di servlet (o restlet) utilizzando magari Apache Phoenix e HBase?
    Tralasciando un pochino quel progetto su github che in effetti non è granché ... domanda banale: hai provato a vedere sulla documentazione ufficiale di Apache Phoenix?

    Premesso che NON ho mai usato né Apache Phoenix né HBase, ma ho letto stamattina un attimo la documentazione di Phoenix.

    https://phoenix.apache.org/Phoenix-in-15-minutes-or-less.html: Phoenix is an open source SQL skin for HBase. You use the standard JDBC APIs instead of the regular HBase client APIs to [...]

    HBase è un database "NoSQL" e, da quanto capisco, Phoenix è semplicemente uno "strato" al di sopra di HBase che ti permette di usare la API JDBC standard per interagire con HBase. Cioè invece di usare la API "particolare" di HBase, usi le "solite" Connection/Statement/ResultSet ecc... di JDBC.

    Nella pagina dice di mettere un jar nella lib di HBase (non ti so dire altro) e di riavviare HBase. Poi dice di usare phoenix-[version]-client.jar in una applicazione "client". Presumo (ma dovrei verificare) che questo è il driver JDBC (?).

    Quindi magari prima di fare una webapp, potresti provare a fare una semplice applicazione standalone (con il classico main, per intenderci) per provare a connetterti tramite JDBC ad HBase attraverso questo Phoenix.
  • Re: Creazione servlet

    Già fatto Andrea, Phoenix e HBase sono funzionanti.

    Ho caricato i dati tramite Phoenix su tabelle HBase, però ora devo trovare un meccanismo che tramite url mi permetta di interrogare quelle tabelle di HBase, passando all'url sempre dei parametri.
  • Re: Creazione servlet

    AleSpino92 ha scritto:


    ora devo trovare un meccanismo che tramite url mi permetta di interrogare quelle tabelle di HBase
    Allora: se vuoi fare una webapp che "espone" url (in qualunque modo: con Servlet o altro di più alto livello, es. JAX-RS, Restlet ecc...) ovviamente lo puoi fare.

    Ma ripeto: hai provato prima ad usare JDBC in una banale applicazione Java per creare e/o estrarre qualcosa da HBase? Nella pagina c'è un esempio Java, vedi che usa le "solite" cose di JDBC, Connection, Statement, ResultSet.
    Se è tutto ok, allora puoi ad esempio andare un po' avanti e fare una webapp con una Servlet in cui nel doGet() fai la stessa cosa. E così via ..

    È chiaro che se vuoi esporre una API "REST", usare le Servlet "crude" ... è parecchio scomodo e brutto. Quindi meglio usare qualcosa di più alto livello, appunto una implementazione di JAX-RS o la Restlet o altro (es. Spring).
  • Re: Creazione servlet

    Se mi chiedi se ho utilizzato quel codice java per interrogare HBase si.

    magari potrei creare un jar con quel codice, metterlo nella cartella di Apache, e interrogarlo passandogli dei parametri?
  • Re: Creazione servlet

    AleSpino92 ha scritto:


    Se mi chiedi se ho utilizzato quel codice java per interrogare HBase si.

    magari potrei creare un jar con quel codice, metterlo nella cartella di Apache, e interrogarlo passandogli dei parametri?
    Allora scusa, quale è il problema esatto? Se vuoi usare Restlet (non la conosco in dettaglio) puoi creare una webapp di prova e metterla su un Tomcat. La Restlet da quanto so può funzionare sia in ambito JavaSE che JavaEE. Quindi al limite puoi anche iniziare con una app JavaSE ed usare il server embedded di Restlet.
  • Re: Creazione servlet

    Quel link iniziale è impossibile da compilare?Ho provato con tantissime cose ma niente.
  • Re: Creazione servlet

    AleSpino92 ha scritto:


    Quel link iniziale è impossibile da compilare?Ho provato con tantissime cose ma niente.
    Mah .. quel progetto su github comunque non è granché ben fatto. E comunque ha obiettivi discutibili. Nel readme spiega che intende esporre un singolo url a cui puoi passare una query così:

    http://localhost:9090/phoenix?query=select%20*%20from%20test%20&root=admin&ttl=300

    Praticamente si passa il SQL in query string che è parecchio una "zozzeria", sicuramente non una cosa che puoi esporre in un ambiente/contesto non "controllato". E comunque questo non c'entra niente con REST. Una vera API REST è un'altra cosa ....
    Ah e da quanto vedo usa pure Redis per un meccanismo di caching, quindi dovresti anche impostare/avere quello.
  • Re: Creazione servlet

    Adesso sto provando con Phoenix Query server..sperimo che sia quello che serva
Devi accedere o registrarti per scrivere nel forum
8 risposte