153 lines
7.2 KiB
XML
153 lines
7.2 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../../dtd/document-v11.dtd">
|
|
|
|
<document>
|
|
<header>
|
|
<title>Historia del Proyecto</title>
|
|
<authors>
|
|
<person id="AO" name="Andrew C. Oliver" email="acoliver@apache.org"/>
|
|
<person id="AMB" name="Agustín Martín Barbero" email="-"/>
|
|
</authors>
|
|
</header>
|
|
|
|
<body>
|
|
|
|
|
|
<section><title>Breve Historia del Proyecto</title>
|
|
|
|
<p>
|
|
El proyecto POI se gestó tiempo atrás, cerca de abril de 2001,
|
|
cuando Andy Oliver obtuvo un contrato de corta duración para realizar
|
|
informes Excel basados en Java. Ya había realizado este proyecto unas
|
|
cuantas veces antes, y sabía exactamente dónde buscar las herramientas
|
|
que necesitaría.
|
|
Irónicamente, el API que solía utilizar se había disparado en precio
|
|
desde unos $300 ($US) hasta unos $10K ($US). Calculó que a dos personas
|
|
les llevaría unos seis meses el portar Excel así que le recomendó al
|
|
cliente que pagase los $10K.
|
|
</p>
|
|
|
|
<p>
|
|
Cerca de junio de 2001, Andy empezó a pensar lo genial que sería
|
|
tener una herramienta Java de código abierto para hacer esto y,
|
|
mientras tuvo algo de tiempo libre, comenzó el proyecto y aprendió
|
|
cosas sobre el Formato de Documento Compuesto OLE2. Tras chocarse
|
|
con varios obstáculos insalvables, se dio cuenta de que necesitaría ayuda.
|
|
Publicó un mensaje en su Grupo de Usuarios Java local (JUG) y
|
|
preguntó si alguien estaba interesado. Tuvo mucha suerte y el
|
|
programador Java de mayor talento que había conocido nunca,
|
|
Marc Johnson, se unió al proyecto. A Marc le llevó unas pocas
|
|
iteraciones el obtener algo con lo que estaban contentos.
|
|
</p>
|
|
|
|
<p>
|
|
Mientras Marc trabajaba en eso, Andy portó XLS a Java, basándose
|
|
en la biblioteca de Marc. Varios usuarios escribieron peticiones
|
|
para poder leer XLS (no sólo escribirlo como había sido planeado
|
|
originalmente) y un usuario tenía peticiones especiales para
|
|
un uso diferente de POIFS. Antes de que pasara mucho tiempo,
|
|
el alcance del proyecto se había triplicado. POI 1.0 se distribuyó
|
|
un mes más tarde de lo planeado, pero con muchas más características.
|
|
Marc escribió rápidamente el marco del serializador y el
|
|
Serializador HSSF en tiempo récord y Andy generó más documentación
|
|
y trabajó en hacer que la gente conociera este proyecto.
|
|
</p>
|
|
|
|
<p>
|
|
Poco antes de la distribución, POI tuvo la fortuna de entrar
|
|
en contacto con Nicola -Ken- Barrozzi quien proporcionó ejemplos
|
|
para el Serializador HSSF y ayudó a descrubir sus desafortunados
|
|
fallos (que fueron arreglados de inmediato). Recientemente, Ken
|
|
portó la mayoría de la documentación del proyecto POI a XML
|
|
partiendo de los documentos HTML cutres que Andy había escrito
|
|
con Star Office.
|
|
</p>
|
|
|
|
<p>
|
|
Más o menos al mismo tiempo de la primera distribución, Glen Stampoultzis
|
|
se unió al proyecto. A Glen le molestaba la actitud impertinente de Andy
|
|
en lo que añadir capacidades gráficas a HSSF se refería. Glen se molestó
|
|
tanto que decidió coger un martillo y hacerlo él mismo. Glen ya se ha
|
|
convertido en parte integral de la comunidad de desarrollo de POI; sus
|
|
contribuciones a HSSF ya han comenzado a producir olas.
|
|
</p>
|
|
|
|
<p>
|
|
En algún momento decidimos finalmente remitir el proyecto a
|
|
<link href="http://xml.apache.org/cocoon">El Proyecto Cocoon
|
|
de Apache</link>, sólo para descubrir que el proyecto había
|
|
crecido encajando perfectamente con Cocoon hacía tiempo.
|
|
Lo que es más, Andy comenzó a ojear otros proyectos a los que
|
|
le gustaría que se añadiera la funcionalidad de POI. Así que
|
|
se decidió donar los Serializadores y Generadores a Cocoon, otros
|
|
componentes de integración con POI a otros proyectos, y los APIs
|
|
de POI pasarían a formar parte de Jakarta. Fue un camino con
|
|
baches, ¡pero parece que todo salió bien puesto que ahora estás
|
|
leyendo esto!
|
|
</p>
|
|
|
|
</section>
|
|
|
|
<section><title>¿Hacia dónde va POI?</title>
|
|
<p>
|
|
Primero abordaremos esto desde el punto de vista del proyecto:
|
|
Bueno, les hicimos la oferta a Microsoft y Actuate (de coña
|
|
... en su mayor parte) de que dejaríamos el proyecto y nos
|
|
retiraríamos si simplemente nos firmaban a cada uno un cheque
|
|
con muchos ceros. Todavía estoy esperando una llamada o correo
|
|
electrónico, así que de momento asumo que no nos van a pagar
|
|
para quitarnos de en medio.
|
|
</p>
|
|
<p>
|
|
Después, tenemos algo de trabajo que hacer aquí en Jakarta
|
|
para terminar de integrar POI en la comunidad. Lo que es más,
|
|
todavía estamos realizando la transición del Serializador a
|
|
Cocoon.
|
|
</p>
|
|
<p>
|
|
HSSF, durante el ciclo 2.0, sufrirá varias optimizaciones.
|
|
También añadiremos nuevas características como una implementación
|
|
completa de Fórmulas y formatos de texto personalizados. Esperamos
|
|
ser capaces de generar ficheros más pequeños añadiendo soporte de
|
|
escritura para registros RK, MulRK y MulBlank. A día de hoy, la
|
|
lectura en HSSF no es muy eficiente. Esto se debe sobre todo a que
|
|
para escribir o modificar, uno necesita ser capaz de actualizar
|
|
punteros del flujo de subida (upstream pointers) a datos del flujo
|
|
de bajada. Para hacer esto hay que tener todo lo que haya en
|
|
medio en memoria. En vez de eso, un Generador permitiría que se
|
|
procesaran eventos SAX. (Esto se basará en las estructuras de
|
|
bajo nivel). Una de las mejores cosas sobre esto es que así no sólo
|
|
tendremos una manera más eficiente de leer el fichero, también
|
|
tendremos una magnífica forma de utilizar hojas de cálculo como
|
|
fuentes de datos XML.
|
|
</p>
|
|
<p>
|
|
El Serializador HSSF, se separará más aún en un marco genérico
|
|
para la creación de serializadores para otras plataformas y
|
|
en la implementación específica del serializador HSSF. (Esto ya
|
|
es cierto en gran medida). También añadiremos soporte para
|
|
características ya soportadas por HSSF (estilos, fuentes, formatos
|
|
de texto). Esperamos añadir soporte para fórmulas durante este ciclo.
|
|
</p>
|
|
<p>
|
|
Estamos empezando a expandir nuestro alcance de nuevo. Si pudimos
|
|
hacer todo esto para ficheros XLS, ¿qué hay de ficheros Doc o PPT?
|
|
Pensamos que nuestro siguiente componente (HDF - Formato de
|
|
Documento Horrible) debería seguir el mismo patrón. Esperamos
|
|
que se nos una sangre nueva al equipo y que nos permita abordar
|
|
esto con mayor celeridad (en parte porque POIFS ya está terminado).
|
|
¡Pero a lo mejor lo que más necesitamos es a ti!
|
|
</p>
|
|
</section>
|
|
|
|
</body>
|
|
<footer>
|
|
<legal>
|
|
Copyright (c) @year@ The Apache Software Foundation All rights reserved.
|
|
$Revision$ $Date$
|
|
</legal>
|
|
</footer>
|
|
|
|
|
|
</document>
|