04.12.2006, 17:10 | #1 |
Участник
|
kolesov: SOA: дополнительные вопросы
Источник: http://itblogs.ru/blogs/kolesov/arch.../04/10051.aspx
============== Очень здорово, что к теме SOAподключились профессионалы и дискуссия пошла в более практическом направлении. Но все же, по-моему, за обсуждением технических деталей мы упускаем из виду важные проблемы как раз "концептуального" характера. Мне хотелось бы обратить внимание именно на них. Начну с того, что некоторые подвижки в обсуждении SOAнаметились и в ИТ-прессе. В частности, в PCWeek/RE 44/2006 опубликовано несколько статей, где затрагиваются эти вопросы. Правда, большинство из них представлены в "спецвкладке" от Sun, но все же там тоже есть любопытная информация для размышления. Вот эти статьи: 1. SOA: от концепции к практической реализации (интервью с дамой из IBM) http://pcweek.ru/?ID=620647 2. SOA и Sun: от концепции к практической реализации http://pcweek.ru/?ID=620686 3. Реализация SOA с помощью Sun Java CAPS http://pcweek.ru/?ID=620695 4. SOA — это результат эволюции программирования http://pcweek.ru/?ID=620693 Три из них – интервью (1,3,4). Из них можно сделать первый вывод: представление о SOA различных компаний (ведущий SOA-продвигателей!), в общем-то, различно. Ну, это в значительной мере – нормально. Каждая компания имеет свои технологические и рыночные позиции и именно на них делает акцент, наступая на заказчиков под знаменем SOA. Любопытнее другое: два последних интервью дали сотрудники одной компании (Sun), но представления о SOA, в целом заметно расходятся. Тут приходит на память известный афоризм: если от болезни предлагают 100 разных лекарств, то, значит, она неизлечима. От концепции к практике Обратите внимание на почти дословное совпадение названий первых двух статей. Это произошло совершенно случайно: вкладка готовилась отдельно от газеты и их "слили" в последний момент, выпускающий редактор не смог внести решающих изменений (но в бумажном варианте первую статью все же немного переименовали: "SOA: путь от концепции к реализации" J) Но при этом, конечно же, совпадение название НЕСЛУЧАЙНО, так как оно очень точно отражается главный вопрос – как же перейти от теории к практике. Что делать? С чего начать? И самое главное тут как раз заключается в том , что хотя в обеих статьях обещан разговор "от концепции к практике", как раз этот самый "путь" прописан очень неявно, декларативно. В статье "SOA и Sun: от концепции к практической реализации" приведена хорошая понятная картинка -- схема архитектуры SOA (от IDC). Выглядит очень привлекательно. Но возникает вопрос: А что в ней, собственно говоря, революционного? Кроме менял и мешает реализовать все это дело на практике? Все это напоминает другой афоризм – "Лучше быть здоровым и богатым, чем…" А кто же спорит с этим? Почему же в жизни получается чаще всего иначе: "все, что мне нравится в жизни, либо безнравственно, либо полнит"? Компонентная модель, повторное использование… Это все базовые идеи вычислительной техники уже 60 лет, с момента ее появления. Но только реализовать их совсем непросто. Вот посмотрим на такую простой прототип SOA, реализованный на клиентском ПК – Windows. Компоненты, репозитарий, протоколы… Все это от одного поставщика (или под его жестким наблюдением). Откуда же тогда возникновение проблемы "кошмара DLL"? И сегодня, забыв о компонентно-повторности", как величайшее достижение говориться о необходимости создания полных сборок для каждого приложения в отдельности (.NET). (Ответы типа "что вы хотите от МелкоМягких" – не принимаются! MS– это только один из примеров, можно привести и другие.) Посмотрите на проблему "виртуализации". Там есть, конечно, много разных течений и истоков, но одно из них заключается в том, что каждом приложению очень желательно работать в отдельной ОС. Оказывается ОС плоховато справляются с надежной поддержкой многозадачного режима, особенно в условиях постоянного обновления приложений. А ведь это речь идет о SOA-прототипах, реализованных на отдельном компьютере одним разработчиком. А что будет, если мы реализует такую модель на уровне распределенной гетерогенной системы? И в случае DLLHellречь будет идти не о "падении" отдельного ПК и простое отдельного пользователя, а о нарушении деятельности предприятия в целом? Да, есть стандарты (те же WS), но в какой степени и удастся сохранить их целостность и заставить всех пользоваться ими? (любопытные соображения на этот счет приведены в статье "Реализация SOA с помощью SunJavaCAPS" http://pcweek.ru/?ID=620695). Хорошо, вопросы стандартов решим, всех заставим (Госдума издаст закон J) Но вот только несколько вопросов: 1. Как решим вопросы защиты и безопасности? 2. Что будет с производительностью системы в целом (она гарантированно упадет – но на сколько?) ? И, наконец, главный вопрос: а где те самые бизнес-приложения, реализованные в виде функциональных SOA-компонентов? Как было написано в одном из блогов еще месяц назад: "все делают SOA-инструменты, никто не хочет заделать SOA-приложения". Беглый анализ интеграционных проектов, реализуемых в российских предприятиях-заказчиков, позволяет мне выделить один часто встречающийся функциональные компоненты – прикладные решения на платформе "1С:Предприятие". В какой степени это ПО годится для использования в реализации SOA-системы предприятия в целом. Что-то у разработчиков и фирмы "1С" в целом не проглядывается желание представить свои решения в виде компонентных сервисов? (Scala, еще несколько лет назад объявила о создания WS-платформы. Вроде бы сделала, а где сама Scala? "Галактика" тоже пару лет назад представила интеграционную платформу RaNet, только о ее примени, что-то не слышно). Оставим пока соображения бизнес-эгоизма (монополист по определению не заинтересован в интеграции к кем-то еще). Но почему бы не реализовать идею SOAхотя бы внутри своей собственной платформы? Того же "1С:Предприятия"? Почему-то не реализуют, хотя это сулит выгоды и разработчикам и партнерам? Знай себе, только настраивай бизнес-процессы и подключай готовые компоненты. Однозначного ответа на этот вопрос, конечно, нет, но одна из причин всему этому – реализовать концепцию на практике совсем, оказывается, непросто. Реестр сервисов – это здорово, но вот только почему-то даже наладить учет установленного ПО в компаниях организоваться не всегда получается. В истории техники известны такие случаи. Точно не помню, но, кажется, немцы перед 2-й мировой войной сделали классный истребитель: отличные полетные характеристики, вооружение. На учениях все было отлично, а в реальном бою оказалось, что самолет никуда не годится – его сбивала, чуть ли не любая попадавшая в него пуля (бензобаки были распределены по всему корпусу и совершенно незащищены). Так вот о SOA. Конечно, нужно продолжать обсуждения концепции, но хорошо бы перейти к изучению ее реализации на конкретных примерах. Источник: http://itblogs.ru/blogs/kolesov/arch.../04/10051.aspx |
|