Entorno de acs

May 31, 2001

Reflexiones sobre SOAP

Filed under: Barrapunto — acs @ 9:58 pm

Es curioso lo que puede ayudar el intentar explicar cosas a otras personas: hablaba con un conocido sobre HTTP/CGI y como CORBA/IIOP y RMI se presentaban como alternativas a la hora de distribuir servicios y contenidos en la red. ¿Qué problemas tiene HTTP/CGI? Un protocolo sin estado, con parches como las cookies, y una interfaz nada clara a la hora de usar los CGIs. Recuerdo hace tiempo que se planteó la pregunta de si Yahoo! debería de ofrecer un API para acceder a sus servicios. Tanto en CORBA como en RMI disponemos de una forma de especificar de forma clara, sencilla y a nivel de interfaces los servicios que se ofrecen por medio de OMG/IDL y de interfaces Java respectivamente. Que diferencia con el oscurantimo de la API que se ofrece a través de los CGIs. Pero CORBA y RMI tienen un serio problema: sus puertos de comunicación suelen estar cerrados en la red lo que rompe con su utilidad a nivel de Internet de momento. Pero, ¿no hay ninguna forma de ofrecer servicios en la red? ¿Y que funcione sobre HTTP para que pueda atravesar los firewall de la red? Sí, la respuesta es SOAP. Veamos como encajan las piezas, y como creo yo que debería de ser SOAP, aunque tengo que reconocer que no sé si es así.SOAP tiene unos objetivos mucho más modestos que CORBA. Sólo quiere permitir que clientes y servidores puedan intercambiar información utilizando XML. Los clientes forman en XML las peticiones y los parámetros para obtener la funcionalidad del servidor, el cual procesa la petición XML (SOAP se conoce como XML RPC) y devuelve los resultados de nuevo en XML.

Los servicios que ofrece el servidor están perfectamente identificados a través de interfaces XML, al menos creo que es así, y con un compilador pasamos esa interfaz/API del servidor a unos stubs (cabos) que nos permiten que el cliente pueda usar de forma sencilla ese API.

La implementación del cliente y el servidor puede estar hecha en cualquier lenguaje para el que dispongamos de un compilador que nos permita generar los cabos de acceso y los esqueletos de implementación, concepto totalmente paralelo a CORBA.

Gracias a SOAP, un servidor podrá ofrecer sus servicios de forma universal a clientes SOAP, y dispondremos de una red mucho más rica y con muchos más servicios, quizá la idea que está detrás del estudio de Forrester.

Aún no es CORBA pero está claro que SOAP va a ser un paso adelante a la hora de distribuir servicios más avanzados en la red.

May 30, 2001

Crear un plugin para slashcode 2.0

Filed under: Barrapunto — acs @ 7:20 pm

Con la esperanza de que alguno de los que leáis este nota os unáis al desarrollo y ampliación de slashcode, voy a intentar contar en que consiste el hacer un plugin para slashcode. Y para ello, nada mejor que seguir el ejemplo que el plugin de Sponsor, que nos permite gestionar a los patrocinadores del sitio, algo muy importante si queremos que Barrapunto siga creciendo y sea un sitio cada día más interesante para todos. Un plugin se basa en el concepto de que en toda aplicación tenemos tres parte:

El desacoplar estas partes en una aplicación nos permite que evolucionen de forma independiente. Los plugins por otro lado se benefician de toda la infraestructura que ya existe en slashcode y puede utilizar toda su amplia API, lo que permitirá desarrollo muy rápidos.Todos estos datos se configuran dentro del fichero PLUGIN que incluye el nombre del plugin, su descripción, las tablas necesarias en la base de datos y un volcado de datos inicial, los ficheros “.pl” a instalar y las plantillas que deben de ser introducidas en el sistema.

El demonio sponsord, que actualiza la caja de patrocinadores y es invocado desde slashd, aún hay que meterlo a mano en el directorio con los demás demonios, pero en la neuva versión se está remodelando para automatizar esta parte también.

Puedes ver la página sponsor.pl en acción dentro de la maqueta de lo que será el próximo Barrapunto. Aún no dice mucho, pero puedes relacionarla con su plantilla y puedes ver que se integra su aspecto perfectamente con las demás partes del sitio. Los plugin heredan el aspecto del sitio, o al menos debería de ser así ;-)

Tenemos que ir mejorando este plugin añadiendo nuevas funciones para por ejemplo, dar de alta de forma automática a nuevos patrocinadores, meter las fechas de alta y baja de patrocinios y que el sistema se encargue de darlos de bajo y avisarnos tanto a nosotros como al patrocinador por correo electrónico del hecho y de dar estadísticas del patrocinio para que nuestros patrocinadores puedan ir viendo el resultado de su campaña.

Todas esta mejoras las podemos ir haciendo de forma independiente de slashcode, algo vital para poder crecer de forma escalable la funcionalidad de slashcode.

¿Qué te ha parecido está primera introducción? ¿No te animas a realizar algún plugin? ¿O a ayudar en alguno de los que tenemos en desarrollo?

Maqueta de Barrapunto con slashcode 2.0

Filed under: Barrapunto — acs @ 4:34 pm

No ha pasado ni un año de la última migración de Barrapunto cuando ya estamos preparando la migración al nuevo código slashcode 2.0. Los motivos son claros:

  • Queremos ayudar en el desarrollo de slashcode 2.0
  • slashcode 2.0 es un salto cualitativo a nivel de diseño y arquitectura
  • El potencial de slashcode 2.0 lo convierte en algo muy cercano a lo que llamamos servidor de aplicaciones, aunque muy especializado hacia la creación de comunidades virtuales.

En este lugar ya tenemos la maqueta de slashcode 2.0 con toda la funcionalidad de Barrapunto y sería genial si te puedes pasar por ella, probarla y si tienes algún problema, enviarnos un correo.La forma de migrar la funcionalidad a slashcode 2.0 ha estado basada en desarrollar extensiones conocidas como plugins, lo más independientes posibles del código slashcode 2.0, de cara a que la próxima migración sea muy suave. Ha sido inevitable el introducir algunos cambios en las librerías básicas, pero estos cambios son mínimos. Los plugin que hemos desarrollado ha sido:

  • ACL: con este plugin introducimos el concepto de ACLs en slashcode. Requiere cambios en slashcode a la hora de cargar el perfil de usuario, que debe de incluir las ACLs, pero son cambios mínimos y que quizá sean integrados en slashcode en el futuro.
  • Sponsors: este plugin permite generar de forma automática la caja de patrocinadores. Es un plugin que se ha implementado de forma independiente de slashcode 2.0 y es un buen ejemplo de plugin y que incluye la creación de tablas en la base de datos, la inserción de datos iniciales, la implementación de “sponsors.pl” y un demonio que se encarga de ir actualizando estas cajas.
  • CrudeStories: hemos creado un plugin conocido como CrudeStories que proporciona la funcionalidad de nuestra sección EnBruto.
  • VirtualSections: el plugin VirtualSections es el que permite que una historia pueda estar en más de un índice de forma simultánea, algo similar a las carpetas virtuales de Evolution, dando paso a una gran gama de posibilidades a la hora de compartir historias, generar índices a historias de forma automática … se desacoplan las historias y las secciones permitiendo una flexibilidad mucho mayor. Tiene los parches más agresivos con slashcode 2.0 pero no dejan de ser cambios bastante puntuales.
  • MySlash: Este plugin implementa la funcionalidad de los MiBarrapunto, que se basan en el uso de ACLs y VirtualSections. Es el mejor ejemplo de la potencia de este nuevo esquema.
  • AdminACL: este plugin es un sustituto del plugin Admin y se diferencia de este en que se basa en ACLs en vez de seclev.
  • AutoStories: este plugin se basa en VirtualSections y permite la creación de índices automáticos.

Espero poder ir presentando cada uno de los plugins y si te animas en participar en el desarrollo de este apasionante código, ahora mucho más sencillo de ampliar con los plugins, no dudes en enviarme un correo.

Y no olvides que tienes todo el código, y con licencia GPL, bajo el CVS de Barrapunto.

La Feria del Libro: Renovar la biblioteca

Filed under: Barrapunto — acs @ 10:23 am

Estuve el Domingo pasado en la Feria del Libro de Madrid y aproveché para comprar algunos libros, entre ellos algunos que os pueden resultar interesantes. En Prentice Hall han traducido el libro de Jakob Nielsen “Designing Web Usability: The Practice of Simplicity“, que aun que hubiera preferido comprar al edición en inglés, lo tenía tan a mano que lo compré en castellano. He leído las primeras 40 páginas y merece la pena la lectura ya que da consejos precisos y muy razonados para la toma de decisiones de diseño de sitios web. Aquí tenéis la referencia al libro en bol.com. Junto a este libro, compré otro menos divertido pero importante para la supervivencia en la red.Este segundo libro, que vendían de forma conjunta con el de Jakob y lo titulan “Contenidos Web“, trata sobre las estrategias para el comercio electrónico y creación de contenidos y lo ha escrito una mujer, Mai-Ian Tomsen, muy cercana al mundo de Microsoft. Por lo poco que he leído, tan sólo el prefacio, la traducción no parece ser muy buena (ya he encontrado algún error de bulto en zona no técnica) y está muy orientado en como hacer dinero en la red explotando los derechos de autor, las patentes … interesante para entender mejor como está montando el mercdo actual, que esperemos que sufra drásticas transformaciones.

Por último, adquirí uno sobre Microsoft .NET y C#. Nos guste o no, va a ser una plataforma muy importante en los próximos años y hay que conocerla. Y para ello, nada mejor que una Guía Rápida de Anaya que por 1.995 pts te cuenta la arquitectura de una forma introductoria. El autor de este libro es Francisco Charte, del que una búsqueda en Bol (no se puede enlazar de forma directa pero pon su nombre en la caja de Busca rápida) nos muestra una larga trayectoría en este tipo de libros del autor.

May 26, 2001

Gestión de ancho de banda con GNU/Linux

Filed under: Barrapunto — acs @ 11:19 am

La gestión del uso de ancho de banda dentro de un ISP es algo fundamental. El ancho de banda, sobretodo si se utiliza Frame Relay, es un recurso muy costoso. Y no se puede permitir que todos los clientes tengan libertad total para consumir todo aquel que necesiten a cada instante, sobretodo si tenemos clientes que un día deciden hacer un mailing a 400 personas con correos de 8 MB. Por otro lado hay servicios que son más prioritarios que otros, como el correo frente al FTP habitualmente. En definitiva, necesitamos poder controlar el uso que se hace del ancho de banda por cada servicio y cada cliente. Y Linux nos da herramientas muy potentes para ello. ¡Vaya si son potentes!La idea básica detrás de la gestión del uso del ancho de banda es ser capaces de modelar (shape) el uso del mismo. Para ello disponemos de dos conceptos fundamentales:

  • Filtros: nos permiten clasificar los paquetes IP en distintas colas, que tendrán prioridades y formas de dar salida a esos paquetes diferentes.
  • Colas: En ellas se van poniendo los paquetes que queremos entregar a la red y en función de las características de la cola, se van entregando a la red según unas normas prefijadas.

COmo veremos, estos dos mecanismos nos van a permitir gestionar nuestro ancho de banda con una amplísima gama de posibilidades. Lo iré contanto en futuras entregas pero si ya te pica la curiosidad, puedes irte leyendo Cómo se Enruta en Linux Avanzado. Y sí, la calidad de servicio, QoS, puede ser implementada perfectamente en TCP/IP.

May 23, 2001

SOUP: La apuesta de Ximian por SOAP

Filed under: Barrapunto — acs @ 8:44 pm

Ante la apuesta de grandes compañías como Microsoft en su .NET por SOAP, algo que augura su éxito, en Ximian llevan trabajando desde mediados del año pasado en una implementación de SOAP en C. Ya os contamos el momento en el que SOUP hizo su aparición en el CVS y ahora llega la nota oficial de Ximian, con el anuncio de la versión 0.2 de SOUP. SOAP ya lo podéis usar desde varios lenguajes (Java, Perl, Python, C …) y disponéis de un tutorial que os acompañará en los primeros pasos. ¿Tienes preparada la cuchara para SOUP?SOAP es mucho más simple que CORBA o COM, y menos potente, pero permite pasar a través de los firewall al ir sobre HTTP o SMTP, puertos que suelen estar abiertos en los firewall, un detalle que ya justifica su triunfo a nivel Internet.

El CD con MP3 del ganador del sorteo

Filed under: Barrapunto — acs @ 8:30 pm

Ayer por fin compramos y enviamos a nuestro ganador del sorteo entre los que rellenaron la encuesta de Barrapunto su reproductor de CD portátil con soporte MP3. Y no sólo MP3, ¡también VCD! De la marca Waitec, y por 21.000 + IVA, es una chulada. Incluye hasta un mando a distancia. En el cuerpo de la noticia os he dejado una foto del aparatito. ¡Estuve a punto de comprar una cacharro de estos para mí! Se llama Tanky y aquí están las especificaciones técnicas.

May 19, 2001

Sistemas centralizados: La biblioteca de Alejandría

Filed under: Barrapunto — acs @ 11:20 am

En este relato que se especula sobre el futuro del conocimiento y las leyes que “la protegen” y de como la gran perdida que supuso para la humanidad la perdida de la Biblioteca de Alejandría, la mayor Biblioteca que existía para la humanidad en el siglo V, se podría repetir si dejamos que el acceso a la sabiduría se concentre de nuevo bajo sistemas que controlen el acceso, sistemas que suelen estar controlados por unas pocas compañías. Control, control, control …. Un relato basado en el famoso alegato de Stallamn a favor del derecho a una lectura libre y en el que también se inspiraron poncho y Baranda en su narración Y la información será libre… ¿o no?

Creación del Comité de Control de la libc

Filed under: Barrapunto — acs @ 11:09 am

La FSF ha anunciado por medio de Richard Stallman la creación de un Comité de Control de la librería libc, en la que se basan casi todas las aplicaciones de los entornos GNU/Linux. De hecho, los grandes cambios en las distribuciones suelen venir provocados por cambios en las versiones de la libc. Esta librería es la que proporciona el núcleo de funcionalidades genéricas para los programas C, en los cuales se basan en muchos casos los desarrollos hechos en otros lenguajes. El objetivo de este comité es asegurar la evolución de esta librería. ¿Se está organizando el desarrollo de software libre con la aparición de Fundaciones y Comités? ¿Es necesaria esta organización para llegar aún más lejos en la extensión del software libre?

May 18, 2001

Nanozilla: Mozilla entra en los sistemas empotrados

Filed under: Barrapunto — acs @ 10:29 pm

Leo en Linux Today que se acaba de anunciar la primera versión comercial de Mozilla optimizada para sistemas empotrados. Su nombre, como no podía ser de otra forma, es Nanozilla. El anuncio original en All Linux Devices. Y utilizan Kaffe Java para poder visualizar applets dentro de los sistemas empotrados. ¿Cuál será el primer PDA en venir con Nanozilla? ¿Qué otros navegadores corren ya en los pequeñajos?

Next Page »