Portal w javie a wykonanie frontendu

0

Hej,

Jestem w trakcie tworzenia serwisu w javie (spring+hibernate+mysql) , ale na pewno nie będę tworzył do tego frontendu, bo się na tym nie znam. Jednak nigdy nie robiłem podobnych rzeczy i nie bardzo wiem jak powinno wyglądać zlecenia stworzenia frontendu do takiego "szkieletu".
Czy powinienem wystawić pliki .jsp ? html + jsp? a może wrzucić całą aplikację w obecnej formie, żeby webdesigner znał sposób działania, a pracował obok na dostarczonych przeze mnie plikach jsp z uwzględnieniem htmli stworzonych z tego?
Nie wydaje mi się, żeby była potrzeba pokazywania tworzącemu całej aplikacji, bo jest ona prosta (praktycznie 3 podstrony) i poza graficznym opracowaniem tego i spięciem do kupy + ze dwa skrypty js/jquery nie potrzebuję nic więcej.

Pozdrawiam

ps. nie wiem czy to odpowiedni dział, ale nie do końca pasuje ani do działu javy ani do webdesignu ;)

2

Dzisiaj stosuje sie nieco inne podejście, żadne jsp ;) w javie dostarczasz api restowe i dokumentacje, a front robi sie nawet w golym html5 + js, ktory laczy sie bezposrednio z api, z ktorego pobiera informacje niezbedne do zrenderowania frontu po stronie przegladarki. Model BAAS. W ten sposob, mozesz latwiej developerom frontowym dostosowac aplikacje bo bazuja na dokumentacji api, maja pelna swobode w wyborze narzedzi frontowych i frameworkow, a ty zabezpieczasz sie na przyszlosc jak np: chcialbys dodac aplikacje mobilna czy na inne smart tv, no i oczywiscie mozesz zmienic/zaktualizowac backend bez zmiany aplikacji frontowych, no i skalowanie jest prostsze.

0

Niesamowicie otworzyło mi to oczy a na dodatek pokazało wiele możliwości :)

Czyli rozumiem, że taki backend powinien być zaimplementowany z użyciem webserviców?
Jak ewentualnie zabezpieczyć webserwis przed dostępem aplikacji trzecich do mojego api?

0

Nie webservisów w rozumieniu SOAP tylko RESTa. Jeśli piszesz stronę w Spring MVC to w zasadzie automatycznie wszystkie twoje kontrolery wystawiają restowe usługi.

0
ppp_0202122 napisał(a):

Jak ewentualnie zabezpieczyć webserwis przed dostępem aplikacji trzecich do mojego api?

Zakladam, ze twoje api sluzylo by jako backend do aplikacji frontowej ktora dziala w przegladarce internetowej, najprostszym i wymaganym zabezpieczeniem jest CORS.
Ogolnie chodzi oto, ze przegladarka robi request HTTP OPTIONS w celu pobrania tego naglowka Access-Control-Allow-Origin: http://adres.mojej.strony.com, zeby sprawdzic czy dozwolone jest korzystanie api ze strony o danym adresie.

Oczywiscie jest to marne zabezpieczenie, w praktyce masz nieco bardziej wyrafinowane mechanizmy autentykacji, od standardowego HTTP AUTH, przez tokeny i naglowki, skonczywszy na OAuth itp itd.

U nas HTTP Auth + SSL daje rade w zupelnosci ;)

0

Jeszcze wracając do tego jak mam opisać api dla webdevelopera i jak on z tego skorzysta.
Zakładając, że dostanie informację, że pod ścieżką:
@RequestMapping(value = "/{pn}", method = RequestMethod.GET)
zwróci mu listę obiektów, po których trzeba poiterować, żeby je wyświetlić.
Ale czy to własnie nie jest robota dla view resolvera zeby przetworzyć widok np*.jsp pointerować i wyświetlić te obiekty?
W jaki sposób można sobie poradzić z tym np. w czystym htmlu lub z użyciem js'a?

1

@ppp_0202122 normalnie, te "obiekty" przeciez są "pasywne" tzn to są same dane. Przekazujesz je jako jsona do frontendu i tyle.
Dodaj adnotacje @ResponseBody i zamiast przekazywać z tej metody "ModelAndView" przekaż jakiś obiekt który da się serializować do jsona.

http://www.javacodegeeks.com/2013/07/spring-mvc-requestbody-and-responsebody-demystified.html

0

Ok, rozumiem zasadę, stworzyłem sobie taki kontroler z mappingiem po wejsciu na który wyświetla mi się zwrócony obiekt ( i na tyle na ile to przetestowałem, zwrócić mogę jeden obiekt, bądź listę)
Skoro nie zwracam całego widoku to prawdopodobnie trzeba zrobić javascriptowy call do resta (coś w stylu http://stackoverflow.com/questions/921942/javascript-rest-client).
Czyli zasada jest taka, że z parametrów podstrony odczytuję wartości i wołam javascriptową funkcję która z mojego kontrolera zwraca obiekty, a ja je wykorzystuję do zasilenia zawartości strony. Np. www.mojastrona.pl/jakaskategoria/7/ tworzy mi zapytanie do kontrolera o stronę siódmą obiektów danej kategorii.
Koniec końców trochę przypominające ajaxowe zapytania.
Czy dobrze rozumuję?
Możecie pokazać przykładowe strony które korzystają z takiego podejścia? Wszystkie strony których źródło wyświetlałem mają już normalny content czyli tak jakby korzystajacy z view resolvera, ale może coś przeoczyłem

0

dla zainteresowanych, przykłady użycia o których wspominałem:
http://backbonejs.org/#examples

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