metaclass: (Default)
[personal profile] metaclass
А вот скажите, чем может быть полезна SOA и кто это дело использовал на практике?
А вот тут учинился спор между мной(адептом баз данных, реляционных моделей и db-centric приложений) и программистом на жабе, который рекомендует SOA, на базе своего опыта.

Я с ходу не представлю, чем настолько хороша SOA, кроме сплошного админского напряга следить за всеми этими сервисами и их доступностью, согласовывать протоколы взаимодействия и прочей энтерпрайзности.

Date: 2010-07-12 12:18 pm (UTC)
From: [identity profile] plumqqz.livejournal.com
Глубоким и тяжелым мозгоебизмом он может быть полезен. Дельфовый датасет может быть, вообще говоря, какой угодно от вызова к вызову, а вот SOA - какой был гвоздями в wsdl прибит. Командир сказал "хорек" - и никаких сусликов. Самая радость начинается, когда, скажем, неймспейс партнеры невзначай в новом билде поменяют. Ну, так, случайно, рука дрогнула - было http://foo.bar/baz, а стало http://foo.bar/baz/ - и все по-новой. Красотищща.

Что где-то на Марсе какие-то неведомые науке Васи Пупкины добились удивительных результатов - вполне верю, вон, в цирке воздушные гимнасты, жонглеры-наездники да эквилибристы-эксцентрики еще и не то выделывают. Только вот я - не эквилибрист, и окружен далеко не жонглерами.

Date: 2010-07-12 12:31 pm (UTC)
From: [identity profile] lionet.livejournal.com
Мы использовали SOA для сопряжения с мейнфреймами Experian. Естественно, когда сервера одной компании стоят на одном побережье, а сервера другой — на другом, и при этом общение должно происходить в реал-тайме ("пока пользователь ждёт", ~100ms на запрос-ответ), мало чего из распространённого может сравниться с SOA. В локальной системе, нефедерированной (из кучи кусков от различных вендоров, плохо общающихся между собой), смысла в SOA мало. Один такой смысл может быть в том, что жёстко фиксируются интерфейсы: cам факт проектирования и фиксации интерфейсов может быть полезным для разработки.

В качестве даунсайда, убивающего идею на практике — геморрой с интеропом: внутри джавы это ещё хоть как-то работает, но если начинается C, PHP, etc — туши свет. Стандарты то сырые (WSDL 2.x), то устаревшие (WSDL 1.x).

Фактически, получается, SOA — это очередная пляска типа CORBA: система достаточно сложна, чтобы написать полностью конформного клиента на коленке, а автоматические средства генерации выдают плохо совместимый друг с другом и с версиями WSDL код.

Date: 2010-07-12 12:35 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Да, картина примерно такая как я и представлял, для моих приложений SOA понадобится только тогда, когда его будут уметь 50летние тетушки в НИИ Торфа и Фекалий, чтобы интегрироваться с их приложениями.
У людей тут софт, с которым я интегрируюсь, на турбопаскале написан, какое уж тут SOA :)

Date: 2010-07-13 04:09 am (UTC)
From: [identity profile] plumqqz.livejournal.com
В перле, конечно, есть SOAP::Lite и после жабьих изысков он выглядит невообразимо удобным, но тем не менее зачем его использовать кроме как в случае полной безысходности?

Date: 2010-07-13 06:25 am (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
что бы не использовать жабу, php, си для работы с soap.

ну и код на нем выглядит более чем простым. особенно без wdsl

Date: 2010-07-13 06:37 am (UTC)
From: [identity profile] plumqqz.livejournal.com
что бы не использовать жабу, php, си для работы с soap.

Иногда, увы, бывает требование "жаба и все тут!"

ну и код на нем выглядит более чем простым. особенно без wdsl

wsdl - это да-а. Особенно меня радует мотивация: wsdl - это-де контракт с сервером. Клиента и сервера, то есть. Нерушимый союз вилки и розетки.

Date: 2010-07-12 12:32 pm (UTC)
From: [identity profile] ex-biespart.livejournal.com
Один я подумал, что для нормальных человеков SOA - это тип DNS-записи?

Date: 2010-07-12 12:34 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Нет, в данном случае это Service-Oriented Architecture.
Я, пока что, до администрирования DNS не добрался, хотя и читал про это дело :)

Date: 2010-07-12 12:35 pm (UTC)
From: [identity profile] plumqqz.livejournal.com
Боже, как же Вы правы...

Date: 2010-07-12 01:05 pm (UTC)
From: [identity profile] blacklion.livejournal.com
Не один, не один.

Date: 2010-07-12 02:45 pm (UTC)
forever_live: (Default)
From: [personal profile] forever_live
перепись-перепись

Date: 2010-07-12 12:42 pm (UTC)
From: [identity profile] sorhed.livejournal.com
Всё очень просто.

SOA позволяет нескольким людям или небольшим командам работать над разными частями проекта почти независимо (координация осуществляется на уровне спецификаций/контрактов сервисов), а DB-centric проекты требуют интенсивной коммуникации/координации между участниками проекта, где DB guy — царь и бог.

Для небольших проектов SOA не нужна.

Date: 2010-07-12 01:15 pm (UTC)
From: [identity profile] guamoka.livejournal.com
Мое ИМХО, SOA- доп. уровень абстракции, который помимо прочего- ограничения того, что и как клиент может читать и апдейтит,- может, например, использовать источники данных, отличные от DB, или легаси системы, и клиент об этом даже не будет задумываться. Опять же, с SOA клиент может быть написан на любом языке и платформе, и в более привычном стиле вызова процедур. Т.е. пока ваша система пишется только вами и используется, соответственно, клиентом, написанным опять же вами, то зачем вам еще один уровень абстракции? SOA- это скорее инструмент интеграции и повторного использования в глобальных масштабах. Опять же, ИМХО.


All you have to do now is cross your fingers that no requirements ever change for just one service. If something happens to cause a schema change, you could find yourself needing to rebuild, retest, and redeploy lots of services. I know of one company with 2,500 web services. As Sponge Bob Square Pants says, good luck with that.

Date: 2010-07-12 02:00 pm (UTC)
From: [identity profile] norguhtar.livejournal.com
С моей точки зрения SOA надо использовать только в одном единственном случае, внешние интерфейсы системы. К примеру для биллинга это платежные шлюзы, заведение договоров контрагентами и т.п. Если опять же есть большой концерн в который входит множество предприятий, то SOA можно использовать для обмена между ними.

Date: 2010-07-12 04:26 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
я использовал
а мне другого интерфейса не дали -- не html же парсить?

Date: 2010-07-12 10:18 pm (UTC)
From: [identity profile] astoon.livejournal.com
по комментариям такое ощущение, что разное понимают под SOA. Причем тенденция сужать область определения.

Date: 2010-07-13 09:47 am (UTC)
From: [identity profile] hshhhhh.livejournal.com
ребе, а можно с вами как-нибудь минут на 10 пересечься потыкать в нокию вашу пальцем?

Date: 2010-07-13 09:56 am (UTC)
From: [identity profile] metaclass.livejournal.com
Да, где-нить в районе академии наук или независимости, 78 (где я в пиццерии иногда ем) :)
Надо только заранее договорится, а то я перемещаюсь совершенно рандомным образом :)

Date: 2010-07-13 10:05 am (UTC)
From: [identity profile] hshhhhh.livejournal.com
если у вас есть скайп то постучитесь в 'zzzfddda' пожалуйста.

Date: 2010-07-13 10:06 am (UTC)
From: [identity profile] metaclass.livejournal.com
Не, под руками скайпа нету.

Date: 2010-07-13 03:22 pm (UTC)
From: [identity profile] max-posedon.livejournal.com
Не используйте простые структуры данных и сложные алгоритмы, предпочитайте сложные структуры данных и простые алгоритмы (с) высказываение одного очень известного программиста.

Date: 2010-07-13 03:32 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Ну то бишь "программируйте на системах типов, вас ждет просветление и дурдом" :)

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 16th, 2025 06:03 pm
Powered by Dreamwidth Studios