Developing With Openbravo Rl Eppt

1,312 views

Published on

Published in: Business, Travel
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,312
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
68
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Developing With Openbravo Rl Eppt

  1. 1. Openbravo Get Together Technology Day Developing with Openbravo Barcelona, April 2008 Speaker: Rok Lenardic
  2. 2. Agenda Development Challenges and Openbravo Development Environment Tools Used Development Process Migrations/Upgrades Contributions
  3. 3. Architecture Openbravo Get Together – Developing with Openbravo <ul><li>The MDD (Model Driven Development) leads to: </li></ul><ul><ul><li>SEPARATE DESIGN from ARCHITECTURE/PLATFORM </li></ul></ul><ul><ul><li>A higher quality of code (drastic REDUCTION OF MANUAL CODE )‏ </li></ul></ul><ul><ul><li>A higher PRODUCTIVITY and efficiency </li></ul></ul><ul><li>The MVC Model (Model, View, Control) allows for: </li></ul><ul><ul><li>The DE-COUPLING of development areas </li></ul></ul><ul><ul><li>Sustainable APPLICATION GROWTH </li></ul></ul><ul><ul><li>An EASIER MAINTENANCE of the code </li></ul></ul>Development Environment Main Advantages
  4. 4. Quick Facts Openbravo Get Together – Developing with Openbravo 44M ./ database 452K ./ src-db 21M ./lib 112K ./legal 3.7M ./ src-trl 4.9M ./ src-wad 19M ./ src 16K ./WebContent 44M ./config 17M ./ web 4.3M ./ src-core 24K ./.settings 156M . almost 7000 files 64 developers (trunk contributors) to date Java XML/HTML PL/SQL Javascript Oracle/Postgres Tomcat 520 database tables
  5. 5. Development Challenges Openbravo Get Together – Developing with Openbravo ODE COMPLEXITY of THE PROJECT DISTRIBUTED DEVELOPMENT MDA CONCEPT <ul><li>SVN </li></ul><ul><ul><li>Enable large number of developers that are geographically distributed to cooperate </li></ul></ul><ul><ul><li>Provide a central repository for distribution of our software </li></ul></ul><ul><ul><li>Provides easy MERGE/DIFF capabilities </li></ul></ul><ul><li>DDLUTILS </li></ul><ul><ul><li>Replaces binary dumps with xml text files </li></ul></ul><ul><ul><li>This way, tracking and merge of metadata and database model development is possible </li></ul></ul><ul><li>ECLIPSE + ANT </li></ul><ul><ul><li>File/class browser </li></ul></ul><ul><ul><li>Code completion </li></ul></ul><ul><ul><li>Warnings and errors before compilation </li></ul></ul><ul><ul><li>Complex project build </li></ul></ul><ul><ul><li>Fast deployment and debugging </li></ul></ul>
  6. 6. Openbravo Development Environment Openbravo Get Together – Developing with Openbravo <ul><li>ODE is a framework of: </li></ul><ul><ul><li>Tools (Eclipse, SVN, etc)‏ </li></ul></ul><ul><ul><li>Methodologies (source control, development cycle, etc.)‏ </li></ul></ul><ul><ul><li>Processes (sequences)‏ </li></ul></ul><ul><li>We use it to make the following tasks more efficient </li></ul><ul><ul><li>Editing/navigating/controlling source code </li></ul></ul><ul><ul><li>Debugging </li></ul></ul><ul><ul><li>Testing </li></ul></ul><ul><ul><li>Deploying </li></ul></ul><ul><li>ODE supports Oracle and PostgreSQL based development environments. </li></ul><ul><li>Supports the development of various elements ( Openbravo ERP core contributions, modules and custom code ) </li></ul>http://wiki.openbravo.com/wiki/Openbravo_Development_Environment_ODE
  7. 7. Development Challenges Openbravo Get Together – Developing with Openbravo ODE COMPLEXITY of THE PROJECT DISTRIBUTED DEVELOPMENT MDA CONCEPT <ul><li>SVN </li></ul><ul><ul><li>Enable large number of developers that are geographically distributed to cooperate </li></ul></ul><ul><ul><li>Provide a central repository for distribution of our software </li></ul></ul><ul><ul><li>Provides easy MERGE/DIFF capabilities </li></ul></ul><ul><li>DDLUTILS </li></ul><ul><ul><li>Replaces binary dumps with xml text files </li></ul></ul><ul><ul><li>This way, tracking and merge of metadata and database model development is possible </li></ul></ul><ul><li>ECLIPSE + ANT </li></ul><ul><ul><li>File/class browser </li></ul></ul><ul><ul><li>Code completion </li></ul></ul><ul><ul><li>Warnings and errors before compilation </li></ul></ul><ul><ul><li>Complex project build </li></ul></ul><ul><ul><li>Fast deployment and debugging </li></ul></ul>
  8. 8. Development Challenges Openbravo Get Together – Developing with Openbravo ODE COMPLEXITY of THE PROJECT DISTRIBUTED DEVELOPMENT MDA CONCEPT <ul><li>SVN </li></ul><ul><ul><li>Enable large number of developers that are geographically distributed to cooperate </li></ul></ul><ul><ul><li>Provide a central repository for distribution of our software </li></ul></ul><ul><ul><li>Provides easy MERGE/DIFF capabilities </li></ul></ul><ul><li>DDLUTILS </li></ul><ul><ul><li>Replaces binary dumps with xml text files </li></ul></ul><ul><ul><li>This way, tracking and merge of metadata and database model development is possible </li></ul></ul><ul><li>ECLIPSE + ANT </li></ul><ul><ul><li>File/class browser </li></ul></ul><ul><ul><li>Code completion </li></ul></ul><ul><ul><li>Warnings and errors before compilation </li></ul></ul><ul><ul><li>Complex project build </li></ul></ul><ul><ul><li>Fast deployment and debugging </li></ul></ul>
  9. 9. Development Challenges Openbravo Get Together – Developing with Openbravo ODE COMPLEXITY of THE PROJECT DISTRIBUTED DEVELOPMENT MDA CONCEPT <ul><li>SVN </li></ul><ul><ul><li>Enable large number of developers that are geographically distributed to cooperate </li></ul></ul><ul><ul><li>Provide a central repository for distribution of our software </li></ul></ul><ul><li>DDLUTILS </li></ul><ul><ul><li>Replaces binary dumps with xml text files </li></ul></ul><ul><ul><li>This way, tracking and merge of metadata and database model development is possible </li></ul></ul><ul><li>ECLIPSE + ANT </li></ul><ul><ul><li>File/class browser </li></ul></ul><ul><ul><li>Code completion </li></ul></ul><ul><ul><li>Warnings and errors before compilation </li></ul></ul><ul><ul><li>Complex project build </li></ul></ul><ul><ul><li>Fast deployment and debugging </li></ul></ul>
  10. 10. Development Environment ID Solution Openbravo Get Together – Developing with Openbravo <ul><li>ISSUE: Several People Changing the Metadata Inside the Application Dictionary </li></ul><ul><ul><li>Adding a new window </li></ul></ul><ul><ul><li>Adding/removing a field </li></ul></ul><ul><ul><li>etc. </li></ul></ul><ul><li>SOLUTION: Developer Environment ID prefix </li></ul><ul><li>Every contributor ( RW access to the trunk) gets an ID (AD_DEVELOPER.xml)‏ </li></ul><ul><ul><li>Issued by Openbravo </li></ul></ul><ul><ul><li>10000-99999 range for core contributions </li></ul></ul><ul><ul><li>100-999 for custom projects </li></ul></ul>
  11. 11. Agenda Development Challenges and Openbravo Development Environment Tools Used Development Process Migrations/Upgrades Contributions
  12. 12. Tools Used – Eclipse Europa for Java EE Openbravo Get Together – Developing with Openbravo http://wiki.openbravo.com/wiki/Installation_and_setup_of_Eclipse_IDE
  13. 13. Tools Used – Eclipse + Subversive Openbravo Get Together – Developing with Openbravo
  14. 14. Tools Used – DdlUtils Openbravo Get Together – Developing with Openbravo https://dev.openbravo.com/websvn/dbsourcemanager http://wiki.openbravo.com/wiki/Database_sources_management compare.database.structure create.database create.database.script create.database.structure database.lib export.database export.database.data export.database.masterdata export.database.sampledata export.database.structure import.database.data import.database.masterdata import.database.sampledata save.database.model update.database update.database.script update.database.structure
  15. 15. Other Tools Openbravo Get Together – Developing with Openbravo <ul><ul><li>Firebug Addon for Firefox: Debug Javascript, HTML, CSS,... </li></ul></ul><ul><ul><li>SqlDeveloper by Oracle: Browse the Database and Debug PL </li></ul></ul><ul><ul><li>iReports for Jasper Reports: WYSIWYG editor of reports that Openbravo uses </li></ul></ul>
  16. 16. Agenda Development Challenges and Openbravo Development Environment Tools Used Development Process Migrations/Upgrades Contributions
  17. 17. Development Process Openbravo Get Together – Developing with Openbravo
  18. 18. Development Process Openbravo Get Together – Developing with Openbravo
  19. 19. Repository Structure that Aids Community Involvement Openbravo Get Together – Developing with Openbravo
  20. 20. Agenda Development Challenges and Openbravo Development Environment Tools Used Development Process Migrations/Upgrades Contributions
  21. 21. Migration to the new Environment/Version Openbravo Get Together – Developing with Openbravo
  22. 22. Agenda Development Challenges and Openbravo Development Environment Tools Used Development Process Migrations/Upgrades Contributions
  23. 23. Development Contributions Openbravo Get Together – Developing with Openbravo <ul><li>Several Ways of Contributing to the Project </li></ul><ul><ul><li>improve/write documentation (Wiki)‏ </li></ul></ul><ul><ul><li>write a blog (see planet.openbravo.com )‏ </li></ul></ul><ul><ul><li>report bugs (sourceforge)‏ </li></ul></ul><ul><ul><li>Localization ( https://dev.openbravo.com/websvn/localization )‏ </li></ul></ul><ul><ul><li>ideas and feature requests (sourceforge)‏ </li></ul></ul><ul><ul><li>Core </li></ul></ul><ul><ul><ul><li>fixes ( patches ) - sourceforge </li></ul></ul></ul><ul><ul><ul><li>becoming OB developer (developer ID) – commit privileges to dev.openbravo.com </li></ul></ul></ul>
  24. 24. Thank you! Openbravo Get Together

×