donderdag 24 oktober 2013

Sinds augustus 2012 kunnen leden van de NS Alliance informatie downloaden van de NSX website op de URL www.normalizedsystems.org:8080.

Ook andere personen, geïnteresseerd in de technische kant van Normalized Systems, t.t.z. de NS eXpanders, kunnen hier mogelijk ook gebruik van maken. Men dient wel te beschikken over een gebruikersnaam en wachtwoord. Dat kan je aanvragen door een email te zenden naar info@nsx.normalizedsystems.org.

Naast een NS framework zip file met alle JEE infrastructuur software en de NS expanders software, vindt je daar ook per NS versie een aantal manuals terug: er is  de NS Quick Install Guide, de NS user reference guide en de NS user development guide.

zaterdag 17 november 2012

Verduidelijking concept Portal, Menu, MenuItem

Bij de nieuwe expanders bestaan volgende concepten die nodig zijn voor de opbouw van de menu's :
Screen
ScreenProfile
Menu
MenuItem
Portal

Kunnen deze concepten meer verduidelijkt worden? Het is me nog niet volledig duidelijk hoe deze structuur in elkaar zit

dinsdag 8 november 2011

Tweede fase refactoring NS expanders

Op de Normalized Systems SVN server, onder de URL https://catcher01.democritus.net/svn/src/trunk, zijn de nieuwe refactored NS expanders beschikbaar.

Er zijn enkel aanpassingen gebeurd aan de implementatie van de NS expansie code zelf, niet aan de uitwendige structuur van het framework, m.a.w. enkel wijzigingen in de tak trunk/expanders.

Wat is veranderd? De expander source code is nu gebaseerd op de StringTemplate java template engine: http://www.stringtemplate.org. Voor elk te genereren bestand (java, xml, xsp, jsp, ...) werd een afzonderlijke template voorzien. Bij elke template hoort 1/1 een java bestand welke de nodige logica bevat.

Wat zijn de voordelen? Naast de gegenereerde code, is de expander source code zelf nu volledig genormaliseerd. De structuur bevat meer granulariteit wat de evolueerbaarheid van de expanders ten goede komt. De verschillende stacks (Cocoon/Struts2 in de web tier, EJB2.1/EJB3 in de business tier) kunnen nu verder consistent en volwaardig worden uitgebouwd.

Wat verandert er voor de gebruiker? De 'build omgeving' is gebaseerd op Maven2, in de folder expanders (bv. D:\NSF\expanders) kan de uitvoerbare code worden aangemaakt met het commando 'mvn install'. Het resultaat komt terecht in expanders/target/Expanders-1.0.0.jar.

Aan de applicatie en component expansie scripts in 'descriptors' dient niets te veranderen. Zij maken gebruik van bat of shell scripts uit expanders/bin, die op hun beurt gebruik maken van jar files in expanders/lib (ST-4.0.2.jar en antlr-3.3-complete.jar) en expanders/target (Expanders-1.0.0.jar).

dinsdag 13 september 2011

NS Framework Roadmap

Op de Normalized Systems SVN server zijn een aantal documenten geplaatst onder de URL https://catcher01.democritus.net/svn/src-beta/docs

Het document NS Framework Roadmap Details bevat een overzicht van de verschillende topics waaraan de komende maanden verder zal ontwikkeld worden door het NS Institute in samenwerking met de NS Alliance.

Het document is onderverdeeld in 4 stukken:
- Expansion tools
- Element features
- Utility libraries
- Business functions

Daarnaast werd ook een update voorzien van de NS Expanders Developers Guide en van de beknopte NS installation manual voor het Windows platform.

woensdag 31 augustus 2011

Eerste fase refactoring NS expanders voltooid

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.

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.

Test Plan