Interoperability at Apache Software Foundation
-
Upload
paolo-mottadelli -
Category
Technology
-
view
2.267 -
download
0
description
Transcript of Interoperability at Apache Software Foundation
![Page 1: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/1.jpg)
Paolo Mottadelli
http://www.sourcesense.com
![Page 2: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/2.jpg)
Agenda
Apache Software Foundation (ASF) Interoperability @ ASF Some ASF projects for interoperability Apache POI Demo
Paolo Mottadelli - [email protected]
![Page 4: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/4.jpg)
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]
![Page 5: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/5.jpg)
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]
![Page 6: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/6.jpg)
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]
![Page 7: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/7.jpg)
ASF principles
MeritocracyRespect
Consensus
Transparency
OpennessSimplicity
Responsibility
Voluntary work
Mutual assistance
Paolo Mottadelli - [email protected]
![Page 10: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/10.jpg)
Apache for Interoperability
Collaboration Transparency Neutrality Faith to standards High quality Reference implementations TCKs
Paolo Mottadelli - [email protected]
![Page 12: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/12.jpg)
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]
![Page 14: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/14.jpg)
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]
![Page 15: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/15.jpg)
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]
![Page 16: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/16.jpg)
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]
![Page 17: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/17.jpg)
OOXML dev status
XSSF module : FINAL status (in POI-3.5) XWPF module : DRAFT status XSLF module : not covered yet
Paolo Mottadelli - [email protected]
![Page 18: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/18.jpg)
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]
![Page 19: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/19.jpg)
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]
![Page 20: Interoperability at Apache Software Foundation](https://reader033.fdocuments.net/reader033/viewer/2022052522/554c8096b4c905df3c8b4cba/html5/thumbnails/20.jpg)
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]