Blog de Daniel Zegarra Rotating Header Image

Tutoriales

Decidirse entre Zend AMF, AMFPHP, WebORB, …

Para mi, decidir que framework usar para conectar una aplicacion Flex/Flash con un servidor PHP es todo un dilema debido a que mi eleccion influrira mucho en mi calendario de trabajo. Supongo a muchos les  pasara que se familiarizan con un pequeño grupo de lenguajes y/o  frameworks y lo utiliza en todo proyecto que crea conveniente. Asi era yo con AMFPHP, el primer gateway AMF que conoci alla cuando Flash 8 era el ultimo lanzamiento de Macromedia.

En si tenemos tres o cuatro candidatos potenciales y estos son: Zend AMF, AMFPHP y WebORB. A continuacion comento las caracteristicas de cada uno.

AMFPHP es creo, sin lugar a dudas, la mejor alternativa si deseas conectar tu aplicacion Flex o Flash con un servidor PHP (y este a su vez con la BD) y no deseas tener que pasar por una larga curva de aprendizaje. AMFPHP es ligero, incluye una gestion de roles bastante simple, no es necesaria su instalacion, soporta mapeo de clases (VOs) y por ultimo, incluye un navegador de servicios para que puedas probar los mismos rapidamente. Ademas, soporta AMF0 y AMF3 (por si usas AS2 o AS3) de forma transparente. Ademas, viene preparado para comsumir Web services. Entre sus desventajas estaba la falta de soporte. La persona detras del proyecto lo abandono dejandolo en una version beta (y sin la nueva documentacion completa) durante un par de años  pero recientemente su desarrollo acaba de ser retomado y gracias a ello, se acaba de lanzar, por fin, la version 1.9 oficial.

El siguente es Zend AMF, desarrollado por Zend (la empresa detras de PHP) es el mas apoyado de todas las alternativas debido a que tiene la venia de Adobe y, obviamente, es desarrollado por Zend. A pesar de esto, carece de caracteristicas que AMFPHP o WebORB ya ofrecen (como seguridad integrada y un navegador de servicios) obligandote a implementarlas tu mismo o, lo que es mas facil, a vivir sin ellas. Pero su gran ventaja es que al ser una parte de Zend Framework (aunque se puede descargar de manera independiente) se acopla perfectamente a su arsenal de herramientas lo que es muy util, creeme. Hoy acabo de enterarme que el problema de la lenta serializacion de datos que Zend AMF tenia en versiones anteriores acaba de ser solucionada de manera oficial en la version 1.10.4.

El tercero es WebORB. Si tuviera que definirlo en una sola palabra esa seria “Completo”. Tiene tantas caracteristicas que impresiona. Un administrador de servicios decente junto con opciones pensadas para ahorrarle al desarrollador la necesidad de escribir codigo, incluye su propio administrador de acceso a servicios y metodos ademas de un administrador centralizado para el mapeo de clases. Sin lugar a dudas es el que ofrece mas opciones a simple vista. El problema de WebORB es justo eso, ofrece tantas opciones que pueden confundir al novato, darle una sensacion de demasiada complejidad.

Escribo este post porque hace poco he pasado de AMFPHP a Zend AMF. Me costo hacer la mudanza debido a que tenia muchas clases que recibian matrices asociativas como parametros (AMFPHP mapeaba los objetos de Flash en arrays asociativos y Zend AMF lo hace como objetos) y basaba casi toda la implementacion de seguridad en el metodo beforeFilter de cada clase/servicio.

Como armar una nevera casera (en Polonia)

Se puede decir que aqui hay tutoriales para todo :)

Porque si tengo un plan de datos de 6Mb no descargo a 6Mb?

Esta pregunta se la hacen casi todos los usuarios de internet que acostumbrar descargar gran cantidad de datos y se sienten frustrados por que sienten que no llegan a la velocidad que su proovedor de internet les ofrece.

Lo que ocurre es lo siguiente: El plan que usted tiene contratado no es de 6 Megabytes sino de 6 Megabits (notese la diferencia en rojo).

Como usted sabra la informacion suele medirse en Kb (Kilobytes), Mb (Megabytes), Gb (Gigabytes) y asi sucesivamente. En cambio la velocidad de transmision de datos se cuenta en Kbps (Kilobits por segundo), Mbps (Megabits por segundo), Gbps (Gigabits por segundo), etc (notese nuevamente en las terminaciones en rojo).

La diferencia entre un byte y un bit es que un byte equivale a 8 bits (1 byte = 8 bits). Entonces, para obtener la velocidad en multiplos de bytes solo debemos dividir la velocidad dada por nuestro proveedor entre 8.

A continuacion un ejemplo:

Ahora, el resultado de la conversion tampoco es la velocidad que obtendremos de nuestro proveedor. Al resultado hay que restarle otros factores, como la congestion de los servidores, la calidad de la conexion y la perdida de paquetes. Por esta razon, si lees detalladamente el contrato, tu proveedor solo te asegura un 80% o 90% de la velocidad contratada.

Apesta no? pero esa es la verdad.

Que es BitLocker?

Es la tecnologia con la cual Microsoft ofrece encriptar (mediante software) la data de un dispositivo de almacenamiento masivo, sea un disco duro o memoria USB, usando una contrasena, una tarjeta inteligente o nuestros datos de sesion de windows y tener acceso a ella de forma transparente, osea, conectar el dispositivo, escribir la clave y listo.

Desbloqueando una unidad en Windows 7

Desbloqueando una unidad en Windows 7

La idea es buena y atractiva, sobre todo si solo eres un usuario de Windows Vista o 7 donde la tecnologia viene incrustada en el sistema operativo, pero que sucede con el resto?

Desbloqueando una unidad en Windows XP

Desbloqueando una unidad en Windows XP

Microsoft copia en el dispositivo los archivos necesarios para tener acceso a los datos en sistemas operativos de Microsoft previos a Windows Vista. A estos archivos Microsoft llama BitLocker To Go y si bien cumplen con su tarea, el modo de acceso a los datos deja de ser transparente. BitLocker To Go consiste en una aplicacion que se ejecuta automaticamente al conectar el dispositivo y muestra el contenido desencriptado en un explorador incluido con la aplicacion lo que conlleva muchas limitaciones:

  • Los datos solo pueden ser leidos por esta aplicacion.
  • Los archivos deben ser extraidos del dispositivo para poder usarlos.
  • Estas muerto si buscas un archivo y no tienes idea de en que directorio lo guardaste.
BitLocker To Go, un navegador de archivos muy austero.

BitLocker To Go, un navegador de archivos muy austero.

En conclusion, si cargas con informacion confidencial e intentas ahorrar dinero comprando una memoria externa sin encriptacion por hardware y tan solo usar una solucion de encriptacion por software como BitLocker, entonces, ten en cuenta que requieres de Windows Vista Ultimate o Windows 7 Ultimate para no arrepentirte.

Desactivando BitLocker (Panel de Control -> Cifrado de unidad BitLocker)

Desactivando BitLocker (Panel de Control -> Cifrado de unidad BitLocker)

Notas importantes
Solo Windows 7 Ultimate cuenta con soporte transparente para BitLocker
Solo Windows Vista Ultimate cuenta con soporte transparente para BitLocker
BitLocker Drive Encryption en Wikipedia en Espanol

La distribución Linux adecuada

Mi primer contacto con Linux fue gracias una revista de esas que llevan un disco de aplicaciones dentro. Esta era una distribución que se instalaba como una aplicación de Windows y modificaba a voluntad los archivos de arranque de Windows 98 para cargarse. Así que cada vez que querías usar este “Linux” tenias que entrar a Windows y correr esta aplicación la cual te hacia reiniciar la PC con Linux y al próximo reinicio volvías a Windows nuevamente.

En ese entonces mi primer contacto con Linux fue traumático. Encontré que no podía correr los juegos que solía usar y el editor de textos era horrible (incluso comparado con el Ms Word 97 de esos tiempos). No habré ingresado a ese Linux mas de 3 veces cuando lo desinstale para no volver a probar software libre hasta varios años mas tarde.

Ahora Linux es otra cosa. Ha dejado de ser ese sistema operativo con falta de gracia y “solo para servidores” e incluso hasta llegar a usarse en computadoras de escritorio de usuarios nada especializados en informática.

Pero ahora, surge otro problema para los usuarios que quieren aventurarse en Linux:

¿Cual distribución elegir?

Si bien, no todas las distribuciones están pensadas para usarse en una PC de escritorio, muchas de ellas se califican como “perfectas para los usuarios que recién empiezan” o con “tiene todo lo que necesitas para trabajar” lo que hace muy difícil elegir una sin antes probarla.

Lo que sigue es una evaluación de las distribuciones Linux mas populares que pueden usarse en equipos de escritorio:

Mandriva Linux One 2010

Vista miniatura de aplicaciones activas

Mandriva 2010 - Vista miniatura de aplicaciones activas

Si bien el theme por defecto es muy… azul, se puede cambiar al Oxigen que es mas serio.

Hay asistentes de configuración, principalmente en redes, que parecen pensados para hacer las tareas mas comunes (como el compartir el acceso a internet o compartir archivos con equipos Windows) y el manejo de redes 3G es realmente impresionante. Detecto y configuro mi conexión a internet automáticamente al leer el ID de mi operador móvil. Lo hizo tan rápido que me dio la sensación que conectarme a una red Wifi no es tan simple como yo pensaba.

Gestión de adaptadores de red

Mandriva 2010 - Gestión de adaptadores de red

Mandriva 2010 - Centro de control de red

Mandriva 2010 - Centro de control de red

Mandriva 2010 - Centro de compartición

Mandriva 2010 - Centro de compartición

Mandriva 2010 - Escritorio 3D

Mandriva 2010 - Escritorio 3D

Mandriva 2010 - Monitor del sistema

Mandriva 2010 - Monitor del sistema

Su defecto mas grande, creo que el aspecto. Como dije antes, muy azul. Iconos muy coloridos, poco serios, y el lanzador de aplicaciones se lleva la peor parte.

Entre sus características se encuentra:

  • Usa KDE 4
  • Asistentes para la configuración de red y compartición de archivos en la red.
  • Asistente para compartir la conexión a internet.
  • Excelente con las redes 3G. (incluye una base de datos con las configuraciones por defecto de las operadoras)
  • El software incluido para dispositivos Bluetooth  no soporta A2DP.
  • Cubo 3D de escritorio.
  • Flash Player pre-instalado
  • El lanzador de aplicaciones es espantoso
  • Soporte de audio USB
  • Es LiveCD
  • Mapa del hardware
  • OpenOffice pre-instalado
  • Incluye versión en español

Descargar Mandriva One 2010

openSUSE 11.2

Escritorio de openSUSE 11.2

openSUSE 11.2 - Escritorio de usando KDE4

Desarrollado por Novell, es muy conocido por su herramienta de configuración YAST y por ser uno de los mas completos en cuanto a variedad de paquetes se refiere.

Es un sistema operativo robusto usado en muchos casos en servidores. Esta versión cuenta con KDE4 y es capaz de iniciar en modo LiveCD.

Lamentablemente, en mis pruebas, resulto no ser el mas indicado en cuanto a su uso en un computador personal. En donde mas problemas tuvo fue en conectarse a internet usando un modem 3G. No incluye una base de datos con configuraciones por defecto por lo que la configuración de la operadora hay que hacerlo de manera manual (al menos con KDE). En mi caso, luego de configurarlo, conectarlo y obtener correctamente el IP y DNSs de mi operador, no pude tener salida a internet.
En cuanto al soporte para bluetooth, al igual que Mandriva, el software nativo de KDE tampoco soporta A2DP.

Escritorio 3D con openSUSE

openSUSE 11.2 - Escritorio 3D

Lanzador de aplicaciones de openSUSE con KDE4

openSUSE 11.2 - Lanzador de aplicaciones con KDE4

Mi equipo - openSUSE

openSUSE 11.2 - Mi equipo

Parámetros de red correctos pero aun sin salida a internet

openSUSE 11.2 - Parámetros de red correctos pero aun sin salida a internet

De openSUSE se puede destacar:

  • Puedes elegir entre usarlo con KDE, Gnome o en modo consola.
  • Es LiveCD
  • Cuenta con su conocido asistente de configuración YAST
  • Soporte para audio USB
  • El software incluido para dispositivos Bluetooth  no soporta A2DP.
  • Pésimo con los modem 3G
  • OpenOffice pre-instalado
  • Mapa del hardware
  • Cubo 3D de escritorio
  • Incluye versión en español

Descargar openSUSE 11.2

Ubuntu 9.10 Karmic Koala

Mi desktop con Ubuntu Karmic Koala

Ubuntu Karmic Koala - Mi desktop

Es el que mas conozco porque lo llevo usando desde hace algún un tiempo. Es conocido por ser simple e intuitivo, perfecto para usuarios que recién empiezan a usar tecnología libre. La versión 9.10 incluye el “Centro de Software de Ubuntu” que simplifica increíblemente el proceso de buscar e instalar nuevo software. Fue uno de los primeros sistemas operativos que vino en formato LiveCD.

El soporte para redes 3G es amigable. Con elegir el país y proveedor de internet móvil ya tienes configurada tu red 3G.
Si bien el aspecto y efectos gráficos son aceptables no es comparable con la tecnología Aero de Microsoft. Me parece incluso que KDE4 cuenta con un aspecto de trabajo mas llamativo.

Centro de software de Ubuntu Karmic Koala

Ubuntu Karmic Koala - Centro de software

  • No requiere de conocimientos técnicos para leer la documentación integrada (la comunidad de Ubuntu si cuenta con documentación técnica para usuarios mas avanzados)
  • Es LiveCD
  • Usa Gnome como escritorio gráfico
  • Soporte para audio USB
  • El manejador de audio funciona bien pero no es muy intuitivo
  • Preparado para redes 3G. Aunque tiene algunos bugs con algunos modem USB. (incluye una base de datos con las configuraciones por defecto de las operadoras por países).
  • El software incluido para dispositivos Bluetooth  no es bueno con dispositivos A2DP. Se recomiendo usar Blueman (instalable desde del Centro de Software)
  • OpenOffice pre-instalado
  • Incluye versión en español

Descargar Ubuntu 9.10 Karmic Koala

Linux Mint 8 Helena

Escritorio de Linux Mint 8 Helena

Linux Mint 8 Helena - Escritorio

Podría decirse que es un Ubuntu Karmic Koala Unattended. Es una distribución de Ubuntu con Flash Player pre-instalado, codecs propietarios pre-instalados, las mejores aplicaciones sin importar si cuentan con soporte de Canonical (la empresa detrás de Ubuntu) y lo mas importante, con temas gráficos especialmente diseñados para esta edición.

Esta distribución hereda las ventajas de Ubuntu pero pierde el soporte multi-idioma nativo (pero que luego se puede instalar desde internet).

También incluye un Centro de Control que funciona igual que en Ubuntu Karmic pero con un aspecto gráfico muy similar al administrador de paquetes Synaptic.

Muy similar al centro de control de Ubuntu salgo algunas opciones mas

Linux Mint 8 Helena - Muy similar al centro de control de Ubuntu salgo algunas opciones mas

Centro de Software de Linux Mint 8

Linux Mint 8 Helena - Centro de Software

Descargar Linux Mint 8 Helena

Gentoo Linux

Default KDE 4 screen of the Gentoo Linux 10.
Image via Wikipedia

No lo he probado por no tener una versión LiveCD y por ser al parecer una distribución pensada para usuarios mas experimentados. He conocido empresas de hosting que utilizan Gentoo como sistema operativo para sus servidores, asi que puedo suponer que el SO es tan robusto como se comenta.

La interfase gráfica, al menos por los screenshots que he visto en internet, no es uno de sus puntos fuertes aunque eso en realidad depende de el escritorio gráfico que se le instale. Se cuenta como principal ventaja el uso de “Portage”, su instalador de paquetes.

Descargar Gentoo Linux

Yo me decidí por Linux Mint 8 por que ya me he acostumbrado a usar Ubuntu, conozco sus puntos fuertes, sus puntos débiles y ya que con Ubuntu tengo todo lo que necesito se que no me faltara nada con Linux Mint. Empezaré a instalarlo luego de terminar este post ;)