0% found this document useful (0 votes)
127 views

Openbravo Technical Training 2 Development: Course Guide

Technical Training level 2 aims to provide an indepth knowledge of how Openbravo 3 can be customized, extended and packaged into modules. Client and serverside development is discussed through a reallife scenario and numerous handson exercises.

Uploaded by

julio25c
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
127 views

Openbravo Technical Training 2 Development: Course Guide

Technical Training level 2 aims to provide an indepth knowledge of how Openbravo 3 can be customized, extended and packaged into modules. Client and serverside development is discussed through a reallife scenario and numerous handson exercises.

Uploaded by

julio25c
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

OpenbravoTechnicalTraining2

Development
CourseGuide
v3.1.0
20082013OpenbravoS.L.U.Allrightsreserved.Theinformationinthisdocumentisconfidentialandmaynotbe
disseminatedordisclosedtothirdparties(eitherindigitalformoronpaper)withoutthepriorwrittenconsentof
OpenbravoS.L.U.

Introduction
Audience
Content
Session1ConceptsandScenarioPresentation
Session2DevelopmentEnvironment
Session3Modularity&InitialClientSetup
Session4AdvancedApplicationDictionary
Session5CustomizationofCoreDatabaseArtefacts
Session6JavaProcessesandtheDataAccessLayer
Session7Callouts
Session8Events
Session9BackgroundProcesses
Session10Webservices
Session11ToolBarandNavigationBarCustomizations
Session12ManualWindow/View
Session13Packaging
Formats
OnlineElearningFormat
ClassroomFormat
Requirements
Knowledgeprerequisites
ComputerRequirements
Terms&Prices
Times,Prices&Registration
Language
Notes

Introduction
TechnicalTraininglevel2aimstoprovideanindepthknowledgeofhowOpenbravo3canbe
customized,extendedandpackagedintomodules.Clientandserversidedevelopmentisdiscussed
throughareallifescenarioandnumeroushandsonexercises.
Note:Thiscoursedoesnotcovertopicssuchasinstallation,basiccustomizationsthroughtheuseof
applicationdictionaryandreportdevelopment!Tolearnthose,pleaseconsiderparticipatinginourTechnical
Training1.

Audience
ThiscourseistargetedatexperiencedJavadeveloperswhowillbecustomizingorextendingOpenbravo
3withnewfunctionality.SeetheRequirementssectionbelowforamoredetailedlistofrequiredknowledge.

Content
Session1ConceptsandScenarioPresentation
Thisfirstsessionwillwelcomethestudenttothecourse,presentthescheduleandgiveanoverviewofthe
topicsandassignments.
Toresembleareallifescenarioahotelmanagementmodulewillbedevelopedwiththefollowing
requirements:
anewGuestentitythattiestoaBusinessPartnertowhomaninvoicecanbeissued
anewRoomentity
anewStayentityovernightstayofaparticularguestinaroom
anewGuest/Staywindowwherethecorrespondingentitiescanbemanagedandedited
anewRoomwindowwhereroomscanbemanagedandedited
customizedBusinessPartnerscreen
backgroundandondemandrecalculationofguestratesbasedonthehistoryofstays
webservicethatexposesalistofavailableroomstotheworldaccordingtosmoking/nonsmoking
criteria
automaticcheckoutfromtheoriginalroomuponswitchingrooms
customscreenshowingamonthlyoverviewofroomutilization
packagealldevelopmentsforthissolutionintoasingleOBXfilethatcanbeshared/distributed

Session2DevelopmentEnvironment
Beforeanycodingtakesplace,adevelopmentenvironmentwillbesetupandconfigured.
checkoutofthelateststablecode
installationandconfigurationofEclipse
Allexercisesandcustomizationswithinthiscoursemustbedoneinthislocalenvironment!AnOpenbravo
OnDemandinstanceownedbyeachstudentwillbeusedtosimulateatesting/preproduction
environmentwherealldevelopmentswillhavetobedeployedtoandverifiedbytheinstructor.

Session3Modularity&InitialClientSetup
DevelopmentofanyartifactMUSTbepartofamodule.AnewHotelManagementtemplate+modulewill
becreatedwhichallsubsequentcoursedevelopmentswillbelongto.
Wewillalsolearnhowtoinstallotherexistingexternalmodules.
Aninitialclient+organizationsetupwillbeperformedforafictitiouscustomerHotelGreenTerraceto
simulatetheapplicationsetupandatestingenvironment.

Session4AdvancedApplicationDictionary
ThestudentshouldbefamiliarwiththebasicconceptsofOpenbravo'sModelDrivenDevelopment(MDD)
approachbynow.ThismetadataisalsocalledtheApplicationDictionaryinOpenbravo3anditsadvanced
powerswillbediscussedwithtopicssuchas:
creatingnewtables,windows,tabsandfields
creatingnewreferences
makingfieldsconditionallyreadonly

makingfieldsdisplayundercertainconditions
changinglabelsanddescriptionsoffields
deriveddefaultvalues
documentsequences
makingandexportingchangestoacorewindow

Session5CustomizationofCoreDatabaseArtefacts
StoredProcedures:MostofOpenbravo3businesslogicislocatedwithinstoredproceduresinsidethe
database.Customizationofcertainmainstoredproceduresthroughextensionpointsisoftenrequiredand
willbeexplainedhere.
Triggers:AnotherportionofOpenbravo3businesslogicisimplementedusingdatabasetriggers.The
studentwilllearnhowtriggersarestructuredandhowtooverridecoretriggers.
DevelopmentofnewbusinesslogicshouldbedonethroughJavaprocessesandwillbediscussedinlater
chapters.

Session6JavaProcessesandtheDataAccessLayer
DataAccessLayer
InsteadofstoredproceduresandSQLstatements,Openbravo3offersObjectRelationalMappingthrough
plainJavaobjectsthatallowthedevelopertoperformalldatabaseoperations.InOpenbravo3itiscalledthe
DataAccessLayer(DAL,basedonHibernate)whichwillbediscussedhere.
ActionButtons
Extendingstandardwindowsdefinedinsidetheapplicationdictionarycanoftenbedonebyplacingaction
buttonsonthemwithaJavaprocessbehindit.Anactionbuttonwillbeintroducedtotheguestwindowthat
recalculatesaspecificguest'sratebasedonhisorherstaywithinthelastXmonths.

Session7Callouts
Doingvalidations,additionaldatabaselookupsorplaincalculationswithinautomaticwindowsispossible
usingcalloutsassociatedwithindividualcolumns.Anewcalloutwillbedevelopedthatuponenteringa
checkoutdateforaguest'sstay,automaticallycalculatesthefinalsumbasedonthenightsstayedandthe
roomrategiven.

Session8Events
EventsareJavaprocessesthatreplacethedatabasetriggerfunctionality.Aneweventwillbedeveloped
withinthissectionthatoperatesonourlistofstays,doinganautomaticcheckoutofaguestthatswitchesto
anotherroom.

Session9BackgroundProcesses
AnyJavaprocessinOpenbravocaneasilybedevelopedandscheduledasabackgroundjob.Thehotel
managementscenariorequirestheguestratetoberecalculatedautomaticallyusingabackgroundprocess
developedhere.
ProcessvsDALBaseProcess
Developashortbackgroundprocess
Scheduling
Monitoring

Session10Webservices
Webservicesareagreatwayofmakingapplicationsflexibleandopentointegrationwithothersystems.

OpenbravosupportsSOAPaswellasREST(XML&JSON)webserviceswhichwillbediscussedinthis
chapter.AnewRESTwebservicewillbedevelopedthatoffersalistofavailable(nonoccupied)rooms
accordingtothesmoking/nonsmokingcriteriapassed.

Session11ToolBarandNavigationBarCustomizations
CustombuttonsorwidgetscanbeaddedtotheToolbarortheNavigationbar.Bothwillbediscussedand
developedwithinthischapter.

Session12ManualWindow/View
Whenacertainfunctionalitycannotbesupportedbytheelementsdiscusseduntilthispointorwhena
differentUIisrequired,acustomscreencanbedevelopedfromscratchtofillthegap.Thisisthelastresort
whichshouldonlybetakenwhennootherframeworkartifactcanbeusedtoimplementthesolution.
Customwindowsofferlimitlessoptionsbutmakeyouthefullownerandmaintainerofit.Consequently,
thesedonotbenefitfromOpenbravobugfixesandupgrades.
TheuseoftheSmartClientRIAlibrarywillbeexplainedheretodevelopthefrontend,coupledbyabackend
Javaprocess.

Session13Packaging
Bythispoint,thestudentwillhavelotsofadditionaldevelopmentsdonecomparedtothecoreOpenbravo3.
Packagingthemtogetherinordertoinstallthematacustomer'ssiteorsharethemwiththecommunityis
crucial.Onewilllearnhowtodefinedatasetsandexportallmetadatatoaspecificmodule'sfolderand
packageittogetherintoasingle.OBXfile.

Formats
OnlineElearningFormat
Theonlineversionofthecoursedeliversthesamecontentastheclassroomonebutinaselfstudymanner
andoveralongerperiodoftime,4weeks.Theonlineformatofthistrainingisanalternativedesignedfor
participantswithfinancialand/orresourceconstraints.Tomakeupfortheclassroominteractivity,the
onlineelearningplatformcomeswiththefollowingcollaborationelements:
Newsblogwherelivesessionsandothernewswillbepublished
Documentationforeachtopicandassignmentsthatcanbeprintedout
LinkstoHowtoarticlesandadditionalreadings
Q&AforumsmonitoredandansweredbyOpenbravotrainingspecialists
Exercisesandassignments
EmbeddedIRClivechatsessions/supporttutoredbyaOpenbravotrainingspecialists
AnOpenbravoOnDemandvirtualinstanceofOpenbravo3applicationisprovidedwhere
exercisesaredeployed,executedandtroubleshotbytheinstructor
Thiscourserequiresroughly45hours(dependingonthestudentsbackgroundandproficiency)of
studentselfstudywhichheorshemayinvestastheyseefitacrossthe4weekavailability:

ClassroomFormat
ClassroomformatofthetrainingisaimedatthoseinneedtolearnhowtocustomizeandextendOpenbravo
3intheshortestandmostefficientmannerpossible.Whengivenassuchanddeliveredbyan
OpenbravoTrainingSpecialist,theAdvancedDevelopmentTrainingisa5daycoursewiththefollowing
schedule:
Day1

Day2

Day3

Day4

Day5

Concepts&
Scenario

Advanced
Application
Dictionary

JavaProcesses&
DataAccessLayer

Background
Processes

Custom
Window/View

Callouts

Webservices

Packagingthe
Solution

Events

Toolbarand
Navigationbar
customizations

Development
Environment
Modularity&Initial
ClientSetup

Customizationof
CoreDatabase
Artefacts

Resolvingleftissues
&Q&A

WithintheclassroomtrainingthestudentwillreceiveaUSBkeywith:
electronicmaterials
toolsandinstallersrequiredforthecourse
implementationsourceexamples

Requirements
Knowledgeprerequisites

knowledgeofbasicdevelopmentconceptsinOpenbravo3(masteredbytakingtheTechnical
Training1)
excellentseniorknowledgeofJava
goodknowledgeofJavascript
mastertheconceptsofwebapplications(preferablyJ2EE)
basicknowledgeofdatabaseconceptsandSQL(SELECT,storedprocedures,triggers)
knowledgeofsourcecontrol(Mercurial)isaplus

ComputerRequirements

dualcoreprocessor(2GHzorfaster)
4GbRAMormore
Acompatiblewebbrowser.DuetothefactthatOpenbravo3isarichinternetapplication,the
newestbrowserswithoptimizedJavascriptenginesarerecommendedforthebestuserexperience:
Firefox4
GoogleChrome9
InternetExplorer9
Safari5

Terms&Prices
Times,Prices&Registration
Pleasevisithttp://www.openbravo.com/trainingforalistofscheduleddatesandlocationsandtopurchase
seatsforattendingoneoftheupcomingcourses.

Language
AlltrainingmaterialsareavailableinEnglishonly.Classroomteachesandonlinecoursesupport
(forums&chats)howevercanalsobedeliveredinSpanish.

Notes

ThecourseisledandfollowedbyanOpenbravoTrainingSpecialist.
TrainingisbasedonOpenbravoversion3.
Pricesarequotedperstudentanddonotincludetaxes.
Thiscourseisopentoallparticipants,regardlessofaffiliationwithOpenbravo.
Thiscoursedoesnotcoverthefunctionalorbasictechnicalconfigurationtopicsrequiredto
completeanimplementationwhicharedeliveredduringtheFunctionalTraining1andTechnical
Training1.
FordetailedTermsandConditionsofOpenbravocoursewaredelivery,pleasevisitthefollowing
link:http://university.openbravo.com/universityterms.html

You might also like