Jak zaprogramować aplikację transportową?

0

Witam.

Mam pytanie.

Kilka razy na tym forum zadawałem już pytania w sprawie takie aplikacji, która służy jako giełda transportowa trans.eu, ale do tej pory nie wiem za bardzo jak podejść do zaprogramowania takiego czegoś, jaki język wybrać itp.

  • " " ; " " ; " " - linki pokazują mniej więcej całą aplikacje i jej funkcje.

Jeżeli ktoś z forumowiczów miałby czas na spojrzenie swoim fachowym okiem na w/w aplikację i powiedział jak on to widzi tz.

  • Jaki język użyć do zaprogramowania takiego czegoś ( czyli jaka technologia : Java, C# czy np. a może mogła by działać jako aplikacja webowa ) ?

  • Jak według was działa tego typu aplikacja tz. czy dane które wprowadza tam każdy użytkownik który np. chcę wprowadzić swoją ofertę trafiają do jakiejś bazy, czyli ogóle interesuje mnie jak wyżej napisałem zasada działa tego typu aplikacji czyli co z czym itp. ?

  • Jakie według was są potrzebne zasoby aby aplikacja taka mogła działać ?

A interesuje sie tym tematem ponieważ w/w system w wielu przypadkach nie spełnia swoich zadań.

Bardzo proszę o jak najwięcej możliwych informacji od fachowców, których jest na tym forum na pewno bardzo dużo.

Za wszelką pomoc i odpowiedzi bardzo dziękuje.

Z Poważaniem
Daniel

0

Ojoj... Widzisz, z takimi projektami nie jest prosto. Nad całym takim systemem pewnie od czasu jego stworzenia siedziało grubo ponad 50 osób. Tam zachodzi na siebie logika biznesowa, bezpieczeństwo transakcji, planowanie tras itp... Całe takie przedsięwzięcie to jest już na firmę, albo przynajmniej na grupę ludzi która wie co chce zrobić i co potrzebuje. Tu liczy się pewnie także zdanie klientów (czyli tych co będą tego używać).

Teraz od strony praktycznej: "takie coś" można zrobić właściwie w dowolnej technologii. Jasne, może być aplikacja webowa, można dać program dla klientów, na serwerze może byc java, c#, cokolwiek ;) Jasne, że niektóre się będą nadawać bardziej, inne mniej, ale z każdego da się coś wykrzesać ;) technicznie rzecz biorąc dużo takich projektów to serwer na Javie + serwices do których można winać albo aplikacje desktopowe albo strony.

Pytanie z działaniem zadałeś cholernie ogólne ;) Ogólnie rzecz biorąc, na 99% dane lecą do bazy. 1% stawiam na inne rozwiązania żeby być po bezpiecznej stronie ;)

Co do zasobów: e.. na pewno serwer do którego będą mogli się podłączyć klienci. Reszta zależy od technologi, sposobu przetwarzania danych, skalowalności rozwiązania itp...

Co do samego spełniania zadań obecnej aplikacji: jeśli na serio chcesz robić nówkę, pomyśl od strony biznesowej nad nią... Czy inwestycja się opłaci, żeby robić i czy będzie komu z tego korzystać, bo zrobienie sztuki dla sztuki to nie problem.

0

Witam.

A tak mówiłeś, że na 99 % dane, które wprowadzają poszczególni użytkownicy są przechowywane w bazie, rozumiem, że baza ta znajduje się na jakimś serwerze, ale przy np. takiej ilości połączeń bo przecież klientów są tysiące to wszystko się zawiesza, bo na ogół hostingi pozwalają na 20 jednoczesnych połączeń do bazy a tu jest ich o wieleeee więcej jak rozwiązać taki problem ?

0

No właśnie nie masz wtedy aplikacji na tysiace użytkownikach na hostingach co pozwalaja na max 20 połączeń (chyba tylko darmowe mają takie ograniczenia)... No i klient nigdy nie łączy się z bazą bezpośrednio tylko z serwerem, co też ma pewnie jakąś pule. To wszystko jak wspominałem wyżej musi być skalowalne. Wiesz, nie przystawiasz do aplikacji na tysiące klientów najtańszego hostingu ;)

0

Możesz mi to tak wytłumaczyć w sposób bardziej jak dla kogoś kto nie jest fachowcem, wiem że taki ktoś nie powinien zabierać sie za takie coś poważnego ja ten system Trans ale jak ktoś nie zacznie to nigdy nie dojdzie do niczego, dlatego próbuje zrozumieć i tak po mało coś robić może do czegoś dojdę ale potrzebuje też wiedzy od ludzi takich ja Wy czyli fachowców ?

0

Witam.

Znajdzie się ktoś kto odpowiedział by na wcześniejsze pytanie ?

I mam jeszcze pytanie co do bazy danych, jaką bazę danych używa się przy aplikacjach np. napisanych w C#, jakiej w javie, a jakiej w aplikacjach webowych, jest jakaś różnica ?

Czy aplikacje okienkowe korzystają z innej bazy niż te, które są webowe ?

A jak to jest np. jak aplikacja okienkowa która jest instalowana na dysku komputera a musi mieć bazę danych na serwerze tak aby wiele osób miało do niej dostęp. Czyli coś właśnie podobnego właśnie do transa ? Jaką tam bazę się stosuje ?

1

ad 1: taki, w którym Ci najwygodniej będzie napisać. jeśli program przeglądarkowy to Ci wystarczy javascript, php i kuzynostwo. jeśli samodzielny, instalowalny, to zastanów się najpierw jakie systemy będziesz wspierał. inaczej się pisze okienkowy program choćby na windę, a inaczej na linucha. jeszcze co innego, jeśli Ci się zbierze na aplikację dla androida. dojdzie też wtedy spora warstwa komplikacji przy składaniu tego w całość, bo interfejs jakoś musi wyglądać, aktualizacje robić trzeba i dziur szukać i łatać, do serwera i tak będzie się trzeba podpiąć, a dane będą i tak dość często z niego ciągnięte. przeglądarkowe klikajło zadziała jeśli tylko przeglądarka nie będzie bardzo przestarzała. też łatwość przy aktualizowaniu i dodawaniu funkcji, bo aktualizacja obowiązuje wszystkich z chwilą przeładowania strony.

ad 2: <sarkazm>no najprawdopodobniej jakaś baza danych mogłaby tam być, bo obsługuje toto dość dużo opcji i użytkowników naraz... </sarkazm>
pamiętaj, że oferta i jej opcje to jedno, ale wpisywanie podstawowych danych o sobie(choćby kontaktowe. wyobraź sobie, że masz małą firmę przewozową i przez cały dzień klepiesz identyczne oferty, z czego połowę czasu marnujesz na wpisywanie nazw, numerów kontaktowych i innych danych. szlag trafić może człeka) raz za razem jest uciążliwe, więc oprócz ofert na serwerze wypadałoby jeszcze przechowywać przydatne dane użytkowników, a jeśli tak, to dochodzi jeszcze rejestracja, logowanie i kwiatki z nimi związane.

ad 3: w miarę porządny serwer z rzędem, który bez zająknięcia obsłuży naraz kilka tysięcy klientów. a najlepiej kilka równolegle, w różnych miejscach, żeby serwis w razie wywałki jednego, czy dwóch mógł dalej chodzić(mówimy o serwisie na dużą skalę). też od razu wydajność większa. prócz tego coś, co by pamięć chroniło(wywałka serwera i utrata wszystkich danych zdarzyć się może każdemu, a nawet gdybyś serwis od nowa postawił, to by klienci uciekli od typa, który nie robi kopii), czyli jakiś system backupowy. reszta jak już się zabierzesz choćby za projekt będzie wedle potrzeb czy upodobań-jak zrobisz jedno, będziesz wiedział jak zrobić drugie.

ad 5: jeśli dane są i tak na serwerze/macierzy, to nie ma najmniejszego znaczenia, czy ciągnie je program okienkowy, czy aplikacja webowa-dane te same, ciagnięte w prawie identyczny sposób, z tą różnicą, że okienkowiec ciągnie same dane, a webowy program razem z niezbędnym interfejsem.

0

Witam.

Bardzo dziękuje za odpowiedz :)

Wiem, że odpowiedziałaś już na pytanie dotyczące bazy danych ale jeszcze nie wiem jakiej bazy użyć są jakieś przesłanki do stosowania tej a nie innej.

Są przecież SQL, MySQL i jeszcze inne ?

Rozumiem ,że na takie serwis usługi hostingowe są zbyt słabe, Jakie masz na myśli serwery, A może vps ? Czy w ogóle lepiej nie korzystać z usług firm hostingowych a mieć swój serwer ?

Wciąż nie wiem również jaka technologia przy aplikacjach webowych jest lepsza czy wspomniany przez Ciebie PHP czy ASP, czytałem na wielu forach również na tym ale jedni piszą że lepsze jest ASP a inni że PHP, Ale mankamentem ASP jest to że jest drogi w utrzymaniu ?

Według Ciebie czyli Fachowca takiej dziedziny Gdzie taki system lub podobne mu lepiej sie sprawdzają jako aplikacje Webowe czy okienkowe czyli działające na komputerze użytkownika a mają ce tylko bazę w sieci ?

Większe koszty są związane z utrzymaniem aplikacji działającej jako okienkowa czy webowa ? ( Bo aplikacja webowa cała działa po stronie serwera a już okienkowa tylko ma bazę w sieci )

Wiem że mam wiele pytań, ale przy poznawaniu kolejnych elementów dzięki wam, nakładają sie następne pytania.

Wszystkim Bardzo Dziękuje, wiem że tu moge liczyć na pomoc od naprawdę świetnych profesjonalistów :)

1

nie "odpowiedziałaś", a "odpowiedziałeś":)

SQL to język zapytań, MySQL to system zarządzania bazami... nierozróżnianie systemu zarządzania od języka zapytań może oznaczać dla Ciebie spore trudności przy pracy, sugeruję więc najpierw się przynajmniej ogólnikowo zapoznać z tematem. aby się nie przemęczać, na razie na wiki:
http://pl.wikipedia.org/wiki/Baza_danych
śmiało czytać, klikać w odnośniki, spróbować wytypować w miarę dobre rozwiązanie, a następnie przy użyciu googla zgłębić wiedzę.

własny serwer to płacz i zgrzytanie zębów. na buczącym pudle się nie kończy- trzeba mieć dobre połącznie z internetem(przynajmniej dwóch różnych dostawców), systemy ochrony danych, systemy bezpieczeństwa i ochrony sprzętu(choćby system przeciwpożarowy. zwykłą gaśnicą się takiego sprzętu przecież nie gasi), kontroli dostępu; fajnie jest mieć jeszcze awaryjne zasilanie przynajmniej pod postacią UPSa, który pozwoli w miarę bezpiecznie przeprowadzić procedurę wyłączania maszyny, albo lepiej generator, który umożliwi serwerowi normalną pracę przez pewien czas. ale to wszystko niesamowicie dużo kosztuje, poza tym wymaga odpowiednich warunków, pomieszczeń, konserwacji... nie opłaca się, a pracy jest mnóstwo.
wykupienie hostingu znacznie wygodniejsze jest, ale nie fizyczną maszynę wynajmować, a VPSa. odpadają wszystkie problemy ze sprzętem-to zmartwienie obsługi; a że na jednej fizycznej maszynie działa kilka serwerów, cena się trochę rozkłada.

PHP vs. ASP.NET
nienowy dylemat:)

zależy co chcesz osiągnąć. przy okienkowej aplikacji potrzeba jeszcze serwera rozdającego pliki instalacyjne, aktualizacje, sumy kontrolne i inne bzdety tego rodzaju. wszystko kosztuje. a dochodzi jeszcze myślenie jak program usprawniać, jak robić aktualizacje(trochę głupio za każdą aktualizacją kazać użytkownikowi reinstalować cały program ręcznie, prawda?), jak wdrażać poprawki, dodawać funkcje... i jeszcze bezpieczeństwo-każdy zainstalowany program to potencjalna furtka dla hax00ra. im gorzej napisany, tym łatwiej się włamać. ilu doświadczonych programistów będzie ten serwis robiło?
jeśli chcesz dużej przenośności, wydajnej komunikacji między userami(co przy takim serwisie jest mocno wskazane), mniej praco- i zasobochłonnej rozbudowy i trochę większego bezpieczeństwa przy mniejszym nakładzie pracy, aplikacja webowa jest jedynym wyjściem.

2
sockenesser napisał(a):

ad 5: jeśli dane są i tak na serwerze/macierzy, to nie ma najmniejszego znaczenia, czy ciągnie je program okienkowy, czy aplikacja webowa-dane te same, ciagnięte w prawie identyczny sposób, z tą różnicą, że okienkowiec ciągnie same dane, a webowy program razem z niezbędnym interfejsem.

Aplikacja desktopowa i webowa z serwera bazy danych ciągnie dokładnie to samo. To, że klient ciągnie aplikację webową z serwera www, to ZUPEŁNIE inna kwestia.

Daniel84 napisał(a):

Wiem, że odpowiedziałaś już na pytanie dotyczące bazy danych ale jeszcze nie wiem jakiej bazy użyć są jakieś przesłanki do stosowania tej a nie innej.

Zazwyczaj jest tak:
PHP z MySQL
C# z MS SQL
Java z Oracle
Ale nie ma problemu, żeby użyć innej kombinacji. Jeśli np. nie chcesz płacić za SZBD, to PostgreSQL może być optymalnym wyborem.

Wciąż nie wiem również jaka technologia przy aplikacjach webowych jest lepsza czy wspomniany przez Ciebie PHP czy ASP, czytałem na wielu forach również na tym ale jedni piszą że lepsze jest ASP a inni że PHP, Ale mankamentem ASP jest to że jest drogi w utrzymaniu ?

ASP to prehistoria nierozwijana od blisko 15 lat.
Jeśli zaś chodzi o ASP.NET, to jeśli chcesz go hostować na Windows, to oprócz kosztu serwera musisz ponieść koszt licencji Windowsa. Możesz też użyć Mono i hostować na Linuksie/BSD.
Zaletą ASP.NET jest to, że się skaluje lepiej od PHP i jest kompilowane, więc także wydajniejsze.

Większe koszty są związane z utrzymaniem aplikacji działającej jako okienkowa czy webowa ? ( Bo aplikacja webowa cała działa po stronie serwera a już okienkowa tylko ma bazę w sieci )

Bezpośrednia łączność aplikacji desktopowej z serwerem bazy danych to potencjalne niebezpieczeństwo. Pomiędzy nimi powinny być jakieś webserwisy, które zabezpieczą bazę danych przed bezpośrednim dostępem. Czyli i tak potrzebujesz serwera aplikacji, bez względu na to, czy aplikacja ma być desktopowa czy webowa.

Aplikacje desktopowe stosuje się raczej do pracy na komputerze, albo w sieci lokalnej. Jeśli chcesz mieć globalną bazę danych w internecie, to czemu w ogóle zawracać sobie głowę desktopem? Lepiej zrobić aplikację webową.

sockenesser napisał(a):

własny serwer to płacz i zgrzytanie zębów. na buczącym pudle się nie kończy- trzeba mieć dobre połącznie z internetem(przynajmniej dwóch różnych dostawców), systemy ochrony danych, systemy bezpieczeństwa i ochrony sprzętu(choćby system przeciwpożarowy. zwykłą gaśnicą się takiego sprzętu przecież nie gasi), kontroli dostępu; fajnie jest mieć jeszcze awaryjne zasilanie przynajmniej pod postacią UPSa, który pozwoli w miarę bezpiecznie przeprowadzić procedurę wyłączania maszyny, albo lepiej generator, który umożliwi serwerowi normalną pracę przez pewien czas. ale to wszystko niesamowicie dużo kosztuje, poza tym wymaga odpowiednich warunków, pomieszczeń, konserwacji... nie opłaca się, a pracy jest mnóstwo.

Jeśli to faktycznie ma obsługiwać tysiące użytkowników jednocześnie, to możliwe, że opłaca się wybudować własną serwerownie i zatrudnić własnych adminów. ;)

zależy co chcesz osiągnąć. przy okienkowej aplikacji potrzeba jeszcze serwera rozdającego pliki instalacyjne, aktualizacje, sumy kontrolne i inne bzdety tego rodzaju. wszystko kosztuje. a dochodzi jeszcze myślenie jak program usprawniać, jak robić aktualizacje(trochę głupio za każdą aktualizacją kazać użytkownikowi reinstalować cały program ręcznie, prawda?), jak wdrażać poprawki, dodawać funkcje

To akurat nie argument, bo ten problem jest już dawno rozwiązany.

0

Witam.

Po jakimś czasie namyślania, czytania itp. jestem w dylemacie czy w ogóle udało by mi sie samemu takie coś stworzyć. Ponieważ potrzeba by była bo system o którym mowa jest niestety kiepski.

Chociaż po waszych odpowiedziach dużo się dowiedziałem ale i tak zastanawiam się znów czy stawiać na aplikacje webową czy deskopową ? I czemu Trans stworzył taki system gdzie bazy i całość jest w sieci, a sama aplikacja na komputerach użytkowników ?

A co z tym hostingiem. Czy tylko pod takie rozwiązania nadają się serwery VPS czy może to być hosting ?

Bardzo proszę o odpowiedzi ponieważ wiem, że tu są naprawdę fachowcy. A ja sam mam duże wątpliwości dlatego też potrzebuje rad od takich osób ja wy

Z Poważaniem
Daniel

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