Apache ESME
# Apache ESME

Apache ESME (Enterprise Social Messaging Environment) es una plataforma segura y altamente escalable de microsharing y micromessaging. Ha sido desarrollada en lenguaje Scala, siendo hasta el momento el único proyecto de la Fundación Apache desarrollado exclusivamente en este lenguaje. Utiliza intensivamente el framework Lift para aplicaciones web.

## Empleo en la práctica

ESME fue concebido con el fin de mejorar la comunicación al interior de una empresa u organización entre equipos de trabajo en localidades separadas. En este contexto ESME se caracteriza porque también pueden incorporarse máquinas y sistemas de software al proceso de comunicación. Los usuarios pueden emitir mensajes breves, similares a los mensajes de texto (SMS). El empleo de tags permite categorizar las informaciones. Cada participante puede así focalizar el flujo de mensajes hacia las personas, los sistemas y los temas que le resultan relevantes. Por medio de una función de "descubrimiento" es posible encontrar determinados temas o personas para establecer los correspondientes contactos. El empleo de grupos y perfiles de usuarios permite optimizar la colaboración entre los empleados o miembros de la organización correspondiente.

## Arquitectura técnica

El servidor Apache ESME server ha sido escrito en Scala y utiliza el framework Lift para crear una interfaz de usuario basada en navegador web, exponiendo además una interfaz REST. La arquitectura ha sido diseñada para asegurar un alto grado de confiabilidad e escalabilidad. Aparte de facilitar un desarrollo rápido, con el lenguaje Scala y el framework Lift se dispone de una capacidad push estándar tipo Comet. La arquitectura abierta del sistema servidor permite que otros ambientes de mensajería, tanto internos (alertas, servicios empresariales, etc.) como públicos (Twitter, servicios web externos, etc.) puedan consumirse como fuentes de mensajes. Un framework de acciones dirigido por eventos permite un filtrado del flujo de informaciones, así como también una retransmisión de los mensajes hacia otros sistemas, ya sea por HTTP o correo electrónico.

## Clientes

Existen clientes para los siguientes ambientes:

* ABAP Web Dynpro
* Adobe AIR
* Apache Ant
* Apache James (integración de correo electrónico)
* Cliente Java
* Cliente PL SQL
* Cliente en JavaScript puro
* Cliente VBA
* Integración con SAP River
* Zoho Creator
