Download presentation
Presentation is loading. Please wait.
Published byMervin Hines Modified over 8 years ago
1
omniORB and CORBA Dr Duncan Grisby Apasphere Ltd
2
Agenda ● About me ● CORBA landscape ● Future directions ● Distribution of data
3
About me ● Maintainer of omniORB – C++ and Python CORBA implementation ● Founder of Apasphere Ltd – omniORB support, consulting ● Co-founder and Chief Software Architect at Tideway Systems – Data centre mapping
4
Disclaimer ● I don't know much about Tango – But I do know quite a lot about omniORB and CORBA ● These are my personal opinions
5
State of CORBA ● Quietly successful ● Web services hype has died down ● Not much useful added since CORBA 2.6 ● Increasing complexity of specifications ● C++ mapping is awful
6
CORBA future ● CORBA will continue to be widely used ● OMG will continue to add things to CORBA – OMG has to justify its existence – I doubt that many things will be useful – Required simplification is unlikely ● Diversification
7
State of omniORB ● Current: omniORB 4.1.4 / omniORBpy 3.4. ● Stable ● Robust ● High performance – Often 5 times faster than TAO ● Flexible configuration options ● IPv6 support
8
omniORB future ● 4.2 branch starting ● Data marshalling efficiency ● Improved union footprint ● AMI? ● Selected CORBA 3 features? ● Python 3.x support?
9
Distribution of data ● CORBA is request-response – Point-to-point – Streaming is problematic – Multicast is an uncomfortable fit ● Event / notification service – Could theoretically use multicast – Use of Any type
10
OMG DDS ● Some good concepts – Typed interfaces ● Really complex specification – 260 pages core + 216 pages transport spec – (66 pages for CORBA GIOP) ● Tries to solve all problems in one
11
OMG DDS ● PIM / PSM complexity – Separate from CORBA core, but intimately linked to it ● Many many QOS policies ● Fine-grained OO design limits implementation flexibility
12
omniORB Connection Management ● Extension for high performance data transport ● Streams of oneway calls – Private connections – Limited threads to handle calls – 'Safe' connection closure – Ability to enable Nagle's algorithm
13
omniORB Connection Management interface Example { oneway void push(in string val); }; r = makeRestrictedReference( obj, 123, 1, 1, true, false, true);
14
Closing Thoughts ● Simplicity is undervalued – Especially in standards organisations ● Better to provide simple building blocks – Easier to understand – Don't pay for what you don't need
15
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.