Can somebody explain briefly how CORBA and DDS work and their relationship with component framework like CARDAMOM? - middleware

I am new to this kind of architectures and I'm going to start using these shortly, but I can't understand how they work, what they do and their differences.
I've searched online but what I'm looking for is just some kind of small example that helps me understanding the basics.
Thanks in advance for any kind of help.

CORBA and DDS are both two open middleware standards for which there are multiple implementations. For both standards there are a lot of resources on the internet.
CARDAMOM is a component framework which is an implementation of the OMG LwCCM standard. It uses CORBA and DDS as underlying communication middleware standards. CARDAMOM is a product of Thales and Selex and there is not a lot of public information about it.
To understand the basics you can try to read the standards but those are not written as user manual. As alternative have a look at CIAO and AXCIOMA which are two alternative implementations of the LwCCM standard. Both also integrate CORBA and DDS as communication middleware but AXCIOMA also integrates ZeroMQ and MQTT as alternative options. CIAO uses the IDL to C++ language mapping where AXCIOMA is using the IDL to C++11 mapping.

Related

Corba Trading Service inspecting tool

Is there any tool for viewing registered types in CORBA Trading Service, and maybe, for making some simple queries for objects?
I am using TAO, if it matters.
Not that I know off. Maybe you can write your own and contribute it back to TAO. Maybe consider a scripting language for a client, like Ruby with the R2CORBA implementation which is interoperable with TAO

Is there a more modern implementation of CORBA?

I'm figuring that CORBA is considered a legacy technology that just refuses to die. That being said, I'm curious if there are any known standards out there that are preferred (and are also as platform independent.)
Thoughts? TIA!
Many organization are moving to WebServices and the open standards relating to them (HTTP, WS-*) as alternatives to Corba.
This article provides a comparison of the two technologies and offers some recommendations on when to use which.
If you really care about platform independence and protocol standardization - then the WS-* standards are something to look into.
There is now a state of the art modern CORBA implementation using C++11, TAOX11. This uses the new IDL to C++11 language mapping. For TAOX11 see the TAOX11 website. TAOX11 is supported on a wide range of platforms and compilers.
I have recently tried Google Protocol buffers, they seem rather similar to CORBA by design (some kind of IDL with compiler, binary compact messages, etc). It is probably one of the many possible successors.
Web services are good for the right tasks but creating and parsing messages needs more time and text based messages are more bulky than binary ones. REST API with JSON looks like a good solution where binary protocols do not fit well.
ICE from ZeroC aims to be a "better CORBA".
Unfortunately their licensing terms are crap (at least last time I checked with them), as they do not sell developer licenses but only (roughly) per-installation terms.
It is offered via GPL license too, if you can live with this.

JSF 2 - CRUD and persistent support

I'm in two minds at the moment in terms of adopting a persistence framework for CRUD operation (for MySQL) with JSF 2. I've googled and read comments from pro-JPA vs pro-JDO groups but I still can't decide what to adopt.
Is there any good step-by-step tutorials (similar to those provided at balusc.blogspot.com) of JPA implementations (Hibernate, etc) and JDO implementations (DataNucleas, etc) available online? Perhaps going through these examples might help me to understand a bit more about these two Java specifications and decide which to adopt finally.
I'm a newbie when it comes to JPA and JDO implementations so please be kind in your responses -:)...
P.S: Please no reference to roseindia.net. Sorry, that site is just too crappy for me!...
Here is the link with maven archetype that should get you up to speed really fast.
http://www.andygibson.net/blog/projects/knappsack/
I suggest trying to use this one:
jee6-servlet-minimal-archetype
It gets you CDI+2.0+JPA

What is a real life example of CORBA?

What is an example of a situation where CORBA would be used? Is it just a matter of using an interface language (e.g. Java) to 'talk' to all applications?
CORBA might be used to build a language-independent, O/S-independent distributed system. For example, C++ on Linux developers could build a common distributed system with Java on Windows developers. IDL describes the interfaces that bind the two implementations over a common substrate (CORBA).
CORBA is also useful when building a plain old distributed object system - it has a rich set of services defined and is generally very well thought out. However, these days - depending on the language - many folks have opted for either simpler (e.g., RMI, protocol buffers) or message-based protocols (e.g., HTTP) for building distributed systems, so it's not as common. CORBA suffered from design-by-committee (esp on things like security).
More info:
http://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture
You will see a list of real-life example of CORBA projects from below website.
http://www.cs.wustl.edu/~schmidt/TAO-users.html
TAO is one of the most popular C++ CORBA implementation available today. The project is pretty active.
CORBA technology vendors killed each other through incompatible and bureaucratic implementations. Today, you can safely consider CORBA to be a legacy technology; that is, use it if you have to deal with components that already expose themselves through COBA. Otherwise, stick to modern RPC/distribution standards like SOAP, or, better yet, REST/JSON.
Sorry. To answer your question: CORBA was intended to be what SOAP, REST, and others are today. Real-life examples of applications of the latter are examples of things attempted with the former.

Message passing and model trains control system and user interface programming

I am designing a control system and user interface for a model train infrastructure and I was wondering if this is the technology to use? I mean Message Passing if yes which programming language is best to use for this purpose? Has anyone got any pointers on where to start? I know some java and c#!
Many thanks
If you can put in some effort and learn WPF for interface designing, then that would be cool. Otherwise you can use windows forms in C#.NET.
You can use remoting for communication but if you are concerned with performance then you can use sockets and Google's protobuf for message contraction and serialization/deserialization. You can find a port of protobuf for .NET at http://code.google.com/p/protobuf-net/. Its super easy and fast.
Thats the most I can suggest from the the amount of information you have put in the question.

Resources