|
|
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
Хочу посоветоваться по некоторым вопросам. Сначала опишу задачу. Сейчас (уже) есть приложение, интерфейс написан на С# (WinForms), вся логика на Oracle. Через интерфейс отображаются данные из БД, и отправляются данные в БД. Расчетная часть - вызываются процедуры с параметрами в пакетах Oracle. Есть авторизация с разными правами доступа. Необходимо перенести интерфейс на Веб. И чтоб все это крутилось на сервере приложений. Планируется использовать jboss as (для начала, потом это может быть перенесено на другой сервер приложений, если финансовый вопрос будет решен). Теперь вопросы: 1) Возможно ли это все реализовать с помощью сервлетов? Или есть более хорошее решение? 2) Как организовать авторизацию пользователей? Если можно - какие-то примеры, или ссылки. 3) Что посоветуете, если, например, необходимо с помощью сервлета отобразить данные, но запрос, который возвращает БД, выполняется очень долго; не ждать же пока страница загрузится. Хотелось бы, чтоб страница загрузилась, а там типа сообщение (или лучше всего progress bar какой-то), после чего данные и появятся. 4) Можно ли будет реализовать так: на сервлете какая-то кнопка, по ее нажатию должна вызваться процедура с параметрами из Oracle, по завершению работы процедуры - какое-то сообщение? 5) Можно ли будет сделать на одной странице Табы с данными, только чтоб данные грузились если включен соответствующий Таб? Или каждый таб выносить в отдельный сервлет? 6) Как лучше осуществлять передачу данных между сервлетами? Через параметры в URL, или в Сервере приложений объявлять переменные? Или зависит от ситуации? Пока все с вопросами. Если будут еще - добавлю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2014, 11:33 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
wvetalНеобходимо перенести интерфейс на Веб он у вас УЖЕ на веб. Если на Java, то нужрно будет переписать всё. Т.к. у вас всё работает. Java-ГУИ + Java-ORM + БД - XP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2014, 11:42 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
wvetalно запрос, который возвращает БД, выполняется очень долго; не ждать же пока страница загрузится. Хотелось бы, чтоб страница загрузилась, а там типа сообщение (или лучше всего progress bar какой-то), после чего данные и появятся. это не веб подход. Приведите пример, где это видели...прогресс-бар по веб через сотовый телефон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2014, 11:44 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
Petro123wvetalНеобходимо перенести интерфейс на Веб он у вас УЖЕ на веб. Если на Java, то нужрно будет переписать всё. Т.к. у вас всё работает. Java-ГУИ + Java-ORM + БД - XPЯ имел ввиду переписать интерфейс на java и запустить на jboss. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2014, 11:54 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
1) Лучше чем сервлеты будет spring-mvc (читать 16-й раздел). 2) Как я понял ваше текушее приложение логинится сразу в базу. Соответственно, вам нужно работать через JDBC : иметь jdbc-драйвер для оракла в составе своего war, устанавливать соединение на каждый запрос от пользователя (с логин и паролем сохранёнными в HttpSession) и т.д. 3) Если запрос выполняется очень долго, то только AJAX вам поможет: периодически опрашивать сервер до дех пор, пока результаты не появятся. Можно попробовать и более модную технологию WebSockets. 4) Можно. Но только, если эта процедура выполяется не долго, и можно сразу подождать ответ. Если долго - то пункт 3. 5) Можно. Это всё сфера GUI программировани под веб - JavaScript и всё такое. Попробуйе использовать jQuery , что бы в голом JavaScript не копаться (это же касается и пункта 3 - jQuery умеет AJAX запросы отсылать) 6) Не совсем понятно, что понимается под передачей данных меджу сервлетами? Сервлеты между собой не общаются (окромя пераций include или forward - та всё через HttpRequestQuery пробрасывается, он же в себе хранит параметры формы из браузера) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2014, 12:53 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
wvetal, Если есть опыт написания desktop приложений то посмотри лучше на связку Vaadin + Spring Framework + Spring Security. В Vaadin будет более или менее знакомая парадигма разработки UI, а Spring решит проблемы безопасности и сервера приложений. И мой вам совет не гонитесь вы за JBoss или ещё какой либо пакостью, вам легко хватит Jetty для разработки и Tomcat для продакшена. Ну и конечно если вы возьмете Vaadin то понимание что такое сервлет и где он живет, а так же его жизненный цикл вам всё равно нужно будет знать чтоб понимать как оно всё работает внутри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2014, 14:48 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
и уж если переписывать - то стоит сразу обратить внимание на websockets не потому , что модно, а потому, что очень много преимуществ и между серверами, и между клиентами и между клиентом и сервером есть как открытый так и зашифрованный. автор3) Если запрос выполняется очень долго, то только AJAX вам поможет: периодически опрашивать сервер до дех пор, пока результаты не появятся. Можно попробовать и более модную технологию WebSockets. 4) Можно. Но только, если эта процедура выполяется не долго, и можно сразу подождать ответ. Если долго - то пункт 3. причем при использовании ws можно отображать информацию прямо с сервера. и не ждать очередности ответов, в порядке запросов (как в AJAX ) запустил с клиента запрос/задачу и продолжай дальше, можно любое количество таких задач/запросов по мере их выполнения сервер будет и прогрессбары и данные отображать по мере выполнения. в отличии от AJAX не надо долбить сервер запросами о готовности.. у тебя на сервере крутится долгий цикл по обработке - одна из команд цикла - сообщение клиенту о этапе работы, закончится - данные клиенту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2014, 15:27 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
wvetalЯ имел ввиду переписать интерфейс на java и запустить на jboss. Это понятно. Не ясна - Цель)). Если с учебной целью, то всё переписать. И помнить что в Веб у чистой Java нет ГУИ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2014, 22:58 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
Petro123wvetalЯ имел ввиду переписать интерфейс на java и запустить на jboss. Это понятно. Не ясна - Цель)). Если с учебной целью, то всё переписать. И помнить что в Веб у чистой Java нет ГУИ. Цель очень простая. То как есть сейчас - клиентское приложение на машине клиента соединяется с базой шлёт всякие там запросы. Следовательно: 1) Соединяться напряму с базой с машины клиента - очень плохая идея. Сервер базы должен быть скрыт от внешнего мира, никто к нему, кроме доверенных серверов подключаться не должен. JBoss и будет этим сервером: внешний мир видит jboss, jboss видит базу, но внешний мир базу не видит (и это хорошо). 2) Клиентское приложение - написано на C#, десктоп - на смартфоне на андроиде, планшете iOS работать не будет. Браузер есть везде, на всех платформах. Написав один раз Web-интерфейс, можно быть уверенным, что с любого устройства можно подключиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:08 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
For All, это всё понятно. Почему он меняет ПЛАТФОРМУ? Если остаться на шарпе - переписывать меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:13 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
For All, п.п. 2 как в Java так и на шарпе можно писать и толстых и тонких клиентов одинаково. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:15 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
Petro123For All, это всё понятно. Почему он меняет ПЛАТФОРМУ? Если остаться на шарпе - переписывать меньше. Ну по большому счёту он ничего не меняет. Вся логика и так в хранимых процедурах в базе находится, и там и останется. А тонкий клиент в вебе - это JavaScript (+ всё многообразие javascript-овых библиотек). Так, что клиент переписывать в любом случае нужно весь и полностью (независимо от того будет ли сервер на шарпе или на яве). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:22 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
For AllНу по большому счёту он ничего не меняет тут везде свои подходы. Что хорошо на Java как мантра - не так в шарпе. Главное функционал по ТЗ. Если будет то же самое, то вопрос только в "хотелка для программиста". БЛ из БД в сервер приложений просто так никто не переносит. А функционал шарпа и Java равен))) "Удачи аффтару" ______________________________________________ "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:30 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
Petro123For All, это всё понятно. Почему он меняет ПЛАТФОРМУ? Если остаться на шарпе - переписывать меньше.Такое пожелание/требование заказчика. Плюс приложение еще будет расширятся потом, или модифицироваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:32 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
Повторю ещё раз: Petro123Если остаться на шарпе - переписывать меньше.For AllТонкий клиент в вебе - это JavaScript (+ всё многообразие javascript-овых библиотек). Так, что клиент переписывать в любом случае нужно весь и полностью (независимо от того будет ли сервер на шарпе или на яве).Даже если и остаться на шарпе переписать весь клиент прийдётся полностью, только из-за того, что клиент нужен веб, а сейчас есть десктоп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:36 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
Petro123БЛ из БД в сервер приложений просто так никто не переносит.А никто и не собирается её переносить, как была БЛ в БД так там и останется. Всё что собираются поменять - это способ подключения к базе (не напрямую с клиентской машины, а через сервер), и саму реализацию клиента (с C# десктопа (который надо скачивать и устанавливать) на JavaScript-овый веб (который скачивать не надо: откроется на любой платформе где есть браузер: Windows, Linux, Android, iOS и т.д.)) Petro123А функционал шарпа и Java равен)))По большому счёту функционал у всех языков одинаков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:44 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
OFF For All, я так понимаю: - нужен ТОНКИЙ клиент. - его можно сделать без Java обратившись в форумы Microsoft.NET Будет то-же самое приложение "по большому счёту"))) Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:47 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
For AllДаже если и остаться на шарпе переписать весь клиент прийдётся полностью, только из-за того, что клиент нужен веб, а сейчас есть десктоп. не уверен)))) imho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:48 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
wvetalТакое пожелание/требование заказчика воооот. А мы тут домысливаем))) Тогда вопрос снят) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:49 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
wvetal, пиши. Java-ГУИ + Java-ORM + БД - XP Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 11:51 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
Petro123wvetal, пиши. Java-ГУИ + Java-ORM + БД - XP Удачи!Java-ORM не нужен (это как раз и будет перенос БЛ из БД на сервер приложений) - нужен plain jdbc, чтобы SQL-запросы (существющие) в базу слать. Petro123я так понимаю: - нужен ТОНКИЙ клиент. - его можно сделать без Java обратившись в форумы Microsoft.NETЕсли есть возможность готовое C# WinForms приложение приблизительно в один клик превратить в веб приложение, то это конечно предпочтительнее чем переписывать его с нуля на чём бы то ни было. Однако, от написания сервера (это та часть которая из толстого клиента уйдёт на сервер для того, чтобы клиент стал тонким) этот клик не избавляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 12:00 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
wvetalвся логика на Oracle интересно существующая логика зависит от сессии пользователя? Т.е. например хранятся переменные в пакетах, которые должны быть доступны между вызовами подпрограмм БД, используются сессионные temp таблицы и всё в таком духе, т.е. если пользователь будет постоянно брать коннект из пула, то это уже новые сессии будут, а не одна и та же на протяжении работы приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 12:16 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
For All, - я за то, чтобы программист умел писать БЛ и так и так. Если это CRUD то ОРМ выиграет. - шарп потерял актуальность и оффтоп из-за заказчика. - есть ещё момент, что мобильные приложения это одно, тонкий клиент второе, а Rich корпоратив - третье. Нет одной таблетки на всё. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 12:18 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
OldBoyOdeSu, если есть\был крутой разработчик БД в штате, то всё так и есть. Пул там не нужен. Это не веб был. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 12:21 |
|
||
|
Разработка для сервера приложений.
|
|||
|---|---|---|---|
|
#18+
OldBoyOdeSuwvetalвся логика на Oracle интересно существующая логика зависит от сессии пользователя? На данный момент логика не зависит от сессии пользователя. Права доступа осуществляются на основе прав доступа Пользователей БД Оракл... Тут, видимо, тоже БЛ менять нужно будет. Поэтому и интересовал вопрос авторизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2014, 12:28 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38618513&tid=2127318]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
143ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 488ms |

| 0 / 0 |
