Is Corba the same as SOA?
Asked Answered
E

7

10

I have been looking a lot at SOA recently. Isn't CORBA exactly the same thing as SOA?

Espresso answered 17/3, 2010 at 10:53 Comment(0)
A
4

SOA as a concept has been around for years, but was only more recently named as such. There are many technologies that can be said to implement SOA - either completely, or aspects of it. CORBA could be said to be one of them, although the term wasn't around when CORBA was created.

CORBA certainly implements are large part of the SOA surface area, but I don't think you could say it does so completely (whatever that means). SOA can be a bit vague.

Afghan answered 17/3, 2010 at 11:0 Comment(1)
The answer of Ophir Yoktan is way more precise.Exmoor
S
16

In addition to the fact already mentioned, that SOA is an architecture, and CORBA a specific implementation.

CORBA doesn't implement SOA

the main difference is that CORBA is Object Oriented or Component Oriented and SOA is Service Oriented

The main technical difference (in my opinion) is that in SOA you pass messages (or data objects) and in CORBA you can pass generic objects (which can have methods) so although you can implement SOA using CORBA (by limiting you self to a subset of the functionality), the standard way of using CORBA isn't service oriented.

Scarlet answered 20/7, 2012 at 7:24 Comment(2)
Very well said; I think the crux is that CORBA is component oriented and not service oriented, and of course CORBA is a specific implementation of a certain kind of component-oriented remoting architecture, while SOA is not an implementation in itself.Myrmidon
+1 for this answer. I was torn in between but mentioning CORBA is geared towards component orientation nailed it for me.Ringer
D
6

The difference between CORBA and SOA is that CORBA is a specific technology, whereas SOA is a style of architecture.

Degression answered 17/3, 2010 at 10:56 Comment(5)
Didn't CORBA have a whole philosophy behind it too though?Espresso
@Zubair Yes - specify services no one will want, and make them as difficult to implement and use as possible. A secondary goal was to avoid providing usable reference implementations of things that people might actually use, such as strings. Disgruntled ex CORBA programmer (never, ever again) speaking.Phytosociology
@Neil, I like your comment :) I do think that most SOA implementations are complex, maybe one day something easy to use will be availableEspresso
@Zubair - it's called REST :-)Afghan
Corba is just one form of middleware to tie different services together. Web Services, Message Queues are a couple of othersKhiva
A
4

SOA as a concept has been around for years, but was only more recently named as such. There are many technologies that can be said to implement SOA - either completely, or aspects of it. CORBA could be said to be one of them, although the term wasn't around when CORBA was created.

CORBA certainly implements are large part of the SOA surface area, but I don't think you could say it does so completely (whatever that means). SOA can be a bit vague.

Afghan answered 17/3, 2010 at 11:0 Comment(1)
The answer of Ophir Yoktan is way more precise.Exmoor
A
4

While there is no "official" definition of SOA, part of the point of it is to decouple the various services from each other. This includes possibly decoupling the implementation (platform and technology) used in the service. As an example if one exposes a service via WebServices, any client be it java/python/.Net etc... could consume this service - but utilizing a RPC/remote procedure call framework will often tie you into a particular platform/implementation in order to call the service.

Corba does offer some of what SOA promises, but is at best a subset of what SOA is "meant to be"

The main difference though is that SOA is a general architectural concept, while Corba is a technology implementation of the RPC/Remoting concept

Axiology answered 17/3, 2010 at 11:6 Comment(0)
M
3

Not really. SOA is an architectural style while CORBA is a particular technology with which you can implement SOA.

Mainstream answered 5/7, 2010 at 17:19 Comment(0)
D
1

CORBA and SOA are both architectures. It is wrong to say CORBA it is an implementation. It is not. It is an architecture, a vision of systems build with objects. SOA is also an architecture, a vision of systems build with services. They both are ways to organize your systems as a collection of either objects or services. There are specific implementations for CORBA as well as for SOA.

They are both technologies. They both give you receipts and recommendations for structuring your systems and for managing complexity. There are tools developed by third parties to support these technologies for both of them.

The objects in a Common ORB Architecture (CORBA) provide services so you can think of a translation between Service Oriented Architecture (SOA) and Common ORB Architecture. They are not the same thing, but one can imagine implementing a software system with either the one or the other, making them, from a certain point of view, equivalent.

They are not the same thing in the same way as Object Oriented Programming and Structured Programming or Functional Programming are not the same thing, although one could use any of the above mentioned programming styles to implement a certain functionality.

Disembroil answered 24/7, 2017 at 10:49 Comment(0)
D
1

They are inherently different because one depends on the technology (CORBA) and the other doesn't.

  • CORBA is an open standard developed by the OMG (Object Management Group) for the use ORB (object request broker) middleware with a great focus on interoperability (software platforms, hardware platforms and programming languages).
  • SOA is a style of software design where services are provided to the other components by application components, through a communication protocol over a network. The basic principles of service-oriented architecture are independent of vendors, products and technologies.

I had the same doubt as you because the definition of SOA is too broad and I can see many concepts of CORBA can be mapped naturaly to SOA's terminology. For example in CORBA, clients (objects) ask to servers (also objects) to do some work through a communication protocol over a network. Moreover CORBA implementations provide general services like logging and event support. I think this link summarizes the relation between CORBA and SOA:

The first service-oriented architecture for many people in the past was with the use of Object Request Brokers (ORBs) based on the CORBA specification. The CORBA specification is responsible for really increasing the awareness of service-oriented architectures.

Dronski answered 7/10, 2017 at 16:15 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.