Easyrec
# Easyrec

easyrec es una aplicación web de código abierto que proporciona recomendaciones personalizadas usando Servicio web RESTful para integrarse dentro de aplicaciones web. Se distribuye bajo la licencia GNU General Public License por parte de Studio Smart Agent Technologies y se aloja en SourceForge.

Está escrito en Java, usa una base de datos MySQL y viene con una herramienta de administración.

## Historia

El desarrollo de easyrec, una implementación de la Aproximación a la personalización adaptativa (Adaptive Personalization approach), comenzó en el curso de varios proyectos de investigación y desarrollo conducidos por el Studio Smart Agent Technologies en estrecha cooperación con compañías internacionales. Durante el año 2008 fue desarrollada la principal funcionalidad de easyrec formando la base de prototipos de investigación centrada en el dominio musical (por ejemplo, MusicExplorer). En junio de 2009 una versión beta de easyrec que contenía funciones básicas de administración, fue integrada en un portal de streaming de películas para propósitos de prueba. Además, en septiembre de 2009 easyrec recibió reconocimiento en la categoría “Award for Innovations – IT Innovations for an economic upswing” (Premio para innovaciones - Innovaciones informáticas para el crecimiento económico) por el jurado del premio estatal austriaco para multimedia y e-business. Después de una fase de reelaboración y la integración de los resultados de las pruebas realizadas, easyrec fue publicado en SourceForge el 18 de febrero de 2010.

## Principios

El desarrollo de easyrec estuvo guiado por los siguientes cinco objetivos:

* Debería ser una aplicación lista para usar, no otro framework algorítmico.
* Debería ser fácil de usar, incluyendo tanto la instalación, como la integración y administración.
* Debería ser robusto y escalable para proporcionar aplicaciones del mundo real.
* Debería ser libre de cargo de forma que cualquiera pueda beneficiarse de las funciones de personalización.
* Debería confiar en un desarrollo dirigido por la comunidad.

## Usos

Aunque easyrec es domain-agnostic, sistema de personalización de propósito general, la API de servicio web actual está personalizada para proporcionar tiendas en línea con recomendaciones de ítems. Especialmente para pequeñas y medianas empresas, easyrec proporciona una baja barrera de entrada a la personalización.

## Características

Una función importante de easyrec es un conjunto de estadísticas y otra información de negocio importante presentada vía interfaz de administración y gestión. Además, el administrador de easyrec está soportado por gran variedad de funciones de administración y configuración incluyendo la importación manual o la adaptación de reglas de negocio. Los integradores y desarrolladores se benefician de las Web service APIs (REST and SOAP) ligeras así como del asistente guiado de instalación.

Adicionalmente se desarrolló una extensión MediaWiki incluida con el paquete de instalación.

Otras funciones adicionales que están siendo evaluadas y preparadas para integrarse en el sistema incluyen algoritmos de recomendación nuevos y un sistema de plugins.

## Arquitectura

La arquitectura subyacente de easyrec está diseñada para ser robusta y escalable separando las computaciones consumidoras de tiempo de la tarea de ensamblado en línea de recomendaciones. Easyrec está diseñado como sistema multicapa compuesto de:

* una capa de base de datos como almacenamiento de acciones de usuario y reglas de negocio precalculadas;
* una capa de aplicación para almacenar servicios de recomendación en línea y offline; y
* una capa API para varias interfaces de servicio web.

Además, el servidor generador contiene diferentes reglas de negocio que definen una relación entre diferentes item association generators (generadores de asociaciones de ítems), las cuales crean reglas de negocio que definen una relación entre dos ítems.

## Ejemplos

Los siguientes son ejemplos de sitios web que usan el sistema de recomendación:

* Flimmit
* 2xFun
* MusicExplorer
* Mikawo
* FlashGames180 (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
