Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Adam Gajdečka:28.4.2018 22:50

Chci se zeptat na primitivní věc. Mám více aplikací, dejte tomu aplikace A B C.

Aplikace A potřebuje něco přidat do aplikace C. Aplikace B potřebuje zasahovat do databáze aplikace A a C.

Jak se to v praxi řeší? Buď mám správně napsat každé aplikaci API a přes to si budou aplikace provádět změny a nebo mám ke každé aplikaci připojit všechny databáze a šachovat s databází napřímo?

Díky

 
Odpovědět
28.4.2018 22:50
Avatar
Odpovídá na Adam Gajdečka
Michal Štěpánek:29.4.2018 9:51

Co myslíš tím

Aplikace A potřebuje něco přidat do aplikace C?

Jestli tím myslíš, že potřebuješ aplikací A zapsat něco do databáze aplikace C, tak na to potřebuje mít A přístup k databázi C a samotná aplikace C o tom nemusí vůbec vědět...

Nahoru Odpovědět
29.4.2018 9:51
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Adam Gajdečka:29.4.2018 9:53

Myslel jsem to přesně jak jsi to napsal. Takže přímo se napojit na danou databázi a provést co je potřeba.

Nebo má někdo jiný názor?

 
Nahoru Odpovědět
29.4.2018 9:53
Avatar
Odpovídá na Adam Gajdečka
Michal Štěpánek:29.4.2018 9:55

Určitě existuje i jiný způsob, ale toto se mi zdá být jako nejjednodušší...

Nahoru Odpovědět
29.4.2018 9:55
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Adam Gajdečka:29.4.2018 11:26

a je to bezpečné?

 
Nahoru Odpovědět
29.4.2018 11:26
Avatar
Odpovídá na Adam Gajdečka
Marian Benčat:29.4.2018 14:05

V žádném případě není :-) nemluvě o tom, že to značí hodně věcí špatně navržených. Co josu ty aplikace? Webové? Desktopové s nějakou local db?

Nahoru Odpovědět
29.4.2018 14:05
Totalitní admini..
Avatar
Marian Benčat:29.4.2018 14:06

Pokud webové... jsou u obou aplikací stejní uživatelé? Například nějaký uživatel z tvého SSO? nebo z facebooku? twitteru? Odkud získává ten uživatel identitu?

Nahoru Odpovědět
29.4.2018 14:06
Totalitní admini..
Avatar
Marian Benčat:29.4.2018 14:09

Pokud jsou to webové aplikace tak ano.. přes API. Budeš ale řešit větší problémy:

  • autorizace a autentizace - většinou se to řeší přes nějaký token, co ti vydá nějaký identity provider, třeba OAuth server a JWT tokeny..
  • distribuovaná transakce.. pokud je to hodně citlivé, budeš muset buďto řešit nějakou distribuovanou transakci, nebo příjít s nějakým ED patternem a přejít na eventual consistency.
Nahoru Odpovědět
29.4.2018 14:09
Totalitní admini..
Avatar
Odpovídá na Marian Benčat
Adam Gajdečka:29.4.2018 17:47

Jsou to webové, jak píšu v nadpisu.

Nevíš prosím o nějakých návodech/doku­mentaci jak to celé realizovat přes API? Díky

 
Nahoru Odpovědět
29.4.2018 17:47
Avatar
Odpovídá na Marian Benčat
Adam Gajdečka:29.4.2018 17:48

Je to SSO, vlastní databáze uživatelů. Žádné google apod.

 
Nahoru Odpovědět
29.4.2018 17:48
Avatar
Odpovídá na Adam Gajdečka
Marian Benčat:29.4.2018 22:26

No.. Je více způsobů :-) Začni tou autorizací..

Vygoogli si následující věci: ".net identity server", "JWT tokens", Scopes and claims"

Až budeš schopný navzájem vyměňovat autorizované requesty, tak teprve přejde ta pravá legrace.. buďto to můžeš udělat na hovno a nic jako transakci neřešit... Prostě volat API a o nic moc se nestarat..

Nebo to udělat pořádně, na to ale doporučuji mít opravdu obrovské zkušenosti a znalosti, jinak nastane jedna ze dvou situací:

  1. skončíš, dříve než začneš
  2. rychle to tam naprcáš a pak se ti to zhroutí...

pokud jsem tě přes to všechno nevyděsil tak googli:
"2 phase commit - distribuovaná transakce, microservices in ,.net (microsoft napsal pěknou 400 stránkovou brožuru v PDF, až jsem byl v šoku, že něco tak dobrého napsali), cap theorem, event sourcing, DDD)

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
29.4.2018 22:26
Totalitní admini..
Avatar
Adam Gajdečka:29.4.2018 22:50

Ok, díky. Půjdu cestou API a žádné transakce řešit nebudu.

Potřebuji tu aplikaci prostě funkčně vytvořit co nejrychleji a zároveň jít nějakým technickým středem. Předělat to v budoucnu můžou jiní, pokud se aplikace povede :-)

 
Nahoru Odpovědět
29.4.2018 22:50
Avatar
Odpovídá na Adam Gajdečka
Patrik Valkovič:29.4.2018 23:08

Podle mě hledáš prostě SOA - Service oriented architecture.

Nahoru Odpovědět
29.4.2018 23:08
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovídá na Patrik Valkovič
Adam Gajdečka:29.4.2018 23:13

možná. Přečtu si to. Podle prvních vět mi připadá, že jsem se rozhodl naprogramovat něco šíleného :-D

 
Nahoru Odpovědět
29.4.2018 23:13
Avatar
Daziko
Člen
Avatar
Odpovídá na Adam Gajdečka
Daziko:30.4.2018 19:05

Tuna to mas vsetko Git prijemne citanie.

 
Nahoru Odpovědět
30.4.2018 19:05
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 15 zpráv z 15.