Многие веб-приложения на Java, распространяемые в этом стиле, выполняются вместе с облегченным сервером приложений или веб-контейнером, таким как Jetty или Tomcat.
Когда вы нажимаете, чтобы запустить приложение, он фактически запускает контейнер, в котором размещается ваше приложение.(Ваше приложение может быть упаковано как WAR-файл.)
Для облегченных баз данных, возможно, посмотрите на SQLLite, HSQLDB или Apache Derby.Они также могут распространяться вместе с приложением.Или, может быть, вы можете просто собрать учетные данные базы данных как часть процесса установки и позволить клиенту поддерживать свою собственную базу данных.
Композиция, которую вы описываете, будет включать работу и пользовательские сценарии.Вы столкнетесь с проблемой создания тонкого многопользовательского веб-приложения, а затем отбросите основное преимущество - общий единый экземпляр.Клиенты, а у кого они есть!: -)