Instalar ZeroC Ice para Python en CentOS 5.7

7 02 2012
ZeroC Ice logo

ZeroC Ice logo

Ice o  Internet Communications Engine  es una plataforma middleware orientada a objetos, que permite escribir aplicaciones distribuidas con muy poco coste. Provee herramientas, APIs, bibliotecas y bindings para la construcciones de aplicaciones cliente-servidor de forma escalable.

Es una buena herramienta de trabajo para entornos que sean bastante heterogéneos, donde el cliente y servidor puede estar escritos en lenguajes de programación muy diferentes y ejecutarse sobre plataformas, sistemas operativos o arquitecturas muy variadas.

Su fuerte radica en un gran soporte de tecnologías de red con interacciones a bajo nivel de red, enfoque en la lógica de las aplicaciones y portabilidad de entornos muy diversos.

Otro punto fuerte a destacar es la abstracción de red para detalles como abrir conexiones de red, serializado y des-serializado de datos transmitidos por red, reintentos fallidos de conexión y muchos otros detalles más de bajo nivel que ayudan a simplificar la capa de red.

Soporta bindings con bastantes lenguajes de programación como: 
C++.NETJava,PythonObjective-CRubyPHP, y ActionScript.

Debido a estas características Ice es usado por muchas compañias con misiones críticas en el mundo. La curva de aprendizaje es sencilla y existe una gran infraestructura de aplicaciones técnicas que se demandan.

Ice es software libre bajo licencia GPLv2 y comercializado bajo la marca ZeroC.

Instalación con repositorio

Esta opción de instalación es sencilla y cómoda, pero no esta aconsejada para desarrolladores que necesiten actualizaciones con bastante frecuencia o disponer de una versión determinada.

Descargar el repo (en estos momentos de escribir el artículo para la versión 3.4) desde la página web oficial:

1
 # wget http://download.zeroc.com/Ice/3.4/rhel6/zeroc-ice-rhel6.repo -O /etc/yum.repos.d/zeroc-ice-rhel6.repo

Activar el repositorio e instalar ZeroC Ice y biblioteca Ice para Python:

1
 # yum --enablerepo zeroc-ice install -y ice ice-python

Instalación desde fuentes

Si tu necesidad esta más orientada al enfoque desarrollador, puedes compilar la versión que requieras o en desarrollo. En el momento de escribir este artículo se compila para la versión 3.4.2 de Ice.

Instalar portable C preprocessor desde el repo de ZeroC Ice (también puedes optar por bajar y compilar los fuentes de mcpp, pero no es necesario):

1
# yum install -y mcpp-devel

Después bajamos los fuentes de Ice, descomprimimos y compilamos la versión en C++ y su binding para Python (en este caso para la versión 3.4.2 de Ice). Puedes hacerlo todo en una línea con:

1
# wget http://zeroc.com/download/Ice/3.4/Ice-3.4.2.tar.gz; tar xvzf Ice-*.tar.gz; cd Ice-*/cpp; make; make install; cd ../py/; make;make install

La instalación de Ice quedará bajo /opt/Ice-3.4.2/ y el binding python sobre /opt/Ice-3.4.2/python. Es importante recalcar que el binding python se asociara con la versión de defecto de Python en el sistema si dispones de varias.

Por último, es necesario indicar el el PATH y el PYTHONPATH del sistema, donde se encuentra la instalación de Ice y su binding de Python:

1
2
# export PATH=/opt/Ice-3.4.2/bin:$PATH
# export PYTHONPATH=/opt/Ice-3.4.2/python:$PYTHONPATH

 

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)


Free Station: plataforma para el desarrollo de sistemas de distribución de software libre en puntos de información

5 05 2011
Free Station logo

Free Station

Free Station o “Librenería“ es el software cliente y servidor que pretendo desarrollar como mi Proyecto de Fin de Carrera (PFC) en la UCLM bajo la dirección de mi director de proyecto Carlos González Morcillo

La librenería o FreeStation (en adelante FS) es un software para centros o puntos de acceso de distribución de información de software libre orientado a centros de enseñanza y universidades.

Estructura del sistema

El sistema estará compuesto por un armario de diseño con un ordenador empotrado con pantalla táctil y una cámara para reconocer movimientos y gestos. En dicho dispositivo se encuentra un software cliente que alberga repositorios de software modularizables configurados por el centro de enseñanza o universidad, con software como imágenes de distribuciones GNU/Linux, software específico para los alumnos o aplicaciones educativas para interactuar con el dispositivo.

El dispositivo puede incorporar una unidad de CD-ROM y USB con la que el usuario/docente puede grabar los datos proporcionados por el sistema en pocos segundos y hacerse una copia de todo software y contenido libre (documentación,multimedia, etc) disponible. Ademas el sistema cuenta con otra aplicación servidor, que distribuye diariamente a todos los clientes el software y los módulos actualizados.

POI y proceso de distribución

Los terminales de puntos de interés (del inglés POI o Point Of Interest) han avanzado significativamente con la tecnología de los últimos años, habilitando su integración en casi cualquier lugar con un uso sencillo. Esta tecnología integrada ha permitido la interacción en edificios con sus visitantes.

En determinadas instituciones como colegios, institutos, universidades, ayuntamientos u oficinas de turismo es común ver pequeños puntos donde se encuentran terminales mostrando información a los transeúntes. Algunos terminales incorporan la interacción mediante teclado, ratón o incluso de forma táctil, pero la interacción puede ser mucho más completa.

En la panorámica del proceso de distribución de información o más concretamente del proceso de distribución software, la tendencia actual marca la utilización de las redes tecnológicas. La potencia actual de las mismas las caracteriza de arquitecturas que aprovechan la evolución de contenidos y ventajas que satisfacen la necesidades de información de los usuarios.

Componente social

Combinando el componente social de un objeto que se encuentra en el exterior con la inmensidad de contenidos que pueden ofrecer una red tecnológica es posible realizar una distribución de contenidos uniforme orientada adocencia, turismo o cualquier sector que requiera de un despliegue de contenidos.La distribución de software conlleva una responsabilidad asociada al marco de la legalidad.

Beneficios y problemas jurídicos

Cualquier software dispone de una licencia que habilita una serie de acciones permitidas, como es la distribución. En lo particular, pueden surgir problemas jurídicos derivados si un POI no se cuenta con la debida autorización. Luego estableciendo una determinada base tecnológica con tendencia en la distribución de software libre, las problemáticas legales en este aspecto suelen ser nulas o muy reducidas.

Por otro lado, la distribución de software beneficia al usuario final ya que la compra individual supone requerir o disponer de unos costes asumibles por cada software particular. La independencia de elección entre un gran catálogo de software ahorra tiempo al usuario en la búsqueda y obtención del mismo.

Este enfoque añade una serie de ventajas asociadas, como la alta disponibilidad de nuevas versiones y actualizaciones de seguridad. En el caso del Software Libre, estas características de alta disponibilidad pueden traducirse igualmente en la personalización de distribuciones para diversos colectivos de usuarios. Estos paquetes de contenido específicos (formados por software, documentación y ficheros multimedia) pueden ser adaptados a necesidades concretas (docentes, de investigación o profesionales), ahorrando gran cantidad de tiempo al usuario final.

Conclusión y cierre

El desarrollo y progresos de mi PFC, será documentado y comentado mediante mi blog personal, como próposito de ejercicio de difusión y creación posterior de la memoria final del proyecto. Todas las aportaciones, comentarios, críticas constructivas son bien recibidos.

VN:F [1.9.22_1171]
Rating: 6.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)


Migrar o utilizar Bazaar y Subversión a la vez

1 12 2009

bazaar-svn

Como ya comente debo utilizar el SVN de la forja de RedIris para desarrollar Tivion, el incordio sería mantener dos repositorios (uno para Bazaar y otro para SVN) y cada vez que hiciera un commit tener que que hacerlo en los dos, duplicando todo el código.

Pero podemos evitar esto, gracias a un plugin de Bazaar llamado bzr-svn que funciona con SVN para permitir trabajar simultáneamente con ambos.

Para ello necesitamos instalar los paquetes:

  • bzr: el propio sistema de Bazaar (si es que no lo tenías ya)
  • bzr-svn: el plugin para trabajar conjuntamente con Bazaar y SVN
  • bzr-gtk: un frontend muy útil para visualizar datos estadísticos realizar operaciones sobre repositorios Bazaar

Por tanto, mediante terminal:

?Descargar install.txt
1
sudo apt-get install bzr bzr-svn bzr-gtk

Ahora supongamos en mi caso, que el repositorio Bazaar de Tivion en Launchpad está en:

http://bazaar.launchpad.net/~shakaran/tivion/tivion/

Y el repositorio SVN de Tivion en la forja de RedIris es:

https://forja.rediris.es/svn/cusl4-tivion/trunk

Por tanto, haciendo:

?Descargar push.txt
1
bzr push

Puedo actualizar los cambios en el repositorio bazaar y mediante el plugin bzr-svn los haría en el repositorio SVN con:

?Descargar push-svn.txt
1
bzr push svn+https://forja.rediris.es/svn/cusl4-tivion/trunk

¿fácil no? En caso de la forja de RedIris pedirá el usuario y contraseña, al no tener autentificación automática por ssh como en LaunchPad.

De esta manera, me evito tener que usar SVN en sí y poder unificar el desarrollo con un solo repositorio y cumplir con las normas de tener el repositorio SVN.

VN:F [1.9.22_1171]
Rating: 6.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)





Cargado con 273 consultas en 0,703 segundos