Download presentation
Presentation is loading. Please wait.
Published byIsabella Chandler Modified over 9 years ago
1
Initial Data Load Extension Module Webinar February 4th, 2009
2
Page 2 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Agenda Functionality and Demo15 min. Process and Tools10 min. Development Technique5 min. Q & A 30 min.
3
Page 3 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Agenda Functionality and Demo Process and Tools Development Technique Q & A
4
Page 4 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Goal: Provide a set of automated data import processes to quickly load core ERP data into Openbravo. QuickStart customers: predefined templates (simplicity). Support full “new-install-to-production-ready” instance. Functional Highlights Initial Data Load Solution Approach: Deliver as a extension module. Included in QuickStart. Spanish Translation. Benefits: Enable end users to manage the process. Minimize considerably time of migration. Ensure fully-integrated set of validated ERP data. Complete and detailed documentation.
5
Page 5 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Functional Highlights Initial Data Load Supported entities: – Products – Price Lists – Bank Accounts – Business Partners – Open Payables Data validation prior to import. Concise, easy-to-understand error log. Default value definition. REST Web service interface. Simple and effective process Define CSV Validate Configure default values Import – Open Receivables – Assets – Journal Entries – Standard Cost – On hand quantity / Stock
6
Page 6 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Functional Highlights Fill several Openbravo entities from one CSV file Business partners Initial Data Load Business partners Addresses Contacts Templates: Simplicity. Intermediary step Fix structure.
7
Page 7 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita DEMO Initial Data Load Demo Functional Highlights Initial Data Load
8
Page 8 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Future plans. Initial Data Load More entities to import: Balance sheet Payrolls. More integration capabilities Import from other data formats. (XML, Excel,...) Import from other third party applications. Improvements for consultants: Flexibility: ability to customize templates adding new fields.
9
Page 9 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Agenda Functionality and Demo Process and Tools Development Technique Q & A
10
Page 10 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Process and tools. Extract, Transform and Load. Initial Data Load Extract Transform and Load (ETL) takes part part in: * Synchronization or replication of databases * Right-time or batch exchanges of data * Data warehousing * Data migration * Data quality Extracting data from outside sources Transforming it to fit operational needs (which can include quality levels) Loading it into the end target (database or data warehouse) Extract Transform and Load (ETL) is a process in database usage and especially in data warehousing that involves:
11
Page 11 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Process and tools. Load process structure Initial Data Load Talend job * CSV file parsing * Data validation Openbravo load process & REST web service * Data transformation * Data load using DAL ExtractingTransformingLoading Validate button Process button
12
Page 12 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Process and tools: Talend Open Studio overview Initial Data Load Graphical designer Open source Metadata-driven solution Talend Open Studio is a project for data integration based on Eclipse RCP Operates as a code generator Large list of integration components
13
Page 13 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita DEMO Process and tools: Talend Open Studio demonstration Quick Talend Open Studio review. Initial Data Load
14
Page 14 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Functionality and Demo Process and Tools Development Technique Q & A Agenda
15
Page 15 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Development technique. REST web services for Openbravo ERP. Initial Data Load REST stands for Representational State Transfer. It relies on a stateless, client-server, cacheable communications protocol and in virtually all cases, the HTTP protocol is used. Definition of a REST web service: * The base URI: for example http://example.com/resourceshttp://example.com/resources * The MIME type of the data supported by the web service, XML, JSON,... * The set of operations supported using HTTP methods. POST, GET, PUT, DELETE
16
Page 16 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Development technique. REST web services for Openbravo ERP. Initial Data Load POST /openbravo/ws/org.openbravo.idl.process/Costing HTTP/1.1 Host: localhost rma 5.5 (...) response request <ob:Openbravo xmlns:ob="http://www.openbravo.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <MaterialMgmtCosting id="FF808181266B867701266B8E6AE4008B" identifier="Raw material A Thu Jan 01 00:00:00 CET 2009"> FF808181266B867701266B8E6AE4008B 2010-01-26T17:54:40.616Z (...)
17
Page 17 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Development technique. Code snipets, defining a new web service Initial Data Load process org.openbravo.idl.service.IdlWebService true package org.openbravo.idl.service; public class IdlWebService implements WebService { @Override public void doPost(String path, HttpServletRequest request, HttpServletResponse response) throws Exception { final String firstsegment = WebServiceUtil.getInstance().getFirstSegment(path); final VariablesSecureApp vars = new VariablesSecureApp(request); final ConnectionProvider conn = new DalConnectionProvider();
18
Page 18 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Development technique. Reading XML from request. Initial Data Load final SAXReader reader = new SAXReader(); final Document document = reader.read(request.getInputStream()); // check that the rootelement is the openbravo one final Element rootElement = document.getRootElement(); if (!rootElement.getName().equals(XMLConstants.OB_ROOT_ELEMENT)) { throw new OBException("Root tag of the xml document should be: " + XMLConstants.OB_ROOT_ELEMENT + ", but it is " + rootElement.getName()); } // check that there exit one element to import. if (rootElement.elements() == null || rootElement.elements().size() != 1) { throw new OBException("Root tag of the xml document should have one child element."); } Element entityelement = (Element) rootElement.elements().get(0);
19
Page 19 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Development technique. Writing XML to response. Initial Data Load BaseOBObject obj = service.doInternalProcess(impent.getValues()); try { final StringWriter sw = new StringWriter(); final EntityXMLConverter exc = EntityXMLConverter.newInstance(); exc.setOptionEmbedChildren(true); exc.setOptionIncludeChildren(true); exc.setOptionIncludeReferenced(false); exc.setOptionExportClientOrganizationReferences(true); exc.setOutput(sw); exc.process(obj); String xml = sw.toString(); response.setContentType("text/xml"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Encoding", "UTF-8"); final Writer w = response.getWriter(); w.write(xml); w.close(); } catch (final Exception e) { throw new OBException(e); }
20
Page 20 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita DEMO Development technique. REST Web Service demonstration REST Web Service execution Initial Data Load
21
Page 21 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Functionality and Demo Wrap-Up Process and Tools Development Technique
22
Page 22 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita Q & A Interesting Links: http://forge.openbravo.com/projects/xidl http://forge.openbravo.com/projects/idlspanish Next Webinar: 18 th February Modularity Status Update Achievements in modularity during 2009 and roadmap -in regards of modularity- for 2010 mikel.irurita@openbravo.com Initial Data Load adrian.romero@openbravo.com
23
Page 23 Initial Data Load Module Webinar-Openbravo, Adrian Romero & Mikel Irurita
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.