Document:Installatie Handleiding Ontwikkelomgeving
| Installatie Handleiding Ontwikkelomgeving[1] | |
|---|---|
| Datum | 7 February 2012 |
| Fase | Fase Onafhankelijk |
| Versie | 0.99 |
| Status | Kandidaat |
| Auteurs | Jonas Butt |
| Goedgekeurd door | |
| Aangepast door | Arno Fiege, Jasper Krijgsman |
In deze handleiding wordt uitgelegd hoe je snel van start kan met het ontwikkelen binnen WOSI. Er wordt uitgelegd welke software benodigd is en hoe deze geïnstalleerd moet worden. Daarna wordt uitgelegd hoe de broncode van WOSI te verkrijgen is en hoe je deze broncode uitvoert. Ook worden de belangrijke online applicaties en websites van WOSI die je nodig hebt tijdens het project toegelicht.
Contents |
Benodigde software (geadviseerd)
| Softwarenaam | Versie | URL | Note |
|---|---|---|---|
| Java JDK | 6 Update 21 | java.sun.com | |
| Eclipse (WTP) | galileo | download.eclipse.org | |
| Apache Tomcat | 6.0.x | tomcat.apache.org | |
| MySQL | 5.x | dev.mysql.com | Klik op de link 'No thanks, just take me to the downloads!' onder het loginscherm om zonder registratie te downloaden. |
| Subclipse | 1.2.x | subclipse.tigris.org | Volg de instructies in de pagina |
| Maven | 2.0.x | maven.apache.org | |
Software installeren en configureren
In dit hoofdstuk wordt voor alle software uitgelegd waar het voor dient en hoe het geïnstalleerd en geconfigureerd moet worden.Het is aan te raden de volgorde van dit hoofdstuk aan te houden bij het installeren van de software. Ook is het misschien handig om een speciale map te maken voor alle WOSI gerelateerde software, bijvoorbeeld C:\Program Files\WOSI\.
Om te beginnen maken we een standaard locatie voor wosi gerelateerde software. Bijvoorbeeld c:\Program Files\WOSI of \home\**username**\WOSI\ (afhankelijk van je platvorm en voorkeur) In de instructies zullen we deze locatie verder de WOSI-map noemen.
Java
Java is een objectgeoriënteerde programmeertaal. Binnen Wosi is java de programmeertaal waarin het meerendeel van de code geschreven is. (zoniet alle)
Voor de ontwikkelomgeving gebruiken we minimaal Java 5, de meeste developers hebben de afgelopen tijd Java 6 gebruikt. Maar de features van Java 5 zijn sturend voor de funcionaliteit. Elementen die Java 6 only zijn worden nog niet gebruikt.
Installatie
| Windows | Linux (Ubuntu Hardy) | Mac |
|---|---|---|
| Download de Java JDK (Minimaal Java 5, gebruikelijke is java 6 update 11 of hoger)
Installeer het gedownloade bestand (meestel iets als: java-6uX-windows.i568-p.exe (waar X de update versie is) |
Installeer het pakket
of
via aptitude of synaptic. (sudo aptitude install sun-java6-jdk) |
Eclipse
Eclipse is een bekende en populaire Java Ontwikkelomgeving (IDE). Binnen WOSI maakt Eclipse onderdeel uit van de ontwikkelstraat en is het de applicatie waarmee de ontwikkeling plaats vindt.
Installatie
| Windows | Linux (Ubuntu Hardy) | Mac |
|---|---|---|
|
De repositories bevatten eclipse 3.2 zonder alle benodigde plugins dus installeren we handmatig.
|
Tomcat
Het Apache Tomcat project is een implementatie van een Java web container. Een web container is een omgeving voor het uitvoeren van Java web componenten zoals Java Servlets en JSPs. Het zorgt onder andere voor security, concurrency, life-cycle management, transaction en deployment. Tomcat bevat een interne HTTP-server (webserver).
Installatie
| Windows | Linux (Ubuntu Hardy) | Mac |
|---|---|---|
|
|
|
MySQL
Binnen Wosi is MySQL in gebruik als database server voor de applicaties die we ontwikkelen.
MySQL Community Server
De MySQL database is zowel een commercieel product als een open source project. De open source variant heet MySQL Community Server. Dit is de database waarop de WOSI applicatie draait.
Installatie
| Windows | Linux (Ubuntu Hardy) | Mac |
|---|---|---|
De database wordt eenvoudig met een Windows Installer geïnstalleerd en geconfigureerd.
|
Installeer het pakket mysql-server via Aptitude of Synaptics.
|
Aanmaken WOSI database
- Start na de installatie van de MySQL server de "MySQL Command Line Client"
- log in met het wachtwoord dat je ingevoerd hebt tijdens de installatie van MySQL
- typ [create database wosi;] <enter> (zonder brackets)
- typ [use wosi;] <enter>
- typ [grant all on wosi.* to 'wosi'@'localhost' identified by 'wosi';]
Nu is je database klaar voor gebruik met het wosi project
Subclipse
Subclipse is een plugin voor Eclipse die SVN functionaliteit zoals Checkout, Commit en Update integreert in de ontwikkelomgeving.
Naast subclipse is het ook aan te raden om de svn commandline of tortoiseSVN te gebruiken. (vanwege enkele bestanden die niet binnen eclipse versiebeheer te beheren zijn, zoals de hoofd pom).
Installatie
Deze instructies gaan uit van Eclipse versie 3.3 of hoger.
- Klik op “Help > Software Updates > Find and Install”
- Kies voor “Search for new features to install” en klik op “Next”
- Kies voor “New remote site”
- Vul de volgende gegevens in en druk op “OK”
- Name: Subclipse URL: http://subclipse.tigris.org/update_1.6.x
- Klik op “Finish”. Eclipse zoekt nu de juiste versie om te installeren.
- Klik in het veld “Select the features to install” op de + voor “Subclipse” en slecteer het subonderdeel alleen “Subclipse” en niet “Mylar integration”. Klik op “Next”.
- Accepteer de licentieovereenkomst en klik “Next”
- Klik op “Finish”, de installatie begint.
- Bij de vraag voor verificatie klik op “Install all”.
- Herstart Eclipse als de installatie voltooid is.
Subversive
Subversive is een svn client die uiteindelijk subclipse moet vervangen. Subversive is stablieler heeft meer functies en, nog het meest belangrijke, is beter in conflicten resolven. De software is nog in beta versie, of zoals eclipse het noemt "incubation". De instalatie heeft iets meer voeten in de aarde dat de installatie van subclipse, omdat de SVN connectors nog bij ontwikkelaar Polarion zijn ondergebracht.
Installatie
Deze instructies gaan uit van Eclipse versie 3.3 of hoger.
- Klik op “Help > Software Updates > Find and Install”
- Ga naar tab "Available Software"
- Klik op "Add Site", voeg de volgende sites toe:
- Selecteer "Subversive SVN Team Provider" en de geschikte SVN connector (Selecteer hier niet de win32 JavaHL als je op Linux werkt)
- Klik op "install"
Maven
Apache Maven is een software gereedschap voor Java project management en geautomatiseerde softwarebouw. Het is gelijk in functionaliteit aan het gereedschap Apache Ant maar heeft een simpeler bouwconfiguratie gebaseerd op de taal XML.
Maven gebruikt een "Project Object Model" (POM) om de software onder constructie te duiden. In de POM staan de afhankelijkheden met andere modules en componenten, waaruit de volgorde van bouwen bepaald wordt.
In de POM kunnen naast de gebruikelijke stappen als compileren en samenvoegen voor distributie, extra acties gedefinieerd worden die het ontwikkel proces kunnen ondersteunen. Voorbeelden hiervan zijn:
- automatisch testen
- (statische) code verificatie
- analyse van code coverage door de testen
Een belangrijk aspect van Maven is de zogenaamde "repository" waarin verschillende versies van componenten opgeslagen zijn. Dit kunnen componenten zijn waarvan de te bouwen software rechtstreeks afhankelijk is. Ook kunnen dit componenten zijn die het bouwproces zelf ondersteunen. Maven biedt ondersteuning om de repository automatisch te vullen met versies die op het internet aangeboden worden via Apache en ander organisaties.
Installatie
| Windows | Linux (Ubuntu Hardy) | Mac |
|---|---|---|
Voorbeeld Maven is geïnstalleerd in: C:\Program Files\WOSI\apache-maven-2.0.8 Aan deze variabele PATH voeg je dan toe: C:\Program Files\WOSI\apache-maven-2.0.8\bin
echo %JAVA_HOME% %JAVA_HOME%
mvn --version |
De repositories bevatten maven 2.0.8
|
Broncode uitchecken, compileren en uitvoeren
Eclipse Updaten
Ga naar Help >> Software Updates >> Installed Software >> Update >> Next >> accept terms >> Finish
Broncode binnenhalen
Voordat je de broncode gaat binnenhalen is het verstanding om eerst de <a href="Status van de broncode">status van de broncode</a> door te nemen om te weten welke branch voor jou relevant is om uit te checken en mee te werken. We gaan in onze uitleg uit van de trunk maar voor andere branches vervang je trunk door branches\naam van de branch
Ervan uitgaande dat je de Subclipse plugin hebt geïnstalleerd in Eclipse, moet je nu het volgende doen om de broncode binnen te halen.
- Kies Window -> Open Perspective -> Other… -> SVN Repository Exploring
- Rechtermuis -> New -> Repository Location...
- Voer de SVN URL in: https://dev.wosi.org/svn/wosi. Hiervoor heb je ook je WOSI login nodig.
- Ga in de map trunk.
- Rechtermuis op map \trunk en dan Checkout…
- Selecteer Check out as a project in the workspace en vervolgens Finish.
- Kies Window -> Open Perspective -> Other… -> Java EE
- Sluit Eclipse.
- Ga in je command prompt naar de map trunk in je workspace.
- Voer hier het command mvn eclipse:eclipse uit
- Start Eclipse weer en selecteer File -> Import -> Existing Projects into Workspace.
- Selecteer de trunk map in je workspace map.
- Nu zie je de eigenlijke projecten. Deze moet je importeren.
(voor subversive) - Selecteer Alle nieuw geimporteerde projecten en klik op de rechtermuiskop. Ga nu naar Team -> Share Projects
- Kies "Reconnect all from:" https://dev.wosi.org/svn/ en klik on Next.
- Kies hier de optie Use project settings en klik op Finish.
Maven configureren in Eclipse
- Eclipse dient te worden voorzien van een variabele waarmee de Maven repository wordt geïdentificeerd. Ga naar Window -> Preferences en dan naar Java-> Build Path -> Classpath Variables -> New ->
- Voeg toe:
Name: M2_REPO Path: Het pad naar de Maven repository. Deze map bevindt meestal in C:\Documents and Settings\<Windows gebruikersnaam>\.m2\repository.
- Refresh je projectoverzicht en toets vervolgens ctrl+B om te builden.
- Los eventuele errors (rode kruisjes) in het tabblad Problems op en build nogmaals.
Tomcat instellen in Eclipse
- File -> New -> Other
- Zoek naar Server
- Selecteer Apache Tomcat 6.04. Verplaats Web en/of Complaints naar de rechter kolom.
Webapplicatie testen
- Start de Tomcat server
- Ga naar een van de volgende locaties (afhankelijk van wat je ontwikkelt):
Database Repository
putty noshell aanzetten onder ssh (ssh commando: ssh -NL [localport]:localhost:3306)
ResourceBundle Editor(optioneel)
Om de WOSI applicatie geschikt te maken voor meerdere talen staan alle teksten in zogenaamde resourcebundles. Deze bestanden zijn met de hand te bewerken, maar het is gemakkelijker om de Resourcebundle editor te gebuiken omdat een key dan in alle talen tegelijkertijd te bewerken is.
Installatie
Deze instructies gaan uit van Eclipse versie 3.3 of hoger.
- Klik op “Help > Software Updates > Find and Install”
- Ga naar tab "Available Software"
- Klik op "Add Site", voeg de volgende site toe:
- Selecteer "ResourceBundle Editor Plug-in"
- Klik op "install"
FindBugs(optioneel)
FindBugs is een programma dat statistische analyse gebruikt om veel gemaakte fouten uit Java programma's te halen. FindBugs zal niet alle fouten vinden, maar het zal je wijzen op slordigheden en risicovolle operaties die nu of in de toekomst problemen kunnen geven. Je zult de waarschuwingen die FindBugs geeft zelf op risico moeten schatten, het is niet noodzakelijk alle "fouten" op te lossen.
Installatie
Deze instructies gaan uit van Eclipse versie 3.3 of hoger.
- Klik op “Help > Software Updates > Find and Install”
- Ga naar tab "Available Software"
- Klik op "Add Site", voeg de volgende site toe:
- Selecteer "FindBugs Feature"
- Klik op "install"
Optionele tools en plugins
Hieronder staat een lijst van handige tools en plugins die zijn meegeleverd in het ontwikkelomgeving pakket. Deze software is niet direct nodig voor het ontwikkelen voor WOSI, maar het is gebleken dat deze software handig kan zijn in sommige situaties.
- Sybase PowerDesigner v12.5 - Deze applicatie wordt gebruikt door het database team om de WOSI standaard database te ontwerpen. Over het gebruik hiervan bestaat een apart document gemaakt door database team van fase 4.
- Mysql gui tools 5.0 r12 (win32) - Dit is een verzameling tools waarmee de zojuist geïnstalleerd MySQL server via GUI beheerd kan worden.
- Navicat 8.2.13 - MySQL GUI voor Linux, Mac en Windows (tip)
- TortoiseSVN-1.6.1.16129 - Dit programma is een alternatief op de Subclipse plugin. Hiermee wordt SVN functionaliteit toegevoegd aan Windows Verkenner/Explorer.
- MicroOLAP Database Designer For MySQL v1.9.1.zip - Dit programma wordt gebruikt om snel MySQL tabellen me te ontwerpen. Ook kan er eenvoudig een database diagram worden gemaakt van een bestaande MySQL database.
- CmdHerePowertoySetup.exe - Dit is een Windows PowerToy die een een commando toevoegt aan de Windows Explorer Shell. Nadat het geïnstalleerd is kan je eenvoudig een locatie openen in het cmd.exe prompt door met de rechter muisknop op een map te klikken. Handig bij de installatie van Maven.
- Windows Environment Variables Manager EnvMan-1.3.zip - Deze tool vereenvoudigd het beheer van de Windows ongevings-variabelen. Handig bij de installatie van Maven.
- Update Sites
- Hibernate Tools (http://download.jboss.org/jbosstools/updates/stable)
- Maven2 Eclipse Integration. ( http://m2eclipse.sonatype.org/update/)
- SpringIDE (http://springide.org/updatesite)
Installatie werkt als volgt:
- Help -> Software Updates -> Find and Install…
- Search for new features to install aanvinken en dan Next
- Klik op New Remote Site…
- Voer een naam en de url in
- Klik op Finish
- Volg de wizard voor installatie van geselecteerde plugin(s)