CORBA vs Web Services

17 отговора 868 прегледа
#1

CORBA vs Web Services

Здравейте.

Мъчи ме един малко екзистенциален въпрос, за същината на който можете да се досетите от заглавието на темата

Накратко - искам да прочета едно или повече безпристрастни сравнения на съвременното състояние на тези два подхода в разпределеното програмиране (в Междумрежието попадам най-вече на статии, писани 2003-а или по-рано).

Бих се радвал да видя и конкретния опит на уважаемите колеги, при това лошият е определено по-интересен

Също така, ще бъде интересно да обсъдим защо всъщност е толкова важно да се избере едната технология, след като и двете (според мен) са преди всичко начин за комуникация (откриване, authentication, и т.н.) на обектите, реализиращи бизнес логиката / модела на продукта ни.

С други думи - каква част от софтуера ни зависи от инструментите за комуникация и дали опитите за абстрахирането от тях е като да е опитваме да се абстрахираме от конкретния GUI модел? (сещате се, че сравнението е малко грубиянско)

Поли иска континентче
Отговор
в отговор на Masklin #2

Re: CORBA vs Web Services

ми както писах и преди simplistic design and scalability rulz за това Web Services са по добрия избор

иначе и с двете могат да се правят работещи приложения така че трудно ще получиш ясни примери за негативни и позитивни неща

това е като спора за това дали да се ползва готова база данни или не - и до сега сигурно има които ще кажат че е най-добре сами да си напишат базата данни

Отговор
в отговор на wiz #3

Не е точно така

Сравнението ти с базите е доста хм, грубо. Доста хора смятат, че CORBA е по-зряла технология от Web Services ...

А скалируемостта можеш да постигнеш и с CORBA, не виждам никакъв проблем ... Наличието на стандартен разпределител на SOAP заявките е просто един от начините за скалируемост и няма причина да на използваш подобно нещо с коя да е технология.

Пример за негативно нещо за мен е следното: мога да направя в единия случай решение, което работи на един-два много мощни компютъра с потенциал за разтеж при нужда, а в другия случай - на 5-6 или повече. При положение, че хората все пак плащат ... кое според теб ще предпочетат?

Поли иска континентче
Отговор
в отговор на Masklin #4

хаха

оф не ми се занимава да споря(и да раздавам безплатни уроци)

както писах преди успеха на уеб и гугъл ясно показват че simplistic design and scalability rulz

повече няма да ти пиша



Отговор
в отговор на wiz #5

Добре,

сърдитко

Поли иска континентче
Отговор
в отговор на wiz #6

Re: хаха

И добре ша напраиш като спреш да пишеш, че мноо 'абиш интернета.

Машина за отделяне на кожа и сланина от парени свине
Отговор
в отговор на Masklin #7

Re: CORBA vs Web Services

Поне едно време CORBA-ta беше по-скоро сравнимо с DCOM, примерно с Web services не можеше да имаш лесно двупосочна 'push' комуникация, докато примерно в корбата и дкома си имаш директно интерфейси и в двете посоки...
ВС е хм по-едрозърнесто така да се каже...
То сигурно са измислили как да се прави и с ВС ама скоро не съм се занимавал



Машина за отделяне на кожа и сланина от парени свине
Отговор
в отговор на Maтa Kocмaтa #8

Съгласен ...

Досега не съм успял да намеря начин с Web Services да предадеш референция към отдалечен обект. Можеш ... да го нагодиш някак си, в определени ситуации.

CORBA-хората разправят, че с времето WS ще преоткрият колелото, просто защото няма друг начин.

Простотата наистина е хубаво нещо, но трябва да има всичко необходимо, все пак. Иначе или трябва да разширяваш нещата като дойдеш на дедовия, или да започнеш с нещо ново.

Пример - cookies. HTTP е мислен да бъде stateless протокол, обаче се е оказало, че с развитието на Интернет се налага да има състояния. И ... с голямата губерка.

Може би е най-добре да се гледа точно по начина, за който ти говориш - сервизи, цели и големи, на които казваш "направи еди-какво си" и забравяш. За разпределено програмиране обаче някак тромаво и прекалено тежко ми изглежда.

Поли иска континентче
Отговор
в отговор на Maтa Kocмaтa #9

Re: хаха

хаха такова изказване ми звучи като самопризнание:
"аз съм злобен бездарник и ме е яд че не можах сам да рабера това което казваш"
разбирам те не си единствен този начин на мислене е типичен за бг
не смятам да губя време да говоря с теб и подобни на теб


Отговор
в отговор на Masklin #10

Re: CORBA vs Web Services

преди 5-6 години работих интензивно с CORBA, вкл и на ниско ниво - IIOP комуникация, тогава за уеб сървиси не бях и чувал, а и те се популяризираха доста по-късно. Това, което ми хареса е многото количесто спецификации и готови сървиси [линк]. Може би сте чували за Model Driven Architecture и UML на които е авотр същия консорциум направил и CORBA?

А по отношения на сравнението с DCOM - не мисля, че е коректно - CORBA е не само обектната комуниказия, тя е по-скоро идеология за последователите си ;-) Ау направо сам религиозен ....

Отговор
в отговор на Masklin #11

Re: CORBA vs Web Services

С ясното съзнание, че не е конкретен отговор на твоя въпрос, погледни този линк: [линк]
Там обсъждат доста CORBA-та и я срявняват с алтернативните подходи.
А бе, основния въпрос е за SOAP-а, ама нищо

Отговор
в отговор на BullDog #12

Re: CORBA vs Web Services

Не съм работил с никоя от двете архитектури, само искам да кажа respect за зрелия подход към въпроса и насоката на обсъждането :)

Отговор
в отговор на Masklin #13

Re: CORBA vs Web Services

Този въпрос и аз си го задавах (включително и тук във форума) преди около 2 години.
Гледам, че по-важните моменти са отбелязани в другите постинги но все пак да взема и аз думата... :)
Работил съм с CORBA в продължение на години. Относно скалираемостта - не съм имал никакъв проблем. Едини същ сървър съм го пускал на няколко различни платформи едновременно - от windows до AIX ("Java" of course - ако щете вярвайте ).
Никой не може да ме убеди че може да се мине без statefull обектите в определени случаи (повечето според мен).
Двупосочната връзка клиент-сървър също ми се е налагало да я ползвам.
Изобщо аз кусури на CORBA технологията трудно мога да открия.
От друга страна - не може да се върви срещу модните тенденции :)
Лекотата с която се имплементират WS с .NET е важно предимство.
Пробвал съм дори WS с Java сървър и C# клиент - върви. Е имаше малко проблеми със сложните типове данни, но не е чак болка за умиране.
В крайна сметка като при почти всички спорове от типа "нещо vs. друго нещо", отговорът е - ползвай това което ти е кеф, в зависимост от ситуацията.
Лично аз, ако трябва да имплементирам някакъв елементарен сървър - не бих се поколебал и моментално ще посегна към .NET. Ако е нещо "голямо и сложно" ще се позамисля.
Но каквото и да си говорим, целокупно светът май върви към използване на WS :(

---
In God we Trust (all others must submit a X.509 certificate)
Отговор
в отговор на BullDog #14

Благодаря

Много свежо обсъждане Ей това:
SOAP and CORBA is like DOS and Unix, dependings on point of view one is success or another.
... плени сърцето ми

Като цяло хората смятат, че SOAP не се скалира добре и че е разумно да се използва не в RPC стил; препоръката е да се предават документи. Добра идея, бих казал

Поли иска континентче
Отговор
в отговор на Nobby #15

Мерси



Голям майтап е обаче как всички ни влече към флейма. Имам чувството, че никой не е стигнал до втората част на въпроса ми ... какво ни струва да се опитаме да се абстрахираме от това дали използваме WS, CORBA или някоя друга техно/идео-логия за разпределено програмиране?

Дали ако се опитаме да напишем бизнес-логиката си според дебелите книги после няма да ни е лесно да се интегрираме с каквото решим, а защо не и да напишем адаптери и за двете и да оставим админите да му мислят?

Ти като човек с конкретен опит какво мислиш?

Поли иска континентче
Отговор
в отговор на Masklin #16

Re: Мерси

Забрави да не мислиш за технологията, когато правиш архитектурата . Колкото и прекрасно да звучи за съжаление не е разумно да се опитваш да го правиш.

Защо ли - овърхеда основно.

Иначе позлвай си и цорба, ползвай си и уеб сервиси, но си остани на един модел. Например J2EE. Реализацията на EJB е прост клас - нищо повече. Към него кеф ти корба, кеф ти уеб сървиси, само с анотации ;-)))

То въпроса е какво дефинираш като интеграция?
за справка виж LCIM - [линк]
(не подминавайте Карнеги Мелън - все пак са авторите на CMMI)

Отговор
в отговор на Пporpaмиcт #17

За справка - какво е уеб сървис и МДА

[линк]

По-конкретно [линк]
[линк]

Отговор
в отговор на Masklin #18

Re: Мерси

Да се абстрахираме от дадената технология е малко трудно :)
Поне на мен винаги ми се е налагало да се съобразявам с даден модел по една или друга причина.
А относно:

"Дали ако се опитаме да напишем бизнес-логиката си според дебелите книги после няма да ни е лесно да се интегрираме с каквото решим, а защо не и да напишем адаптери и за двете и да оставим админите да му мислят? "

Те такова живтно нема .....
Е, може и аз да не съм го виждал де.... :)
Опитът ми показва, че дори и с "велики" продукти от сорта на TIBCO, BizTalk и т.н. интеграцията на два различни апликейшъна си е зор и то голям. Никога не е "просто" написване на адаптори.
Естествено ако всичко се пише какте е по дебелите книги нещата стават доста по-лесно.
Абе идеята ми в общи линии е че "лесно нема", както и универсален отговор.....

---
In God we Trust (all others must submit a X.509 certificate)
Отговор