Co wybrać do stworzenia serwisu?

0

Chcę utworzyć niekomercyjny projekt w którym dane z formularza www będą przesyłane na sewer i zapisywane w bazie danych.
Serwis nastawiony na bardzo małą liczbę użytkowników 1-10.
Istotna jest poufność danych.

Póki co planuję szyfrowanie danych po stronie przeglądarki www, przesyłanie ich za pomocą HTTPS na serwer. Tam dane będą składowane raczej bez dodatkowej szyfracji.
Uwierzytelnienia za pomocą zewnętrznych serwisów przy użyciu OpenID.

Wybór stosu technologicznego warunkuje łatwością tworzenia aplikacji, łatwością rozbudowy w przyszłości oraz stabilnością w działaniu. Z tego co wiem angular dość szybko ewoluuje. Wczoraj tworzyłem w angularJS - a dziś jest już jego VII wersja..

Czego użyć?

  • najchętniej użył bym jakiegoś Cloud'a [ GAE | Amazon | Azure | OpenShift ]
  • uwierzytelnianie przez OpenID
  • backend: JEE, a może Spring którego nie znam?
  • storage: nie wiem, zależnie co darmowa wersja cloud'a będzie wspierać
  • frontend: JSF (primefaces) czy angular? czy jeszcze coś innego
  • przesyłanie danych HTTPS
0

Czy to projekt, którym będziesz chciał się przed kimś pochwalić czy po prostu ma działać? Jeżeli masz go komuś pokazać to JSF i 2018 rok nie idą w parze

0

Nie dość, że ma działać to jeszcze ma działać na co najmniej kilka lat.

Samego programowanie się nie boję absolutnie, więć to nie jest problem. Problemem jest dobry wybór stosu technologicznego aby potem nie żałować i nie przepisywać na nowo.
JaveEE, EJB, JDBC, AgnularJS (czyli wersja 1.x) znam. Ale może lepiej zamiast Angulara użyć JSF.... Tylko czy jest sens się tego "uczyć" skoro.. no właśnie. Zdania co do JSF z tego co czytam są mocno podzielone.

0

Generalnie anuglar na froncie i rest na backendzie bedzię prostszy, zakładam że nigdy nie będziesz chciał zmieniac technologii w małym projekcie (jakbyś chciał to anuglar możesz bez problemu wymienić na dowolny inny framework JS lub też zmienić backend zachowując kontrakt), ale unikniesz pułapek JSF - cykl życia, narzut infrastrukturalny, który jak jak kontrolery restowe trzeba trzymać z dala kodu biznesowego i nie pozwolić by miały wpływ na kod biznesowy. AFAIK można korzystać z JSFa w springu, wiec o tyle dobrze że nie narzuca ci to JEE. Generalnie uczyć się jest zawsze sens, bo jeżeli nie jest to nowy (chyba że przełomowy ;)) framework JS to zazwyczaj z tym wiąże się trochę inne podejście do rozwiązywania problemów, więc masz szansę zobaczyć jak coś mozna ugryźć z innej strony. Generalnie główne pytanie jest takie - czy potrzebujesz to szybko postawić żeby działało - wtedy wybierasz technologie, które znasz, bo jak wiadomo postawić apkę w stylu pet clinic to prosta sprawa w dowolnym frameworku, ale dodaj do tego kilka wymagań nie funkcjonalnych, jakaś wydajność, security i inne takie i okazuje się, że trzeba zanurkować żeby coś tam zrozumieć. Jeżeli natomiast nie ma ciśnienia żeby ten projekt powstał na jutro to wybrałbym rozwiązania, których nie znasz - zobaczysz jak wyglądają, może akurat jak będziesz szukać pracy to będzie fajna firma, która będzie tego wymagać albo okaże się po prostu lepsze niż to co znasz dotychczas i będziesz z tego korzystać w kolejnych projektach, bo szybciej/łatwiej coś dostarczyć.

tl;dr
Polecam springa jeżeli nie znasz lub jeszcze coś mniejszego np Spark. Spring jest dość wredny w nauce, bo większość tutoriali pokazuje funkcjonalności Springa, a nie to jak pisać w nim porządnie, ale generalnie posiada tyle modułów i integracji dla różnych rzeczy, że spełni wymagania wielu wybrednych osób. Kolejna rzecz to tak napisać aplikacje by zmiana frameworka nie wymagała przepisywania całej apki na nowo, to się bardziej przyda niż zastosowanie któregokolwiek z frameworków, polecam chociażby Clean Architecture żeby się dowiedzieć więcej.
Jeżeli chodzi o to co napisałeś - to włączenie HTTPS w springu to chwial moment, OpenID troszkę wiecej konfiguracji, ale tutoriali jest mnóstwo więc też szybko się z tym uwiniesz. Grunt to nie pozwolić żeby Spring ci wszedł na głowę (logikę biznesową)

1

Zdania co do JSF z tego co czytam są mocno podzielone.

Podzielone zdania co do JSF to może były w 2010 - obecnie tylko garstka wyznawców nie przyznaje jeszcze, że to kupa słaba technologia. I ta garstka i się zmniejsza.

Wybór stosu technologicznego warunkuje łatwością tworzenia aplikacji, łatwością rozbudowy w przyszłości oraz stabilnością w działaniu

Więc wszystko oparte o jakieś aplication serwery odpada raczej bo za parę lat nie będziesz w stanie tego odpalić na jakiejś java 20.x

Obecnie gigantyczne ilość software pod Java EE i starszego Springowego (Spring 4. x) nie daje się odpalić na javie 9. A dopiero co przeżywałem koszmar migrowania takich Java EE / Spring z Javy 7 na Java 8.

Generalnie Make JAR not WAR i do przodu. Angular nowy jest ok, bo prosty i piszesz w TS (który jest istotnie mniej kupowaty niż JS).

Jak mała ilośc uzytkowników i nie jest to poważny projekt to polecę Ci klasyczny Spring 5 i to na spring MVC + Spring Data JPA.

Idź na start.spring.io wybierz JPA ,Web, Security - i rób na tzw. Spring Boot 2.1.x

Jak znasz Java EE , EJB , to Springa ogarniesz od razu - to taka sama kupa technologia :-)

Zobacz jeszcze : https://www.baeldung.com/spring-security-openid-connect

0
hcubyc napisał(a):
jarekr000000 napisał(a):

Ok, dzięki za info.

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