Dystrybucja aplikacji

0

Witam,
na wstępie zaznaczę, że od lat zajmuje się aplikacjami webowymi nie pisanymi w JAVIE) dlatego nigdy problem opisany poniżej mnie nie dotyczył.

Napisałem sobię aplikację w JAVIE. No i chciałbym - szumnie mówiąc - wprowadzić ją do dystrybucji, a prościej komuś ją dać. Chciałbym również żeby to była wygodnie odpalana aplikacja desktopowa.

Jeżeli moja aplikacja korzysta z bazy MySQL to odbiorca aplikacji również musi instalować u siebie serwer MySQL i go konfigurować ? Czy da się to, że tak powiem upakować razem wszystko ? Jeżeli nie to rozumiem, że najlepiej przerobić aplikację tak aby dane zapisywała w plikach .xml

Problem dla Was trywialny, ale tak jak mówię, jako programista webowy nigdy nie miałęm tego typu rosterek. Zawsze z góry było wiadomo, że musi być dostęp do bazy.

0

Nie zapominaj, że nie jesteś przywiązany do mysql. Razem z każdym JRE idzie coś co nazywa się JavaDB. Jest to baza danych napisana w Javie i przeznaczona do wykorzystania w mniejszych aplikacjach. Jest też HSQLDB, które podobnie jak JavaDB napisane jest w całości w javie.
Obie bazy nie są, aż tak wydajne jak mysql, ale różnice widać na poziomie 100tyś rekordów i więcej. Zastanów się zatem nad takim rozwiązaniem.

0

Dobrze, ale czy one są wbudowane ?

Generalnie jak instalujesz jakąś aplikację do zarzadzania np. Twoimi kontaktami to nie instalujesz do tego jeszcze bazy danych. Dlatego zależy mi na rozwiązaniu jakby wbudowanym. Akurat nie potrzebuje przechowywać ponad 100tyś rekordów, raczej koło 1tyś więc tu chyba mnie wydajność nie zawiedzie :)

0

Ta baza jest standalone, no i do tego jest opcja zeby jej nie instalowac, wiec aby miec 100% pewnosc ze baza jest, musialbys np hsql dystrybuowac z aplikacja.

0

ok to już jakiś początek. Jak dystrybuować bazę z aplikacją to już temat na inny wątek :)

0

JavaDB - wbudowana w JRE, czyli jeżeli aplikacja jest w Javie to i tak musisz mieć JRE by ją ruszyć.
HSQLDB - dodatkowy jar + wpis w manifeście głównej aplikacji, który wskazuje na tą paczkę. Względnie narzędzie w tylu OneJar do pakowania wszystkiego w jednego jara.

0

to już jakieś wyjście jest.

0

a czy stracę dużo na wydajności jeżeli do zapisu danych wykorzystam pliki ? np w formacie xml ? Instalowanie apachea też mnie nie kręci u każdego :) Bo z tego co zrozumiałem nawet JavaDB wymaga apachea

Dlatego chciałbym wiedzieć czy korzystanie z plików do zapisu, odczytu, wyszukiwania plików, edycji wpisów, kasowania itp spowoduje dużą utratę wydajności ?

Jak to jest robione w komercyjnych aplikacjach ? np. outlook z pakietu office ( chyba kązdy go zna ) . Pytam bardziej o teorię a nie technologię/język

0

Nie wymaga apache. Nie musisz niczego dodatkowego instalować. Co do wydajności to im więcej danych tym będzie gorzej jeżeli wykorzystujesz zwykłe pliki.

0

Koziolek, no nie mow tak na pewniaka, ze nie musi nic instalowac. Jak juz napisalem wczesniej, podczas instalacji JDK / JRE user moze wybrac czy chce JavaDB (Derby) instalowac czy nie. Jesli chce wiec byc na 100% pewny, powinien dystrybuowac aplikacje z baza lub zrobic warunek ze user musi miec JavaDB. To sie tyczy zarowno sytuacji gdy Derby jest wykorzystywane jako standalone server, czy in-memory database - jak user nie zainstaluje, to po prostu nie ma odpowiednik jarow w odpowienim katalogu.

0

@::., ale zawsze może dołączyć jara z derby lub z HSQLDB do aplikacji i nie ma już tego problemu.

0

Tak, no wlasnie o tym napisalem, ze to musi zrobic aby miec 100% pewnosc.

0

Jak na razie jeszcze nie wiem do końca jak korzystać z JavaDB :P

A czy istnieje możliwość po skończeniu całej aplikacji stworzenie instalatora, który zainstaluje moją aplikację w systemie + bazę danych ?

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