Wystawienie bazy danych dla aplikacji klienckich

0

Witam serdecznie,
Zastanawiam się jaką technologię zastosować w następującym rozwiązaniu.
Użytkownicy maja zainstalowane programy klienckie, które korzystają z scentralizowanej bazy dostępnej przez internet. Uważam że po prostu udostępnienie bazy to kiepskie wyjście. Jakiej technologi użyć aby chroniła bazę i pośredniczyła między aplikacjami klienckimi i bazą?
Nasuwa mi się też drugie pytanie: czy przerzucenie logiki biznesowej do aplikacji klienckiej to dobre wyjście ? Czy lepiej ją trzymać na serwerze razem z bazą ?

Pozdrawiam.

0
  1. połączenie po ssl, jeśli sama baza i app jej nie wspiera to można bardzo prosto zestawić tunel ssl przez stunnel
  2. stworzyć VPN dla wszystkich klientów

Pisanie cienkiego klienta i serwera aplikacji tylko po to aby ukryć bazę przed userami to przerost formy nad treścią jak dla mnie.
Dużo lepszym rozwiązaniem było by opakowanie pobierania danych wyłącznie z widoków natomiast usuwanie/dodawanie/modyfikowanie przez procedury składowane. Ma to te zalety, że

  1. wkładasz logikę biznesową (nie całą, bo część i tak musi być w aplikacji) do bazy
  2. użytkownik łączący się z bazą nie ma dostępu do danych w bazie jako takich a jedyni przez sp i views
  3. możesz sprawdzać na poziomie sp czy user ma prawo coś usunąć/dodać/zmodyfikować.

Pamiętaj, że i tak najsłabszym ogniwem będzie user, w przypadku gdy hasło jakim się loguje jest hasłem do bazy albo sposób jego zapisu w programie jeśli hasło do bazy i do programu to co innego

0

Chciałbym nie tworzyć ani vpn ani konta w bazie dla kilku tys userów, dlatego pomyślałem o tym czy jest jakaś technologia która dokona weryfikacji userów i "wystawi" tylko odpowiednie operacje na bazie, nie znajde czegoś takiego ?

0

ja bym uzyl webservicow na komunikacje z baza w ten sposob uzytkownik by mial dostep tylko do udostepnionych metod przz webservice, a cala logika byla by juz w webservisie. oczywiscie trzeba by bylo zapewnic jakies szyfrowanie do webservisu.

0

A możesz zaproponować coś konkretnego, np pod jave?

1 użytkowników online, w tym zalogowanych: 0, gości: 1