De volgende aanpassingen werden doorgevoerd, hoofdzakelijk aan de externe struktuur van de expanders (niet de source code als dusdanig):
- de naam van de applicatie komt niet meer voor in de verschillende descriptor files
(dit vormde een probleem bij het herbruiken van gemeenschappelijke cd's, dd's, fd's, td's, ...)
- de root folder van de locatie waar de code gegenereerd wordt, is verwijderd als eerste lijn in de verschillende descriptor files
(dit was voordien ook vervelend indien je bv. dd's porteerde van een Linux naar een Windows platform)
- de SVN root folder bevat nu 5 duidelijke onderverdelingen: expanders (de source code van de NS expanders), extensions (de customisaties op de gegenereerde code), externals (bv. DOJO javascript, encryption jars), descriptors (application & component descriptors en expansie meta scripts om applicaties te bouwen) en expansions (de locatie waar de gegenereerde code terecht komt)
(voordien was dit verwarrend, 'expand' leek een EJB component te zijn en de descriptors zaten ergens diep weg in een subfolder van 'expand\etc\test')
- elke applicatie bevat nu een 'set_exp_env_vars' script, waar de variabelen die de expansie sturen, kunnen geconfigureerd worden; o.a. keuze technologie stack, keuze v/d locatie van expanders, extensions, descriptors, expansions, ...
(m.a.w. de sturing kan nu per applicatie en is niet meer afhankelijk van 'system wide' environment variables)
- De expansie scripts werden ontkoppeld in een stuk 'zuivere expansie' en een stuk 'publishing in de applicatie'. Daardoor is het nu mogelijk een voorheen geexpandeerde component te 'publiceren' in een applicatie, zodat niet telkens opnieuw alle dd's van een bepaalde component dienen geherexpandeerd te worden (dit kan een aanzienlijke tijdswinst betekenen tijdens de ontwikkeling)
De vorige versie van de NS expanders source code, de 'alpha' SVN repository, blijft beschikbaar op de volgende URL: https://catcher01.democritus.net/svn/src-alpha/ .
Aangezien de struktuur grondig gewijzigd werd, staat de nieuwe 'refactored' source code op een afzonderlijke 'beta' SVN repository: https://catcher01.democritus.net/svn/src-beta/ .
Er volgt nog een tweede fase in de refactoring; deze is dan hoofdzakelijk gericht op de interne struktuur van de expanders, t.t.z. met het oog op de evolueerbaarheid van de expander source code zelf.
woensdag 31 augustus 2011
dinsdag 30 augustus 2011
Performantie-problemen Jonas-server (Nice to know)
Wij hebben een aantal weken geworsteld met aanzienlijke performantie-problemen met de opstart van Jonas voor project met aanzienlijk veel Stateless Session Beans. Voor bijvoorbeeld 100, duurde het meer dan 10 minuten vooraleer de applicatie opgestart was.
Dan maar even contact opgenomen met de Jonas-developers, en blijkt dat de oplossing zeer simpel was, maar je moet het weten. Dit was hun antwoord :
You should comment the component located in JONAS_BASE/conf/easybeans-jonas.xml file
Dit zorgde ervoor dat onze applicatie nu in minder dan 1 minuut opstart.
Dan maar even contact opgenomen met de Jonas-developers, en blijkt dat de oplossing zeer simpel was, maar je moet het weten. Dit was hun antwoord :
You should comment the
Dit zorgde ervoor dat onze applicatie nu in minder dan 1 minuut opstart.
Abonneren op:
Posts (Atom)