Ik moet binnen +/- een maand een nieuw framework beginnen schrijven, en ik ben op zoek naar inspiratie.
Enkele voorwaarden :
Nu heb ik het volgende idee :
Implementeer een DSL in een scripting taal (ik dacht aan ruby omdat dit makkelijk te doen is) specifiek voor 1 welbepaald project.
Schrijf je business rules in deze DSL, en ontwerp ook unit-tests voor deze rules.
Werk effectief met een volledige separatie van je business logic, met slechts in uiterste noodgevallen (performantie, security) een implementatie op de server of de gui.
Voor synchronisatie tussen je business layer en je andere moet je natuurlijk standaard-protocollen gebruiken (XML /SOAP ? 'k heb er mij totaal nog niet op toegelegd
)
Het grootste voordeel imho van deze aanpak zou zijn dat je een DSL kan gebruiken om je business rules aan te duiden, waardoor je deze misschien zelfs door power users zou kunnen laten implementeren (mits enige begeleiding natuurlijk). Een probleem in een DSL beschrijven is natuurlijk altijd eenvoudiger dan in een standaard programmeertaal...
Het grootste nadeel van deze aanpak is dat je natuurlijk voor elk project je eigen standaard-dsl moet gaan uitbreiden met specifieke rules, maar dit lijkt me niet onoverkomelijk...
Nu komt de vraag : bestaan er al dergelijke frameworks, of heeft er iemand ooit zoiets al eens zelf met succes geïmplementeerd ? Dus een business layer met een specifieke DSL voor elk probleem.
Opm : kom nu niet af met zaken zoals jbeans/struts/[om het even welk non-scripting/non-DSL framework], want die richting wil ik absoluut niet uit ...
Enkele voorwaarden :
- Zowel web- als windows based (of eventueel rich-client zoals Laszlo)
- Flexibele business layer
- Secure storage
- Logging
- ...
Nu heb ik het volgende idee :
Implementeer een DSL in een scripting taal (ik dacht aan ruby omdat dit makkelijk te doen is) specifiek voor 1 welbepaald project.
Schrijf je business rules in deze DSL, en ontwerp ook unit-tests voor deze rules.
Werk effectief met een volledige separatie van je business logic, met slechts in uiterste noodgevallen (performantie, security) een implementatie op de server of de gui.
Voor synchronisatie tussen je business layer en je andere moet je natuurlijk standaard-protocollen gebruiken (XML /SOAP ? 'k heb er mij totaal nog niet op toegelegd
Het grootste voordeel imho van deze aanpak zou zijn dat je een DSL kan gebruiken om je business rules aan te duiden, waardoor je deze misschien zelfs door power users zou kunnen laten implementeren (mits enige begeleiding natuurlijk). Een probleem in een DSL beschrijven is natuurlijk altijd eenvoudiger dan in een standaard programmeertaal...
Het grootste nadeel van deze aanpak is dat je natuurlijk voor elk project je eigen standaard-dsl moet gaan uitbreiden met specifieke rules, maar dit lijkt me niet onoverkomelijk...
Nu komt de vraag : bestaan er al dergelijke frameworks, of heeft er iemand ooit zoiets al eens zelf met succes geïmplementeerd ? Dus een business layer met een specifieke DSL voor elk probleem.
Opm : kom nu niet af met zaken zoals jbeans/struts/[om het even welk non-scripting/non-DSL framework], want die richting wil ik absoluut niet uit ...