Обсуждение

В архиве: 49 комментариев.

Читать и комментировать в ЖЖ ↗

Имя не сохранено · 6 марта 2012

Комментарий

Кстати (это не ответ, видимо), есть еще такой термин: единица развертывания. Т.е. я не знаю даже, если ли, но встретил давно словосочетание unit of deployment в спецификации к SCA Assembly Model, кажется, и с тех пор использую в своих архитектурных описаниях, т.к. этот термин вполне конкретный. Хотя это именно про развертывание. "Приложение" - это про "использование", лучше так подразумевать - тогда это будет вполне обозримое понятие (хотя и абстрактное).

Имя не сохранено · 6 марта 2012

Комментарий

"Компонента" же - это про смысл, заложенный внутри (UPDATE: а применяется в контексте охватывающей системы).

Имя не сохранено · 6 марта 2012

Комментарий

Если очень нужно сохранить смысловые оттенки - лучше использовать для этого понятия отдельное слово, проще всего - передрать слово из оригинала.

Имя не сохранено · 6 марта 2012

Комментарий

Приложение - это как ноутбук. А компонент приложения (динамическая библиотека, ресурс, конфиг) - это как запчасть от ноутбука (проц, память, диск, итд..). То есть, приложение - это самодостаточная единица, готовая к работе как отдельно, так и в составе како-либо системы.

Имя не сохранено · 6 марта 2012

Комментарий

Там есть еще "software component" в тексте. Я бы все же высказался в пользу "прикладной компоненты":
    Основным структурным понятием прикладного уровня (слоя?) является прикладная компонента. Данное понятие относится к любой структурной единице: не только к (переиспользуемым) программным компонентам, входящим в какую-либо прикладную программу или программы, но и к прикладным программам целиком, прикладным подпрограммам или вычислительным системам. ...

Анатолий Левенчук · 6 марта 2012

Комментарий

Вот меня ровно вот такой сленг и смущает. "Прикладной" -- это у айтишников что-то вроде смеси деятельности и софта. А в Архимейте это -- деятельность (business) и обработка данных (application), не перепутаешь. У меня крайне малый опыт использования Архимейта, но главная путаница в нём как раз предусмотренная авторами: игнорирование разницы между деятельностью людей и работой программ. Я вот и думаю, как от этой путаницы сразу в словах отстроиться.

Ответ на комментарий

Анатолий Левенчук · 6 марта 2012

Комментарий

Для deployment у Архимейта отдельное расширение есть. Мне всё-таки важно разделение между деятельностью людей и программ, поэтому "использование" тут не идёт вообще. Плюс есть еще used by отношение, путаница вдвойне.

Ответ на комментарий

Анатолий Левенчук · 6 марта 2012

Комментарий

То есть слово "приложение" тут не подходит совсем. Ибо иногда "ноутбук", а иногда и "проц". Программа в этом смысле более резиновая: "программная компонента CRM" и "программная компонента адаптера CRM к базе данных" нормально читаются. Сокращается до "компонента" -- "компонента CRM", "компонента адаптера CRM к базе данных". Уровень же лучше оставить "обработки данных" (ибо акцент на данных и их обработке, а не на программах, как в деятельности акцент не на деятелях, а на процессах и объектах деятельности).

Ответ на комментарий

Анатолий Левенчук · 6 марта 2012

Комментарий

"Передрать из оригинала" -- это "аппликейшн компонент"? :-) Очень нужно сохранить разговор по русски, это гарантирует передачу бОльшего числа смысловых оттенков, нежели пара непонятных слов.

Ответ на комментарий

Анатолий Левенчук · 6 марта 2012

Комментарий

Коммент к комменту: -- у меня крайне малый опыт использования -- это прежде всего консалтерский опыт, то есть я регулярно консультирую разных людей, пытающихся писать на Архимейте по-русски. -- и вдогонку: там после software component расшифровывается, что это не только отдельная программка, но и программы размером с полноценное приложение или даже программы размером с полноценную информацию систему. Но программы. На ontology summit сейчас идет дискуссия про system component как функциональный объект (а система -- как конструктивный надобъект для этого функционального объекта). Так что software тут всё-таки ключевое слово, "что-то исполняемое", то есть аналог actor в деятельности (что в Архимейте intended). "Прикладной" тут -- "обработка данных, связанная с деятельностью" (ибо системный софт там уносят в "оборудование" и считают частью железа). И очень не самоописываемо поэтому, что за онтологический зверь в этой "прикладности" и "компонентности. Сравни: The main structural concept for the application layer is the application component. Основное структурное понятие уровня обработки данных -- это прикладная компонента. Основное структурное понятие уровня обработки данных -- это программная компонента. С программными компонентами понятно, какие операции могут быть. А вот "прикладные компоненты" могут в себе и данные содержать, что неправильно в смысле Архимейта (ага, про дуализм программ и данных я знаю, и Архимейт тоже знает, там это отдельно обсуждается).

Ответ на комментарий

Имя не сохранено · 6 марта 2012

Комментарий

А вы в википедию загляните. Программа - это очень общее понятие, туда входят и исходники, и код, и все, что угодно. А приложение - это конкретно то, с чем пользователь работает. И пожалуйста, не надо все усложнять. CRM может быть как отдельным автономным приложением, так и компонентом в составе системы ERP (автономным или неавтономным). А уж неавтономный компонент как не назови (я называю модулем), он все равно остается компонентом, и сам по себе работать не может. Как процессор или модуль памяти. Вся разница только в автономности. К обработке данных данное деление никакого отношения не имеет. Данные обрабатывать могут и модули, и приложения. Это уже проблемы связей и взаимодействия между компонентами.

Ответ на комментарий

Анатолий Левенчук · 6 марта 2012

Комментарий

Википедию пишут такие же люди, как я. Я согласен, что программа -- это очень общее понятие. Меня это как раз устраивает. Слово "компонента" сохраняем -- "программная компонента". Обработка данных -- это уровень Архимейта, на котором как раз и определяются связи и взаимодействия между компонентами. Программными компонентами, а не организационными подразделениями или частями оборудования.

Ответ на комментарий

Имя не сохранено · 6 марта 2012

Комментарий

плагин в виде dll - это программная компонента word.exe из состава MS Office - это тоже программная компонента И все-таки они разные.

Ответ на комментарий

Анатолий Левенчук · 6 марта 2012

Комментарий

Конечно, разные. Архитектор выбирает, до какого уровня ему важно прописывать архитектуру обработки данных. Тут еще нужно заметить, что уровень файлов находится на уровне оборудования, а на уровне обработки данных находятся логические программные компоненты ("обработчик мути" и "редактор текстов") с каким-то понятным функционалом и интерфейсами.

Ответ на комментарий

Имя не сохранено · 6 марта 2012

Комментарий

Так вот, word.exe - это application component системы MS Office. Это о нем говорится в тексте статьи. А plugin.dll - это software component. word.exe это тоже software component. Вы уж почитайте википедию, желательно английскую, там более качественно изложено. И капчу мне отключите. =)

Ответ на комментарий

Имя не сохранено · 6 марта 2012

Комментарий

Могу подсказать перевод термина как "приложение-компонент". Или "компонент-приложение". То есть намек на то, что это приложение, являющееся компонентом. Но никак не "компонент приложения", это совсем другое.

Анатолий Левенчук · 6 марта 2012

Комментарий

Капчу включаю-выключаю не я (с этим работает какая-то хитрая механика ЖЖ, я даже в подробности не хочу вдаваться), а википедия не лучший источник знаний при работе с Архимейтом. У меня круг чтения ограничивается не только Википедией, а в данном конкретном случае так и подавно. Так что этот разворот темы можно считать оффтопом. Вы читали полный текст стандарта 2.0? Хелпы Archi? Пробовали помоделировать сами в англоязычной версии? Без этого ведь разговор бессмысленен. Файлы (данных и программ) и их размещение моделируются на другом уровне, а именно уровне оборудования (technology layer Архимейта), так что ваши примеры нерелевантны. Статья в википедии и ваши комменты не архимейтны, это обычная сборная солянка программистского языка, каковую солянку и пытаются разгрести в Архимейте. Это второй коммент, где я повторяю примерно то же самое. В третьем комменте я что-нибудь добавлю про типы отношений Архимейта, которые существуют именно для программного компонента (Архимейта, а не Википедии) -- но это только, если вы и на второй коммент не отреагируете.

Ответ на комментарий

Имя не сохранено · 6 марта 2012

Комментарий

В моделях сетевого взаимодействия "applied layer" не вызывает же такой путаницы. Хотя, разумеется, чем выше слой, тем вероятнее столкнуться с чем-то целенаправленным и продуманным, а не автоматическим и рутинизированным.

Ответ на комментарий

Анатолий Левенчук · 6 марта 2012

Комментарий

Вот у тебя все примеры именно программистские. А тут как раз еще и описание деятельности присутствует.

Ответ на комментарий