Co wybrać do stworzenia serwisu?

Odpowiedz Nowy wątek
2018-11-12 18:56
Czerwonobiały dziobak
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

Pozostało 580 znaków

2018-11-12 20:49
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


Limitations are limitless

> ##### Ola Nordmann napisał(a)
> Moim językiem ojczystym jest C++ i proszę uszanować to, że piszę po polsku.

Pozostało 580 znaków

2018-11-12 21:16
Czerwonobiały dziobak
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.

Pozostało 580 znaków

2018-11-12 21:50
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ą)


Limitations are limitless

> ##### Ola Nordmann napisał(a)
> Moim językiem ojczystym jest C++ i proszę uszanować to, że piszę po polsku.
edytowany 2x, ostatnio: hcubyc, 2018-11-12 21:54

Pozostało 580 znaków

2018-11-12 22:25
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


Bardzo lubie Singletony, dlatego robię po kilka instancji każdego.
edytowany 1x, ostatnio: jarekr000000, 2018-11-12 22:26

Pozostało 580 znaków

2018-11-13 20:07
Czerwonobiały dziobak
0
hcubyc napisał(a):
jarekr000000 napisał(a):

Ok, dzięki za info.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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