Inicio Rápido de las APIs de Bluemix Watson utilizando Java SDK

Este tutorial le mostrará cómo crear rápidamente una aplicación de Java que utiliza las APIs de Watson

Comments

Visión general

Nivel de Habilidad: Cualquier Nivel de Habilidad
Principiante

Cree sus Cuentas. Primero, tiene que registrarse para obtener una Cuenta de Bluemix (https://console.ng.bluemix.net/) Después, cree su cuenta en DevOps Services (https://hub.jazz.net/) con el mismo email. Cree su Aplicación Java con un Boilerplate. Ahora, inicie sesión en Bluemix y haga clic en “Catálogo "Elija el boilerplate “Java DB Starter". Brinde un nombre único para la aplicación. Haga clic en “Crear" y espere a la preparación […]

Ingredientes

Eclipse IDE

Java

Cuenta de Bluemix

Cuenta de DevOps Services

Paso a paso

1

Cree sus Cuentas

ACTUALIZACIÓN, octubre de 2016 – Este tutorial está obsoleto. Así que he escrito otro aquí, que es mejor y más preciso.

https://developer.ibm.com/recipes/tutorials/bluemix-watson-apis-quickstart-using-java-sdk-version-2016/

:-)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Primero, tiene que registrarse para tener una Cuenta de Bluemix (https://console.ng.bluemix.net/)

Después, cree su cuenta en DevOps Services (https://hub.jazz.net/) utilizando el mismo email

2

Cree su Aplicación Java Utilizando un Boilerplate

Ahora, inicie sesión en Bluemix y haga clic en “Catálogo”

Elija el boilerplate “Java DB Starter”

Brinde un nombre de aplicación único

Haga clic en “Crear” y espere al proceso de preparación

Después de un par de minutos, verá este mensaje.

Ahora, vuelva al panel de instrumentos de Bluemix

Se ha creado su aplicación de Bluemix. ¡Felicidades!

Haga clic en la Aplicación de Bluemix, y haga clic en “Añadir GIT” (esquina superior derecha)

Asegúrese de que el recuadro de verificación esté ACTIVO y haga clic en “Continuar”

Después de 1 minuto, verá el siguiente mensaje

Haga clic en “Cerrar” y copie el enlace de su GIT

3

Abra su proyecto en Eclipse

Ahora, es el momento de abrir el IDE de su Eclipse.

Haga clic en “Banco de trabajo”, y después “Ventana”->”Abrir Perspectiva”->”Otra”

Seleccione “GIT” y haga clic en “Aceptar”

Haga clic en “Clonar un Repositorio de GIT” y brinde la URI que se generó en el paso anterior de este tutorial.

No se olvide de seleccionar “Importar todos los proyectos de Eclipse existentes después de que la clonación acabe”.

Obtendrá una ventana como esta

4

Añada las dependencias de Watson Java SDK

En el IDE de Eclipse, cambie la perspectiva de GIT a Java EE

Su proyecto se parecerá a esto

En su proyecto, ubique el archivo “pom.xml” y haga doble clic en él.

Ubique la pestaña “Dependencias” y haga clic en ella.

Añada la dependencia Watson Java SDK

Haga lo mismo para Apache Commons IO

Haga clic en el “Botón de Guardar” (esquina superior izquierda)

Si esta es la primera vez que utiliza Maven, Maven tardará algunos minutos en descargar todas las dependencias en el repositorio local. En caso contrario, sólo tardará algunos segundos.

5

Ejecutar Watson en Local

En su Aplicación de Bluemix, ubique las “variables de entorno” de su aplicación (izquierda)

Copie los contenidos en las credenciales VCAP_SERVICES (en formato JSON) y guárdelas en un archivo local (digamos /home/leoks/vcap.txt, por ejemplo). Utilizaremos este archivo más tarde.

Ahora, volvamos al IDE de Eclipse.

De forma predeterminada el boilerplate genera algunas clases de Java. Modifiquemos un poco la clase /JavaDBApp/src/main/java/example/servlet/SimpleServlet.java ya existente.

Cambie la clase existente para que se parezca a esto (para resolver las importaciones, utilice CTRL+SHIFT+O en Eclipse)

package example.servlet;

import java.io.File;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.FileUtils;

import com.ibm.watson.developer_cloud.speech_to_text.v1.SpeechToText;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.SpeechResults;
import com.ibm.watson.developer_cloud.util.CredentialUtils;

@WebServlet("/SimpleServlet")
public class SimpleServlet extends HttpServlet {

 private SpeechToText s2t = new SpeechToText();
 
 @Override
 public void init() throws ServletException {
   super.init();
   String vcap = System.getProperty("VCAP_SERVICES");
   if (vcap == null){
     try {
       vcap = FileUtils.readFileToString(new File("/home/leoks/vcap.txt"));
     } catch (IOException e) {
       e.printStackTrace();
     }
   }
   CredentialUtils.setServices(vcap);
   s2t.setApiKey(CredentialUtils.getAPIKey("speech_to_text"));
 }

 public static void main(String[] args) throws ServletException{
   SimpleServlet ss = new SimpleServlet();
   ss.init();
   SpeechResults results = ss.s2t.recognize(new File("/home/leoks/sample.flac"));
   System.out.println(results.getResults().get(0).toString());
 }
 
 private static final long serialVersionUID = 1L;

 @Override
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   response.setContentType("text/html");
   response.getWriter().print("Hello World!");
 }

}                    "

Puede obtener el audio de esta muestra en https://ibm.box.com/shared/static/p8d80dqg0mi0un69d3bpywszspm38svz.flac

Para más información acerca de "de Voz a Texto" y los formatos de audio soportados, verifique este enlace: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/speech-to-text/

El resultado esperado es

{
   "final": true,
   "alternatives": [
   {
     "transcript": "learning to use Watson ",
     "confidence": 0.998
   }
 ]}

Ahora, cambiemos el Servlet e implementemos su aplicación, para poder probar "de Voz a Texto" online

6

Añada a su aplicación el servicio Watson

Haga clic en “Añadir un Servicio o API”

Elija una API de Watson, por ejemplo, "de Voz a Texto

Haga clic en el servicio

Después, haga clic en “crear” deje que Bluemix vuelva a preparar la aplicación.

Con su Prueba de Bluemix puede añadir hasta 4 servicios diferentes. Si necesita más, entre en contacto con el Soporte de Bluemix (https://support.ibmcloud.com/ics/support/mylogin.asp?login=bluemix)

7

Juntar Todo: ejecutar Watson desde una aplicación de Bluemix

Cambie el método GET de su servlet a esto

@Override
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   String audioUrl = request.getParameter("audioUrl");
   try{
     URL url = new URL(audioUrl);
     File tmp = File.createTempFile("myTmp", ".flac");
     tmp.deleteOnExit();
 
     IOUtils.copy(url.openStream(), new FileOutputStream(tmp));
 
     SpeechResults results = s2t.recognize(tmp);
 
     response.setContentType("application/json");
     response.getWriter().write(results.getResults().get(0).toString());

   }catch(Exception e){
     response.setContentType("text/html");
     e.printStackTrace(response.getWriter());
   }
 }

Haga clic derecho en su proyecto de Eclipse, elija “Equipo->Asignar”

Añada un mensaje de asignación (ej. “Primera asignación”) y haga clic en “Asignar y Enviar”, después en “Aceptar”.

Esto enviará el código a GIT de JazzHub que, como contrapartida, desencadenará un proceso nuevo de implementación. Puede supervisar el proceso accediendo al URL de DevOps Service (para este proyecto, el enlace es https://hub.jazz.net/pipeline/leoks/myOwnUniqueAppName). Es posible llegar al canal de su proyecto desde el Panel de instrumentos, haciendo clic en “Editar Código” (arriba a la derecha) y luego “Compilar y Desplegar” (arriba la derecha).

Así que, probemos nuestra aplicación

http://myownuniqueappname.mybluemix.net/SimpleServlet?audioUrl=https%3A%2F%2Fibm.box.com%2Fshared%2Fstatic%2Fp8d80dqg0mi0un69d3bpywszspm38svz.flac

(para generar el URL codificado, utilice un servicio de codificación como http://meyerweb.com/eric/tools/dencoder/ así lo puede añadir como parámetro para la solicitud http)

¡Y eso es todo!


Recursos para Descargar


Comentarios

Inicie Sesión o Regístrese para agregar comentarios.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Cloud computing
ArticleID=1039999
ArticleTitle=Inicio Rápido de las APIs de Bluemix Watson utilizando Java SDK
publish-date=11172016