|
|
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
Может ошибаюсь, но пошла (видимо уже давно) некая тенденция с выносом бизнес-логики из СУБД (пока правда не знаю куда именно выносят :), на сервера приложений или на клиент или и туда и туда). Посмотрел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 11:24 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
JDS, "визуальное программирование - не нужно знать язык! связал компоненты и готово!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 11:32 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
Список достоинств верный. Теперь список недостатков: - требует очень много CPU и памяти. - очень неэффективные запросы. Сложно настраивать Lazy/Eager initialization, нельзя использовать хинты. Соответственно, при попытке снизить затраты ресурсов или ускорить работу начинаются жуткие пляски с бубном. Ниша хибернейта - низконагруженные (до 10 параллельных юзеров) B2B системы (где юзеры переживут отклики в 200-500 миллисекунд) работающие со сложными бизнес-сущностями (от 20 таблиц), написанные низкоквалифицированными программистами. Моё текущие представление о правильной B2B системе - это либо 1. Храним данные в нормализованном виде, пишем ХП для извлечения и сохранения этих данных. Вся бизнес-логика - в серверном приложении. 2. Храним данные в блобах/json. Никаких хранимок, сложный поиск, списки и пагинация делаются специализированным инструментарием типа Solr/ElasticSearch. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 12:35 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
JDS пошла (видимо уже давно) некая тенденция с выносом бизнес-логики из СУБД (пока правда не знаю куда именно выносят :), на сервера приложений или на клиент или и туда и туда). Показалось. Или плохих программистов стало больше. Тогда не показалось. JDSИли это делается, чтобы например разгрузить базу? Чтобы не изучать SQL (делается программистами, которые подходят для вашей тенденции). Имею ввиду применение Hibernate. Не надо разгружать базу, если нет признаков того, что она слишком загружена. Но сервер приложений надо по возможности не загружать тем, что можно сделать в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 15:45 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
В основе ORM-ов лежит методологическая ошибка: постулируется, что объекты программы отображаются на объекты схемы. На самом деле DML-операторы манипулируют наборами, которые достаточно слабо связаны и со схемой и с данными, в ней хранящимися. Но поскольку программисты очень сильно не хотят самостоятельно писать SQL-запросы, то придуман механизм сопоставления объектов и автоматической генерации SQL-кода, который достаточно хорош для CRUD-сценариев. Реальных волшебных пузырьков у ORM-ов нет. Если бы они были, то нашлись бы умники, расширившие сферу применения автоматической кодогенерации для почти полного устранения программистов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 16:08 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
авторРаньше же вроде как наоборот стремились в базе делать то, что база может делать лучше всего, то есть обработка информации, SQL... И сейчас то, что база делает лучше всего, стремяться делать в базе. авторА теперь: "не нужно знать SQL" Неужели действительно все так радужно? ) Нет, не всё так радужно. Это автор доклада чуток приукрасил. Кроме того, Hiber очень хорошо справляется только с CRUD операциями, а вот любую аналитику, любые сложные запросы ему лучше не доверять. авторНеужели теперь эффективнее ковыряться с данными, засовывая их в коллекции Java, а не обработка в СУБД с помощью SQL и хранимок, а базе на откуп отдают только самые простые селекты/инсерты/апдейты? ) Нет, не эффективнее. авторИли это делается, чтобы например разгрузить базу? Нет, не для этого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 19:51 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
А что в замен? Вот это? Оно даже компилятором не проверяется. Рантайм-бомба... Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:43 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
Чем-то MS Access 97 напомнило. Тоже все мышекликами, а как только шаг в сторону захотел сделать - опухни от кодерства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2015, 20:53 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
Relic HunterА что в замен? Вот это? Оно даже компилятором не проверяется. Рантайм-бомба... Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. А вот это компилятором проверяется, планы выполнения сгенерированных SQL запросов ничем не отличаются от рукописных. И "просто CRUD" я бы это не назвал. :-) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2015, 07:26 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
JDS 1. Избавляет от SQL, не нужно знать SQL, больше времени на бизнес логику 2. Меньше и понятный код 3. Меньше ошибок 4. Работает на любой базе 5. Популярный, много доки и инфы 1. нет, SQL знать все равно нужно знать. но если освоить, то действительно эффективность разработки возрастает 2. кода меньше не станет, но организовать его, минимизировав копипасту и увеличив "понятность", легче. 3. ? 4. На многих, если там нативного базозависимого SQL нет 5. Да PS. это я про NHibernate и C#, но думаю для Hibernate и Java - тоже самое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2015, 13:56 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
kmaw, вообще хибер - это прокладка , половине человечества она мешает, другая без неё счас не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 00:05 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
JDS1. Избавляет от SQL, не нужно знать SQL Прямо какое-то оскорбление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 00:12 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
Был проект с JPA/Hibernate, ну что сказать - для рутинных задач сгодиться. В чем причина использования JPA? Уменьшение времени разработки/прототипирования и более низкая требуемая квалификация разработчиков. Не нужен спец по SQL и процедурам в базе. В чем недостатки? 1. Больше запросов. 2. Сложно делать разные запросы используя одно дерево объектов (jpa entity). С аннотациями можно поиграться но это не всегда помогает особенно в базе с больше чем 10 таблицами когда нужно в одних случаях загрузить не все поля в объектах или хитрый запрос сделать - с JPA все будет в лоб. 3. В окружениях типа OSGi JPA persistence frameworks сходят с ума (класс лоадеры разные - транзакции летят) - приходится использовать один JPA сервис. Из плюсов - не нужно заморачиваться с запросами на этапе прототипирования. Хороший вариант - сделать разные обертки для запросов к базе для бизнес логики - на этапе прототипирования использовать JPA DAO, потом сделать оптимизированную имплементацию с JDBC DAO и процедурами в базе где нужно. Опять же все зависит от стоимости проекта, но больших проектах есть смысл не экономить на DBA и разработчиках. Работоспособна ли JPA в больших проектах? Да. У меня был проект с нагруженной JPA на Websphere, все скрипело но работало (был кластер из баз Оракла, логгирование действий пользователей тоже было в базе, около 10 тыс пользователей, 50 млн транзакций с документами в день) потом некоторые части все-таки перевели на JDBC и процедуры. Был ли большой выигрыш по времени разработки? Нет, весь выигрыш профукали пока маялись с оптимизацией JPA, легче было бы сразу делать нормально. Почему использовался JPA? Интеграторы начинавшие проект сошли с ума и натащили все новомодные игрушки как дети - чего там только не было включая OSGi - большую часть игрушек выкинули из проекта впоследствии пока доводили его до ума после формальной сдачи.Сколько времени профукали на игрушках и сырой архитектуре? Больше полугода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 01:22 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
uid unique, проекту явно не хватило толкового архитектора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 08:24 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
Вообще вопрос возник из того, что изначально занимался разработкой в БД. Потом волею судьбы устроился на работу, где желательно уметь делать и клиент и сервер (хотя изначально в резюм писал, что ищу вакансию разработчик БД, но не об этом). Приоритет отдается Java, что тоже радует. Посмотрел немного SE, ну нормально, поделал простенькие утилитки с доступом к БД через JDBC. Дальше вопросы: а что у нас с созданием веб-интерфейса юзера? Можно ли как-то ускорить и упростить работу с БД? Для сравнения вспомнил, что например, в той же студии создание веб-морды (asp.net) и работа с БД, сделана вполне удобно (хотя пробовал только на простых примерах для себя). А как с этим в Java? Вот и начал тыкаться пока в хибернейт. Но это все равно как бы немного не то имхо :( Может кто-то подскажет, куда копать в Java, чтобы получить такие же удобные инструменты/среду для разработки, как в той же студии (если это вообще реально). То есть задача: получить скил создания полноценной веб-морды, работающей с БД желательно с асинхонными запросами со страниц :) при этом с удобными инструментами/средой разработки. То есть ну не интересно мне руками рисовать HTML, CSS, XML, не лежит душа что ли, да и кажется это не очень продуктивным :( хотя от того же JavaScript, видимо, все равно не уйти, но это ладно, потом по-хорошему, надо использовать шаблоны что-то типа xml+xslt или что-то подобное. И хорошо бы все это делать, кидая "контролы" на страничку ), как в той же студии например с минимальной корректировкой руками конфигурационных файлов, в отношении этих "контролов" и прописывая им соотв. свойства в соответствующей панели, сразу наблюдая изменения например внешнего вида, а не ковыряясь с тегами с последующим просмотром в браузере (понятно, что мелочь, но как-то так). Ощущение, что все это уже должно быть, но я не знаю как называется ) JSP? какие-то MVC фреймворки? JSF? Spring? То есть хотелось бы что-то вроде серверных веб-компонент пользовательского приложения, чтобы писать именно предметную логику и функционал, а не заниматься рисованием тегами и вообще ковырянием в тегах кучи файлов ) В общем пока каша и полное не понимание что курить и куда копать ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 13:00 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
JDS, чтобы узнать, как далеко они ушли в базостроении, тебе надо срочно поставить что-то типа grains или play и что-то поделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 13:15 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
JDS, веб-морды, работающие с БД - это либо какой-то небольшой проект на коленке, либо кривое решение. В нормальных проектах веб-морды с БД напрямую не работают. А есть слой, что Вы назвали "предметная логика и функционал" и к нему уже пишутся веб, десктоп, мобильные и остальные морды. Так что Вы уж определитесь, чего хотите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 13:36 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
skyANAВ нормальных проектах веб-морды с БД напрямую не работают. А есть слой, что Вы назвали "предметная логика и функционал" и к нему уже пишутся веб, десктоп, мобильные и остальные морды. Имеете в виду, разрабатывается например некая библиотека, в которой приписывается "предметная логика", которая оформляется например в виде веб-сервиса или просто как библиотека, с которой уже работают например те же jsp? Или подразумевается уже некое готовое решение (сервер приложений или фреймворк, или что там еще), в котором прописывается определенная часть логики, а уже отображение в чем угодно. То есть понятно, что можно например, написать просто веб-сервис, на вход которого можно слать запросы предопределенного формата, этот сервис выдает на выходе например тупо xml-ки или просто с данными для десктопных например форм, или как шаблоны будущих html-страниц в общем некий универсальный интерфейс. Наверно тоже полно готовых решений (именно сам каркас, технология)? skyANAТак что Вы уж определитесь, чего хотите. Попробую на простом примере: Есть некая сущность, хранящаяся в БД, необходимо иметь возможность максимально быстро и просто сделать для нее веб-интерфейс для юзера, чтобы можно было ее просматривать, изменять, удалять, добавлять новую (при этом чаще не тупо sel/upd/ins/del, а скорее, что через хранимки в БД, с возможно частично вынесенной логикой в этот т.н. "слой" (см. выше)) При этом чтобы разработка велась на уровне "серверных компонент пользователя", т.е. бросил на макет странички нужные элементы (там эдиты, гриды, батоны, радиобатоны, чекбоксы, табы и т.д.), привязал к данным, прописал что делать в событиях, прописал валидацию, если надо, и готово ). MasterZivчтобы узнать, как далеко они ушли в базостроении, тебе надо срочно поставить что-то типа grains или play и что-то поделать. Спасибо, интересно, посмотрю, но мне вроде не нужно строить базу например, через IDE явы, хотя не исключаю, что можно сделать библиотеки, которые покроют большинство потребностей возникающих при создании подобных приложений и возможно, они могут быть даже удобными ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 14:34 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
JDSskyANAВ нормальных проектах веб-морды с БД напрямую не работают. А есть слой, что Вы назвали "предметная логика и функционал" и к нему уже пишутся веб, десктоп, мобильные и остальные морды. Имеете в виду, разрабатывается например некая библиотека, в которой приписывается "предметная логика", которая оформляется например в виде веб-сервиса или просто как библиотека, с которой уже работают например те же jsp? Или подразумевается уже некое готовое решение (сервер приложений или фреймворк, или что там еще), в котором прописывается определенная часть логики, а уже отображение в чем угодно. То есть понятно, что можно например, написать просто веб-сервис, на вход которого можно слать запросы предопределенного формата, этот сервис выдает на выходе например тупо xml-ки или просто с данными для десктопных например форм, или как шаблоны будущих html-страниц в общем некий универсальный интерфейс. Наверно тоже полно готовых решений (именно сам каркас, технология)?Сначала Вы свою прдметную область разбиваете на контуры, направления, части (декомпозиция). Реализуете набор библиотек - слой бизнес логики. Покрываете его тестами. А потом используете, где хотите. Хотите в веб-сервисе, хотите в веб-приложении, хотите на сервере приложений и т.п. JDSskyANAТак что Вы уж определитесь, чего хотите. Попробую на простом примере: Есть некая сущность, хранящаяся в БД, необходимо иметь возможность максимально быстро и просто сделать для нее веб-интерфейс для юзера, чтобы можно было ее просматривать, изменять, удалять, добавлять новую (при этом чаще не тупо sel/upd/ins/del, а скорее, что через хранимки в БД, с возможно частично вынесенной логикой в этот т.н. "слой" (см. выше)) При этом чтобы разработка велась на уровне "серверных компонент пользователя", т.е. бросил на макет странички нужные элементы (там эдиты, гриды, батоны, радиобатоны, чекбоксы, табы и т.д.), привязал к данным, прописал что делать в событиях, прописал валидацию, если надо, и готово ).Звучит как склепать что-то там на коленке без каких-либо конкретных требований. Rapid Application Development (быстрая разработка приложений) - это не что-то там куда-то покидать, это хорошо налаженый цикл: Требования - Дизайн - Разработка - Тестирование - Эксплуатация, Фитбек - Требования. Причём за норму берётся то, что требования в процессе могут устаревать и изменяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 17:25 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
А насчёт аналога ASP.NET WebForms, то это вроде как Java Server Faces (JSF). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 17:29 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
skyANAЗвучит как склепать что-то там на коленке без каких-либо конкретных требований. Rapid Application Development (быстрая разработка приложений) - это не что-то там куда-то покидать, это хорошо налаженный цикл: Требования - Дизайн - Разработка - Тестирование - Эксплуатация, Фитбек - Требования. Я ж говорю, упрощенно. Не рассматриваю полный цикл (анализ, дизайн, разработка, тестирование и т.д.), в корпоративной разработке участвовал, представление имею. Интересует конкретная часть из этой цепочки - разработка и именно веб c java и именно часть, отвечающая за отображение информации пользователю. В текущем видении разработка web в Java для меня - это как закат солнца вручную, долго и муторно ), в то время как в той же студии вроде как все делается быстрее и удобнее, многие вещи визуализированы через готовые компоненты (или просто не врубился, т.к. не пробовал, то что надо попробовать, чтобы понять, что в java можно тоже быстро и удобно делать). Неужели народ пишет на java, только из-за того, что бесплатно, что кроссплатформенный (хотя c# вроде тоже декларируется), что java вроде как шустрее, гибче, не надо тянуть net фреймворк, не смотря на то, что муторно и неудобно (в сравнении с разработкой в той же студии опять же)? Понимаю, что некорректно сравнивать студию и яву, хорошо: NetBeans+java и VisualStudio+c#. JSF? Ок тоже посмотрю, еще не добрался, но забегая вперед, в том же нетбинзе, когда создаем новый проект, как раз например с JSF, и что там будет возможность разрабатывать макет страницы так же как в студии? В общем в творческом тупике или просто туплю ). Пока посмотрю немного подробнее jsf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 18:41 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
JDSskyANAЗвучит как склепать что-то там на коленке без каких-либо конкретных требований. Rapid Application Development (быстрая разработка приложений) - это не что-то там куда-то покидать, это хорошо налаженный цикл: Требования - Дизайн - Разработка - Тестирование - Эксплуатация, Фитбек - Требования. Я ж говорю, упрощенно. Не рассматриваю полный цикл (анализ, дизайн, разработка, тестирование и т.д.), в корпоративной разработке участвовал, представление имею. Интересует конкретная часть из этой цепочки - разработка и именно веб c java и именно часть, отвечающая за отображение информации пользователю. В текущем видении разработка web в Java для меня - это как закат солнца вручную, долго и муторно ), в то время как в той же студии вроде как все делается быстрее и удобнее, многие вещи визуализированы через готовые компоненты (или просто не врубился, т.к. не пробовал, то что надо попробовать, чтобы понять, что в java можно тоже быстро и удобно делать). Неужели народ пишет на java, только из-за того, что бесплатно, что кроссплатформенный (хотя c# вроде тоже декларируется), что java вроде как шустрее, гибче, не надо тянуть net фреймворк, не смотря на то, что муторно и неудобно (в сравнении с разработкой в той же студии опять же)? Понимаю, что некорректно сравнивать студию и яву, хорошо: NetBeans+java и VisualStudio+c#. JSF? Ок тоже посмотрю, еще не добрался, но забегая вперед, в том же нетбинзе, когда создаем новый проект, как раз например с JSF, и что там будет возможность разрабатывать макет страницы так же как в студии? В общем в творческом тупике или просто туплю ). Пока посмотрю немного подробнее jsf.Понимаете, веб-разработка и то что Вы написали про "Есть некая сущность, хранящаяся в БД, необходимо..." - это совершенно разное :) То, что Вы пробовали в студии (смешение UI с запросами к БД и какой-то логикой), то в нормальных проектах не используется. Принято отделять UI от логики и БД. И народ пишет на Java слой domain model, слой доступа к данным, API. А другой народ прикручивает к этому веб-морду на каком-нибудь модном API, или мобильное приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 19:07 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
skyANAuid unique, проекту явно не хватило толкового архитектора. Там вместо архитектора был диверсант - начал проект и сбежал, другая команда расхлебывала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 19:50 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
JDS Ок тоже посмотрю, еще не добрался, но забегая вперед, в том же нетбинзе, когда создаем новый проект, как раз например с JSF, и что там будет возможность разрабатывать макет страницы так же как в студии? В общем в творческом тупике или просто туплю ). Пока посмотрю немного подробнее jsf. Если нужно что то быстро насторогать, делайте jsp (тот же сервлет но в виде темплейта, можно не компилить и править руками на лету) - все что нужно набросать (стили и тд) не проблема сделать в Html редакторе. Это если на скорую руку делать. По нормальному, используются Js frameworks а на сервере реализуются сервисы (в идеале независимые от клиентского api, если есть желание можно подцепить json schema чтоб по аналогии для вебсервисов выдавались метаданные методов). Есть варианты с GWT/Vaadin и подобные - там веб морда и javascript генерится из Java кода но с ними если попадешь на кастомизацию или баг, наплачешься. Что используется на проекте зависит от предпочтений архитектора и линии партии - к примеру IBM вложился в dojo, почти все проекты у IBM будут от dojo. Не самый лучший framework, с багами (по крайней мере раньше их было полно), легко делаются утечки памяти но кастомизируется легко и быстро. jQuery очень часто используется, extJs пореже, из свежих мне понравился Ember (бывшие яблочники писали) - логичный, стройный клиентский js framework но к сожалению в большом деле его пока не пробовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 20:05 |
|
||
|
Hibernate и вынос бизнес-логики из СУБД
|
|||
|---|---|---|---|
|
#18+
skyANAИ народ пишет на Java слой domain model, слой доступа к данным, API. А другой народ прикручивает к этому веб-морду на каком-нибудь модном API, или мобильное приложение. Вот. Другой народ! :) Мне не нравится это разделение ))) не нравится, что имею лишь общее представление, что делает "другой народ", да и не другой местами тоже, а хочется освоить всю цепочку целиком. Но только в том случае, если все это можно делать быстро, то есть надеялся, что есть соответствующие инструменты для этой быстрой целостной связной разработки всех уровней ) uid uniqueЕсли нужно что-то быстро насторогать, делайте jsp. По нормальному, используются Js frameworks, а на сервере реализуются сервисы (в идеале независимые от клиентского api, если есть желание можно подцепить json schema чтоб по аналогии для вебсервисов выдавались метаданные методов). skyANA об этом же говорит похоже, но это уже немного более конкретный вариант по-моему, т.е. Js frameworks, а на сервере просто сервисы? Ок. Веб-сервисы примерно понятно - запрос/какие-то действия/ответ. Js frameworks - это что-то из этого ? Посмотрю, что за звери. То есть с помощью Js frameworks можно быстро пилить интерактивные веб-странички, которые будут тыкаться в сервис, получая/оперируя данными или сразу готовые куски хтмл или еще что, в общем на выходе веб-UI? Не улавливаю пока только, как там будет реализовано именно создание страницы на сервере (js frameworks javascript - это ж клиент). С jsp понятно - есть страничка, запросили, выполнился ее код на сервере, сгенерив html-ку с данными, кот. улетела юзеру. В чем принципиальное отличие создания страниц с помощью js frameworks? Или как раз именно тем, что есть палитра уже готовых компонент, типа как в той же студии? А темплейтность как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 22:50 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39115992&tid=1340849]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
175ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
90ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 564ms |

| 0 / 0 |
