Login Form

Welcome to Jumps!

Jumps - "Java™ from MUMPS", is a comprehensive framework for automated migration from MUMPS language and runtime, to Java™ and relational databases. Jumps allows a gradual migration of legacy MUMPS systems, code and database, to Java™ systems working with relational databases. The migration process is fully automated: It only requires mapping of the MUMPS hierarchical database schema into a relational one. Jumps is implemented as a compiler that compiles MUMPS code into Java™ code. The legacy database is mapped using a built-in tool and the relational DB schema is automatically created. The data is also imported automatically.

What is Jumps for?

MUMPS (which stands for Massachussets General Hospital Utility Multiprograming System) is a programming language combined with a hierarchical database. MUMPS was developed in the late 1960s and its standard was approved by ANSI in 1977. Today MUMPS has a large user community, mainly in the medical market. Leaving aside the discussion whether MUMPS is good or bad, MUMPS is a niche. The relational model has become the standard one, and SQL has become the standard query language. The number of MUMPS implementors has decreased dramatically over the past few years, to a single major implmentation, which has drifted away from the standard MUMPS into proprietary technology. The goal is clear: migrate; the question is how, and what to. Many software vendors and large in-house software groups have attempted manual migration in the past years. This is a rather expensive and failure-prone task, since it involves development of the applications from scratch. Furthermore, the migration is painful, since the MUMPS system and the relational one, are completely different, resulting in huge development and support costs.

What is Jumps? 

Jumps allows automatic, gradual migration of MUMPS systems to RDBMS/Java™. It is actually a MUMPS implementation with a twist:

  1. The MUMPS source code is compiled once into Java™ code. This code relies on a MUMPS implementation runtime library, written in Java™, that supports all the MUMPS language features, as well as DB native access (SET, “get”, $ORDER(),...). 
  2. Database access is mapped into relational access during runtime, using optimized SQL statements.

Image

Jumps key features

  1. Automatic code migration. Original source code remains the same. This is critical for software vendors that wish to deploy their applications on relational databases as well as on legacy MUMPS systems.
  2. Natural relational database schema. The database mapping should result in a natural relational schema, which will allow development of new applications using relational tools, such as Oracle JDeveloper. This is achieved by a powerful and easy database mapping mechanism.
  3. Simple migration process. The migration requires a one time compilation of each MUMPS routine and the mapping of the MUMPS globals (hierarchical schema) into tables (relational schema). The creation of the relational schema and the data migration are automatic, as this might be performed a few times in the migration process, in different migration phases or migrated sites.
  4. Excellent performance of the target (i.e. migrated) system, compared to the legacy systems. High performance is a result of various SQL access optimizations, caching and pooling mechanisms.

How can Jumps help you?

If you have come to the desicion of modernizing a MUMPS application, Jumps will allow quick migration to modern technologies; All it takes is the database mapping procedure and the automatic compilation -  your application is now a Java™ application interfacing with a relational database.

From that stage you can either:

  • continue development in MUMPS, recompiling altered and new MUMPS code using Jumps IDE, and updating the relational schema with Jumps Database Mapping, or
  • develop new modules from scratch in Java™, gradually rewriting the application in a standard technology.

You can find out more about Jumps technology here.