Revision: 1163
http://omc.svn.sourceforge.net/omc/?rev=1163&view=rev
Author: kkaempf
Date: 2009-01-16 13:34:31 +0000 (Fri, 16 Jan 2009)
Log Message:
-----------
Initial release announcement
Added Paths:
-----------
cmpi-bindings/trunk/ANNOUNCE
Added: cmpi-bindings/trunk/ANNOUNCE
===================================================================
--- cmpi-bindings/trunk/ANNOUNCE (rev 0)
+++ cmpi-bindings/trunk/ANNOUNCE 2009-01-16 13:34:31 UTC (rev 1163)
@@ -0,0 +1,64 @@
+In the past, writing CIM providers was quite restrictive.
+
+On the one hand, CIM providers were CIMOM-specific and hardly
+portable. On the other hand, developing in C or C++ with its
+edit-compile-link-test cycle takes an awful lot of time.
+
+Both problems are well known and solutions for each of them existing
+in the past. CMPI, the Common Manageablity Programming Interface,
+makes the CIM provider CIMOM agnostic.
+Then there is the pywbem provider interface for coding CIM providers
+in Python - originally using the proprietary OpenWBEM and OpenPegasus C++
+interfaces.
+
+
+Enter cmpi-bindings.
+
+cmpi-bindings provides flexibility on both sides - the implementation
+language and the CIMOM interface.
+
+cmpi-bindings use SWIG (http://www.swig.org) to generate language
+bindings between the CMPI API and any SWIG-supported programming
+language.
+Now you're free to code providers in your favorite language, like
+Ruby, Python, Perl or, if you really have to, even Java (just kidding).
+
+cmpi-bindings started with the following design goals:
+- CIMOM neutral
+ - CMPI provider interface
+- Support most popular scripting languages
+ - Python, Ruby, Perl, ...
+- Automatically generated bindings
+- Object orientation
+ - reduce call parameters
+ - leverage exceptions
+- Code similarity
+ - across providers implemented in different languages
+
+
+The latest release (0.7) of the pywbem provider interface fully
+supports cmpi-bindings, effectively making Python the language of
+choice for CIM provider development.
+
+
+Internals
+
+cmpi-bindings use SWIG in an unusual and innovative way.
+
+Originally, SWIG is designed to allow access C or C++ libraries from
+other languages. It provides data type and function call mappings from
+C/C++ to a target language.
+
+As-is, SWIG nicely maps all CMPI data types and functions working on
+these data types. However, writing CIM providers in a target language
+requires inversion of control - calling the target language (provider
+implementation) from the CIMOM.
+To achieve this, cmpi-bindings need a small (typically ~400 lines of C
+code) target language dependant 'glue' layer. Extending it to other
+languages is fairly easy, implementations for Perl, Python and Ruby
+exist currently.
+
+See
+http://omc.svn.sourceforge.net/viewvc/omc/cmpi-bindings/trunk/doc/cmpi-bindings.pdf
+for a presentation on cmpi-bindings from last years Management
+Developers Conference (www.mandevcon.com)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|