@filx:
skusim strucne, musim nieco dokoncit rychlo, potom pripadne viac...
a.d. uzatvorene systemy - ano, to je problem, to absolutne limituje tvoje moznosti robit rozumnu architekturu. Cize ak to spravne chapem tak tvoje moznosti spocivaju na integracii na urovni databazy?
a.d. Produktovy katalog - specilizovana aplikacia/domena - v tom pripade to dava naozaj zmysel a toto je specialny bounded context. Jo, ale naozaj tak ze tam nie je nejaka revizia skor ako sa aktualizovany produkt(katalog, cast katalogu) dostava na web?
(*** dole uvaha o zvratenosti takehoto systemu)
OK. Ale radovo kolko zmien to moze byt? Nech maju 200 ludi a kazdy urobi 2 zmeny v katalogu za minutu. To je 400/min, cize nic. Hromadna zmena? Nech sme na 1000/min, 2000/min. cize nic. Hromadnym mozes dat nizsiu prioritu.(lenze to by si musel vediet, ktore
zmeny sa deju na zaklade "hromadnosti")
Ano, takze problem ak si len na urovni DB, tak sa moze stat, ze sa moze naraz vykonat viac atomickych zmien na aggregate a Ty sa tazko dozvies, ze to bola "jedna tranzakcia tykajuca sa jedneho aggregatu". Keby si vedel zabezpecit aspon toto, tak mas vyhrate. (napr.
pri kazdej zmene v ramci produkt aggregate sa zmeni nejaky time stamp na root tabulke)
Tiez sa da uvazovat o tom, ze budes delegovat aj take veci ako "hromadna zmena" v produktom katalogu ako jeden event a budes interpretovat na strane systemu, ktory je na takyto event subscribenuty ale pokym si len na urovni DB, tak mas problem to implementovat
zial.(mozes ich prinutit volat mozno aspon stored procky?)
Vacsie resources mozu byt problem cez Bus, tie by som riesil specificky.(informacie o tom, ze tam ma byt obrazok sa prenesie, ale obrazok pojde cez specificky na resource synchronizaciu prisposobeny mechanizmus)
a.d. SOA - messages/events je skor EDA ako SOA. Ja osobne sa snazim zobrat z oboch pristupov to najlepsie. Samozrejme nie vsade mam moc presadit nieco ine ako old school SOA.
Udi Dahan vola servisom pri messagingu "subor eventov na ktore som subscribenuty, ktore vytvaraju kontrakt mojej sluzby"
http://www.infoq.com/presentations/SOA-Business-Autonomous-Components
U mna je to behavior vystaveny von presne ako pri SOA, len neposkytuje ziadne query moznosti(ako to robia bezne WS) a basti len commandy (async messages). Na query sa pozeram rovnako ako Udi, ze si query storages maju budovat jednotlive integrovane systemy
na zaklade eventov, na ktore su subscribenute a podla svojich potrieb alebo v odovodnenych pripadoch mozu zdielat systemy spolocny query storage.(cize sa nemusia subscribeovat jednotlive systemy, ani riesit storage, ale je na to jeden autonomny komponent,
ktory to riesi za nich a je technologicky postaveny na queryovanie)
a.d. BizTalk - ano podarilo, radovo terabytes rocne. Biztalk bol ale len v pozicii adapterov a vnutorne riesenie frcalo na NServiceBuse, BT tam bol hlavne kolu preklenutiu oldschoolovych ws interfaceov, BT ESB sme nepouzili. My sme mali ale vyhodu, ze celu
architekturu vnutorneho prostredia sme mali v rukach.
a.d. parovanie identit - dost velky problem. Do uvahy prichadza nejaky tvoj parovaci storage, kde si budes odpamatavat uz resolvenute relacie. Toto ako problem je len dalsi dosledok toho, ze Tvoje moznosti degradovali na uroven DB a "porad si".
a.d. co je smutne - webove apps idu strasne rychlo dopredu a u nas si firmy neuvedomuju, ze si raz prestanu stacit s nejakym old school web shopom ktory naskaluju (mozno) akurat vertikalne a draho, ze medzicasom stihli preniest zodpovednost za vacsinu "admin"
taskov zo shopu na ine systemy a teda cely web admin im je z vacsej casti nanic(ale dodavatel shopu bude tvrdit opak samozrejme a bude sa ho snazit udrzat pri zivote) a ze cely shop sa redukuje na pomerne jednoduchu app logiku a to primarne zobrazovaciu.(comu
zodpoveda ina architektura shopu, iny sposob ukladania dat a co sa potom paradne skaluje horizontalne)
Cele to nakoniec stoji na nejakej integracii na hlinenych nohach, ktora ich vide drahsieako by stalo prerobebenie stareho shopu, bude ich limitovat, otravovat...ale odnesie si to integrator.
*** je to ako keby sa po vytlaceni papieroveho katalogu zamestnavali ludia, ktori chodia prelepovat popisky v katalogu v tych, co su este na sklade. Si povies, ze no a co, ved toto je vyhoda IT. No nie je. Skor ako sa katalog vytlacil presiel mnohymi korekciami
a bol profesionalny, ludia si uvedomovali zodpovednost za to, co ide von. Aj ked sme pri web shop a moznosti opravy "tlacovych chyba a skriatkov su tam" a perioda aktualizacie informacii moze byt kratsia, stale je tam priestor na profesionalitu a jednoducho
nesmiem publikovat, pokym nemam urcitu kvalitu. Nemal by som pracovat tak, ze opublikujem, precitam si na webe...aha, preklep...opravim...a znova pozriem na webe, Ci sa na to pozriem ocami managementu alebo zakaznika...nemal by som :-) Ale toto poznanie Tebe
bude prd platne, ak si to neuvedomuje zakaznik :-)
Tomáš Zeman, MCSD.NET, MCPD
[Reakcia]