140 likes | 147 Views
Development of an open, extensible XBRL Platform to meet Supervisors' needs with XBRL functionality. Using J2EE, Java, and XBRLCore; show, validate, and create XBRL instances. Integrates with databases. Java application with open source libraries.
E N D
Building an Integrable XBRL PortalDaniel HammGerman Central BankDaniel.Hamm@bundesbank.de
Background • Member of COREP project team and developer of the COREP taxonomies. • European Supervisors need XBRL application to actually use the COREP taxonomies. • Development of XBRL Supervision, an open and extensible XBRL Platform to meet the needs of Supervisors. • German Central Bank is using relevant parts of this application.
The underlying business process receive data in Excel/XML/CSV/… receive XBRL instance document XBRL receiving (= instance creation) transform to XBRL instance document reject receipt validate XBRL instance document XBRL validation no instance valid? yes map XBRL to XML or other format store data in existing relational database map multidimensional Data to Data Warehouse XBRL processing interface to existing databases / data warehouses / CMS / … traditional processing
General Framework Structure Framework user code user module user module user module core module core module core module interface interface
Used Technologies • J2EE-based Web Application • Uses standardised J2EE technology • Java Servlets • Java Server Pages (JSPs) • Java Beans (reusable Java components) • Uses standardised Web Technology • (X)HTML • Cascading Stylesheets (CSS) • JavaScript • Uses Open Java Frameworks • Struts • Tiles • Uses XBRLCore: Open XBRL Java Library
Architecture of the Application All components are open source libraries. XBRL Supervision XBRL functionality Struts Web Application Framework Xalan XSLT Engine Xerces XML Parser Jakarta Commons reusable components XBRLCore XBRL library JDOM XML library Java 2 Enterprise Edition
Use Cases • Show XBRL Taxonomies • Transform XBRL taxonomies to human readable output. • “Validate” content of taxonomies. • Show XBRL Instances • Visualise instances. • Check content of instances. • Create XBRL Instances • Create instances for testing purposes. • Enable possibility to submit instances. • Make use of XBRL transparent. • Load Content of XBRL Instances into a Database • Make data of XBRL instances available to other applications. • Create customised reports of the submitted content.
Use Case: Show Taxonomies (core module) can be replaced by user implementation xbrlsv-config.xml Process Flow form already built? Java Servlet Taxonomy Manager no getDTS() show form HTTP request yes XBRL Supervision show trans- formed taxonomy Converter Class apply stylesheet xbrlsv-config.xml can be replaced by user implementation
Use Case: Show Taxonomies (custom module) can be replaced by user implementation xbrlsv-config.xml Process Flow form already built? Java Servlet Taxonomy Manager no getDTS() show form HTTP request yes XBRL Supervision Custom Resource forward HTTP request • Jave Servlet • Java Server Page • … xbrlsv-config.xml use components and libraries
Use Case: Show Instances (core module) • Process flow similar to “Show Taxonomy” use case. • Demonstration.
Use Case: Create Instance • Same principle: XBRL Supervision is shipped with a core module to create instances. • Custom modules can be developed and published in xbrlsv-config.xml. • Core module creates an HTML based form and builds an instance based upon the user data. • Transparent, easy-to-use solution to submit XBRL data. • Will be used in the German Central Bank to receive solvency reports. • Demonstration.
Use Case: Load Instance into a Database XBRL Supervision object layer • Default persistent mechanism of XBRL Supervision is Hibernate. • Open Source OR-mapping framework for Java. • Can be configured to match the structure of the database. • Can be replaced by own persistent mechanisms. object object ORM layer data layer (database)
Thank you for your attention See http://www.xbrl-supervision.org for more details and get the application there. Daniel.Hamm@bundesbank.de