|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
День добрый форумчане. Мы рассматриваем вариант построения 3х звенки, как способ избавиться от зависимости от СУБД. По крайней мере, это основной мотив. Buzz-words привносят свою лепту, но с этим можно бороться. На данный момент мы фактически имеем две линии разработки - для SQL и для Oracle. И если на клиенте (Delphi) мы боремся как можем (универсальные компоненты доступа к DB и пр.), то на сервере - приходится просто писать одно и тоже два раза. Какие существуют готовые решения для среднего звена на данный момент? Доступ к серверу не обязательно из Delphi (.NET тоже подойдет - политика, в ногу со временем) Интересуют в первую очередь НЕ Java решения (почему - отдельный вопрос, надеюсь выяснить позже), хотя Java варианты тоже интересны для полноты картины и понимания того что имеется. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2008, 04:19 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
Ну если не Java, то окромя .Нет стоит взять в растчет: Corba, веб-сервисы или что-то специализированное RPC, как например в QT. Корба работает быстрее, но тяжелее в изучении и надо иметь ОРБ для вашего языка, вторая более избыточная по траффику , но проще юзается. Смотрите, выирайте сами. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2008, 13:15 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
мысль а какие задачи Вы хотите возложить на AppServer? Уточните плз, можно в двух словах, в чем Вы видите избавление от конкретной СУБД... Что в СУБД хотите оставить, а что вынести на СП? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2008, 13:31 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
>мысль > ...Мы рассматриваем вариант построения 3х звенки ... Здесь дана информация по построению прототипа многоуровневых распределенных защищенных информационных систем. Первая статья - начало работы, постановка задачи и анализ результатов реализации проекта. Вторая содержит более детальное рассмотрение вопросов реализации. Относительная независимость прототипа от сервера данных (сервер данных может и не быть базой данных) реализована так: 1. Клиетское приложение не оперирует в сообщении-запросе предожениями типа <SELECT, INSERT, UPDATE, DELETE и т.п.>, а использует в запросе функциональное представление - <индекс_класса+индекс_метода+параметры>. 2. Запрос сериализуется, сжимается, шифруется и проводится по функциональным уровням прототипа до пула серверов_приложений(СП). 3. Сообщение-запрос сервером приложений дешифруется, декомпресиссируется и десериализуется. 4. СП содержит функциональную компоненту - домен (может и не один). В домен загружаются классы собственно физической работы с носителем данных. Для доступа методов классов ядра СП к методам классов домена также используется функциональное представление запроса. 5. Классы сборки (термин .Net), загруженной в домен, преобразуют функциональное представление сообщения-запроса для домена в физические операторы работы с данными. 6. Данные результата обработки доменом сообщения-запроса сериализуются и возвращаются ядру СП (штатно) или код ошибки (не штатная ситуация). 7. Данные физического носителя обрабатываются классами бизнес-логики ядра СП. 8. Результат сериализуется, сжимается, шифруется и возвращается клиентскому приложению в форме сооющения-ответа. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2008, 14:05 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
Ggg_old пишет: Корба > работает быстрее, но тяжелее в изучении и надо иметь ОРБ для вашего А по мне так CORBA достаточно простая. И в освоении, и в программировании. Проще, чем COM уж во всяком случае. ORB-ов тоже достаточно много. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2008, 14:42 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
2 Ggg_old: Что такое QT? А если Java то на какие готовые решения можно посмотреть? 2 iscrafm: Оставить за СУБД хранение данных, контроль за целостностью, иными словами необходимый минимум. На СП перенести бизнес логику. Например, проверка контракта/инвойса. Cейчас подобный функционал реализован на ХП и любое изменение делается в двух вариантах - SQL и Oracle. Основная цель уменьшить трудозатраты на разработку и поддержку. 2 ВМоисеев: Спасибо за ссылочку. Статья интересная. Если будем писать свою систему - пригодится. Сейчас, в первую очередь хочется посмотреть на готовые решения. Можно и на Java решения посмотреть, но клиент будет не на Java это точно. Кинте ссылочки плиз на готовые промышленные решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2008, 21:07 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
ВМоисеев>мысль > ...Мы рассматриваем вариант построения 3х звенки ... Здесь дана информация по построению прототипа многоуровневых распределенных защищенных информационных систем. Первая статья - начало работы, постановка задачи и анализ результатов реализации проекта. Вторая содержит более детальное рассмотрение вопросов реализации. Относительная независимость прототипа от сервера данных (сервер данных может и не быть базой данных) реализована так: 1. Клиетское приложение не оперирует в сообщении-запросе предожениями типа <SELECT, INSERT, UPDATE, DELETE и т.п.>, а использует в запросе функциональное представление - <индекс_класса+индекс_метода+параметры>. 2. Запрос сериализуется, сжимается, шифруется и проводится по функциональным уровням прототипа до пула серверов_приложений(СП). 3. Сообщение-запрос сервером приложений дешифруется, декомпресиссируется и десериализуется. 4. СП содержит функциональную компоненту - домен (может и не один). В домен загружаются классы собственно физической работы с носителем данных. Для доступа методов классов ядра СП к методам классов домена также используется функциональное представление запроса. 5. Классы сборки (термин .Net), загруженной в домен, преобразуют функциональное представление сообщения-запроса для домена в физические операторы работы с данными. 6. Данные результата обработки доменом сообщения-запроса сериализуются и возвращаются ядру СП (штатно) или код ошибки (не штатная ситуация). 7. Данные физического носителя обрабатываются классами бизнес-логики ядра СП. 8. Результат сериализуется, сжимается, шифруется и возвращается клиентскому приложению в форме сооющения-ответа. С уважением, Владимир.и вот это всё вот реально проще в реализации, чем переписать 2 раза логику на 2х СУБД? есть сомнения... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2008, 22:53 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
Сервер приложения - ПМВПМ - необходим для иных целей, чем реализация доступа к различным вендорам БД. И на сервере и на клиенте кросс-вендорность будет реализовываться похожими средствами. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2008, 01:33 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
В принципе я понимаю, что никто не будет делать AppServer только для обеспечения независимости от вендора. Решаются совсем другие задачи. Но, как только бизнес-логика переносится на AppServer, то с большой вероятностью возникает потребность в языке запросов/языке бизнес логики, и независимость от вендора СУБД. Что собственно и требуется в данном случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2008, 08:57 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
>egorych >... есть сомнения... У меня также. Как то softwarer этот момент точно подметил. Если городить огород только для реализации инвариантности и для простых задач - овчинка выделки не стоит. Разве что университетская дипломная. Как показывает небольшой личный опыт - доменная сборка под другой сервер данных переписывается практически полностью, причем видимо это должен делать профессионал, детально знающий специфику и возможности данного сервера базы данных (себя к оным не причисляю). К примеру, достаточно распространенная операция - paging, реализуется в средах MSSQL и Oracle по-разному. Да и доступ к хранимым процедурам не совсем идентично (а сервер данных может и не поддерживать ХР). Но если бизнес-логика достаточно наворочена, и в ней выделены и описаны точки взаимодействия с физическими серверами данных, то как знать. Здесь очень многое определяется задачей. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2008, 10:35 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
мысльОсновная цель уменьшить трудозатраты на разработку и поддержку.Вначале вы решали совсем другую задачу: "способ избавиться от зависимости от СУБД" И решение придумали сразу: "построение 3х звенки". Но для уменьшения трудозатрат на разработку и поддержку совсем не однозначно требуется именно это. Использование для программирования логики типичной бизнес-системы (работающей с данными) языков, не предназначенных для этого, не увеличит производительность программистов. Перенос запросов к БД в код сервера приложений не упростит поддержку, сопровождение и модификацию этих запросов. И, наконец, не так просто привести все запросы к общему знаменателю, поддерживаемому обоими СУБД, так что придётся некоторые запросы писать в двух вариантах. Так что подумайте, прежде чем разносить бизнес логику проверки контракта/инвойса из двух мест в несколько - основная на апп-сервере и дополнительная в нескольких общих и нескольких платформо-зависимых запросах к БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2008, 10:41 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
мысль Какие существуют готовые решения для среднего звена на данный момент? Доступ к серверу не обязательно из Delphi (.NET тоже подойдет - политика, в ногу со временем) Интересуют в первую очередь НЕ Java решения (почему - отдельный вопрос, надеюсь выяснить позже), хотя Java варианты тоже интересны для полноты картины и понимания того что имеется. Заранее спасибо. Ну Java - имеет просто очень много решений. Спецификация JDBC задумывалась как преодоление зависимости от конкретной БД. Но тем не менее эта независимость не была полной. Поэтому возникли спецификация JDO и ее реализации, а так же Apache/JDO, которая не реализует спецификацию JDO. Наконец Hibernate дала в руки программеров удобное средство на каждый день. PHP5 имеет новый объект доступа к данным независимый от БД. В Perl независимый интерфейс работы с БД существует иже лет 10. Если нужно конкретно под .Net - я думаю Microsoft - не та фирма, которая поощряет работу с чем-либо кроме MSSQL. Можно не париться. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2008, 20:37 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2008, 20:47 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
Несколько проектов были выполнены, когда в качестве сервера приложений выступал Web-сервер 1) Тот же самый Delphi поддерживает взаимодействие с Web-сервером и вы можете построить достаточно развитый GUI-интерфейс + кеширование "тяжелых" данных (в нашем случае картографическая информация) 2) все премущества Web-сервера (асинхронка, контроль доступа, написание расширений, возможность абстрагироваться от СУБД, скрипты и т.п.) 3) Если затачиваетесь на "ослика" IE то возможность создания "почти тонкого" клиента при использовании интерфейса external ______________________________________________________ Задолбали вихри яростных атак ... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2008, 21:48 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
apapacy Если нужно конкретно под .Net - я думаю Microsoft - не та фирма, которая поощряет работу с чем-либо кроме MSSQL. Можно не париться. На каком основании? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2008, 22:17 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
Изопропил apapacy Если нужно конкретно под .Net - я думаю Microsoft - не та фирма, которая поощряет работу с чем-либо кроме MSSQL. Можно не париться. На каком основании? Автор топика прости список готовых решений. Список в студию. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2008, 22:37 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
apapacy Изопропил apapacy Если нужно конкретно под .Net - я думаю Microsoft - не та фирма, которая поощряет работу с чем-либо кроме MSSQL. Можно не париться. На каком основании? Автор топика прости список готовых решений. Список в студию. Ask TheServerSide: Which .NET ORM is best? Например: hibernate.org - Databases supported by NHibernate Microsoft SQL Server 2000 Oracle Microsoft Access Firebird PostgreSQL DB2 UDB MySQL SQLite PS. Если бы вы погуглили 5 минут перед тем как отвечать пользы всем было бы больше ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 10:35 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
>belugin >Например: Извините, я видимо что-то не допонимаю. Поддерживает - это в смысле, имеется в наличии провайдер данных для соответствующей базы данных? Но сами то запросы формируются по-разному. Их текст разный и при обращении и в хранимых процедурах. В одних базах данных нужную операцию можно и нужно реализовать в ХП, в других просто нет таких возможностей или не имеет смысла. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 11:19 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
В NHibernate собственный язык запросов. Он транслируется в запросы БД. Если надо хранимые процедуры - их можно вызвать, но писать надо на языке БДю ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 12:26 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
belugin PS. Если бы вы погуглили 5 минут перед тем как отвечать пользы всем было бы больше Сорри. Сылку на NHubernate на сайте Hibernate видел, но выпустил из памяти. Но вот погуглив, отзывы об использовании N Hibernate пока сдержанные. (В частности по производительности) В то время как (J)Hibernate - промышленная технология. Вы можете, положа руку на сердце рекомендовать NHibernate для реального проекта? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 20:25 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
>belugin >В NHibernate собственный язык запросов... Вот конкретная реализации по-станичной передачи выборки клиенту - первое возвращаемое подмножество представлено значением объема полной выборки - второе возвращаемое подмножество есть табличное представление страницы выборки Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Специалисты по Oracle могут написать свою версию ХП и обращения к ней. Знакомые с DBF - свою. Или мы имеем дело с примитивными конструкциями? Если нет, то наверное будет резкое снижение скорострельности. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 21:07 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
>belugin >В NHibernate собственный язык запросов... Вот конкретная реализации по-станичной передачи выборки клиенту - первое возвращаемое подмножество представлено значением объема полной выборки - второе возвращаемое подмножество есть табличное представление страницы выборки Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Специалисты по Oracle могут написать свою версию ХП и обращения к ней. Знакомые с DBF - свою. Или мы имеем дело с примитивными конструкциями? Если нет, то наверное будет резкое снижение скорострельности. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 21:10 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
ВМоисеев Что сгенерирует NHibernate ? Специалисты по Oracle могут написать свою версию ХП и обращения к ней. Знакомые с DBF - свою. Или мы имеем дело с примитивными конструкциями? Если нет, то наверное будет резкое снижение скорострельности. Я практически с этим не работал, но думаю, тут поступают как в свое время с ассемблерными вставками на ЯВУ: то, что тиормозит пишут на ХП, остальное - стандартно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2008, 10:36 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
В целом выбран следующий подход: - App Server-ом будет IIS. - Бизнес логика пишется на шарпе. - клиент - браузер - для Desktop клиента (WinForms, Delphi) доступ через WebServices - компоненты доступа к базе на сервере например эти http://www.datadirect.com/ (хотя не обязательно - у них агрессивная ценовая политика) Спасибо всем за участие. Насчет NHibernate замечание интересное. Кто-нибудь может посоветовать O/R mapper (.NET) ? Поискал - нашел примерно 20 разных - проверять все сил нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2008, 01:23 |
|
Нужен AppServer для среднего звена ...
|
|||
---|---|---|---|
#18+
мысльВ целом выбран следующий подход: А рассказал бы ты, как же это ты выбор делал. Критерии какие использовал, методики оценки. --- Короче, вижу что. Очередной вчерашний студент, попав в скучающую контору с устоявшимися подходами и продуктами - получил задание от руководства - выбрать глобальную стратегию глобального развития на следующие пять лет. При этом конечно не станем говорить, что у студента - ни опыта, ни знаний, вообще нифига. Только умение ходить по всяким интернетам. Спрашивать разное. P.S. А вообще оборжаться. Право. Писать два раза, независимость от базы данных. Ну прямо детский сад. Хотел бы я посмотреть на продукт, в котором - действительно, актуальна независимость от базы данных. Ну хоть краем глаза. Название не озвучишь? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2008, 02:04 |
|
|
start [/forum/topic.php?fid=33&fpage=46&tid=1548844]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 165ms |
0 / 0 |