Vánoční nadílka Vánoční nadílka
Vánoční akce! Daruj lepší budoucnost blízkým nebo sobě. Až +50 % zdarma na dárkové poukazy. Více informací

Diskuze: Propojování webových aplikací

C# .NET .NET (C# a Visual Basic) Propojování webových aplikací American English version English version

Aktivity (3)
Avatar
Adam Gajdečka:28. dubna 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  +1 28. dubna 22:50
Avatar
Odpovídá na Adam Gajdečka
Michal Štěpánek:29. dubna 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. dubna 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. dubna 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. dubna 9:53
Avatar
Odpovídá na Adam Gajdečka
Michal Štěpánek:29. dubna 9:55

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

Nahoru Odpovědět  -2 29. dubna 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. dubna 11:26

a je to bezpečné?

 
Nahoru Odpovědět 29. dubna 11:26
Avatar
Marian Benčat
Redaktor
Avatar
Odpovídá na Adam Gajdečka
Marian Benčat:29. dubna 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  +1 29. dubna 14:05
Totalitní admini..
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:29. dubna 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. dubna 14:06
Totalitní admini..
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:29. dubna 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. dubna 14:09
Totalitní admini..
Avatar
Odpovídá na Marian Benčat
Adam Gajdečka:29. dubna 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. dubna 17:47
Avatar
Odpovídá na Marian Benčat
Adam Gajdečka:29. dubna 17:48

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

 
Nahoru Odpovědět 29. dubna 17:48
Avatar
Marian Benčat
Redaktor
Avatar
Odpovídá na Adam Gajdečka
Marian Benčat:29. dubna 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í
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 29. dubna 22:26
Totalitní admini..
Avatar
Adam Gajdečka:29. dubna 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  -1 29. dubna 22:50
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Adam Gajdečka
patrik.valkovic:29. dubna 23:08

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

Nahoru Odpovědět  +1 29. dubna 23:08
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovídá na patrik.valkovic
Adam Gajdečka:29. dubna 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. dubna 23:13
Avatar
Daziko
Člen
Avatar
Odpovídá na Adam Gajdečka
Daziko:30. dubna 19:05

Tuna to mas vsetko Git prijemne citanie.

 
Nahoru Odpovědět 30. dubna 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.