Desarrollo de software en la nube


Si desarrollas para la nube programa en la nube

La computación en nube (Cloud Computing) y la virtualización permiten crear máquinas virtuales y el uso de los servicios basados ​​en la nube. Para desarrollar aplicaciones en la nube se debe puntualizar de qué manera se va realizar, existen distintas formas en las cuales se puede adoptar la nube las cuales son:

Infraestructure as a Service (IaaS): Hace referencia a la capacidad de los procesos y el almacenamiento. En este entorno se puede desplegar aplicaciones propias que por motivos de coste o falta de conocimientos no queremos instalar en nuestra propia empresa. El proveedor se encarga de su gestión y para el cliente se convierten todos los gastos en variables (sólo se paga por lo que se usa). Ejemplo: EC2 de Amazon y Azure de Microsoft.

cloud_stack

Platform as a Service (PaaS): Proporciona las herramientas y opciones necesarias para disponer de un espacio donde se ejecutarán las aplicaciones de la compañía, es decir un servidor de aplicaciones y una base de datos. El objetivo principal es el de instalarlas correctamente y luego ejecutarlas desde dicho lugar. Para incorporar PaaS, se deben tener en cuenta ciertas restricciones según el proveedor que la compañía contrate para disponer de este servicio. La idea principal es disponer de una plataforma completa que se gestione como dicho servicio.

Software as a Service (SaaS): Es una aplicación específica para un usuario final que realiza un pago por la utilización determinada de un software. La gran ventaja del SaaS es la disposición del software como un servicio con lo cual no es necesario que los usuarios adquieran un software propietario), instalarlo, configurarlo y mantenerlo. Ejemplo: Google Docs, Zoho o Office365.

¿Por qué desarrollar software en la nube?

La computación en nube y virtualización permite que sea fácil para los equipos de desarrollo combinar perfectamente múltiples entornos de desarrollo, prueba y producción con otros servicios en la nube. A continuación se menciona algunas ventajas que conlleva el desarrollo de software en la nube.

Pruebas en tiempo real. Cada vez que se realice la prueba al desarrollo se estará validando que el desarrollo va bien en la nube.

Mejorar la experiencia de los clientes. Sin necesidad de crearle nada especial, simplemente se tiene que dar la dirección de tu servidor y podrá dar opiniones sobre el software.

Programar desde cualquier sitio. No necesitas depender de tu portátil o de una máquina física para entrar en tu código, puedes programar desde cualquier sitio que te imagines.

Plataformas de desarrollo en la nube

A continuación, se muestran algunas plataformas de desarrollo en la nube:

Google App Engine

googleApps

Google App Engine permite crear y alojar aplicaciones web en los mismos sistemas con los que funcionan las aplicaciones de Google. Google App Engine ofrece procesos de desarrollo y de implementación rápidos, y una administración sencilla, sin necesidad de preocuparse por el hardware, las revisiones o las copias de seguridad y una ampliación sin esfuerzos. Descubre por qué los desarrolladores eligen App Engine.

Zend Developer Cloud

PHP-Cloud

Zend Developer Nube, es un entorno basado en la nube diseñado para ayudarle a desarrollar más rápido y más eficientemente. Incluye una robusta pila PHP, capacidades de depuración avanzadas, herramientas de colaboración y mucho más.

AppFog

appfog

Una de las mejores Cloud PaaS, está disponible en las nubes privadas manera simple, elegante y moderna para desarrollar y desplegar aplicaciones. Aplicaciones ilimitadas dentro de 2 GB de RAM, hasta 8 instancias de servicio de 100 MB por MySQL o PostgreSQL instancia.

OpenShift

OpenShift

Es la PaaS autoescalable y gratuite de Red. Como una plataforma de aplicaciones en la nube, OpenShift gestiona la pila para que tú te concentres en tu código.

Malware en la tienda Google Play

Hace poco se pudo descubrir en la tienda de google play un malware llamado Bad News, el cual fue retirado inmediatamente después que la empresa de seguridad Lookout Mobile Security le comunicó a Google sobre el mismo.  Igualmente el mismo ha causado daño y se calcula que fue descargado entre 2 y 9 millones de veces.  Este malware estaba presente en 32 aplicaciones de 4 desarrolladores distintos.

Según informa Lookout Mobile Security, Bad News trabaja capturando los números de teléfono y números de serie del dispositivo.  En algunos casos notaron que inyecta un troyano llamado AlphaSMS.

Lo diferente de esta amenaza es que fue introducido como parte de una red de publicidad, que enviaba mensajes de noticias falsas e incitaba a los usuarios a instalar aplicaciones que incluían más malware.

Este tipo de ataques sobre android es cada vez más frecuente, es lógico que invadan una plataforma de código abierto que tiene éxito en el mercado, pero lo que es reprochable son las medidas de seguridad que toma google sobre las aplicaciones que ofrecen en su tienda virtual, esto no debería pasar con un proveedor confiable como google, es normal que este tipo de código este en una aplicacion descargada de un proveedor dudoso, no podríasmos hacer ningún reclamo al respecto debido a la naturaleza de su procedencia.

Aplicaciones MySQL GUI

Que es un GUI?

Un GUI (Graphical User Interface)  o Interfaz Gráfica de Usuario es un programa aplicación que permite de forma visual realizar algunas tareas de manera más rápida, intuitiva y eficaz saliendo de la consola utilizando un conjunto de imágenes para este motivo.

Así es que de este modo como desarrolladores siempre intentaremos ganar algo más de tiempo en las tareas y algunos de los GUI que utilizaremos más seguido serán desde un editor de texto hasta alguna herramienta que pueda ayudarnos a realizar diagramas y queries elaborados.

Tambien un GUI Mysql puede ser de gran ayuda al momento de consultar un servidor externo

Algunos GUI para Mysql

guimysql_1

Es una aplicación Abierta pensada para SO Windows, pero que tambien corre dentro de Linux con ayuda de wine. Nos ofrece muchas mejoras en sus versiones previas a la oficial. La ultima version oficial fué 7.0 y lo pueden descargar desde el siguiente link

Entre algunas de sus características tenemos:

  • Auto Ordenado de Consultas Ctrl+F8 y ordena un query de una linea a varias haciéndolo más legible.
  • Guardado de querys como snippets (fragmentos)
  • Filtrado de base de datos para poder ubicar mas rápidamente, filtrado de tablas, filtrado registros dentro de una tabla (mismo que se puede convertir luego en un query)
  • Auto completado en el editor con Ctrl + Space
  • Exportaciones entre Bases de datos (con un detalle de registros y % de progreso por tabla)
  • Administración de indices de forma visual
  • imagepreview en campos BLOB
  • Conexión a diferentes BD con administración de carpetas
  • Detalles de tablas y vistas que pueden ser cambiados entre columnas.
  • logs de los queries ejecutados
  • Update Check que verifica la versión que tienes y puede actualizar a la ultima versión. Generalmente la aplicación realiza una actualización diaria.

Una captura de la interfaz, podrán encontrar más en el sitio en este link

gui_mysql_2

gui_mysql_3

Otro buen GUI para mysql es SqlYog quien también se renovó recientemente con mejora en la edición de  datos en tabla a modo de formulario, lamentablemente esta aplicación es de Paga, pero también tiene una versión community pensado nuevamente solo en SO Windows, pero que también funciona muy bien en Linux con ayuda de Wine. Pueden descargarlo desde este link

Algunas características de este GUI son:

  • Permite Copiar las bases de datos de manejar muy sencilla
  • Sacar dumps velozmente.
  • Tiene auto completado de query con el tecla Tab
  • Logs de los queries ejecutados
  • No puedes filtrar entre tus bases de datos lo cual dificulta si tienes una gran cantidad de bases de datos.
  • No puedes filtrar entre tablas
  • Tienes que ordenar los queries manualmente.
  • El verificador de nuevas versiones solo dirige al sitio oficial.

Adjunto una imagen de como se ve corriendo en mi equipo pueden ver mas capturas en el sitio oficial

gui_mysql_4

gui_mysql_5

Esta es otra aplicación bastante util para poder modelar una base de datos y de ahí poder convertir este modelo en tablas reales en tu base de datos. es totalmente libre promocionado por mysql y lo pueden descargar desde el siguiente link pueden bajarlo para SO windows y Linux (deb)

Características:

  • Diseño y modelado de Base de Datos
  • Desarrollo y Administración de SQL (este no es muy avanzado y puede resultar algo incomodo en comparación con las demás opciones mencionadas)
  • Migración de Base de Datos

A criterio personal no existe mejor herramienta para modelado y diagramación que WorkBench ya que nos facilita el trabajo de crear los campos en base de datos.

A continuacion dejo una Captura

gui_mysql_6

gui_mysql_7Esta es una opción reciente que encontré de la cual tengo muchas expectativas. La primera que me llamo la atención es que es plataforma Windows Linux (rpm, deb) y IOs lo pueden  descargar desde el siguiente link

Caracteristicas:

  • Valentina puede trabajar con DB, MySQL, Postgre y SQLite.
  • Maneja multiples bases de datos y multiples operaciones en tabs y vistas.
  • manejo de esquemas de base de datos (al estilo de workbench) con arboles, columnas, etc.
  • Administración de Procedimientos.
  • Data Editor browses/sorts/filters records, export found records, inline edits records, previews images.
  • Editor SQL soporta auto completado, sintxis de colores, logs, etc.
  • Utilidades de diagnostico y reparación de Bases de datos.

gui_mysql_8

Finalmente quería contarles sobre otra GUI esta vez web que nos ayuda siempre al momento de instalar alguna base de datos en un servidor que no tiene acceso externo. es 99% seguro que tendrá phpmyadmin.

Características principales

  • Creación de Bases de Datos
  • backup en zip, tar, tar.gz (formatos comprimidos cargan mas rápido a la hora de restaurar)
  • Filtros por tablas a nivel de campo
  • Formularios de administración de registros
  • Manejo de usuarios
  • Impresión.

Adjunto una captura de pantalla.

gui_mysql_9

Finalizando espero les haya gustado el post y tengan en cuenta que existen muchas mas GUI para Mysql y de las cuales solo detallo las que he podido utilizar. Como siempre espero esta información pueda ser de utilidad para todos.

Escrito por: Gaston Nina

Herramientas Web 2.0 para crear presentación online

Las presentaciones digitales son un forma muy común de exponer en diferentes ámbitos (colegio, universidad, empresa o en cualquier reunión que a merite el apoyo de este tipo de elementos). Normalmente la costumbre de muchos es elaborar presentaciones en el conocido “PowerPoint”, pero a veces esto resulta ser algo tan común que puede aburrir a los espectadores y terminar opacando la presentación.

La mejor manera de hacerlo es a través de herramientas que sean llamativas, interactivas y sobre todo que puedan generar un gran impacto, y que mejor que hacer uso de herramientas Web 2.0 que están a nuestro alcance

A continuación un resumen de algunas de ellas:

Prezi

prezi

Prezi es una herramienta de presentación online que permite crear presentaciones con un aspecto visual muy llamativo a las presentaciones. Actualmente es una de más utilizadas. Tiene la opción de poder utilizarse de manera online o también incluye una versión de escritorio pero solo para los planes de pago. Con cualquier plan se puede crear fácilmente presentaciones propias y compartirlas en línea o descargarlos para verlas sin conexión.

SlideRocket

SlideRocket

SlideRocket permite crear presentaciones desde templates existentes o subir tus archivos de PowerPoint. La herramienta permite colaborar con equipos de trabajo para trabajar conjuntamente en las presentaciones, y cada presentación puede ser compartida por una URL o incrustados en páginas web y blogs. SlideRocket incluye información estadística detallada que le permite ver quién ha visto la presentación, de dónde, cuánto tiempo se esaába en cada diapositiva. SlideRocket es de pago y cuesta $ 24 por usuario al mes con una prueba de 14 días disponible gratuitamente.

PreZentit

PreZentit

PreZentit es una herramienta para crear presentaciones de forma gratuita, actualmente se encuentra en fase beta y su única limitación es 250 Mb de almacenamiento de imágenes. Con PreZentit se puede crear presentaciones en línea, y otros usuarios tienen la opción de trabajar en la presentación al mismo tiempo. Las presentaciones creadas tienen la opción de ser públicas o privadas, y se pueden descargar y ver sin conexión. Las presentaciones creadas, tienen un formato de páginas Web, por lo que es factible la edición si asi se lo requiere.

Empressr

Empressr

Con Empressr se puede subir imágenes, vídeo y audio para crear presentaciones online. Las presentaciones se pueden compartir con sus contactos o “incrustados” en páginas Web y blogs. Desde la parte administrativa de la cuenta se puede ver quién y cuántas personas han visto la presentación. Empressr es una herramienta gratuita.

Tiki-Toki

Tiki_Toki

No todas las presentaciones tienen que ser necesariamente de la manera convencional, esta herramienta nos permite mostrar la presentación de manera lineal, en un modo de Linea de Tiempo.

Ahora, y finalmente, si lo que se quiere es realizar la presentación utilizando únicamente código HTML5 y transiciones CSS3, entonces podemos recurrir a librerias como Impress.js, del cual ya se habló en una anterior entrada: http://bit.ly/11SlO37

ERPAL ERP

erpal_tagcloud_web

A fin de que las empresas tomen las mejores decisiones para su empresa , hoy más que nunca requieren de herramientas estrategicas para la toma de decisiones y estrategias de negocios. Las soluciones ERP ofrecen una completa gestión financiera, analítica y de negocio que unifica información y procesos en toda la organización, además se integra fácilmente con otras soluciones.

¿Qué es un ERP?

Un ERP es un sistema de planificación de recursos empresariales (Enterprise Resource Planning), diseñado para proporcionar la información necesaria para llevar a cabo la mayor parte de decisiones críticas en la empresa, ofrece una completa gestión financiera, analítica y de negocio que unifica información y procesos en toda la organización.

Su objetivo es coordinar todas las actividades de negocios de la empresa,desde la evaluación de un proveedor hasta la  facturación para un cliente. ERP utiliza una base de datos centralizada para ayudar el flujo de información entre los distintos departamentos de la empresa, es una forma de utilizar la información en áreas claves como  compras, administración de inventario, control financiero, administración de recursos humanos,logística, ventas, mercadeo y administración de relaciones con clientes. Se trata de unir estos elementos y proporcionar a los usuarios del sistema una manera universal de acceder, ver, y utilizar la información que se guarda en diferentes sistemas de gestión empresarial a través de una sola aplicación.

erpal_logo2

ERPAL ERP

ERPAL es un ERP  completo , libre (open source) , es el nombre combinativo entre ERP y Drupal pues fue desarrollado en Drupal 7 y ahora es una distribución importante de Drupal.  es una herramienta que tiene el objetivo de consolidar todos los procesos de la empresa en lugar de utilizar varias herramientas que no son compatibles entre si y no son capaces de compartir datos entre ellas. ERPAL  permite administrar todas las tareas diarias de la empresa en una solución inteligente integrada.

Cuenta con una comunidad activa y la ventaja de haber sido desarrollado en Drupal lo cual lo hace seguro y flexible. Por otro lado al ser una solución open source no es costosa y se obtiene un gran ahorro en comparación a las soluciones ERP privativas que tienen precios desbordantes.

ERPAL tiene las siguientes areas:

  • ERPAL CRM

CRM para gestionar fácilmente y con claridad el contacto con los clientes. Posee un recordatorio de registro de las oportunidades interesantes. También puede vincular ERPAL a su sistema telefónico. Una gran característica, la cual no representa ningún sistema ERP. Ademas de sincronización con outlook , thunderbird y smathphones.

  • ERPAL DMS

Manejardor de documentos (Document Managment) que permite añadir documentos a ERPAL mediante arrastrar y soltar, ponerles etiquetas y hacer versiones de estos.

  • ERPAL Project Managment

ERPAL permite manejar la gestión de proyectos, desde la especificación de requerimientos, terminos de referencia, planes de proyectos, diagramas de gantt, informes de gestión de recursos y tiempos de seguimiento.

  • ERPAL Resources

Sofisticada gestión de los recursos humanos. donde  se puede ver inmediatamente en que proyectos los empleados estan participando activamente o si incluso se encuentran de vacaciones.

  • ERPAL Factura

Creación y gestión de facturas en un instante. Las estadísticas siempre muestran un resumen de los pagos de los clientes. Las facturas se pueden exportar como un archivo PDF.

  • ERPAL Members

ERPAL Miembros ofrece una descripción general de datos (tiempo de los empleados, horas de trabajo, vacaciones,asignación de proyectos) tanto para sus empleados y la administración de personal.

  • ERPAL Spaces

Invite a sus clientes a un proyecto, sólo con los datos que relevantes para ellos. Gracias a los grupos de trabajo se pueden organizar actividades y contenidos en grupos y tener un control total sobre la visibilidad de sus datos.

  • ERPAL Wiki

Mediante la wiki de ERPAL se  mantiene el conocimiento del negocio y así se asegura la continua construcción de la base de una sociedad del conocimiento interno. E incluso si un empleado se va, su experiencia se mantendrá en la empresa.

  • ERPAL News

Internamente noticias pueden ser publicadas por este canal. Anuncios de celebración de festividades, un nuevo empleado haya sido contratado o alguien quiere regalar su viejo sofá a sus colegas.

  • ERPAL Passwords

Con contraseñas ERPAL se puede almacenar de forma segura y cifrar las contraseñas comunes. Por lo que se garantiza que no se olvide la contraseña de nuevo.

Páginas de interes:

sitio:    SITIO ERPAL

demo:  DEMO ERPAL

ERPAL un ERP que esta comenzando con un futuro prometedor.

El papel del software libre en Bolivia y américa latina

Money

Bolivia al igual que muchos países de américa latina tiene un porcentaje de uso de software privativo superior al software libre, la causa principal no es la compra de licencias de software privativo, la principal causa es la piratería y el desconocimiento que se tiene acerca de los tipos de software existentes. En algunos casos los usuarios del software creen que el software que viene grabado en un medio magnético (CDs, DVDs) y por el que pagan un módico precio es software privativo  y el software que descargan desde sitios en internet es gratuito.

Según las estadísticas, el software privativo es el más difundido y usado en el mundo, ya sea por medios magnéticos o por internet y la excepción no es américa latina

Existen diferencias variadas y muy marcadas entre ambos tipos de software de las cuales podemos mencionar las siguientes:

–          Libertad de modificar, estudiar y distribuir el código/software (punto para el software libre)

–          Facilidad de uso, masividad de recursos, mayor soporte de hardware, mayor integración de aplicaciones. (punto para el software privativo o de paga).

Recientemente el gobierno del Estado Plurinacional de Bolivia ha renovado su apoyo por el software libre incentivando a que las personas utilicen este tipo de software. Prueba fehaciente de este apoyo es el hecho que recientemente el 1ro de Abril Richard Stallman (Fundador del movimiento del software libre) dio una conferencia en la Viceprecidencia dirigida a ampliar los conocimientos del software libre y promover su uso. Otra estrategia que empleo el gobierno de Bolivia para fomentar el uso del software libre se realizó a través de la reforma educativa que se lleva a cabo en este país, durante la mencionada reforma se distribuyó computadoras portátiles a todos los maestros de Bolivia, estos equipos cuentan con 2 sistemas operativos,  Microsoft Windows (Software privativo) y Ubuntu (Software libre), las aplicaciones instaladas en ambos sistemas operativos son gratuitas, de esta manera se pretende introducir el software libre en las instituciones educativas de nivel inicial.

En cuanto al crecimiento del uso del software libre ciertamente se ha efectuado un cambio importante y el software libre se ha puesto de “moda” incrementando su uso principalmente en unidades de educación superior como Universidades, Institutos superiores, y reparticiones gubernamentales. A pesar de este incremento aún queda mucho por hacer para que el uso del software libre iguale o supere al uso del software privativo.

Según proyecciones se tienen grandes esperanzas por lograr que el software libre incremente su uso en américa latina, en este aspecto Venezuela es uno de los pioneros en emplear políticas de uso del software libre sin dejar de lado a Brasil que fomenta el uso masivo de software libre. Por otra parte, como medio paliativo contra la piratería,  la industria del software privativo empieza a migrar sus aplicaciones más vendidas a la “nube” (cloud computing) pretendiendo de esta manera dar un freno a la piratería, tal es el caso de Microsoft, quien con su versión “Office 365” pretende que la instalación y el uso del software se realice en la nube y que las licencias sean temporales, también podemos mencionar a Adobe con “Creative Cloud” una suite de desarrollo donde pretende migrar sus aplicaciones estrella, puede que este cambio logre definir el camino que los usuarios tomarán a la hora de elegir el tipo de software a utilizar.

La tendencia actual puede inclinar la balanza para el software libre pues comprar licencias sean estas temporales o completas puede ser costoso e inducir a los usuarios a elegir el software menos costoso siempre y cuando cumpla sus necesidades.