|
|
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
Доброго всем. ЗАДАЧА: необходимо дергать web-сервисы и полученные ответы отображать в веб-приложении отчет будет браться несколько тысяч раз в сутки.maxheap=1.5Г. данных может быть много. поддержка IE обязательна. на текущий момент вижу следующие решения: 1) SpringWS-jaxb-classes-jsp (имеется некоторый опыт, боюсь сервер поляжет от OOM) 2) получить xml-ответ, преобразовывать при помощи xsl в html на сервере и гнать клиенту 3) получить xml-ответ, добавить ссылку на xsl и гнать клиенту, пускай браузер преобразует 4)что-то еще Подскажите как лучше.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 17:17 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
Ну, и ТЗ у вас в лесу. silvanЗАДАЧА: необходимо дергать web-сервисы и полученные ответы отображать в веб-приложении ОК. silvanотчет будет браться несколько тысяч раз в сутки.maxheap=1.5Г. данных может быть много. Как слово "отчет" связано с ЗАДАЧА, не понятно. Нет такой оценки количества как "много". Несколько тысяч раз в сутки это, ну 5000 максимум. Итого 17 секунд на каждый запрос. Так? Это же дофигища времени. Или может таки подумаем о пиковых нагрузках, а не о количестве в сутки? silvanподдержка IE обязательна. IE это несколько разных движков. Обычно говорят о поддержке IE6 и крутят пальцем у виска. Проблем поддерживать версии IE посвежее нет. Как HTML верстка связана с размером кучи и web сервисом мне не понять. silvan1) SpringWS-jaxb-classes-jsp (имеется некоторый опыт, боюсь сервер поляжет от OOM) 2) получить xml-ответ, преобразовывать при помощи xsl в html на сервере и гнать клиенту 3) получить xml-ответ, добавить ссылку на xsl и гнать клиенту, пускай браузер преобразует Я бы начал с обычного JAX-WS, реализация которого уже есть как в JSE, так и в любом JEE контейнере. И в случае чего перешел на CXF. XSLT - зло, которое нужно давить в зародыше. Что такое "много данных" вопрос открытый. XML нормально стримится и потребление памяти упирается в объекты, которые вы вычитали. Опять же не обязательно читать весь XML, можно лишь только нужную часть. Хотя, возможно, и не средствами JAXB. Без знания предметной области, сложно советовать куда воткнуть кеш. Но он тут явно просится. И может даже не один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 17:36 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
silvan, возьми websocket и можешь расчитывать на десятки тысяч в сутки. для ie10- есть эмуляторы на флэш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 18:03 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
вадявозьми websocket и можешь расчитывать на десятки тысяч в сутки. для ie10- есть эмуляторы на флэш. Поддерживаешь имидж? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 18:12 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадявозьми websocket и можешь расчитывать на десятки тысяч в сутки. для ie10- есть эмуляторы на флэш. Поддерживаешь имидж? если делает с нуля - почему не предложить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 18:25 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
вадяесли делает с нуля - почему не предложить? Нет, ну вариант, конечно. Только браузер умрет рендерить, если данных много. Срендерить жирный статический HTML на сервере проще. Ну, и SOAP к web-socket вообще отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 18:52 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНу, и ТЗ у вас в лесу. ЧТЗ еще нет, но вам его лучше не видеть.денег все равно не дадут. BlazkowiczКак слово "отчет" связано с ЗАДАЧА, не понятно. отчет - это обработанный ответ сервиса, выданный на экран пользователя посредством интернет обозревателя в виде ХТМЛ (в дальнейшем возможно Excel) таблицы. BlazkowiczНет такой оценки количества как "много". АГА...УГУ... BlazkowiczНесколько тысяч раз в сутки это, ну 5000 максимум. Итого 17 секунд на каждый запрос. Так? Это же дофигища времени. Или может таки подумаем о пиковых нагрузках, а не о количестве в сутки? ориентир 16000 в сутки. потенциально все могут прийти к началу отчетного часа и запросить в течении получаса.процент попадания в 1 минуту не известен, пусть будут ваши 5000. время отклика для пользователя 3 сек. Blazkowiczsilvanподдержка IE обязательна. IE это несколько разных движков. Обычно говорят о поддержке IE6 и крутят пальцем у виска. Проблем поддерживать версии IE посвежее нет. Как HTML верстка связана с размером кучи и web сервисом мне не понять. парсим хмл - загоняем в память докумет для чтения, создаем объекты в которые складываем результат парсинга. пока jsp/сервлет не сфлушила результат документ где храниться? отчеты формируются динамически,наработка htm-файлов заранее не возможна. BlazkowiczЯ бы начал с обычного JAX-WS, реализация которого уже есть как в JSE, так и в любом JEE контейнере. И в случае чего перешел на CXF. CXF - в свое время не удалось подружить с некоторыми версиями Websphere Application Server. на нем все будет крутиться (версии от 6.1 до 8.5.5) BlazkowiczЧто такое "много данных" вопрос открытый а мне тоже никто не скажет. есть вот респонс на 400Мб чистого текста.нужно ли это выплевывать все разом пока не известно Blazkowicz XML нормально стримится где почитать? BlazkowiczБез знания предметной области, сложно советовать куда воткнуть кеш. Но он тут явно просится. И может даже не один. а какие есть варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 19:03 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
[quot Blazkowicz]вадя Срендерить жирный статический HTML на сервере возможно только если перед тем как выдать.ну или на минуточку.хотят видеть оперативные данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 19:06 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
вс это соап чтоль? а рест и джейсон нет? помню как то делал приблуду на спринговском веб-приложении, чтоб в заголовке показывал курс валют, который дергал рестом джейсон объект с oanda.com там даж апи их расписан что и как. был. как щас - не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 19:08 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
а да, в спринге просто бин создал который потом отдавал в жспшку объект видом ${exchrate.eurusd} мне кажется тсу как раз это и надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 19:10 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
lor2а да, в спринге просто бин создал который потом отдавал в жспшку объект видом ${exchrate.eurusd} мне кажется тсу как раз это и надо. Жирный html + IE: когда процесс IE на клиенте дойдет до 2гб , запуститься новый процесс IE который пошлет новый запрос... и так будет до тех пор пока не умрет клиент и/или сервер. проверено. вес ХТМЛ не мерял, процесс в хрома сожрал 600МБ. отправлял простую хтмл-таблицу без ЦСС и Яваскрипта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 19:27 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
silvanотчет - это обработанный ответ сервиса, выданный на экран пользователя посредством интернет обозревателя в виде ХТМЛ (в дальнейшем возможно Excel) таблицы. С этого и надо было начать. silvan АГА...УГУ... "Неопределенно" много для нас значит, что значение стремиться к бесконечности. А значит единственное решение это обрабатывать данные потоком. На входе поток XML, на выходе HTML. Тогда желание использовать XSLT понятно. Некоторые реализации умеют стримить. silvanориентир 16000 в сутки. потенциально все могут прийти к началу отчетного часа и запросить в течении получаса.процент попадания в 1 минуту не известен, пусть будут ваши 5000. время отклика для пользователя 3 сек. Сколько удивительных подробностей всплывает. Это, ведь, уже предметный разговор. Несколько уже превратилось в 16, а много в 400Мб. Чего было скрывать? silvanпарсим хмл - загоняем в память докумет для чтения, создаем объекты в которые складываем результат парсинга. пока jsp/сервлет не сфлушила результат документ где храниться? отчеты формируются динамически,наработка htm-файлов заранее не возможна. Документ читать в память не нужно. Его можно читать и парсить порциями. Но все реализации сериализации, которые я знаю вычитывают сразу все объекты (кроме Apache Commons Digester). И сколько памяти нужно под ваши объекты, это вопрос к вам. Если много даже в объектах, то сериализацию надо выкидывать нафиг и парсить SOAP Response самостоятельно. silvanCXF - в свое время не удалось подружить с некоторыми версиями Websphere Application Server. на нем все будет крутиться (версии от 6.1 до 8.5.5) Вот и я о том же. А мы много лет назад набодались пытаясь запустить Spring WS на WAS CE. С таким сервером проще смириться и взять его реализацию. silvanа мне тоже никто не скажет. есть вот респонс на 400Мб чистого текста.нужно ли это выплевывать все разом пока не известно SOAP Response в 400Мб? Какой чудесный сервис. А он вообще как нагрузки держит? silvanгде почитать? Google -> Java SAX parser и Java StAX parser. Второй, вроде как, удобнее. silvanа какие есть варианты? Вычитывать данные периодически и складировать локально на HDD. В фоновом режиме конвертировать их в HTML и держать на том же HDD. Отдавать клиентам уже готовый файл. Это если клиенты (запросы) могут пере-использовать данные друг-друга, то эти самые данные имеет смысл и хранить в подготовленном состоянии локально, а не читать и обрабатывать на каждый запрос. Если же каждый из 16К запросов требует абсолютно уникальных данных, то стриминг - единственный вариант. Либо XSLT надо взять, который умеет, либо самому SAX парсером в HTML загонять, используя минимальное количество памяти под буферы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 19:29 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
silvanЖирный html + IE: когда процесс IE на клиенте дойдет до 2гб , запуститься новый процесс IE который пошлет новый запрос... и так будет до тех пор пока не умрет клиент и/или сервер. проверено. вес ХТМЛ не мерял, процесс в хрома сожрал 600МБ. отправлял простую хтмл-таблицу без ЦСС и Яваскрипта Вы нас тут запутать решили? Вы хотите клиенту отдать в браузер гигабайты оперативных данных? И он их глазами будет смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 19:33 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я так понял чел хочет получать джейсоны в браузер и парсить/анализировать их в браузере? тогда причем тут ява вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 19:38 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
при таком раскладе охиреет юзверь... столько инфы никому не надо. сохранять на диск - если только в локальной гигабитной сетке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 21:40 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВы нас тут запутать решили? +1 пускай получает потоковое видео напр. датчика температуры атомного реактора. И потом этот стрим-кино смотрят на клиенте. Как раз по объёму трафика на одного кочегара юзверя. silvanЗАДАЧА: необходимо дергать web-сервисы и полученные ответы отображать в веб-приложении это не задача, а РЕШЕНИЕ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2016, 23:41 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
Petro123silvanЗАДАЧА: необходимо дергать web-сервисы и полученные ответы отображать в веб-приложении это не задача, а РЕШЕНИЕ. Решение одного человека, задача для другого. авторпри таком раскладе охиреет юзверь... Нет.не первый год, не первый раз.. столько инфы никому не надо. инстаграм,фейсбук, гугл поиск....все гонит данные на клиент пока ему не надоест.количество пользователей этих приложений говорит о том, что вы не правы. сохранять на диск респонс или хтмл? автор А мы много лет назад набодались пытаясь запустить Spring WS на WAS CE. С таким сервером проще смириться и взять его реализацию. если версия сервака одна. для jax-ws на WAS 6.1 надо ставить фиче пак, а этого никто делать не будет. автор а много в 400Мб. Чего было скрывать? возможно единичный случай и остальные респонсы будут много меньше. авторДокумент читать в память не нужно. Его можно читать и парсить порциями. ок.теперь мне нужно понять как. авторНо все реализации сериализации, которые я знаю вычитывают сразу все объекты Это о чем? как относится к парсингу? авторВы нас тут запутать решили? Вы хотите клиенту отдать в браузер гигабайты оперативных данных? я, нет. размер ХТМЛ документа не равен размеру ОП выделенному процессу интернет обозревателя под обработку и отображение этого документа авторИ он их глазами будет смотреть? и печатать, и сводить с другими данными.искать расхождения и прочее. авторSOAP Response в 400Мб? Какой чудесный сервис. А он вообще как нагрузки держит? на реквест передаются параметры, если послать аля select * ,то возможно будет кирдык. там где сервис дергает автомат, респонс маленький, т.к. параметры точные. Но у меня будет человек который будет смотреть в формате "а что там было с - по" Разработка этого сервиса к этой задаче не относится. Про другие сервисы в рамках этой задачи ничего сказать не могу, т.к. их пока нет у меня.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2016, 09:21 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
silvan, Гугл поиск не гонит данные на клиент. И не в таком объёме. Банальный запрос странички по ajax и ленивая подгрузка в DOM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2016, 09:36 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
silvanинстаграм,фейсбук, гугл поиск....все гонит данные на клиент пока ему не надоест.количество пользователей этих приложений говорит о том, что вы не правы. Объем текстовой информации в указанных сервисах не дотягивает и до десятка мегабайт на запрос. Изображения и видео отдельная тема, ведь у вас их нет? silvanсохранять на диск респонс или хтмл? В идеале и то и другое. Я же не знаю вашей предметной области и не могу за вас это решить. silvanвозможно единичный случай и остальные респонсы будут много меньше. Опять неопределенность. silvanок.теперь мне нужно понять как. Ключевое слово Streaming silvanавторНо все реализации сериализации, которые я знаю вычитывают сразу все объекты Это о чем? как относится к парсингу? Вы указали JAXB как вариант решения. JAXB не грузит документ в память. XML он парсит потоком (streaming). А вот объекты, которые он из этого XML формирует, они уже будут в памяти целиком. Если 400Мб XML это единичные случаи, то подобный SOAP в объектах может занимать на порядок меньше места, что вполне нормально. А вот если у вас сотни запросов в секунду и многие парсят 400-метровые ответы, то с памятью уже будет не так всё гладко. silvanя, нет. размер ХТМЛ документа не равен размеру ОП выделенному процессу интернет обозревателя под обработку и отображение этого документа Так-то верно, но если у вас текстовые данные, то пользователь не способен проанализировать такой объем информации. Так почему бы не отдавать ему её лишь частями? silvanавторИ он их глазами будет смотреть? и печатать, и сводить с другими данными.искать расхождения и прочее. 400Мб текстовых данных в один экран и потом сводить? silvanна реквест передаются параметры, если послать аля select * ,то возможно будет кирдык. там где сервис дергает автомат, респонс маленький, т.к. параметры точные. Но у меня будет человек который будет смотреть в формате "а что там было с - по" Дык может в фоновом режиме читать SOAP сервис и хранить данные в удобном для анализа варианте? OLAP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2016, 09:38 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
Petro123silvan, Гугл поиск не гонит данные на клиент. И не в таком объёме. Банальный запрос странички по ajax и ленивая подгрузка в DOM а в результате бесконечный документ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2016, 10:00 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
silvanа в результате бесконечный документ! Рукалицо. Гугл тебя временно забанит за несколько запросов, которые выдадут достаточно длинный документ. Это раз. Клиент не получает весь документ за раз. Только порциями. Сформированный и подготовленный выхлоп лежит на сервере. Это два. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2016, 10:04 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
авторИзображения и видео отдельная тема, ведь у вас их нет? нет. "fetch first row", "next" нет в сервисе авторОпять неопределенность. Да.ТЗ расказывается на пальцах. авторВы указали JAXB как вариант решения. JAXB не грузит документ в память. XML он парсит потоком (streaming). спасибо буду знать авторЕсли 400Мб XML это единичные случаи, то подобный SOAP в объектах может занимать на порядок меньше места, что вполне нормально. пробежался с брейкпоинтом похоже на то..а вот при формировании чистого ХТМЛ в JSP добавляется примерно столько..флуш не спасает. авторТак почему бы не отдавать ему её лишь частями? Предлагалось, не хотят. автор400Мб текстовых данных в один экран и потом сводить? нет. если это для бумаги на стол. то набор бумаги с подчеркнутыми текстовым выделителем.. если для отладки то выделят, вставят в электронный документ и разошлют всем причастным с вопросом почему во всех системах смежных системах данные разнятся (ошибка ПС или кто-то мухлюет) все это предположение основанное на общение с конечными потребителями.Функциональный заказчик к потребителю имеет малое отношение...Какая мне собственно разница. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2016, 10:47 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
Blazkowicz Сформированный и подготовленный выхлоп лежит на сервере. Собственно и думаю как это сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2016, 10:52 |
|
||
|
web-service response to html
|
|||
|---|---|---|---|
|
#18+
авторOLAP? тоже есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2016, 10:55 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39208680&tid=2124192]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 385ms |

| 0 / 0 |
