MVIS and other ways to Access U2 Data
As a Sales Engineer, a question I often get from customers is, “Which API (application programming interface) should I use?”
I usually will answer “It depends”. In this article I will discuss the APIs and the “depends”. Hope you’ll find it useful and informative.
Of all the U2 APIs, I prefer MVIS because RESTful services have become a standard API interface that natively supports the nested data model. Many of our customers have replaced U2REST with MVIS, and are realizing the benefits of automation, integration, and ease of use. (a.k.a. “how to get your new features and applications to market faster”) In addition, many have found that it dovetails into their broader modernization strategy. This enables customers to develop web/mobile applications without needing to know about U2. Customers using ODBC with desktop applications like Excel, could now offer a RESTful services interface and not have to use VSG or HS.ADMIN to define ODBC access. Just like XML, JSON is a great data format for multivalued records but easier to use. What’s New in Rocket MultiValue Integration Server | Rocket Software
Like U2 REST, MVIS 1.3 is now free to our customers and partners with an active maintenance agreement. Contact me for details.
I’m looking forward to consulting with you to understand your use cases and how MVIS may fit your needs.
Let’s begin with the client APIs that are available for UniVerse and UniData.
The U2 Clients on Windows software can be downloaded at: RBC | Rocket Business Connect
It contains the following:
Dynamic Connect – Terminal Emulation software that also supports device licensing which enables multiple sessions to use one database connection. Based on the popular wIntegrate TE software, it is provided as a free Telnet client interface.
Customers who are using wIntegrate can export their data to various file formats including xls, docx, cvs, xml, html and pdf.
wIntegrate offers an easy solution for getting MultiVale (MV) data into desktop applications on demand or via a schedule. Customers can request a 30-day trial version of wIntegrate from RBC .
Intercall64 – API that enables a UNIX or Windows client to access data on UniVerse and UniData servers. With InterCall, your applications can:
- Connect to one or more servers
- Access files and records
- Execute database commands and BASIC programs
On Windows, you can write applications for client programs using any development tool that accesses DLLs. For example, Visual Basic, C, or Visual C/C++. With UNIX, you can use any tool that accesses static libraries, typically a C compiler.
Customers using Intercall are converting to newer APIs for easier support.
UCI (32&64) – Is referred to as a SQL call interface because it is an API that uses function calls to invoke dynamic SQL statements. Converting to newer APIs allows for easier support. This API doesn’t support device licensing or connection pooling.
JDBC –Offers a SQL interface for JAVA applications. This API can use device licensing or connection pooling. Customers use this API for calling BASIC SUBROUTINES from web applications.
ODBC –Offers a SQL interface for Windows applications. Used in device licensing, customers have to prepare their data files for SQL access using HS.ADMIN (UniVerse) or VSG (UniData).
The UO.NET API is being replaced by the U2 .NET Toolkit for Providers, in a separate download . There is also the UOJ (UniObjects for Java) API. Both APIs can use connection pool licenses or device licensing. Customers using UO.NET are moving to the .NET Toolkit. There is also the U2 .NET Toolkit for Developers, another download which provides an interface for creating U2 Data Sources and reducing Visual Studio coding. This API requires a no-charge license to activate the product.
The remaining tools available for download are VSG (Visual Schema Generator) for UniData customers using the U2 ODBC driver and the SSL Configuration Editor (Secure Sockets Layer) software used to create/maintain SSL certificates. The documentation for the U2 Client APIs is also included.
The U2 DBTools have the following:
U2 BASIC Developer Toolkit (BDT) Provides a modern integrated development environment. BDT’s code editor helps developers write code more efficiently while achieving better readability and maintainability. It also provides advanced features such as in-line syntax checking, code completion, hover help, refactoring, code style templates, compiling and cataloguing programs, ability to edit dynamic arrays and HTML, as well as many other capabilities useful to experienced and new programmers alike. BDT’s debugger allows line-by-line code execution, stepping into and over a subroutine, setting breakpoints, watching variables, and attaching to a background program. With the introduction of MV BASIC for VS Code, BDT usage may decline. Here is a video for additional information.
U2 EDA REPLICATION CONFIG TOOL – This tool enables U2 to replicate files to another account on the publisher as EDA tables. Not recommended due to system resources that EDA may consume that may impact performance. Preferred method is to replicate files to a subscriber.
U2 EDA SCHEMA MANAGER – This tool enables you to convert U2 files to an external database format. Use the EDA Schema Manager to create a mapping file, called an EDA schema, for the U2 file you are converting to the external database. Next, use the mapping file to convert the U2 data to the external database format. U2 Replication is the preferred method to use when implementing EDA to avoid performance issues on a production system.
U2 Extensible Administration Tool – Customize the XAdmin tool to administer your U2 database server. This tool provides all the admin tasks for U2. Please review the U2 DBTools documentation for instructions on each Admin Task.
U2 Metadata Manager –The U2 Metadata Manager (MDM) is used to view the dictionary, define metadata, and create 1NF maps of metadata files. MDM is helpful when you create SQL-compliant files for JDBC and ODBC applications. This tool is no longer supported.
U2 RESTful Web Services Developer – U2 RESTful web services (U2 REST) consists of a U2 REST server and the U2 RESTful Web Services Developer, which is an Eclipse-based development tool. Using U2 REST, you can quickly and easily expose U2 data and subroutines as RESTful resources that are accessible through the environment that you use to debug and deploy web services. This product has been replaced by the MultiValue Integration Server (MVIS). We’ve created a short video outlining many of the benefits of MVIS vs U2 REST.
Web Services Developer – Use the U2 Web Services Developer to define and publish U2 resources, such as data files and subroutines, to a U2 SOAP server. This tool can use either database or connection pool licenses.
U2 XML/DB Mapping Tool – allows developers to create mapping files using information from U2 files, DTDs, and XML schemas. Using a graphical point-and-click environment, developers can create a map file within minutes, potentially saving a great deal of time. For simple applications, these functions may be useful for developers. The XDOM and XMAP APIs are more robust, therefore are more often used by developers today. For more information about these BASIC functions, see the UniVerse 11.3.1 BASIC Extensions Guide or the UniData 8.2.1 UniBasic Extensions guide. Also look at XML capabilities within Rocket U2 UniData and UniVerse in this article, Understanding Rocket U2 XML Features – The Rocket MultiValue Blog (rocketsoftware.com)
UOPY – The newest API enables Python applications to interface with U2. Rocket Software Launches Free UniObjects for Python (UOPY) Offering | Rocket Software. Programmers can now develop full stack in a single, modern language, use the entire Python ecosystem with many third-party libraries, and remotely access MultiValue servers in Python. The Pythonic interface and capabilities of UOPY allow organizations to spend less time and money developing, maintaining, and supporting their applications.