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

Tomáš Záluský zalusky na centrum.cz
Pátek Listopad 6 16:30:00 CET 2009


Díky za reakce.

> samotné XML mi přijde občas obtížně čitelné a ještě to dávat do databáze?
> ... projekt, který takto ukládal poměrně komplexní data do Db jako inserty...

> 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.

Ano, uložit si applicationContext.xml někam do clobu vždycky můžu, ale v tom s vámi souhlasím, že nevidím, v čem by to přineslo výhody... to jsou jen inserty Tomáše Hubálka v bleděmodrém.

Myslel jsem neukládat celé XML, ale jen jeho stavební prvky, tj. něco ve smyslu
create table bean ...
create table property ( ... foreign key (bean_id) references bean(id) ...)
atd.

Relační model se mi zdál vhodný právě kvůli zachování abstrakce - závislosti mezi beany jsou obecně graf a ten by byl reprezentován relací mezi záznamy. Tím jsem se chtěl právě vyhnout serializaci v XML. Ale nechci rozvíjet filozofické debaty, stejně od toho nakonec nejspíš upustím, protože by se pracnost vlastní implementace asi nevrátila.

> 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.

To mě zaujalo, díky za tip, zkusím se na to podívat podrobněji.

zdar
Tomáš Záluský


================================================
...with Ultimate flying is so easy...
http://www.frisbee.cz    http://www.peaceegg.net
================================================

______________________________________________________________
> Od: "Tomáš Záluský" <zalusky na centrum.cz>
> Komu: <konference na java.cz>
> Datum: 02.11.2009 16:01
> Předmět: dependency injection - modelování závislostí v relační db
>
>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
>================================================
>



Další informace o konferenci Konference