|
|
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
по поводу задач, которые на sql-сервер не стоит перекладывать с математикой у него тяжело, бинарные операции еще туда-сюда, обойтись можно, а вот операции с матрицами совсем тяжко идут, скомпилированный компонент в сотни раз быстрее все считает в таких вещах БД как источник и хранилище хорошо использовать про расширенные процедуры не стоит говорить, т.к. если она упадет, то вместе с сервером, а сервер должен жить, и, кстати, .net из-под sql server не работает, для многих это уже важно в распределенных системах многозвенка тоже хороша, т.к. открывать надо для доступа не сам сервер БД, а всего лишь сервис, который если и сдохнет, то не страшно и потом, сервис - это не пользователь, который может делать нетривиальные вещи и совать свой нос куда не надо, нормальный сервис делает только то что ему сказано в системе произвольной фильтрации можно забрать массив с сервера БД, (пусть даже на него уже будут наложены некоторые базовые условия, чтобы совсем все не тащить к себе), потом наложить на него сколько надо условий и передать клиенту, клиент сырой массив никогда не увидит и уж тем более не получит доступ к сервисам БД при этом, распараллеливать нагрузку можно не очень трудно, т.к. средних звеньев может быть несколько и они могут выполнять разные функции обработки, а на основной сервер данных нагрузка по обработке не будет ложиться, его можно и для других целей попользовать, по более прямому назначению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2003, 15:08 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
ASCRUS писал:Берем ту же постановку кадров или бухгалтерии - тут явно без 3-звенки не обойтись Я сейчас занимаюсь предпроектным исследованием. Не могли бы Вы более подробно объяснить это утверждение. Меня особенно интересуют кадры. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2003, 17:34 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
AndrewS Это утверждение желательно в контексте всего моего ответа рассматривать :) Я наоборот привел на основе Кадров пример, что там 3-е звено просто не нужно. Под вопросом даже стоит целесообразность использования СУБД, так как Кадры программа информационно-накопительная и в принципе для хранения данных подойдет тот же Jet движок. Другое дело, что если Кадры пишутся в комплексе вместе с зарплатой, тогда естественно будет удобнее и правильней хранить их данные на СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2003, 18:35 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
ASCRUS писал:Другое дело, что если Кадры пишутся в комплексе вместе с зарплатой, тогда естественно будет удобнее и правильней хранить их данные на СУБД В моем случае Кадры являются одной из подсистем на крупном предприятии и идут в комплексе с зарплатой, складом и проч. Просто хотелось узнать о целесообразности использования 3-го звена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2003, 18:48 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
PL99 Согласен с Репликант. Развертывать и администрировать два сервера (БД и приложения) сложнее и дороже чем один все зависит от архитектуры и процесса. :) ASCRUS Ну со мной понятно только одно - сначала я хочу видеть причины выбора методик решения задачи и насколько они оправданы. Если я вижу что проблема надумана или же вообще с другой оперы, то мне всегда интересно, с чего это ее еще хотят и усложнить. Ну давайте теперь все писать на 3-звенках, рассуждая что если они могут все, то остальное ничего не нужно. Я не утверждаю что трезвенка лучше двузвенки. я не утверждаю что трезвенка панацея. Я могу привести пример где двузвенка будет рулить, а могу привести пример который ты на двузвенке не сделаешь. :) Берем ту же постановку кадров или бухгалтерии - тут явно без 3-звенки не обойтись, то то 1С теперь все на 3-е звено перекладывает, наверное вняло советам. Кстати не понимаю, чего Вас так и себя мое заявление вывело насчет того, что в данном случае 3-звенка не нужна. Она действительно не нужна, потому как проблема решается не с той стороны, поэтому и идет усложнение реализации. Я вообще то просто попросил рассказать проблему. человек не спрашивал о чем-то конкретном. он абстрактно спросил о трезвенке. народ начал требовать для чего надо, да зачем. почему просто человеку не дать самому выбрать что он хочет? расскажи ему про двузвенку я расскажу про распрделенные системы с десятками тысяч онлайн юзеров. и он сам быдет выбирать Я надеюсь, что меня с удовольствием возьмут на работу любые работодатели, ценящие здравомыслие и практичность. Если в MS это ценят я могу работать и на них, если передо мной будут поставленны интересные задачи и достойным образом решен финансовый вопрос. про здравомыслие: а кто тебе сказал что ты всегда принимаешь правильные решения? :) вот тебе пример: я сделал архитектуру которая всем понравилась итд итп..... после был разговор с директором.... он сказал что надо ее немного сломать и убрать кое какую функциональность. я сказал... это не логично.... продукт потеряет value. на что мне сказали что именно это и надо. надо чтобы клиент купил это, а потом заплатил еще 100 штук баксов. это практично? что ты бы делал? (ситуация реальная. я ухудшил систему которая уже работала). P.S. И не надо меня таким вот ярым 2-звенщиком изображать, я кстати с 89 года с ООП знаком и уже на TP 5.5 писал зачатки движка БД и визуально событийное программирование, а то прям создается впечатление, что я кроме SQL ничего и не видел, что на самом деле не так, я с SQL всего то с 98 года работаю. при чем ООП и двузвенщик? я тоже много чего знаю. только нужны тебе мои пальцы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 03:12 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
2 xGuest: с математикой у него тяжело, бинарные операции еще туда-сюда, обойтись можно, а вот операции с матрицами совсем тяжко идут, ... Так он и не предназначался для матриц. Перекладывать на него сложную математику можно только от безысходности или с больной головы :о) про расширенные процедуры не стоит говорить, т.к. если она упадет, то вместе с сервером, а сервер должен жить, и, кстати, .net из-под sql server не работает, для многих это уже важно Зачем писать какую-то расширяющую dll к MSSQL когда для той же Win2000 можно написать отдельный COM+ сервис на VС, например, с помощью того же MATLAB-Maple, к-рый будет эти матрицы обсчитывать? Пусть даже это будет и не совсем 3-звенная архитектура в смысле ее строгого определения поскольку часть бизнес-тира будет функционировать в процессе дата-тира, т.е MSSQL. А что значит ".net из-под sql server не работает"? Он должен работать из под .Net framework, а не из под MSSQL при этом, распараллеливать нагрузку можно не очень трудно, т.к. средних звеньев может быть несколько и они могут выполнять разные функции обработки, ... Вот это было бы интересно пообсуждать! У меня многозвенная архитектура как-то (традиционно?) ассоциируется с функциональной декомпозицией, т.е когда звенья/тиры выполняют отдельные общие пользовательские функции (например, бухгалтерия, склад и т.д). Однако, у того же Лармана есть масса разнообразных архитектурных шаблонов, например, тот же Layers, когда функциональная декомпозиция понятие гораздо более общее нежели, чем просто декомпозиция пользовательских функций. Например, есть тир "бухгалтерия", есть тир "кадры", а они используют тир "данные" и тир "документооборот" или еще и тир "Web" 2 AndrewS: В моем случае Кадры являются одной из подсистем на крупном предприятии и идут в комплексе с зарплатой, складом и проч. Просто хотелось узнать о целесообразности использования 3-го звена. Целесообразность использования 3-звенности определяется нефункциональными требованиями к вашей ИС. Откуда ASCRUS по-вашему может о них знать? Нет какого-то универсального правила, отдающего предпочтение тому или иному типу архитектуры потому что у каждого типа есть свои как достоинства так и недостатки . Лушче поставить вопрос по-другому, например, перечислить хотя бы основные достоинства 2- и 3-звенного типов архитектур 2 папа Карло: все зависит от архитектуры и процесса. :) То есть от процесса? Тип архитектуры зависит от архитектуры? Интересно. Обычно он выбирается в самом начале проектирования архитектуры , когда определились основные и существенные требования и варианты использования на 80%, если брать официальный RUP. Хотя бывают случаи, когда в процессе проектирования появляются трудности и новые понимания чего-то, что приводит к необходимости отказаться или ввести еще тир, но - это IMHO неопытность или незнания проектировщиков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 09:53 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
папа Карло Я не утверждаю что трезвенка лучше двузвенки. я не утверждаю что трезвенка панацея. Я могу привести пример где двузвенка будет рулить, а могу привести пример который ты на двузвенке не сделаешь. :) Ну а тогда о чем идет спор ? :) По subj темы выяснилось, что автору топика 3-звенка не обязательна, можно обойтись и более простым и сердитым решением. Вы же мне тут упорно что то доказываете, только я вот никак не въеду, что именно. ситуация реальная. я ухудшил систему которая уже работала Все правильно - Вам изменили условия постановки. С чего это Вы решили, что будете определять, какой функционал должен присутствовать в проектах Вашего работодателя. Наша задача по ТЗ сделать проект, причем если в ТЗ даже входят требования к модели его реализации, то они тоже должны быть соблюдены. Однако сама реализация это уже на совести программиста, тут ему директор указывать не должен, иначе грош ему цена. Говоря о здравомыслии я и имел ввиду, что я например не возьмусь за проект для работодателя, который в качестве условий выдвигает требования сделать его на определенном инструментарии, явно не подходящим для реализации проекта (не люблю заниматься садомазохизмом). Вот например мои работодатели хотят написать очень крупный проект, причем обязательно в связке Access 2000 + MS SQL 2000. Бог им в помощь, против MSSQL я ничего не имею, а вот использовать под проект с сотнями форм и отчетов Access в кач-ве клиента я бы не рискнул. Поэтому взялся за другой проект, где мне не выдвигались требования на чем лучше реализовывать, а просто вместе со мной рассмотрели варианты и остановились на приемлимых. человек не спрашивал о чем-то конкретном. он абстрактно спросил о трезвенке. народ начал требовать для чего надо, да зачем. почему просто человеку не дать самому выбрать что он хочет? расскажи ему про двузвенку я расскажу про распрделенные системы с десятками тысяч онлайн юзеров. и он сам быдет выбирать Как оказалось, этому человеку не нужны системы с десятками тысяч юзеров. Он всего лишь делает маленькую задачку складского учета. Поэтому то и не зря спросили, а зачем ему 3-звенка. И даже решения дали, как его проблемы можно решить на текущей 2-звенной реализации. Это я тоже называю здравомыслием :) Если бы у него была более абстрактная задача - не конкретный проект переделать, а просто выучить 3-звенку, чтобы потом сменить работу, где они используются, тогда другое дело. P.S. И кстати (пожалуй я действительно пальцы погну) - так может все таки поможете Ученику ссылками на литературу и книги по 3-звенной архитектуре. А то как то в этом топике Вы больше на меня внимание обращаете, чем на автора темы :) Все остальные присутствующие кто как мог постарались ему помочь ... :) Ну а я счастливо покидаю эту тему, а то опять все в флейм начало перерастать. Ответ папы Карло правда прочитаю, самому интересно по русскоязычным ссылочкам походить о 3-звенке, тем более что у меня друзья, которые активно с ней работают просили такие ссылочки им подбрасывать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 11:46 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
Раздувая затухающий флейм... На мой взгляд, Репликант привел очень точное замечание: Целесообразность использования 3-звенности определяется нефункциональными требованиями к вашей ИС. Откуда ASCRUS по-вашему может о них знать? Нет какого-то универсального правила, отдающего предпочтение тому или иному типу архитектуры потому что у каждого типа есть свои как достоинства так и недостатки. Лушче поставить вопрос по-другому, например, перечислить хотя бы основные достоинства 2- и 3-звенного типов архитектур Поскольку на форуме не утихают яростные схватки апологетов той и другой архитектур, может быть Репликант и осветит, какие, по его мнению, требования влияют на выбор архитектуры и какие достоинства/недостатки и той и др. архитектуры для внутрикорпоративных проектов . Ибо, он, - Репликант - кажется мне наименее ангажированным тем или иным лагерем :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 16:24 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
2 Репликант Зачем писать какую-то расширяющую dll к MSSQL когда для той же Win2000 можно написать отдельный COM+ сервис на VС, например, с помощью того же MATLAB-Maple, к-рый будет эти матрицы обсчитывать? Пусть даже это будет и не совсем 3-звенная архитектура в смысле ее строгого определения поскольку часть бизнес-тира будет функционировать в процессе дата-тира, т.е MSSQL. А что значит ".net из-под sql server не работает"? Он должен работать из под .Net framework, а не из под MSSQL Ядро mathlab-mapple работает, прямо скажем, небыстро. И плюс у него, скорее, в функциях символьной математики, нежели в скоростях расчета. Если задача полностью формализована, то ее быстрее своей программой посчитать, особенно если нужно данные из базы забрать не самым прямым образом. Компоненты, использующие .net framework, из-под SQL Server недоступны. Другими словами, расширенная процедура не может попользовать функционал и классы framework. Что-то там у них не срослось на системном уровне. Хотел как-то попользовать богатые классы шифрования framework - пришлось обойтись своими силами. Вообще, здесь, конечно, можно без трехзвенки обойтись, но трехзвенка дает возможность распределить нагрузку между сервером БД, сервером сервиса и клиентом, распределить риски падения серверов. Если клиент совсем тонкий, только браузер у него, то без этого вообще никак. Вот это было бы интересно пообсуждать! У меня многозвенная архитектура как-то (традиционно?) ассоциируется с функциональной декомпозицией, т.е когда звенья/тиры выполняют отдельные общие пользовательские функции (например, бухгалтерия, склад и т.д). Однако, у того же Лармана есть масса разнообразных архитектурных шаблонов, например, тот же Layers, когда функциональная декомпозиция понятие гораздо более общее нежели, чем просто декомпозиция пользовательских функций. Например, есть тир "бухгалтерия", есть тир "кадры", а они используют тир "данные" и тир "документооборот" или еще и тир "Web" У нас все растет от Web, поэтому распараллеливание нагрузки на среднем звене - самое милое дело. Если один сервис занят или недоступен, то всегда можно попробовать обратиться на соседний, главное чтобы данные у них у всех были одинаковые, и версии подходили. Кстати, о версиях, если нет возможности централизованно обновлять клиентское ПО, а функциональность его такова, что на БД не повесишь, то опять же среднее звено может выручить, т.к. его немного, а клиентов может быть ну очень много. Отсюда же вытекает и распределенная архитектура. Если хостинг проекта не свой, то DLL свою туда нельзя подвесить, БД перегружать функционалом тоже не следует. Места обычно тоже не очень много, свои гигабайты положить если и можно, то очень дорого. Единственный плюс - широкий канал обычно у хостинга. Ну и таким вот образом получается, что все серьезные вычисления надо куда-то скидывать, то есть строится webservice, к которому в .net framework можно достаточно удобно и прозрачно обращаться. Сам webservice тоже может обращаться куда ему надо будет. То есть, мы не зависим от того, где и в какой форме находится клиентская часть, лишь бы один из сервисов был доступен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 16:52 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
Репликант То есть от процесса? Тип архитектуры зависит от архитектуры? Интересно. Обычно он выбирается в самом начале проектирования архитектуры, когда определились основные и существенные требования и варианты использования на 80%, если брать официальный RUP. Хотя бывают случаи, когда в процессе проектирования появляются трудности и новые понимания чего-то, что приводит к необходимости отказаться или ввести еще тир, но - это IMHO неопытность или незнания проектировщиков немного не то имелось ввиду. я имел ввиду что при разработке системы определяют ее архитектуру, а так-же процессы (операционные) которые будут при ее использовании (ты же не делаешь систему которую будет не известно как использовать). следовательно может получиться так, что стоимость поддержки одного сервака будет 100 рублей, а добавление еще одного (операционные затраты) будет 100 руб. 10 коппеек. чем можно принебреч если так позвояют требования. так что мы немного про разные вещи говорим. ASCRUS Ну а тогда о чем идет спор ? :) По subj темы выяснилось, что автору топика 3-звенка не обязательна, можно обойтись и более простым и сердитым решением. Вы же мне тут упорно что то доказываете, только я вот никак не въеду, что именно. прочитай внимательно вопрос Ученика. Он хотел изучить, а не чтобы ему архитектуру выбрали. сейчас когда вы ему сказали что ему надо два звена, он возможно так и не поймет почему, ибо трезвенку в этом треде "задавили". :) заметь, я не говорю что лучше. я говорю что когда человек не видит альтернатив он может принять не совсем правильное решение. сейчас у него кадры, он делает два звена, потом появляется еще что-то, еще что-то..... мы не знаем всей картины, поэтому я привык не додумывать за человека, а просто отвечать на конкретный вопрос. :) Репликант ответил сразу ближе всего к теме..... потом начался флейм :) Все правильно - Вам изменили условия постановки. С чего это Вы решили, что будете определять, какой функционал должен присутствовать в проектах Вашего работодателя. Наша задача по ТЗ сделать проект, причем если в ТЗ даже входят требования к модели его реализации, то они тоже должны быть соблюдены. Однако сама реализация это уже на совести программиста, тут ему директор указывать не должен, иначе грош ему цена. Говоря о здравомыслии я и имел ввиду, что я например не возьмусь за проект для работодателя, который в качестве условий выдвигает требования сделать его на определенном инструментарии, явно не подходящим для реализации проекта (не люблю заниматься садомазохизмом). Вот например мои работодатели хотят написать очень крупный проект, причем обязательно в связке Access 2000 + MS SQL 2000. Бог им в помощь, против MSSQL я ничего не имею, а вот использовать под проект с сотнями форм и отчетов Access в кач-ве клиента я бы не рискнул. Поэтому взялся за другой проект, где мне не выдвигались требования на чем лучше реализовывать, а просто вместе со мной рассмотрели варианты и остановились на приемлимых. А с чего вы решили что инструменты не могут быть оговорены в требованиях тоже? например мне выставлено было требование построить террабайтную базу с откликом не более 10 секунд на _все_ запросы и 1-2 секунды на 80% запросов на скл сервере. я к тому моменту знал как это сделать в оракле и страшно его защищал потом мне сказали. скл сервер -- требование, оракла не будет. подумал головой, сделал. сейчас 80% запросов возвращают результат менее чем за 1 секунду при этом размер данных растет. другими словами, сказали бы сделать на аксессе, сделал бы на акссесе. у меня нет двойных сткандартов к требованиям. требования есть требования. ссылок про трезвенки у меня нет. все только через опыт..... Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 20:32 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
А действительно, некрасиво получилось. Мы тут кинулись сравнивать, а вопрос был не о том. Я листал в книжном магазине книжку, называлась просто - "Delphi". Там был пример написания простейшего сервера приложений. Очень подробно. Загляните в книжные магазины, если они у Вас есть. Это не издевательство. Просто я знаю, что во многих населенных пунктах таких магазинов нет. Ученик. Извините, чем могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 20:46 |
|
||
|
С чего начать изучение трехзвенки ?
|
|||
|---|---|---|---|
|
#18+
2 aag: Ибо, он, - Репликант - кажется мне наименее ангажированным тем или иным лагерем :) Как это так, что я наименее ангажированый лагерем?! Такого просто не бывает, чтобы человек, а тем более разработчки не был кем-то (или чем-то) ангажирован. Я, например, приблизительно ангажирован Microsoft на 50%, Rational на 30%, Borland на 15% и еще Sybase - 5%. Это если считать по суммарной стоимости всех средств разработки, использующихся у нас. Вот скажи мне, что Sybase PowerBuilder или IBM VisualAge удобнее, чем тот же VS я соглашусь, конечно, но ангажемент есть ангажемент и его придется соблюдать (т.е ведь в него были уже деньги вложены). Собственно это не имеет прямого отношения к выбору типа арх-ры, но на выбор той же реализации такая ангажированность имеет влияние в реальной жизни :о) Поскольку на форуме не утихают яростные схватки апологетов той и другой архитектур, может быть Репликант и осветит, какие, по его мнению, требования влияют на выбор архитектуры и какие достоинства/недостатки и той и др. архитектуры для внутрикорпоративных проектов. ((А что значит для "внутрикорпоративных проектов"? Может имелись в виду просто корпоративные проекты , т.е для автоматизации какого-то бизнеса , т.е производственного процесса(ов) заказчика? Ладно, попробуем исходить из этого более понятного всем определения.)) Проблема выбора или процесс (прикладной) определения необходимого типа архитектура на самом деле не такая простая как кажетс, если к ней подходить с позиций ИТ-науки, к-рую я вкратце изложу ниже ч.II. I. Обычно (будем уж объективны!) тип архитектуры выбирается интуитивно , т.е на основе нескольких простых правил ("шаблонов") . Например, если абстрактно: 1 клиент и БД (локальная) - 1-звенный тип много клиентов и БД - 2-звенный тип много клиентов и БД и отдельная бизнес-логика (БЛ) - 3-звенный тип очень много клиентов и БД и/или отдельная БЛ - 3,4...N-звенный тип ...ну и так далее с вариантами типа Web, типа повышенная надежность БД/БЛ/Web и т.д. Этот пождход неплох, когда дело касается традиционных архитектурных решений, к-рые уже проверенны временем, опытом и разработчик просто знает, что вот эта архитектура (тип архитектуры и т.д) сдюжит кол-во пользователей X, обеспечит функциональность сервиса Y и его расширяемость Z и т.д. Другой вопрос, когда имеешь дело с какими-то НОВЫМИ (например, для себя), сложными , дорогими (т.е предполагающим покупку дорого софта или оборудования) или надежными решениями. Тут конечно неплохо бы убедиться заранее, что выбранная архитектура соответствует требованиям, т.е если не искать эту архитектуру с помощью методологии, то хотя бы обосновать ее выбор II. Теперь о выборе типа архитектуры с позиций ИТ-науки (программной инженерии) и тех же современных методологий ООAD, SPE и т.д. Прежде всего цель: найти такой вариант архитектуры, чтобы он наилучшим образом удовлетворял нашим условиям или требованиям. Что значит наилучшим образом ? Для простоты допустим, что это значит а) удовлетворять обязательным требованиям и б) удовлетворять наибольшему числу обязательным (желательным) . Все это, конечно, рассуждения "на пальцах", но для грубого объяснения допустимые. Иначе придется привлекать, например, анализ на основе весов (WPA) . Архитектуру, к-рая удовлетворяет заданным условиям наилучшим образом можно назвать оптимальной архитектурой . Напомню, что "архитектура" как понятие является достаточно общим и неопределяемым четко как, например, "счастье" или "народ", но вот классическое определение: Архитектура программной системы - описывает: 1. структуру: организацию элементов системы и подсистемы; 2. состав: элементы системы и ее подсистемы ; 3. взаимодействие: интерфейсы и поведение элементов системы и ее подсистем; 4. технологию: ...... или в оригиналах: "architecture IS design, structure, infrastructure, technology....and more" и "the work of a single architect." (с) Брукс, Кратчен, Якобсон-Буч-Рамбо. Понятно, что программная инженерия не дает какой-то универсальной "формулы" или алгоритма "вычисления" типа архитектуры. Только общие (и, конечно, обоснованные) рекомендации относительно тех же модульностей, связанностей, параллельности и т.д Далее.. Методологии проектирования наподобии OOAD (Object-oriented Analysis & Design) - позволяют, исходя из вариантов использования (ВИ) или функциональных требований получить архитектуру, в виде модель реализации системы, т.е классы, интерфейсы и взаимодействие между ними - пп.2-3 в Архитектуре; Архитектурные шаблоны также позволяют оптимально выделить подсистемы даже если система достаточно сложная, но тривиальная для шаблона - пп.1-3; SPE (Software Performance Engineering) - позволяет еще на стадии проектирования опрделить будет ли система удовлетворять необходимым требованиям (производительность, расширяемость/масштабируемость) с помощью моделей выполнения и моделей работы системы; WPA (Weighed Points Analysis) - позволяет оценить и выбрать под пп.1-3 технологию - п.4; ... Тип архитектуры можно, конечно, "угадывать" вначале проекта, чтобы быстренько вписать его в то же ТЗ, но это просто а) не нужно и б) рискованно. Лучше его честно получать в процессе проектирования архитектуры, а заодно и обосновывать. В РФ традиционно и в основномй массе коммерческие разработчики не очень грамотные по части проектирования поэтому они также, например, когда составляют ТЗ по ГОСТ 34.602 "забывают", что согласно ГОСТу 34-й серии тому же ТЗ должны предшестовать предварительные исследовательские работы с важным результатом - ТЭО, в к-ром как раз и обосновывывается определенный выбор той или иной архитектуры. Вот как бы почти "все", если вкратце 2 xGuest: Ядро mathlab-mapple работает, прямо скажем, небыстро. И плюс у него, скорее, в функциях символьной математики, нежели в скоростях расчета. Если задача полностью формализована, то ее быстрее своей программой посчитать, особенно если нужно данные из базы забрать не самым прямым образом. Все верно! Это я так привел самый относительно легкий по исполнению вариант, к-рый просто лучше, чем математика, считабщаяся в MSSQL. Конечно, самый быстрый вариант - это писать все самому, используя те же GNU С/С++ библиотеки для работы с матрицами Компоненты, использующие .net framework, из-под SQL Server недоступны. Другими словами, расширенная процедура не может попользовать функционал и классы framework. Что-то там у них не срослось на системном уровне. Хотел как-то попользовать богатые классы шифрования framework - пришлось обойтись своими силами. А зачем это нужно - вызов .net из расширенной процедуры под MSSQL? Вызов из .net расширенной в MSSQL это понятно. Просто судя по обычным проектам СУБД функционально используется как пассивное (т.е здесь не имеется в виду, например, репликация или другие служебные процессы для поддержания целостности бизнес-данных) хранилище данных, т.е клиент в самом общем смысле делает запрос и СУБД изменяет/возвращает данные по запросу. А здесь дата-тир обращается к бизнес-тиру, т.е там что-то обсчитывается и складируется обратно в БД? Кстати, о версиях, если нет возможности централизованно обновлять клиентское ПО, а функциональность его такова, что на БД не повесишь, то опять же среднее звено может выручить, т.к. его немного, а клиентов может быть ну очень много. Все это понятно, но апологеты (в хорошем смысле!) 2-звенных архитектур скажут, что можно обойтись и без этого, т.к бизнес-логику в БД надо менять в нерабочее время тем более это происходит не так часто. Возможны и варианты, когда можно менять без остановки БД (offline), если преспичет 2 папа Карло: немного не то имелось ввиду. я имел ввиду что при разработке системы определяют ее архитектуру, а так-же процессы (операционные) которые будут при ее использовании (ты же не делаешь систему которую будет не известно как использовать). следовательно может получиться так, что стоимость поддержки одного сервака будет 100 рублей, а добавление еще одного (операционные затраты) будет 100 руб. 10 коппеек. чем можно принебреч если так позвояют требования. так что мы немного про разные вещи говорим. Да нет же, мы говорим про одни и те же вещи! Тип архитектуры, т.е N-звенность, конечно(!!) определяется также и из затрат на сопрвождение (TCO). Например, введение того же Web-тира подтребует "Web-администратора". Даже если он и будет одновременно в одном лице ДБА и сисадмином, то все равно забот у него прибавится порядочно особенно, если Web-тир еще и публичный, т.е Инете. Другое дело, что сам по своему опыту знаю, что заказчики обычно "забивают" на рекомендацию 2 админов и ТСО, считая, что вот у них ДБА и так уже есть, так пусть он еще за одно и Web администерит. Потом через 2 мес. выясняется, что пришлось нанять еще 2-го админа. И начинаются якобы "невинные" возмущения, что мол "вот, почему вы нам не сказали, что затраты на сопровождение вашей системы требуют еще +6000$ в год?!". 2 папа Карло & ASCRUS: А с чего вы решили что инструменты не могут быть оговорены в требованиях тоже? например мне выставлено было требование построить террабайтную базу с откликом не более 10 секунд на _все_ запросы и 1-2 секунды на 80% запросов на скл сервере. я к тому моменту знал как это сделать в оракле и страшно его защищал потом мне сказали. скл сервер -- требование, оракла не будет. Позволю себе немного поправить: MSSQL/Oracle - это не инструменты , это скорее часть "платформы" или подсистема (СУБД). Такие подсистемы как MSSQL обычно кажется называют коробочными (boxed или commercial-off-the-shelf (COTS)) или готовыми к пользованию (ready-to-use) . ((Не понятно зачем все эти названия одинаковые по смыслу объяснил бы кто.)) Средствами производства (разработки) инструментами являются те же Word (для создания проектной документации), Rose или PowerDesigner (для проектирования приложения и БД), VS или Delphi (для написания и отладки кода) и т.д. Хотя СУБД тоже можно назвать "инструментом достижения цели". Что же касается инструментов, то они тоже могут быть оговорены и в ТЗ. Хотя, например, в том же ГОСТ 34.602 нет такого раздела явно, но по своему опыту могу сказать, что в 50% случаев заказчик хочет или прямо настаивает на опрделенных инструментах особенно если он получает исходные тексты и планирует сам поддерживать систему. Были и случаи, что только VB и все тут ----- З.Ы. Господа, не спорьте! Как люди опытные присоединяйтесь к обсуждению того, что влияет на выбор архитектуры. Все ж для общей пользы :о) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2003, 09:13 |
|
||
|
|

start [/forum/topic.php?fid=32&gotonew=1&tid=1546885]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
9ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 380ms |

| 0 / 0 |
