Developing With Openbravo - Rok Lenardic

  • 2,805 views
Uploaded on

Openbravo reveals its power through its rapid development possibilities. Its architecture and methodologies enable developers to quickly adapt the application as well as design entirely new …

Openbravo reveals its power through its rapid development possibilities. Its architecture and methodologies enable developers to quickly adapt the application as well as design entirely new functionalities. This session takes a behind the scenes look at efficiency in Openbravo development and the tools required to get the job done. The following topics will be addressed: development complexity, source control, metadata issues, upgrades, eclipse integrated development environment, etc.

More in: Business , Travel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,805
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
204
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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