dependency injection - modelování závislostí v relační db

Roman Pichlík roman.pichlik na gmail.com
Pondělí Listopad 2 16:22:03 CET 2009


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 */



Další informace o konferenci Konference