← Архимейт по-русски: возвращаясь к application component
Обсуждение
Читать и комментировать в ЖЖ ↗
Кстати (это не ответ, видимо), есть еще такой термин: единица развертывания.
Т.е. я не знаю даже, если ли, но встретил давно словосочетание unit of deployment в спецификации к SCA Assembly Model, кажется, и с тех пор использую в своих архитектурных описаниях, т.к. этот термин вполне конкретный.
Хотя это именно про развертывание.
"Приложение" - это про "использование", лучше так подразумевать - тогда это будет вполне обозримое понятие (хотя и абстрактное).
Комментарий
"Компонента" же - это про смысл, заложенный внутри (UPDATE: а применяется в контексте охватывающей системы).
Комментарий
Если очень нужно сохранить смысловые оттенки - лучше использовать для этого понятия отдельное слово, проще всего - передрать слово из оригинала.
Комментарий
Приложение - это как ноутбук. А компонент приложения (динамическая библиотека, ресурс, конфиг) - это как запчасть от ноутбука (проц, память, диск, итд..).
То есть, приложение - это самодостаточная единица, готовая к работе как отдельно, так и в составе како-либо системы.
Комментарий
Там есть еще "software component" в тексте. Я бы все же высказался в пользу "прикладной компоненты":
- Основным структурным понятием прикладного уровня (слоя?) является прикладная компонента. Данное понятие относится к любой структурной единице: не только к (переиспользуемым) программным компонентам, входящим в какую-либо прикладную программу или программы, но и к прикладным программам целиком, прикладным подпрограммам или вычислительным системам. ...
Комментарий
Вот меня ровно вот такой сленг и смущает. "Прикладной" -- это у айтишников что-то вроде смеси деятельности и софта. А в Архимейте это -- деятельность (business) и обработка данных (application), не перепутаешь.
У меня крайне малый опыт использования Архимейта, но главная путаница в нём как раз предусмотренная авторами: игнорирование разницы между деятельностью людей и работой программ. Я вот и думаю, как от этой путаницы сразу в словах отстроиться.
Комментарий
Для deployment у Архимейта отдельное расширение есть.
Мне всё-таки важно разделение между деятельностью людей и программ, поэтому "использование" тут не идёт вообще. Плюс есть еще used by отношение, путаница вдвойне.
Комментарий
То есть слово "приложение" тут не подходит совсем. Ибо иногда "ноутбук", а иногда и "проц". Программа в этом смысле более резиновая: "программная компонента CRM" и "программная компонента адаптера CRM к базе данных" нормально читаются. Сокращается до "компонента" -- "компонента CRM", "компонента адаптера CRM к базе данных".
Уровень же лучше оставить "обработки данных" (ибо акцент на данных и их обработке, а не на программах, как в деятельности акцент не на деятелях, а на процессах и объектах деятельности).
Комментарий
"Передрать из оригинала" -- это "аппликейшн компонент"? :-)
Очень нужно сохранить разговор по русски, это гарантирует передачу бОльшего числа смысловых оттенков, нежели пара непонятных слов.
Комментарий
угу
Комментарий
Коммент к комменту:
-- у меня крайне малый опыт использования -- это прежде всего консалтерский опыт, то есть я регулярно консультирую разных людей, пытающихся писать на Архимейте по-русски.
-- и вдогонку: там после software component расшифровывается, что это не только отдельная программка, но и программы размером с полноценное приложение или даже программы размером с полноценную информацию систему. Но программы.
На ontology summit сейчас идет дискуссия про system component как функциональный объект (а система -- как конструктивный надобъект для этого функционального объекта). Так что software тут всё-таки ключевое слово, "что-то исполняемое", то есть аналог actor в деятельности (что в Архимейте intended).
"Прикладной" тут -- "обработка данных, связанная с деятельностью" (ибо системный софт там уносят в "оборудование" и считают частью железа). И очень не самоописываемо поэтому, что за онтологический зверь в этой "прикладности" и "компонентности. Сравни:
The main structural concept for the application layer is the application component.
Основное структурное понятие уровня обработки данных -- это прикладная компонента.
Основное структурное понятие уровня обработки данных -- это программная компонента.
С программными компонентами понятно, какие операции могут быть. А вот "прикладные компоненты" могут в себе и данные содержать, что неправильно в смысле Архимейта (ага, про дуализм программ и данных я знаю, и Архимейт тоже знает, там это отдельно обсуждается).
Комментарий
А вы в википедию загляните. Программа - это очень общее понятие, туда входят и исходники, и код, и все, что угодно. А приложение - это конкретно то, с чем пользователь работает.
И пожалуйста, не надо все усложнять. CRM может быть как отдельным автономным приложением, так и компонентом в составе системы ERP (автономным или неавтономным). А уж неавтономный компонент как не назови (я называю модулем), он все равно остается компонентом, и сам по себе работать не может. Как процессор или модуль памяти. Вся разница только в автономности.
К обработке данных данное деление никакого отношения не имеет. Данные обрабатывать могут и модули, и приложения. Это уже проблемы связей и взаимодействия между компонентами.
Комментарий
Википедию пишут такие же люди, как я. Я согласен, что программа -- это очень общее понятие. Меня это как раз устраивает. Слово "компонента" сохраняем -- "программная компонента".
Обработка данных -- это уровень Архимейта, на котором как раз и определяются связи и взаимодействия между компонентами. Программными компонентами, а не организационными подразделениями или частями оборудования.
Комментарий
плагин в виде dll - это программная компонента
word.exe из состава MS Office - это тоже программная компонента
И все-таки они разные.
Комментарий
Конечно, разные. Архитектор выбирает, до какого уровня ему важно прописывать архитектуру обработки данных. Тут еще нужно заметить, что уровень файлов находится на уровне оборудования, а на уровне обработки данных находятся логические программные компоненты ("обработчик мути" и "редактор текстов") с каким-то понятным функционалом и интерфейсами.
Комментарий
Так вот, word.exe - это application component системы MS Office. Это о нем говорится в тексте статьи.
А plugin.dll - это software component. word.exe это тоже software component.
Вы уж почитайте википедию, желательно английскую, там более качественно изложено. И капчу мне отключите. =)
Комментарий
Могу подсказать перевод термина как "приложение-компонент". Или "компонент-приложение". То есть намек на то, что это приложение, являющееся компонентом.
Но никак не "компонент приложения", это совсем другое.
Комментарий
Капчу включаю-выключаю не я (с этим работает какая-то хитрая механика ЖЖ, я даже в подробности не хочу вдаваться), а википедия не лучший источник знаний при работе с Архимейтом. У меня круг чтения ограничивается не только Википедией, а в данном конкретном случае так и подавно. Так что этот разворот темы можно считать оффтопом.
Вы читали полный текст стандарта 2.0? Хелпы Archi? Пробовали помоделировать сами в англоязычной версии? Без этого ведь разговор бессмысленен. Файлы (данных и программ) и их размещение моделируются на другом уровне, а именно уровне оборудования (technology layer Архимейта), так что ваши примеры нерелевантны. Статья в википедии и ваши комменты не архимейтны, это обычная сборная солянка программистского языка, каковую солянку и пытаются разгрести в Архимейте.
Это второй коммент, где я повторяю примерно то же самое. В третьем комменте я что-нибудь добавлю про типы отношений Архимейта, которые существуют именно для программного компонента (Архимейта, а не Википедии) -- но это только, если вы и на второй коммент не отреагируете.
Комментарий
В моделях сетевого взаимодействия "applied layer" не вызывает же такой путаницы.
Хотя, разумеется, чем выше слой, тем вероятнее столкнуться с чем-то целенаправленным и продуманным, а не автоматическим и рутинизированным.
Комментарий
Вот у тебя все примеры именно программистские. А тут как раз еще и описание деятельности присутствует.