Задать вопрос
  • Каковы этапы создания клиент-серверного приложения на Java?

    @nozzy
    Symfony, Laravel, SQL, Python, Telegram
    Ответ написан
    Комментировать
  • Каковы этапы создания клиент-серверного приложения на Java?

    @frozen_coder
    Java-developer
    Вам нужно серверное приложение, которое будет предоставлять удалённым клиентам доступ к БД, но не напрямую, а через себя путём общения с клиентами по http с помощью REST (проще) или SOAP. Т.е. клиенты отправляют запросы и получают от сервера ответы. Сервер располагается (задеплоен) на удалённой машине в каком-нибудь облаке или куда вы его задеплоите. Там же рядышком будет БД, про которую будет знать только ваше серверное приложение, но не ваши клиенты. Клиенты знают только про приложение, вернее куда стучать, что отправлять и что ожидать в ответ.

    Гуглить в сторону Spring Boot, Spring Data. Также скорее всего понадобится механизм аутентификации и авторизации, если вы хотите, чтобы с приложением могли работать только ваши клиенты. Тогда смотрим ещё и в сторону Spring Security.

    Сначала почитайте про http, потом про REST. Если вам просто дёргать базу, то есть супер-простое решение - Spring Data Rest, которое сгенерит за вас все запросы и даже апи. Вам будет необходимо только сущности описать (почитайте про JPA и её аннотации) и объявить интерфейсы репозиториев и немного обвязки-настроек в properties прописать.

    Вот наглядный простой пример: spring-projects.ru/guides/accessing-data-rest . Там есть исходники на гитхабе, возьмите их, потыкайте, перепишите под себя.

    Когда будет готов сервер, то остаётся научить ваше десктопное приложение дёргать по http апишку вашего сервера - отправлять запросы и обрабатывать ответы. С десктопными приложениями не работал, но гугл вам легко подскажет какую-нибудь библиотеку http-клиента - okhttp какой-нибудь.
    Ответ написан
    Комментировать
  • Нужно ли программисту, пищущему на языке высокого уровня, знать детали работы ЭВМ?

    ЭВМ - один из инструментов программиста. Если Вы плохо знаете или не знаете совсем свой рабочий инструмент, то высококвалифицированным специалистом Вам не стать.
    Так что, да, все эти знания нужны.
    Ответ написан
    Комментировать