Interoperability at Apache Software Foundation
-
Upload
paolo-mottadelli -
Category
Technology
-
view
2.263 -
download
0
description
Transcript of Interoperability at Apache Software Foundation
Paolo Mottadelli
http://www.sourcesense.com
Agenda
Apache Software Foundation (ASF) Interoperability @ ASF Some ASF projects for interoperability Apache POI Demo
Paolo Mottadelli - [email protected]
Apache Software Foundation
Paolo Mottadelli - [email protected]
Apache Software Foundation
The Apache Software Foundation provides support for the Apache community of open-source
software projects.
“We consider ourselves not simply a group of projects sharing a server, but rather a community
of developers and users.”
Paolo Mottadelli - [email protected]
ASF roles
Supports Apache projects with an infrastructure for open development
Plays as a legal entity for donations Offers legal support to Apache projects Promotes and protects the Apache brand
Paolo Mottadelli - [email protected]
ASF actions
Supports collaborative software development Provides a Commercial Friendly License Produces high quality software Promotes an 'healthy' interaction among people Provides faithful standard implementations
Paolo Mottadelli - [email protected]
ASF principles
MeritocracyRespect
Consensus
Transparency
OpennessSimplicity
Responsibility
Voluntary work
Mutual assistance
Paolo Mottadelli - [email protected]
Interoperability @ ASF
Paolo Mottadelli - [email protected]
Apache for Interoperability
Collaboration Transparency Neutrality Faith to standards High quality Reference implementations TCKs
Paolo Mottadelli - [email protected]
Some ASF projects for interop
Paolo Mottadelli - [email protected]
Some Interop ASF projects
Apache Stonehenge Apache QPID Apache Axis Apache POI (some) Reference Implementations
Apache Pluto: Java Portlet Specification (JSR-268) Apache Tomcat: Java Servet Container & JSP Apache Jackrabbit: JCR (JSR-170)
Paolo Mottadelli - [email protected]
Apache POI
Paolo Mottadelli - [email protected]
What is Apache POI ?
Apache top level project for developing pure Java ports of file formats based on Microsoft's OLE2
Compound Document Format,
and now for Office Open XML format.
Paolo Mottadelli - [email protected]
POI modules (1)
Different sets of APIs:
POIFS: reading and writing Office Documents HSSF: r/w Excel spreadsheets HWPF: r/w Word documents HSLF: r/w Power Point presentations HPSF: r/w property sets
Paolo Mottadelli - [email protected]
POI modules (2)
Support for Office Open XML format:
XSSF: r/w OXML Excel Spreadsheets XSLF: r/w OXML Power Point Presentations XWPF: r/w OXML Word Documents
Paolo Mottadelli - [email protected]
OOXML dev status
XSSF module : FINAL status (in POI-3.5) XWPF module : DRAFT status XSLF module : not covered yet
Paolo Mottadelli - [email protected]
HSSF & XSSF
Common User Model (DOM-like) interface User Model based on the existing HSSF one Using OpenXML4J and SAX to do event
Paolo Mottadelli - [email protected]
XSSF Usermodel
Workbook A Workbook holds a Sheet A Sheet contains Rows A Row contains cells From a Cell get Content and others
Paolo Mottadelli - [email protected]
Common HSSF & XSSF access
org.apache.poi.ss
Workbook wb;
if(args.length > 0 && args[0].equals("-xls")) wb = new HSSFWorkbook(); else wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet("Timesheet"); .................................................................................. ............ same implementation for xls & xlsx ........ ..................................................................................
String file = "timesheet.xls"; if(wb instanceof XSSFWorkbook) file += "x";
Paolo Mottadelli - [email protected]
Demo
Paolo Mottadelli - [email protected]