Sie sind auf Seite 1von 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

Das könnte Ihnen auch gefallen