Mostrando las entradas con la etiqueta Atom. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Atom. Mostrar todas las entradas

martes, 12 de mayo de 2015

ATOM, A hackable text editor for the 21st Century


Hace tiempo que utilizo ATOM pero nunca se me ocurrió hacer un post a este excelente editor.

Entre sus características podemos nombrar:

  • Multiplataforma
  • Integrado con node.js
  • Con un diseño modular, se pueden instalar más de 50 plugins
  • Bueno, tenemos un montón de cosas que son esperables de un editor, Snippets, File system browser, Code folding... 


Simplemente se baja y se instala y en pocos minutos se van a sentir como en casa.

Dejo link: https://atom.io/


jueves, 24 de marzo de 2011

¿Cómo se desarrolla sobre una arquitectura SOA?

El desarrollo sobre una arquitectura SOA debe siempre tener en cuenta las funcionalidades desarrolladas y debe consumir estos servicios y exponer las nuevas funcionalidades. Por lo tanto es importante tener un registro actualizado donde se registran los servicios desarrollados y si la empresa cuenta con sistemas heredados con servicios expuestos se debe realizar un relevamiento de los servicios desarrollados y reflejarlos en el registro. Que el registro esté actualizado y sea visual para todos los desarrolladores es vital para que no exista comportamiento replicado.

El desarrollador esta obligado a pensar los servicios de forma atómica y desacoplada. Un servicio nunca debe depender de una implementación sino de una interfaz que describe a dicha dependencia, agregando más complejidad a la tarea de diseñar pero disminuyendo el esfuerzo de mantenimiento ante un cambio. Promoviendo el desacoplamiento y la mantenibilidad.

El estilo arquitectónico SOA no es intrusivo, no nos obliga a utilizar una forma propia de SOA para desarrollo, ni un Paradigma de programación, ni un lenguaje, ni plataforma. Pero si nos obliga a no repetir funcionalidad publicada y publicar los servicios de tal forma sean útiles a otros sistemas. Por ejemplo podríamos programar con POO y publicar la funcionalidad por medio de servicios o utilizar el patrón facade. En este esquema los servicios van a seguir la arquitectura SOA, dando la libertad de diseñar nuestros objetos independientes de la arquitectura SOA. Lo más recomendado es utilizar una arquitectura en Capas sumado a la arquitectura SOA.

Una arquitectura en capas nos permite separar de forma lógica las incumbencias generales en capas. El objetivo de separar las incumbencias en capas, es el desacoplamiento. De esta forma podríamos cambiar ciertas capas si necesidad de modificar las demás.

Sumado a la arquitectura SOA con la arquitectura en Capas, aprovechamos lo mejor de los dos mundos.
En la actualidad existen gran cantidad de framework que nos permiten desarrollar servicios web (CXF, Spring WS, Apache AXIS 1 y 2, Metro, etc.) y a la vez existen muchas formas de exponer estos servicios REST, SOAP, Mensajería, etc. y también existen diferentes formatos de datos JSON, SOAP, RSS, ATOM, etc. Todas estas tecnologías pueden conformar mis sistemas lo cual dificulta la comunicación ya que diferentes aplicaciones hablan diferentes idiomas.

Dada esta problemática surgió del mercado un estándar llamado Service Component Architecture (SCA), que propone una forma de desarrollo SOA. Basándose en el concepto de componentes promueve que un componente publica servicios que le permiten hablar idiomas diferentes (más usados) y entender la mayoría de los formatos de datos.

También a raíz de la diversidad de tecnologías para exponer servicios nace el ESB, que como dijimos anteriormente es un adaptador de diferentes “lenguajes”. Por lo tanto podríamos decidir utilizar un framework para exponer servicios y un ESB con su adaptador, o desarrollar con SCA. Dependiendo de los requerimientos se debe realizar una elección.


lunes, 5 de octubre de 2009

Apache Abdera


Apache Abdera es una implementación open source de Atom. Aja, pero que es Atom?

El nombre Atom hace referencia a dos estándares relacionados.

  • El Formato de Redifusión Atom es un fichero en formato XML usado para Redifusión web.
  • mientras que el Protocolo de Publicación Atom (resumido en Inglés AtomPub o APP) es un protocolo simple basado en HTTP para crear o actualizar recursos en Web.

Las fuentes web permiten que los programas busquen actualizaciones del contenido publicado en un sitio Web. Para crear uno el propietario de un sitio Web puede usar software especializado, como un Sistema de gestión de contenido que publica una lista (o fuente web) de artículos recientes en un formato estándar, legible por máquinas. La fuente web puede ser descargada por sitios web que redifunden el contenido usando la fuente web, o por un agregador que permiten que los lectores en Internet se suscriban y vean los contenidos de la fuente web.

Una fuente web puede contener entradas, que pueden ser encabezados, artículos completos, resúmenes, y/o enlaces al contenido de un sitio web.

El formato Atom fue desarrollado como una alternativa a RSS. Ben Trott fue uno de los defensores del nuevo formato que llegó a llamarse Atom. Él notó la incompatibilidad entre algunas versiones del protocolo RSS, ya que pensaba que los protocolos de publicación basados en XML-RPC no eran lo suficientemente interoperables.

Los proponentes del nuevo formato organizaron el grupo de trabajo IETF Atom Publishing Format and Protocol. El formato de redifusión ATOM fue publicado como un "estándar propuesto" de la IETF en el RFC 4287, y el protocolo de cumunicación se publicó como RFC 5023.

Apache Abdera es un projecto para construir una implementación completa, performante de las especificaciones la IETF Atom Syndication Format (RFC 4287) y Atom Publishing Protocol (RFC 5023)

Apache Abdera esta todavia en la incubadora de apache.

Dejo un link a la wiki: http://cwiki.apache.org/confluence/display/ABDERA/Getting+Started