Upload
felix-andrade
View
218
Download
0
Embed Size (px)
Citation preview
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
1/22
Basic Development Training
Chapter 3 - Modularity3.0v3
2008-2012 Openbravo S.L.U. All rights reserved. The information in this document is confidential and may not be disseminated or disclosed tothird parties (either in digital form or on paper) without the prior written consent of Openbravo S.L.U.
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
2/22
Page 2 Openbravo SL, 2007-2011 Chapter 3 Modularity
ModularityOverview
Key concept of Modularity introduced in version 2.50
A paradigm shift in the way Openbravo ERP functionality is developed
Modularity is the ability for developers to build, package and distributeExtension Modules and for users to install, uninstall and update them
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
3/22
Page 3 Openbravo SL, 2007-2011 Chapter 3 Modularity
Modularity Agenda
Traditional Approach
Overview
Management
Developer's View
The Ecosystem
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
4/22
Page 4 Openbravo SL, 2007-2011 Chapter 3 Modularity
Traditional ApproachThe Problem
Functionality required can vary per country and industry area.
Pre-2.50 Openbravo ERP offered a monolithic architecture.
Multiple development of the same functionality is a waste of resources.
Each partner is locked into maintaining their own customizations for the lifecycle of theapplication.
No mechanism to share functionality with the Openbravo community.
If a partner in India builds some functionality, they have no way of sharing that withother partners in the community.
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
5/22Page 5 Openbravo SL, 2007-2011 Chapter 3 Modularity
Traditional ApproachCustomizing vs. Extending
A MUST READ!http://paolojuvara.blogspot.com/2009/05/extend-dont-customize.html
Open Source SW is tempting to customize
since it is usually more innovative but lessmature
With Great Power Comes GreatResponsibility
Tendency to find yourself with a piece ofsoftware too complicated to upgrade and tooexpensive to maintain
Open Source developers prone tohacking and changing code
Avoid at all costs! Use the benefits of maintainability and solution packaging!
Extending ALL Openbravo ERP developments should
be done as part of a module as of OpenbravoERP version 2.50
Much easier to apply coreenhancements/fixes/patches
Start with Vanilla Solutions: most often,customizations initially thought essential arein fact not needed
New developments neatly packaged anddistributed
Customizing
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
6/22Page 6 Openbravo SL, 2007-2011 Chapter 3 Modularity
Modularity Agenda
Traditional Approach
Overview
Management
Developer's View
The Ecosystem
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
7/22Page 7 Openbravo SL, 2007-2011 Chapter 3 Modularity
OverviewTerminology
Let's define some terms:
Module any extension on top of core Openbravo ERP
Artifact a framework element of Openbravo ERP (window, stored procedure, etc)
Localization country specific functionality
Vertical industry specific functionality Monolithic - rigid
Pack type of module that groups a few basic modules together
Template type of module that allows changes to the core
Ecosystem community & partners not having to reinvent the wheel
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
8/22Page 8 Openbravo SL, 2007-2011 Chapter 3 Modularity
Overview Advantages
Distributed development Lower barriers to contribution
Shorter time to market Global reach for all contributors
Licensing Freedom
Community Collaboration
Development Scalability Drive by contributions
Broader and deeper functional coverage
Better Localization Support Lower total cost of ownership and
improved return on investment (ROI)
Reduced Implementation Time and
faster return on investment (ROI) Richer Ecosystem
Developers End Users
Ease of development in theLife-cycle : high power ofextension module.
Ease of deployment in theLife-cycle : installation, updatesand uninstall.
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
9/22Page 9 Openbravo SL, 2007-2011 Chapter 3 Modularity
Modularity Agenda
Traditional Approach
Overview
Management
Developer's View
The Ecosystem
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
10/22Page 10 Openbravo SL, 2007-2011 Chapter 3 Modularity
ManagementThe Vision
A working Openbravo ERP system will be composed of both the Core Openbravo module plus ExtensionModules; Module, Pack and Template.
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
11/22Page 11 Openbravo SL, 2007-2011 Chapter 3 Modularity
The Central Repository is a system embedded in the Openbravo Forge to provide services related to Openbravo Modules for developers and users.
ManagementThe Central Repository
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
12/22
Page 12 Openbravo SL, 2007-2011 Chapter 3 Modularity
ManagementModule Management Console
Search for modules
Scan for updates
Add new modules
Remove installedmodules
Rebuild the application
NOTE: If a module is ever uninstalled the following happens:1. if it was a template with a configuration script, the screen customizations are reversed2. data of any custom data structures is preserved and not deleted
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
13/22
Page 13 Openbravo SL, 2007-2011 Chapter 3 Modularity
Modularity Agenda
Traditional Approach
Overview
Management
Developer's View
The Ecosystem
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
14/22
Page 14 Openbravo SL, 2007-2011 Chapter 3 Modularity
Concepts
Modules Packs
Industry Templates
Base content container Application Dictionary componentsSoftware resourcesReference data
Able to add new elements toOpenbravo
Cannot modify elements of other modules or of Core
Collection of modulesSimplify deploymentEncourage fine grained modulesSpecial packs are localization andverticalization packs
The combination of a pack and aconfiguration script Able to modify the behavior of other modules, including Core
Developer's ViewTypes of Modules
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
15/22
Page 15 Openbravo SL, 2007-2011 Chapter 3 Modularity
Module.obx
Application
DictionaryComponents
SoftwareResources
ReferenceData
ConfigurationScript
Metadata that describe Openbravo ERPWindows, Tabs, Fields, Messages, etc.
Openbravo ERP components not expressed as metadataJava classes, jar libraries, XML files, etc.
Application Dictionary Components referred by transactionsand that tend not to change frequently
Charts of accounts, tax codes, banks, product categories, etc.Can be defined at system, client or organization level.
Changes in Application Dictionary Components to support aspecific set of business processes
Hide / show tabs or fields, replace standard processes, etc.Only meaningful changes are allowed.
Developer's View Artefacts
l
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
16/22
Page 16 Openbravo SL, 2007-2011 Chapter 3 Modularity
Developer's ViewPackaging
Managing modules must be as easy aspossible for the developers.
All the modules content (all the artifactsdescribed earlier) is located within itssubfolder inside the main Openbravo/modulesfolder
Modules are distributed as .obx files plainzip files of the modules folder
A set of ant tasks is offered to automatepackaging
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
17/22
Th E t
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
18/22
Page 18 Openbravo SL, 2007-2011 Chapter 3 Modularity
The EcosystemForge: Register a Project and Publish the Module
The Procedure: Login to Openbravo Forge
http://forge.openbravo.com/
Register your Project.
Select the services you want to be available for your project, for example a discussion forum.
Select My Profile. You will see that the moduleyou registered in Openbravo ERP is listed.Click the module.
Associate the module with the project.
Navigate to the location of your module's .obxfile. And select Publish OBX File.
The Ecos stem
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
19/22
Page 19 Openbravo SL, 2007-2011 Chapter 3 Modularity
The EcosystemForge: Make Use of the Free Tools
Rich Project Management Tools
List and Publish
Free, Professional (free with OBPS) and Commercial projects/modules
Commercialize your modules with Openbravo Exchange ( http://exchange.openbravo.com/ )
The Ecosystem
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
20/22
Page 20 Openbravo SL, 2007-2011 Chapter 3 Modularity
Available for download through Openbravo ERP or from the Openbravo Forge
http://forge.openbravo.com/openbravo/moduleslist
The EcosystemForge: Leverage Existing Offer
Modularity
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
21/22
Page 21 Openbravo SL, 2007-2011 Chapter 3 Modularity
ModularityFurther Reading
You are recommended to attend or review the series of Extension Module Demonstrations Videos.You can find all resources for this at :
http://wiki.openbravo.com/wiki/ERP/2.50/Extension_Module_Demonstrations_Videos
The following additional features can be found in the developers guide under advanced features.They are not covered in this class but make for recommended further reading.
UUID
s
Module Dependencies
How to manage version numbers
On line translation
Model Implementation concept
Modes of deployment class and war
Master data and sample data
http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/Modularity#Development_of_Module_artifacts
7/31/2019 BTT Chapter 03 Modularity Introduction (1)
22/22
Page 22 Openbravo SL, 2007-2011 Chapter 3 Modularity