o nicem takovem jsem neslysel a neprijde mi, ze by to prinaselo nejake
dramaticke vyhody. Pokud jde ciste o externalziaci konfigurace, tak tu
muzes mit v XML. Pokud ti vadi, ze jsou ty soubory zapecene ve WARu, tak
si je uloz (instalace, konfigurace) a cti (start) z databaze. Usetris si
tim tu praci, kterou bys vynalozil na psani nejake vlastni
serializace/deserializace do relacniho schematu.
Co se tyka zmeny aplikace za behu a nejake modularnosti nad Springem,
tak se mi libi Impala framework (http://code.google.com/p/impala/),
ktera se da pouzit jako alternativa k Spring Dynamic Modules. Ziskas
tim dynamicky reload casti aplikaci bez nutnosti mit to cele udelane
pomoci OSGi.
Tomáš Záluský napsal(a):
Dobrý den,
zajímalo by mne, zda má někdo zkušenost s modelováním bean a závislostí mezi nimi pomocí relační databáze. Ať už znalost existujícího projektu nebo vlastní pokusy. (Nejlépe ve Springu, ale není to podmínkou.) Vůbec pak, jaký máte na tuto myšlenku názor. Všude se porovnává jen xml formát á la Spring applicationContext.xml oproti konfiguraci kódem á la Guice nebo Spring JavaConfig.
Představa o využití:
- jednotlivé třídy aplikace by se vyvíjely normálně v java projektu se všemi
zvyklostmi - Eclipse, Maven, SVN...
- závislosti, bean scopes atd. by se naklikaly pomocí nějakého UI, výsledkem by
byla data uložena v relační db
- při startu aplikace by se Spring nakonfiguroval pomocí
DatabaseApplicationContext implements ApplicationContext
- nasazení aplikace by znamenalo nasazení waru + spuštění skriptu na db (či
nějaký inteligentní export/import)
Jako výhoda mi připadá, že by v db byl všestranně využitelný model, možnost do
určité míry měnit činnost aplikace za chodu (vzrostla by ještě víc implementací
beanů ve skriptovacích jazycích nebo ovlivněním classloadingu). Stejný princip
správy přes db by se mohl aplikovat i na šablony UI.
Za nevýhodu považuji komplexnost - vzhledem k možnostem Springu bych v
současnosti do toho šel, jen kdyby existoval hotový projekt s utilitami, které
by možnosti uložení databáze zúročily. (nutná, ne postačující podmínka :-). Pak
také další aspekty: testy, verzování závislostí... - opět zvýšení nároků na
příslušný relační model.
Napadlo nás to u jednoho projektu postaveného na dvouvrstvé (klient-server) architektuře.
Jeho část je popsána právě takovými "metadaty". Je to ovšem proprietární
řešení, které - ač zpočátku jednoduché - průběžně bobtná o další požadavky. Navíc je ve
hře možnost převedení aplikace do třívrstvé architektury. Snažím se proto sesbírat
informace pro zorientování se, jak postupovat dál.
Díky, vážím si každé odpovědi.
Tomáš Záluský
================================================
...with Ultimate flying is so easy...
http://www.frisbee.cz http://www.peaceegg.net
================================================
--
S pozdravem Roman "Dagi" Pichlik
/* http://www.sweb.cz/pichlik/ Blog pro kodery */