I have enjoyed many conversations with a variety of people over at Rocket Software about what’s in store for the MV World from Rocket. I’ve especially enjoyed chatting especially with Claude Masseron, Senior Sales Engineer, about the UniVerse and Python integration. Here's what I've found out about MultiValue and Python from Claude.
Rocket has played “lip service” to investing in MultiValue technology to position its growth into the future. Is this UniVerse / Python integration further proof of that ?
Hello Elkie, thank you giving me the opportunity to share our direction with Python. Rocket’s done a lot more than play “lip service” to investing in MultiValue technology. As you know, we have proven that we continuously develop Rocket MultiValue software. And now, the Python integration opens up a new direction for development. The flexibility that Python offers is a grand entrance into the previously unexplored landscape for the future of MV.
What role does Python play with a MultiValue database ? Does it replace MV Basic (UniVerse BASIC / UniBasic) as the programming language ?
Not really. I wouldn’t say it “replaces” but rather extends the possibilities available to a developer.
This integration has been developed in three key areas:
- From a Python program we offer the ability to directly access a MV file, and read, update, manipulate data (CRUD operations), totally outside a Basic program.
- From a UniVerse BASIC program you can directly call Python functionality. This means that the large library of Python functionality is now available to a MV programmer.
- From a Python program you can directly call Basic subroutines, so we’re allowing the huge investment in MV applications to be shared with another development environment.
If an application is being developed on UniVerse or UniData, could part of it be developed in Python and part of it using UniVerse BASIC / UniBasic or does it have to be in one of the other ?
We can now mix-and-match development environments. If it makes sense to develop part of the application in Python - and have Basic call that functionality – we can do this. Similarly, if there is a Python application that requires MV functionality - we can also do that. For example, one of partners wanted to perform some image manipulation from their MV application. He asked us to add this functionality to MV Basic, but also informed us that he can do image manipulation using Python. So rather than incorporating this functionality into our native development environments with Basic, we decided to leverage easy access to existing functionality within Python.
What advantages are there to using Python ?
Python gives new agility, advanced features, packages, easy to learn. It’s well-known, well-liked and very active. Python is one of the most popular language for teaching introductory computer science courses in universities. Also, there is a large user community – check out Python.org and the meetup groups for Python across the world.
Would a software house consider changing from using UniVerse BASIC / UniBasic as its programming language to Python ?
We expect existing software houses would not stop using MV Basic, but rather would simply add Python to the mix.
Adding Python as a language has numerous advantages and offers additional flexibility. Finding and/or training new talent, and retaining new hires could be easier since Python is so popular with developers. Also, a software house could integrate with a growing list of external providers e.g. Amazon, Google etc. In addition, they could benefit from extending the functionality of their app using Python libraries and also reduce time to market.
Before Rocket embarked along the Python route, did they consider any other languages ?
Why was Python chosen ?
Python is liked by our existing developers, it offers a lot of tried and tested additional functionality to applications, and continues to be well received in the marketplace. And so far, we’ve not heard any strong objections to our choice.
So what can you do with the Python-MV integration ?
We have developed a MV Python module that will be imported into Python code. As previously mentioned, we can then call MV Basic subroutines, run ECL/TCL commands, perform CRUD operations on an MV file, manipulate dynamic arrays and select lists and observe transaction boundaries and processing. There is also MV Basic capabilities to call Python functionality directly.
What’s the take up been for the Python-MV integration ? Is it just people testing it out or are some companies developing commercially with it ?
We are running a very successful Beta program with UniData and Python and are currently doing the same with UniVerse. These developments are not officially released yet, but we have been asked if we can offer what we have done so far out. The MV-Python integration is scheduled to be released in with both UniVerse and UniData in 2016.
So, you mentioned UniVerse and UniData. Will you be rolling out a Python integration for D3 ?
So far it is being developed for UniData and UniVerse, and we’re talking to our D3 customers as to whether this is of interest. Any D3 customers who see a need and benefit email us at D3MVSales@rs.com.
Has Rocket get any other integrations coming to market?
Yes, most definitely. We are working on integration of MV with the Rocket Mobile Application Builder. The Mobile Application environment consumes MV RESTful web services and offers them as part of a mobile (phone/tablet) application. We have also enabled MV recognition in the Rocket Aldon Application Lifecycle Manager. This tool allows a MV application to be included and as well as programs, items from Data and Dictionary files are part of an application’s lifecycle. If you want to know more about these and other integrations, come to our Rocket MultiValue University event on October 5 – 8, 2015 in Las Vegas.
In summary, if you were a commercial software house or end user, why would you also use Python in addition to MV Basic ?
With Python integration, we offer ready and easy access to a vast array of proven functionalities which can be incorporated into an existing MV application. Note that there is already a large pool of Python skills existing in the market place. Python is being aggressively developed by a large user community and the way we have added this functionality offers the chance to do this at the speed which is most beneficial.
If someone would like more information about Python and Rocket MultiValue, where can they go or who should they contact ?
They could attend MVU2015. If you would like to learn more about what sessions on Python are being given at MVU, watch this short MV and Python at MVU2015 – 1 Minute Video: https://www.rocketsoftware.com/rocket-mvu-why-attend
Existing customers can contact their Rocket account manager, and we can then provide further information or have them included in the ongoing Beta programs. Alternatively contact us at firstname.lastname@example.org.