Category
News
Post Google I/O interview
- mayo 20th, 2011
- News
- 0 Comments
Hello!
Back from the Google I/O Developer conference, we gathered some Googlers involved in the Developer world to tell us about their experience at the event and provide recommendations to local developers.
Please meet Ade Oshineye, Ben Wallace, Bruno Oliveira Ernest Delgado and Paul Kinlan
Ade Oshiney, Developer Advocate
My favourite announcement has to be the launch of Go on App Engine. It opens up the possibility of new kinds of applications that use Go's wide range of libraries. I'm especially looking forward to being able to play with the image manipulation libraries. It also gives developers an easy way to experiment with the Go language. I think that Go has the potential to make a big difference to the way we tackle highly concurrent programming problems.
Any tips for developers across Spain and Latin America?
Sign up here: https://services.google.com/fb/forms/plusonesignup/ and we'll notify you when the +1 button is available to be used on your own sites.
Did you know...
Buzz has a custom page that loads really quickly and lets you post easily: http://www.google.com/buzz/post
Any special story while you were at the event?
At this year's Google I/O there was a performance by a band called Jane's Addition. They let me wander around back-stage where I got to see all the equipment they use to product a music concert. It looked exactly like the Mission Control Center at Nasa. There were dozens of computers and huge cables everywhere.
What's your favorite desert?
I like ice cream but I love Tiramisu.
Ben Wallace, Developer Marketing Manager
Android@Home and Android accessories...just wow! Think of all the items that can be augmented and improved by being connected; automated light bulbs are just the beginning. Developers can transform people's daily lives, grow exponentially the things that can be enhanced with Android, and take the experience further outside of the phone. You can find out more about the announcements from day 1 here.
Any tips for developers across Spain and Latin America?
When you’re building apps remember: Local content is King!
Any special story while you were at the event?
The robotics section turned around that famous quotation from Bill Gates: "We always overestimate the change that will occur in the next two years and underestimate the change that will occur in the next ten." Facial recognition, Android-powered hydroponics, tablet-powered giant-sized marble mazes; who would have thought we would have things like that now?
What's your favorite desert?
I've never had an Ice Cream Sandwich. Actually my favourite dessert is the Schwarzwälder Kirschtorte
Bruno Oliveira, Developer Programs Engineer
What's your favorite announcement at Google I/O this year?
It's very difficult to pick a favorite. All announcements were very exciting and fit together very well, and that's the spirit of the Google developer platform: to bring together an excellent infrastructure on top of which developers can work efficiently and focused on what matters: innovation and creativity. So everything -- from HTML5 to the cloud, from Chrome to mobile -- is part of the same landscape.
What's the potential of that announcement for developers?
The impact for developers is that new use cases, new challenges and new scenarios are appearing every day as we move towards a new model of computing. These changes in technology open up a world of opportunities for applications.
Any tips for developers across Spain and Latin America?
My advice is to always keep an open mind and "think outside the box". Technology is moving fast, and we are moving away from the traditional notions of computing, so it's very important to be open to innovation -- we need you to write tomorrow's applications!
Do you like Ice Cream Sandwiches? What's your favorite desert?
Ice cream is my favorite desert and I have nothing against sandwiches, so I like the combination :-)
Ernest Delgado, Developer Programs Engineer
ADK, android@home and the launch of Chromebook in Europe. Next thing I will do is to buy Chromebooks for my family in Spain.
This will give the developer more room to hack in new contexts and products. Have you already thought of a new startup with apps for your tablet that control everything of your house?
Any tips for developers across Spain and Latin America?
Get any of the new products announced and start hacking!
Any special story while you were at the event?
Yes, believe it or not many things announce in the keynotes were a surprise for me too!
Do you like Ice Cream Sandwiches? What's your favorite desert?
Yes, although I like tiramisu. I hope they name a future release like that :)
Paul Kinlan, Developer Advocate
We launched localised versions of the Chrome Web Store. This is big news for developers and users around the world. Developers can reach more users more easily than ever before and those users will be happier because the apps and store are in their native language.
Any tips for developers across Spain and Latin America?
Localise your apps, there are millions of users who want to use your app that might not be a native speaker of your language. Don't miss out on their custom.
Did you know...
You can try out all the latest features by entering "about:flags" in your URL bar. Seriously, keep checking because it changes nearly every build and you can get to play with some cool new features.
What's your favorite desert?
If anyone has ever seen a picture of me, you can tell that I like ALL deserts, A through Z.
===
Inês Gonçalves
Google España
Introducción al AdWords API
- marzo 25th, 2011
- News
- 0 Comments
Para aquellas personas y compañías que hacen uso del sistema AdWords para promover servicios y productos, ya sean propios o de terceros, tarde o temprano surge la necesidad de escalar y buscar alternativas para mejorar y optimizar sus procesos publicitarios.
Con el incremento en el número de anuncios, criterios, ofertas y campañas de publicidad a manejar a través del sistema AdWords, el hacer uso de su interfaz de usuario se va convirtiendo en una tarea cada vez ms difícil y en ciertos casos hasta una pérdida de tiempo debido a la ejecución de tareas repetitivas.
En muchos casos la información a ser utilizada en la publicación de anuncios ya se encuentra en forma digital y debido a la carencia de un sistema automatizado se requiere realizar la copia manual de los datos de un sistema al otro. Este proceso resulta ser más lento y propenso a errores en la transcripción de los datos.
En todos estos casos el uso de la API es la solución, permitiendo la automatización de estas tareas, así como la ejecución de largos volúmenes de transacciones. En otros casos, el uso de la API es la única opción cuando se requiere la ejecución de cambios en tiempo real a sus anuncios. Un ejemplo es cuando es necesario ajustar los precios anunciados de los productos o servicios en el momento en que cambian en su sistema de inventario. En general, el uso de la API brinda una serie de oportunidades en el control de su publicidad, dada sus capacidades de automatización en tiempo real, bondades que no pueden ser aprovechadas haciendo uso de su interfaz de usuario.
¿Qué es el AdWords API?
AdWords API es un conjunto de servicios que le facilitan a los desarrolladores la creación de sistemas para el manejo de campañas de publicidad a través de AdWords. La API está basada en el protocolo SOAP versión 1.1, soportado en diferentes plataformas y ambientes de desarrollo.
Adicionalmente, para facilitar el desarrollo ofrecemos con la API una serie de librerías cliente disponibles en diferentes lenguajes de programación como Java, PHP, Python, .NET, Ruby y Perl. Todas las librerías que se encuentran disponibles han sido probadas y adaptadas para su uso con la API y contienen código de ejemplo que cubre todos los servicios, suavizando la curva de aprendizaje para el uso del sistema.
Caso de Uso
A continuación se presenta un ejemplo que permite demostrar las capacidades y funcionalidades de la API.
Supongamos que usted es dueño de un sitio web que vende productos en linea y decide empezar a anunciar sus productos con AdWords.
Haciendo uso de la API usted puede automatizar la creación de sus campañas de publicidad (basado en sus listas de productos), automatizar sus anuncios (basados en las descripciones y precios de los productos), enlazarlos a las paginas relevantes de su sitio web y orientarlos a la audiencia adecuada (basado en palabras claves, demografía, localización geográfica y otros). Y lo ms importante a resaltar es que estará desarrolando una aplicación que podrá reutilizar para promover sus productos casi en tiempo real.
Así mismo, puede hacer uso de las ventajas de los servicios de reportes y optimización dentro de su aplicación, permitiéndole tomar decisiones estratégicas y rápidas relacionadas con sus anuncios que conlleven a un mayor retorno de inversión.
¿Qué le ofrece la AdWords API?
En la siguiente tabla se detallan y describen los servicios que ofrece la API:
Sección | Servícios | Descripción |
Manejo de campañas. | AdGroupAdService , AdGroupService , CampaignService , BulkMutateJobService | Manejo de sus campañas y anuncios. |
Orientación de sus anuncios | AdGroupCriterionService , CampaignCriterionService , CampaignTargetService | Manejo de las reglas que determinan donde y a que audiencia sus anuncios serán mostrados. |
Manejo de cuentas | AlertService , ServicedAccountService | Obtener información acerca de sus cuentas y posibles alertas que afecten sus campañas. |
Optimización de sus campañas | BidLandscapeService , ExperimentService , TargetingIdeaService , TrafficEstimatorService | Información y consejos acerca sus ofertas, palabras claves, estimaciones de tráfico y realización de experimentos. |
Reportes | ReportDefinitionService | Obtención de reportes acerca del rendimiento de sus anuncios. |
Extensiones | AdExtensionOverrideService , CampaignAdExtensionService | Manejo de extensiones a sus anuncios, como números de teléfonos, direcciones o información de sus productos a ser anexados a sus anuncios. |
Parámetros dinámicos | AdParamService | Que le permiten parametrizar sus anuncios para dinámicamente cambiar precios y cantidades en la descripción de sus anuncios. |
Multimedia | MediaService | Manejo multimedia, videos e imágenes asociados a sus anúncios. |
Servicios utilitarios | InfoService , CustomerSyncService, GeoLocationService | Utilidades para consultar el uso de la API, cambios en sus cuentas y geo-codificación de direcciones. |
Reventa | UserListService | Reventa de sus productos y servicios. |
Para mayor información sobre cada servicio, refiérase a la documentación de la API.
Acceso a la API
Para tener acceso al API usted debe solicitar un “developer token”. Este token lo identifica y debe ser incluido con cada llamada que se envía al API. Dicho token también lo identifica en términos de facturación, cada llamada tiene un costo en número de unidades de la API.
Para obtener más información de los costos de cada servicio consulte nuestra página de costes.
La tasa actual de cambio de la unidad es de 1000 unidades por cada $0.25, pero compañías que hacen uso de la API para anunciar sus propios productos y servicios se les provee una cuota de unidades gratuitas basado en las cantidad que le pagan a AdWords.
Para compañías que desean brindar servicios de publicidad a terceros se ofrece un programa de precios preferenciales basados en los servicios a brindar.
Para mayor información
Documentación, ejemplos, información técnica (en inglés en proceso de traducción).
http://code.google.com/apis/adwords/
Tutoriales cortos y artículos de gran importancia acerca de la API (generalmente en inglés)
http://adwordsapi.blogspot.com/
Anuncios cortos vía twitter (generalmente en inglés)
Preguntas? busca soporte? desea saber como otros usan la API?. Nuestro equipo del AdWords API puede contestarle sus preguntas a través de nuestro foro.
http://code.google.com/apis/adwords/forum.html
David Torres - Developer Programs Engineer de AdWords API
El éxito de la Chrome Web Store
- marzo 23rd, 2011
- News
- 0 Comments
La Chrome Web Store fue lanzada en Estados Unidos el diciembre pasado. Muy pronto se hará el lanzamiento a nivel internacional en 16 países. Desde el lanzamiento en diciembre hemos tenido oportunidad de ver la reacción de los desarrolladores pero sobre todo de los usuarios.
Técnicamente cualquier aplicación web existente puede formar parte de la Web Store, esto incluye tanto herramientas como juegos, estén hechos en flash o HTML5. Pero es importante saber que el concepto de app store viene popularizado por los móviles y por tanto la expectativa por parte de los usuarios puede ser diferente a la que podríamos esperar si accedemos a una aplicación tecleando una URL.
Para satisfacer tales expectativas existen ciertos principios que pueden hacer que una aplicación web sea realmente avanzada.
Subir una aplicación a la Web Store (tanto hospedada como empaquetada) no debería llevar más de media hora. Incluso existen algunas herramientas para facilitar el trabajo.
Si bien hasta ahora nos estábamos refiriendo a que características podrían marcar la diferencia en nuestra aplicación a nivel de concepto, los recursos técnicos para llevar a cabo tales tareas son las últimas características HTML5 que todo el mundo está hablando en estos días.
Si bien ya hemos dicho que la tecnología flash también nos serviría para nuestra aplicación son más y más las empresas que están invirtiendo en HTML5 para así minimizar el tiempo de desarrollo alcanzando a su vez el máximo número de dispositivos posibles. Incluso hay desarrolladores que después de haber creado la aplicación en HTML5 la han integrado en un WebView para así subirla en una mobile app store o incluso en la reciente Mac App Store para escritorio.
Los casos de éxito de pequeñas empresas en la Chrome Web Store no se han hecho esperar.
Los secretos de tal éxito son la facilidad al subir la aplicación a la Store, los recursos disponibles para optimizar la monetización y el incremento en el número de visitantes.
Esperamos veros a todos en la Store para el lanzamiento!
Versión final del SDK de Android 3.0
- marzo 10th, 2011
- News
- 0 Comments
El 26 de enero se lanzó el avance del SDK de Android 3.0 para que los desarrolladores empezaran a crear contenido de calidad para Honeycomb. La versión final del SDK Android 3.0 sale ahora para que los
desarrolladores empiezen a publicar en el Android Market.
HTML5 en Gmail para móviles
- diciembre 14th, 2010
- News
- 0 Comments
Hoy nos complace presentarte las mejoras que hemos realizado en Gmail para móviles en español, para su uso en el navegador web de los dispositivos iPhone y Android. Hace un año y medio, iniciamos el proceso de con mejores tecnologías de navegador. La combinación de , y el almacenamiento temporal dinámico nos ha permitido crear nuevas funciones: acceso en modo sin conexión, aplicaciones más rápidas, interfaces mejoradas y un proceso de actualización más sencillo para las nuevas funciones.
En primer lugar, creamos un breve contenedor JavaScript para las funciones de base de datos en HTML5 y Gears a fin de obtener compatibilidad con el mayor número posible de navegadores. El almacenamiento temporal sencillo de respuestas en la base de datos para su reutilización resultó útil, pero también fue necesario mantener una cola de acciones de usuario en la base de datos, por si el usuario se queda sin batería o debe apagar el teléfono durante un vuelo. Posteriormente, cuando el dispositivo vuelve a estar conectado a Internet, puede ejecutar la cola de correos y enviarlos, archivarlos, eliminarlos, etc.
Para lograr iniciar la aplicación en modo sin conexión, fue necesario ir más allá del API de base de datos. La especificación HTML5 resultó de gran ayuda, con una caché de aplicaciones capaz de almacenar todos los recursos en la aplicación web, lo cual permite al navegador cargarlos durante el modo sin conexión. Existe un pequeño inconveniente con esta API: una vez que decidas anular el modo de funcionamiento de las solicitudes GET de HTTP para obtener recursos de la caché de la aplicación, no puedes enviar una solicitud GET para un recurso que la caché desconozca. La especificación contiene métodos para ampliar las URI que la caché sabe que existen, pero estos puntos de entrada no están muy extendidos en los navegadores de producción. En lugar de esto, es importante utilizar solicitudes POST de HTTP para todos los datos dinámicos, ya que este tipo de solicitudes nunca se almacenan en caché y, por lo tanto, llegan a la red.
El resultado final es una aplicación web que se carga en modo sin conexión y te permite leer los mensajes de Gmail si los datos se han almacenado en caché previamente. También hemos añadido propiedades y para crear una interfaz de usuario elegante que se cargue rápidamente.
Si quieres probar la nueva aplicación web de Gmail para móviles, accede a gmail.com desde un dispositivo con tecnología de Android o un iPhone (SO 2.2.1 o superior). Para obtener más información acerca de HTML5, consulta el blog de Google Code.
Android, ¿Como consumir un Servicio Web?
- diciembre 13th, 2010
- News
- 0 Comments
Con esto agregamos contenido extra y no sólo construiremos una solución Android sinó que mostramos la interoperabilidad que podemos lograr utilizando Android.
¿Lindo desafío no?
Introducción
En primer lugar, para interactuar con SOAP utilizaremos una librería llamada ksoap2 for android.http://code.google.com/p/ksoap2-android/
De esta forma gran parte de la complejidad del desarrollo descansa en este componente. Luego generaremos una aplicación Android y un servicio Web Dotnet.
Servicio Web Dotnet
El servicio desarrollado en dotnet, es un web service tradicional sobre el framework 2.0 sin hacer uso de WCF.Fig.1 - Servicio Web - Dotnet C# - framework 2.0
[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Service : System.Web.Services.WebService { public Service () { } [WebMethod] public string SaludoAndroid() { return "Servicio de Nicolás!"; } } |
Code 1 - Código del Servicio Web en C#
Como podemos observar en el Code 1, el servicio web sólo posee un método de nombre “SaludoAndroid” y que su operación es devolver una cadena “Servicio de Nicolás!”
Aplicación Android
Vamos a generar una aplicación Android para la versión 2.2.Fig.2 - Proyecto Android General para la solución de llamada a un web Service
En primer lugar deberemos descargarnos la librería ksoap2 for android y luego referenciarla en nuestro proyecto android.
Fig.3 - Sitio de desacarga de ksoap2-android
Para el ‘layout’ de la aplicación no invertiremos tiempo ya que solo utilizaremos un textview para mostrar contenido de texto extraído del servicio Web.
Fig. 4 - Layout de la solución Android
En el manifiesto de la aplicación debemos tener en cuenta el agregar permisos al acceso a Internet como muestra la Fig. 5.
Fig. 5 - Manifiesto de la solución Android desarrollada
Finalmente realizaremos la codificación de la actividad que acceda al servicio web de la tecnología Dotnet y pueda mostrar los resultados en Android.
La clase “GetServicio” posee algunas variables necesarias para interactuar con la librería ksoap2:
private static final String accionSoap = "http://tempuri.org/HelloWorld"; private static final String Metodo = "HelloWorld"; private static final String namespace = "http://tempuri.org/"; private static final String url = "http://nicolasdotar/ServicioAndroid/Service.asmx"; |
Code 2 - Declaración de variables en la clase GetServicio
Luego todo el desarrollo se encuentra en el ‘onCreate’:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv = (TextView) findViewById(R.id.text1); try { //Modelo el request SoapObject request = new SoapObject(namespace, Metodo); //Modelo el Sobre SoapSerializationEnvelope sobre = new SoapSerializationEnvelope(SoapEnvelope.VER12); sobre.dotNet = true; sobre.setOutputSoapObject(request); //Modelo el transporte HttpTransportSE transporte = new HttpTransportSE(url); //Llamada transporte.call(accionSoap, sobre); //Resultado SoapPrimitive resultado = (SoapPrimitive) sobre.getResponse(); tv.setText("" + resultado.toString()); } catch (Exception e) { tv.setText(e.getMessage()); } } |
Code 3 - Evento Oncreate
Veamos el servicio web funcionando solo:
Fig. 6 - Servicio Web en funcionamiento local
Veamos la solución Android funcionando en el emulador consumiendo el servicio web:
Fig. 7 - Solución desplegada en el Emulador de Android
Finalmente, veamos como se construye paso a paso en el siguiente Vídeo:
Nicolas Bortolotti, Ingeniero U.T.N. Regional San Francisco - Comunidad Xcloud
Apúntate al Google Developer Workshop en Salamanca
- noviembre 29th, 2010
- News
- 0 Comments
Se trata de una jornada para desarrolladores en la que ponentes que trabajan día a día con los productos para programadores de Google nos contarán su experiencia y las mejores prácticas a la hora de programar aplicaciones para las plataformas de Android y Chrome. Es además una excelente oportunidad para conocer a otros desarrolladores que también están trabajando con estos productos.
Hablaremos sobre tecnologías móviles y web: Android, HTML5 y Chrome. La inscripción es gratuita, sin embargo, las plazas son limitadas por lo tanto es importante hacer la inscripción lo antes posible a través de este formulario.
La jornada empezará con una sesión de Google Chrome y HTML5 a cargo de nuestros amigos de Madpixel. Esta compañía española, creada en 1999, está especializada en soluciones innovadoras para Internet y cuenta con una amplia experiencia en productos de Google y web apps.
A continuación habrá una pausa para el café y después presentará Unkasoft sus aplicaciones para campañas de marketing móvil, videojuegos y advergaming en Android que están teniendo una gran aceptación en el mercado.
Finalizaremos la jornada de la mano de Aescolapius quienes nos presentarán un proyecto que nació en el club de innovación de la Universidad Pontificia de Salamanca. Su proyecto consiste en una silla de ruedas motorizada controlada por un móvil con programación Android. El control de la silla motorizada se puede realizar mediante voz, pantalla táctil, inclinación y reconocimiento facial.
¡Te esperamos en Salamanca para que celebres con nosotros el Google Developer Workshop!
Bosco Zubiaga, departamento de Marketing de Google Spain
Listando datos en AppEngine, ¿el servicio de mail me puede ayudar?
- noviembre 12th, 2010
- News
- 0 Comments
Fig. 1 – Modelo de Articulo Fig.2 – Modelo de persistencia propuesta en la clase dataArticulo Fig. 3 – ServletCrearArticulo Fig.4 – Representación de Articulos.jsp Fig. 5 – EmailServlet para la insteracción con el servicio de mail.
Generalmente nos encontramos con diversos problemas a resolver y automatizar en el desarrollo de aplicaciones, y sinceramente es muy probable que se desencadenen requerimientos que necesiten interacción de un servicio de mail para por ejemplo recibir peticiones de clientes en solicitudes de pedidos.En el artículo se plantea una simulación para mostrar la solución desarrollada con Google AppEngine. Con esta solución estoy pensando en un modelo de cloud computing, gozando de todos los privilegios que propone el concepto y además facilitando escalar rápidamente y a demanda de requerirlo en mi aplicación.
Para esta solución se utiliza el servicio de mail de appengine pero no para enviar mails sino para recibir peticiones y procesarlas y con ello mostrar en un listado muy simple los resultados del pedido.
Tecnología utilizada:
Vamos al desarrollo!. En primer lugar generaremos una solución en Eclipse para AppEngine y en esta oportunidad voy utilizar simples JSP para mostrar los resultados como presentación.
En primer lugar voy a generar las entidades del modelo que se requieren para resolver la problemática, en esta oportunidad solo requiero de una entidad Articulo.
La Fig.1 muestra el modelo de código implementado para la generación de la entidad Articulo.package xcloudPackage.shared;
public class Articulo
{
private String nombre;
private String descripcion;
private int precio;
public Articulo(String pNombre, String pDescripcion, int pPrecio)
{
this.nombre = pNombre;
this.descripcion = pDescripcion;
this.precio = pPrecio;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getNombre() {
return nombre;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public String getDescripcion() {
return descripcion;
}
public void setPrecio(int precio) {
this.precio = precio;
}
public int getPrecio() {
return precio;
}
}
Code. 1 – Código Fuente de la Entidad Articulo
Una vez generada la entidad de mi modelo que de hecho es muy simple, tengo que definir la estrategia de persistencia, en esta oportunidad voy a utilizar una clase bien simple que almacena en un arraylist.
La Fig.2 muestra el escenario de persistencia de la entidad Articulo, para este ejemplo se han definido dos métodos, uno que agrega Artículos y otro que lista la cantidad de artículos.package xcloudPackage.shared;
import java.util.ArrayList;
import java.util.List;
public enum dataArticulo
{
INSTANCE;
private static long number=1;
private final List
private dataArticulo()
{
//Sin implementar
}
public void Agregar(String nombre, String descripcion, int precio)
{
synchronized (this) {
number ++;
articulos.add(new Articulo(nombre, descripcion, precio));
}
}
public List
{
return articulos;
}
}
Code. 2 – Código Fuente de la solución de persistencia
Bien en el siguiente paso se requiere generar el servlet que de soporte a la inserción del articulo, para ello generaremos el “servletCrearArticulo”.
La Fig.3 muestra el servletCrearArticulo que me permite como ustedes puede visualizar obtener parámetros como el nombre, descripción y precio de un artículo y persistirlos utilizando la instancia de “data Articulo”package xcloudPackage.shared;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class servletCrearArticulo extends HttpServlet
{
public void doPost(HttpServletRequest a, HttpServletResponse resp)
throws IOException
{
String nombre = checkNull(a.getParameter("nombre"));
String descripcion = checkNull(a.getParameter("descripcion"));
int precio = Integer.parseInt(a.getParameter("precio"));
dataArticulo.INSTANCE.Agregar(nombre, descripcion, precio);
resp.sendRedirect("/Articulos.jsp");
}
private String checkNull(String s) {
if (s == null)
{
return "";
}
return s;
}
}
Code. 3 – Código Fuente del servletCrearArticulo
Como pueden observar en el Code 3, se realiza un “sendRedirect” a Articulos.jsp, vamos a generar esta página para poder completar los componentes necesarios para la visualización y solo quedará colocar la lógica de interacción con el servicio de mail.
La Fig.4 muestra el mecanismo de presentación para poder visualizar el listado de artículos que generaremos con cada envío de mail al servicio de appengine. Como podemos observar se mostrará en una tabla que posee como columnas, nombre, descripción y precio. Además no está detallado en el articulo pero a esta solución se le propone interactuar con la autenticación de Google para dar formalidad en ambientes más avanzados.
Finalmente vamos a construir el código fuente que permita procesar el email y persistir el mismo para poder visualizarlo en el listado anteriormente detallado de mi JSP.
Como se puede observar en la Fig. 5 se procesa el mail recibido y se realizar mediante la instancia de “dataArticulo” el agregado al escenario de persistencia, de esta forma podremos acceder al listado completo de artículos desde el JSP desarrollado.
Para completar el desarrollo tengo que detallar un punto importante, como es la configuración del archivo web.xml:xml version="1.0" encoding="UTF-8"?>
DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>CrearNuevoArticuloservlet-name>
<servlet-class>xcloudPackage.shared.servletCrearArticuloservlet-class>
servlet>
<servlet-mapping>
<servlet-name>CrearNuevoArticuloservlet-name>
<url-pattern>/newurl-pattern>
servlet-mapping>
<servlet>
<servlet-name>Emailservlet-name>
<servlet-class>xcloudPackage.shared.EmailServletservlet-class>
servlet>
<servlet-mapping>
<servlet-name>Emailservlet-name>
<url-pattern>/_ha/mail/*url-pattern>
servlet-mapping>
<welcome-file-list>
<welcome-file>/Articulos.jspwelcome-file>
welcome-file-list>
web-app>
Code 4 – Archivo de Configuración Web.xml
En el Code 4 se pude observar la declaración de los servlets necesarios para realizar la solución planteada en el articulo.
Finalmente podemos realizar una prueba local, y realizar el despliegue en la infraestructura de Google.
El siguiente Vídeo muestra la implementación del desarrollo descripto.
Espero les sea de utilidad!
Nicolas Bortolotti, Ingeniero U.T.N. Regional San Francisco - Comunidad Xcloud