|
Знаете ли вы примеры успешного использования SOA (c SOAP или XMLRPC)
|
|||
---|---|---|---|
#18+
Господа участники, Вот такой неожиданный вопрос: знаете ли вы примеры 100% успешного использования SOA ? В смысле, успешных проектов, в которых использовалась бы SOA, причём в "стандартном виде"? Есть ли системы, у которых большая часть жизненно важных интерфейсов реализована на SOAP или XMLRPC? Вопрос возник вот почему. Многие знакомые профессиональные программисты предпочитают писать собственные низкоуровневые (сразу над TCP) протоколы. Изобретая при этом массу велосипедов. Это может казаться неправильным с точки зрения процесса разработки, но получаемые в результате системы работают. А тогда вопрос: получалось ли у кого-нибудь, чтобы было правильно, но тоже работало? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2006, 19:22 |
|
Знаете ли вы примеры успешного использования SOA (c SOAP или XMLRPC)
|
|||
---|---|---|---|
#18+
Из книжки The SOA implemented at Credit Suisse is now firmly established within the enterprise and is considered to be a major success. The main benefits experienced can be summarized as follows: Reuse of services. The business services are used across applications. Although the average reuse factor is only 1.6 when taking into account all services, some business services are used by up to 12 applications. The low average factor is mainly due to the fact that many services are currently used by a single application. Because services are built as soon as there is a single user, it can take some time before a second user materializes. Reuse is driven by the centralized repository containing the service interfaces and detailed documentations. More efficient application development. Due mainly to the reuse of services, application development has been accelerated considerably. Usually, when a new application is under development, 75 to 80 percent of the required services are already available in the repository. This improves time-to-market of new solutions dramatically and also offers significant cost savings for the development process. Increase of collaboration. Another benefit consists of the increased collaboration between the business unit developers and the programmers implementing the core business applications. It was also observed that experienced PL/1 programmers, who had become demotivated over the years, participated actively in the development process. However, these benefits were not achieved without hard work. For one thing, there was continuous uncertainty regarding the approach taken with the integration architecture. This included, for example, complaints that CORBA was too resource-intensive, too complex, and too slow. This objection was not broad-based, however, and the consistent support from top management overcame it. There was also a critical stage when the Information Bus threatened to fall victim to its own success. As more users accessed the applications built on top of the CSIB, performance, reliability, and availability became indispensable. Again, having management backing and sufficient budget helped to overcome problems during this critical phase. It also transpired that the decoupling, which had been achieved for internal integration, did not necessarily suffice for external integration, which posed even more demanding requirements on the degree of decoupling. Finally, the strict bottom-up approach applied throughout the development of the SOA will probably be complemented by top-down considerations in the future. This included more systematic decisions concerning reuse and more specific targets for service developers. One idea is to reduce the overhead for the development of services that might never be reused. Another aspect is the identification of "missing" services, even if they are not immediately needed by an application. Credit Suisse stresses four main SOA aspects that were crucial to its success: Interfaces Processes Management commitment Solid technology Evidence for the success of the Credit Suisse SOA-based integration architecture is based on the fact that the concepts and methodologies initially developed for the synchronous information bus could be reused one-to-one when introducing the asynchronous event bus. Furthermore, the implementation of the Bulk Integration Infrastructure is also based on the same foundation. This demonstrates that both the concepts and the methodology actually produced the desired results and that they are independent from the underlying technology. ------------------ After more than two years of successfully running its SOA and the associated service infrastructure SBB, Deutsche Post has gained much useful experience, which is summarized in the following practical advices [HBa04]: If you want to reduce IT complexity through integration, start with the business (logical) view and use an architectural approach. Focus on services (multiple use of data and functionality), not on data interchange (point-to-point communication). Don't neglect the integration infrastructure layerthis is much more than just "data transport." The technical integration infrastructure is characterized by long-term stability, so stay vendor-independent and stick to open standards. The success of a whole integration project mainly depends on the acceptance of all business-driven service participants. So, don't let the IT professionals drive the effort alone! Deutsche Post managed to reduce time to market significantly. The realization of new services only takes a few days due to the integrated infrastructure. Using the SBB helps keep implementation projects manageable and lean. These projects can focus on service implementations and do not have to worry about data connectivity. Moreover, the SBB can be maintained and updated without having to modify the services themselves. As we mentioned, there were also some challenges to overcome when introducing the SOA. In particular, the effort initially needed to convince service providers to take reusability into account in their development process was higher than expected. A mixture of persuasion, subsidies, and coercion was necessary to achieve the desired compliance with the SOA standards. A particularly visible success story was the adoption of the service "Customer Management" in the call center application, which today provides additional functionality such as registered mail. Before this adoption, all call center contacts were manually recorded by the agents, which led to typos and data duplication. Now call center agents have direct access to customer data by simply typing in the customer identification number. The SOA and the Service Backbone have proved to be successful at Deutsche Post and are constantly extended by involving current and potential users in the overall process. According to [HBr03], the following extensions are planned for the next major release (SBB Release 3.0) of the Service Backbone: Instrumentation and service management Service call routing with intermediaries "Users and Rights" as a service participant Pluggable core architecture Support of "Process Integration" (phase 1) as a service participant After the successful introduction of the SOA at Division Mail, a rollout at DHL is now under way. In doing so, Deutsche Post will reuse the basic methodology and the Service Backbone developed already. A special team will be set up at DHL that will be responsible for integration and consolidation. This team will be supported by the IT strategy team at Division Mail. The decision to extend the SOA to DHL is also a sign of the positive perception of the SOA at the level of Deutsche Post's top management. ------------ Из наших - я слышал об Альфа-Банке -- "Government is not a solution to our problem, government is the problem." -- Ronald Reagan ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2006, 20:37 |
|
Знаете ли вы примеры успешного использования SOA (c SOAP или XMLRPC)
|
|||
---|---|---|---|
#18+
AlexTheRavenГоспода участники, Вот такой неожиданный вопрос: знаете ли вы примеры 100% успешного использования SOA ? Во-первых, те же Amazon ECS и eBay. Вполне работающие и юзабельные API - я с ними работал много и плодотворно. Во-вторых, вот моя система - www.catalog-on-demand.com - имеющая XMLRPC API (например, один из них описан в ftp://www.catalog-on-demand.com/ObjectPublisher_API_Developers_Kit/OnDemandPublishing_API/ODP_Data_Management_API_Reference.doc ). Работает и используется вовсю. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2006, 23:10 |
|
Знаете ли вы примеры успешного использования SOA (c SOAP или XMLRPC)
|
|||
---|---|---|---|
#18+
AlexTheRavenМногие знакомые профессиональные программисты предпочитают писать собственные низкоуровневые (сразу над TCP) протоколы. Изобретая при этом массу велосипедов. Насчет велосипедов - сам этим грешил лет ...ть назад. Но в последние лет пять-десять HTTP настолько усовершенствовался, устаканился и распространился, что лепить какой-ть другой транспорт просто нет смысла. В нем есть все, и он работает везде. Например, любой клиент всегда может "ходить" на сервер - экраны и прочее не помеха, 80/443 порты сервера всегда доступны откуда угодно. Это уже исключает массу пробем при широкой клиентской базе. Ну, и так далее... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2006, 23:20 |
|
Знаете ли вы примеры успешного использования SOA (c SOAP или XMLRPC)
|
|||
---|---|---|---|
#18+
AlexTheRavenМногие знакомые профессиональные программисты предпочитают писать собственные низкоуровневые (сразу над TCP) протоколы. Изобретая при этом массу велосипедов. - если есть задача затянуть проект и истратить все деньги заказчика, то это то что нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2006, 18:43 |
|
Знаете ли вы примеры успешного использования SOA (c SOAP или XMLRPC)
|
|||
---|---|---|---|
#18+
Kachalov- если есть задача затянуть проект и истратить все деньги заказчика, то это то что нужно. Это, конечно, тот случай, но нередко все дело в незнании того, что есть. Я бы тоже изобретал велосипеды, если бы году в 1999 не получил случайный заказ на приложение, которое долженствовало быть доступно через НТТР, но иметь десктопного клиента. Надо сказать, первый блин вышел изрядным комом, но многому меня научил. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2006, 01:01 |
|
Знаете ли вы примеры успешного использования SOA (c SOAP или XMLRPC)
|
|||
---|---|---|---|
#18+
М.ГоловановЭто, конечно, тот случай, но нередко все дело в незнании того, что есть. - мне кажется, что незнание, в данном случае , не является оправданием. Я думаю многим программистам приходилось учиться за счет заказчика, осваивая новые технологии "на ходу", но при этом Вы представляете какие технологии существуют и знаете, что в наиболее эффективным способом решения поставленной задачи является технология "X", которой Вы пока что не владеете, но обязаны научиться. И Вы бежите в книжный магазин, лезете в Интернет, идете на курсы и т. п. - учитесь! А в данном случае мы сталкиваемся с принципиально иным подходом - "ничего не знаю и знать не хочу". Создать собственный протокол высокого уровня можно, в этом нет ничего сложного, но ЗАЧЕМ? Когда есть масса готовых решений, библиотек, инструментов - изучи и пользуйся. Хотел бы еще выразить свое сочуствие тем программистам, которым придется писать код для взаимодействия со сторонней системой по "самопальному" протоколу - обычно "изобретатели" ленятся что либо документировать и хранят спецификацию самодельного протокола у себя в голове, откуда извлечь что-то довольно трудно. Сам недавно от этого пострадал: внешняя система разрешала взаимодействие по протоколу HTTP (и то хорошо) и на запрос методом GET возвращала ответ в формате XML (прогресс однако!), но у возвращаемого XML-документа НЕ БЫЛО формального описания (DTD или схемы), а для разработчиков внешних модулей давался вордовский документ с кратким (иногда ошибочным) описанием тэгов, без указания возможных значений хранящихся в тэгах - приходилось догадываться, что "001,3" - это вещественное десятичное число у которого надо отрезать ведущие нули. Кроме того разработчики "совершенствовали" свою систему на ходу и меняли формат ответа, забывая при этом оповестить сторонних разработчиков. А как все было бы просто если бы взаимодействие велось через SOAP! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2006, 11:16 |
|
Знаете ли вы примеры успешного использования SOA (c SOAP или XMLRPC)
|
|||
---|---|---|---|
#18+
Kachalov<...> - если есть задача затянуть проект и истратить все деньги заказчика, то это то что нужно. Лично я за SOAP. Но у низкоуровневых протоколов есть свои плюсы. В частности, эффективность. SOAP через HTTP очень удобен, если приложение будет под HTTP-сервер - Apache, IIS или что-то в этом роде. Но это - лишний слой ПО, у которого есть свои ошибки, уязвимости, ограничения. И кодом этого слоя мы не владеем (даже GPL - аргумент, а десятки тысяч строк чужого кода - факт). И ещё он, конечно же, замедляет работу. Особенно учитывая, что 90% того, что на него "навешено", нам не понадобится. А при сотнях тысяч запросов в сутки, общим объёмом в несколько гигабайт, и ответом в "мягком" реальном времени (99% за 4 сек. при Ethernet 10/100 через 1 свич среднего класса при загрузке канала на более 50%) это уже существенно. Можно, конечно, хитро балансировать нагрузку, но это экстенсивный путь. А самим реализовывать специализированный HTTP-сервер со всеми тонкостями наподобие SSL - тоже "велосипедная" задача на несколько человеко-лет. Вот потому и спрашиваю... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2006, 10:50 |
|
Знаете ли вы примеры успешного использования SOA (c SOAP или XMLRPC)
|
|||
---|---|---|---|
#18+
AlexTheRavenЛично я за SOAP. Но у низкоуровневых протоколов есть свои плюсы. В частности, эффективность. SOAP через HTTP очень удобен, если приложение будет под HTTP-сервер - Apache, IIS или что-то в этом роде. Но это - лишний слой ПО, у которого есть свои ошибки, уязвимости, ограничения. И кодом этого слоя мы не владеем (даже GPL - аргумент, а десятки тысяч строк чужого кода - факт). И ещё он, конечно же, замедляет работу. Особенно учитывая, что 90% того, что на него "навешено", нам не понадобится... А самим реализовывать специализированный HTTP-сервер со всеми тонкостями наподобие SSL - тоже "велосипедная" задача на несколько человеко-лет. Вот потому и спрашиваю... Так уже ответили. Добавлю еще 20 копеек. 1. SOAP не обязателен. В нем есть действительно ненужные навороты, целью которых была реализация ненужных вещей. Я всегда пользуюсь XML RPC, если явно не нужен WSDL. 2. У Apache HTTP, да и у MS IIS, главная уязвимость одна - бестолковый администратор. Насчет же замедления - так не компилируйте в него (Apache HTTP) ненужные модули. Сам же HTTP прост как валенок - хост, путь, заголовки и тело. По-моему, все 4 компонента запроса нужны в прикладном уровне. Что тут лишнее? 3. Вообще выбирать всегда приходится между плохим и очень плохим. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2006, 11:13 |
|
Знаете ли вы примеры успешного использования SOA (c SOAP или XMLRPC)
|
|||
---|---|---|---|
#18+
AlexTheRavenSOAP через HTTP очень удобен, если приложение будет под HTTP-сервер - Apache, IIS или что-то в этом роде. Но это - лишний слой ПО, у которого есть свои ошибки, уязвимости, ограничения. И кодом этого слоя мы не владеем (даже GPL - аргумент, а десятки тысяч строк чужого кода - факт). - безусловно, Apache, код которого совершенствуется более 10 лет, надежней и безопасней чем все что сделает "самодельщик", обладая при этом максимально возможной функциональностью. Если довести ситуацию до абсурда Вы придете к собственным базам данных (которые лучше работают на данных вашего приложения) и собственным ОС (которые решают только те задачи которые требуются вашему приложению). AlexTheRaven И ещё он, конечно же, замедляет работу. Особенно учитывая, что 90% того, что на него "навешено", нам не понадобится. - спорное утверждение. Во первых Apache имеет модульную архитектуру и Вы можете решать какие именно модули компилировать, а во вторых модули можно компилировать не статически, а как разделяемые библиотеки, уменьшая при этом размер ядра и гибко определяя с помощью конфигурационного файла что именно подключать к ядру. Еще раз отмечу что код Apache "вылизавался" годами и Apache относят к быстрым web-серверам (хотя можно найти и более быстрые "готовые" web-сервера) AlexTheRaven А при сотнях тысяч запросов в сутки, общим объёмом в несколько гигабайт, и ответом в "мягком" реальном времени (99% за 4 сек. при Ethernet 10/100 через 1 свич среднего класса при загрузке канала на более 50%) это уже существенно. - у большинства хостеров работает Apache с сотнями (иногда тысячами!) виртуальных хостов, при этом трафик получается пострашнее чем Вы описали. Кстати Apache умеет работать со сжатием данных и передавать по сети сжатый трафик, что существенно уменьшит объем трафика (это если Вам жалко гонять по сети XML). AlexTheRaven Можно, конечно, хитро балансировать нагрузку, но это экстенсивный путь. - не иначе, Ваши "изобретатели" сделали кластерное решение? AlexTheRaven А самим реализовывать специализированный HTTP-сервер со всеми тонкостями наподобие SSL - тоже "велосипедная" задача на несколько человеко-лет. - вот именно! А также логирование, ограничение доступа по ip, перенаправление запросов и т. д. и т. п. Зачем? Когда все это уже сделано! Сухой остаток: - больше используйте готовые продукты, библиотеки, протоколы и Вы получите гибкое, функциональное и надежное решение. В этом контексте SOAP или RPC это то что нужно для большинства распределенных приложений (просто, удобно, надежно, гибко, без жестких требований к языку программирования)! Кроме того не забывайте что есть еще CORBA и RMI (что бы не гонять XML-тэги по сети). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2006, 12:02 |
|
|
start [/forum/topic.php?fid=33&msg=34024325&tid=1549287]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
280ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 277ms |
total: | 649ms |
0 / 0 |