sábado, 30 de agosto de 2014

Googlenloqueciendo o pensando en Google


Google es una empresa que se caracteriza por ser innovadora, cada año realiza su famoso Google I/O, un evento al que toda persona interesada en tecnologías de la información le gustaría estar presente, en este evento google lanza lo último de sus investigaciones e invenciones, está claro que google es una empresa I + D, pero que hay detras del exito de google, muchos nos preguntamos esto a cada momento, tengo muchas teorías en las cuales siempre están presentes los siguientes factores: personas, comunidad, filosofia, software libre y open source.


Cada uno de los factores antes mencionados colabora con el éxito y el crecimiento exponencial de google, si hacemos un análisis podemos notar que google se preocupa por reclutar a personas para ser embajadores, casi al extremo de llegar a ser fanáticos religiosos a los cuales llamo “Googleistas”, ya que estos se encargan de reclutar a otros y por así decirlo crear su religión, refiriéndose a que google siempre tiene lo mejor, ciertamente he notado que estas personas tienen poder para convocar masas, sabe usar los servicios de google y vender los beneficios de sus productos y servicios, pero no entiende la esencia del producto o servicio, claro también esta la otra cara de la moneda y son aquellas personas que también les gusta tecnología google y entiende la esencia de los productos y servicios de google, pero no se cierra a otras opciones como son microsoft, amazon, dropbox, yahoo, etc.
El factor comunidad es quizá el más interesante, ya que se relaciona con todos los demás factores, una comunidad es un colectivo de personas con intereses comunes, donde vemos reflejada una filosofía basada en la ayuda mutua, trabajo colaborativo, compartir, aprendizaje continuo, enseñar, autodidacta e investigar. Google es el éxito de hoy gracias a su táctica de lanzar productos y servicios en fase MVP(Producto mínimo viable) para que la comunidad en general le brinde retroalimentación para mejorar su producto o servicio, ya sea comentando sobre la experiencia de usuario o informando de posibles errores y vulnerabilidades.


El Open Source y el software libre tienen una relación muy estrecha, google aprovecha la comunidad para desarrollar y tener una mejora continua de sus productos y servicios, por esta razón libera código de productos y servicios para que las comunidades open source y de software libre brinden soporte y lo desarrollen.


Si todo lo expuesto anteriormente otorga un éxito rotundo  a Google, porque es que aun en latinoamérica y  para ser más específico en Perú aún no tiene el mercado que uno espera, ya que sus productos y servicios los usan pocas empresas.


Si volvemos a los factores expuestos anteriormente, podría decir que si existen personas que usan tecnología google y la promueven, pero esas personas no son técnicamente las adecuadas para hablar de la esencia del producto o servicio, crear comunidad y replicar siempre los mismo ejemplos y a veces coger los publicados en las páginas de google developer no es la mejor forma de enseñar y ganar nombre en la comunidad, mostrar siempre lo mismo aburre.


Las personas referentes a las cuales google les otorga las insignias de Google Developer Expert y Manager Google developer Group intentan promover tecnologías google en Perú, pero cómo mencione antes hacer siempre lo mismo aburre, encima la cultura del peruano es ser un consumidor de información y poco aporta a la comunidad, claro “copia noticias”, pero eso a mi no me aporta conocimiento, solo me mantiene informado.


Google siempre tiene documentacion actualizada, la mayoría en ingles, pero el problema no es el idioma, porque para esto ya tenemos google traductor, el problema es la información a medias, si quieres combinar google con otras tecnologías tienes que sufrir, esto a raíz de la falta de información.

He escuchado en muchas comunidades hablar de aplicaciones en la nube y aplicaciones móviles híbridas y la verdad nunca comparten código que avale sus argumentos, es por esta razón que deseo estudiar, analizar y aplicar servicios y herramientas google para el desarrollo de aplicaciones en la nube, así cómo convertir estas en una aplicación híbrida.

jueves, 21 de agosto de 2014

Cloud computing - Prologo


Cloud computing es un término usado para describir servicios brindados por terceros para satisfacer necesidad corporativas o individuales, por dar algunos ejemplos: servicios de hosting, servicios de correo corporativo(google, microsoft, yahoo, etc), servicios de almacenamiento en la nube(DropBox, SkyDrive, Google Drive, etc), servicios de almacenamiento de imágenes(Flickr, Picasa, etc), cada día que pasa el mundo adopta esta forma de trabajo, porque le permite ser más productivo y no tiene que realizar grandes inversiones para implementar servicios que existen en la Nube(Internet).

El cloud computing permite a las pequeñas y medianas empresas estar  al mismo nivel que las grandes corporaciones, al adoptar tecnología de punta para sus servicios, además de ahorrar en costos de servidores propios, invertir en la seguridad física de los mismos, tener una área de sistemas(Es ideal tercerizar este servicio), olvidarse de la seguridad lógica(accesos sin permiso a servidores, ataques de denegación de servicios, etc), ahorrar gastos de luz y refrigeración de sala de servidores y muchas cosas más.

Quizá las empresas y las personas aún se resisten al cambio por miedo a confiarle su información a terceros, sentir que su información no es completamente suya, por no tenerlo en sus servidores propios, es normal sentir miedo a confiarle información a terceros y además no tener disponibilidad de mis servicios cuando lo requiera, pero justamente los proveedores de servicios en la nube en sus contratos deben comprometerse a no divulgar la información de sus clientes, mantener el servicio disponible cuando sea requerido, claro jamás sabremos si respeta dichos acuerdos, pero hay formas de mitigar el riesgo, ya sea clasificando la información para ser encriptada mediante algún algoritmo(AES,DES, etc) y si duda que en algún momento perderá su información, le aseguro que los proveedores también han pensado en eso, permitiendo al cliente hacer backups de su información.

Hasta ahora hemos hablado del cloud como servicios listos para ser implementados y usados, pero ahora existe servicios de cloud para crear nuestras aplicaciones en la nube, entre ellas tenemos a las empresa Google con su servicio Google App Engine y Amazon con su servicio Amazon Web Service entre otras cómo Heroku, OpenShift, estos servicios permiten a las empresas pensar en las aplicaciones que necesitan, ya que dichos servicios proporcionan la infraestructura física con sus servidores de alta gama y sus plataformas listas para ser acogidas por las empresas para soportar sus aplicaciones.

Los servicios de cloud cómo Google App Engine y Amazon Web Service nos muestran un mundo de posibilidades, pues nos facilita la creación de aplicaciones web, las cuales son escalables a otras tecnologías como es el software desktop y aplicaciones móviles, creando un web service ya sea mediante el protocolo SOAP o REST, es claro que ahora las empresas tienden a tener sus aplicaciones en varios tipos de dispositivos y plataformas tecnológicas o sistemas operativos, y más aún si hablamos de dispositivos móviles, existen varias plataformas como son (IOS, Windows Phone, WebOS, Android) entonces aquí surge una interrogante ¿debo crear aplicaciones nativas para cada una de estas plataformas? o ¿creo una aplicación híbrida? , las aplicaciones híbridas nos permiten desarrollar una sola vez y construir aplicaciones para diferentes plataformas, es claro que no aprovecha muy bien los recursos cómo las aplicaciones nativas, pero probar tu servicio en varias plataformas es ideal para testear el mercado, entonces solo queda evaluar y tomar la decisión.

Las aplicaciones Móviles híbridas hacen uso de tecnología Web, como son HTML5, CSS3 y  javascript, claro para comunicarse con el server tienen que usar tecnología Rest o JSONP(JSON con Padding) entre otras, y si ven no hablo de JSON porque en este caso JSON no permite intercambiar datos con servidores externos a mi server por la política del mismo origen (SOP), entonces una vez terminado el desarrollo necesitamos una herramienta que permita convertir mi desarrollo móvil a plataformas móviles, ahí es donde entra Adobe volviendo a reaparecer con su famoso phonegap build para salvarnos.



Bueno sin más solo queda decir que el mundo del cloud computing cambiará la forma de trabajo de las empresas y la información se centralizará en esos servidores ofreciendo seguridad y disponibilidad de datos y servicios.

domingo, 10 de agosto de 2014

Intregación Datanucleus JDO con Netbeans y Base de Datos Oracle


lunes, 4 de agosto de 2014

Bug IDE Netbeans 7.x - Error en Dist


Google+ Badge

Entradas populares