Rocket U2 | UniVerse & UniData

 View Only
Expand all | Collapse all

Multivalue Enhancements

  • 1.  Multivalue Enhancements

    Posted 02-06-2023 16:28

    I get a lot of survey's everyday. I have received several from Rocket Software on what I would like to see as Enhancements to UniVerse in particular, but multivalue in general. I thought I would toss this our for discussion with the forum members. Any thoughts?

    Multivalue Enhancements

    1. Better overall performance
      1. Multithread using data reader/data writer
      2. Compile into IL that can be optimized on a given architecture (ECMA 335)
      3. Improve connection to alternate database types
        1. SQL
        2. No-SQL
    • OS Independent
    1. OpenQM data type validation, better data cleansing
    2. Improve database mirroring
    3. Improve Transaction processing
    4. Improve Publisher/Subscriber performance
    5. Better use of improved system resources
    6. Configuration Expert System, Machine Learning
    1. Better development environment
      1. Visual Code with ability to work on remote servers and multiple accounts
      2. VC graphical compiling, cataloging and debugging
      3. Extensible Terminal emulator
      4. Lint type program to identify problems and poor programming practices
      5. Need something for code delivery (CI/CD)
      6. Need something for source code control
      7. Common Application Error Logging (Fluent)
    2. Improve Compiler
      1. Better optimization
      2. Recognize dead code
      3. Move loop-invariant code
      4. Identify multithreaded opportunities
      5. Multithreaded Libraries
      6. Unroll Loops, multiple threads on a single select list
      7. Hint statements for threading
      8. See 1b above
    3. Drastically improve web/mobile integration
      1. New applications will be web and mobile
      2. Built in Web Server with BASIC hooks
      3. BASIC scripting with web assembly for browser
      4. Too much emphasis on terminal and GUI
    4. Open Source training
      1. Difficult to find young development talent
      2. Green Screen and Line editors, Ugh…
      3. Difficult to find Beginner to Expert training for all products
    5. Better integration with outside sources
      1. ESB with Mule or Zato
      2. Connect with payment, sales tax, address validation, financial sources, etc.
      3. Connect with BASIC using fault tolerant connections
      4. Connect to IoT
    6. Floating Licenses
      1. Need to have Rocket Software license service to validate license on startup
      2. Docker containers, VMs not operational all of the time
      3. Development licenses
      4. User ability to free up licenses not in use
      5. Rental fee with maintenance for daily, weekly, monthly and annual


    ------------------------------
    Jon Kristofferson
    Pick Programmer
    Snap-on Credit LLC
    Libertyville IL US
    ------------------------------


  • 2.  RE: Multivalue Enhancements

    Posted 02-06-2023 18:48
    Edited by Christine Rizza 02-07-2023 13:31
    I worked for a company that create an amazing editor for Universe, Unidata, D3, and QM. 
    Heres is what you wrote:
    1. Visual Code with the ability to work on remote servers and multiple accounts (Does)
    2. VC graphical compiling, cataloging, and debugging
    3. Extensible Terminal emulator
    4. Lint-type program to identify problems and poor programming practices
    5. Need something for code delivery (CI/CD)  (Does)
    6. Need something for source code control (Does)
    7. Common Application Error Logging (Fluent)

    Here is a not-so-complete list of things I remember:
    1. Keeps the connection alive like telnet
    2. Allows record locking
    3. Allows before read, before write, and before delete calls
    4. Allows the BASICTYPE for Unidata to compile
    5. Outline for external and internal subroutines
    6. Outline for global variables and program labels
    7. Supports source control like GIT, SVN, and Team Foundation
    8. Compiles the code as you type
    9. Can have multiple accounts and machines open at one time even remote client servers
    10. Hit F3 to open subroutines and includes.
    That is the end of the memory dump.

    ------------------------------
    Allison Livingston
    99 Cents Only Stores LLC
    Commerce CA US
    ------------------------------



  • 3.  RE: Multivalue Enhancements

    Posted 02-06-2023 21:30
    Enhancements to columnar reports like QM would be great, including
    -  abililty to define fonts and colours, especially in headings
    -  number of pages, so can have Page n of m pages
    -  ability to have "pyjama shading" (every second line shaded background)
    -  ability to have break description at start, so gives heading for the lines below
       -  eg customer name
                       dd-mm-yy   activity amount  more details
                       dd-mm-yy   activity amount  more details                   
                       dd-mm-yy   activity amount  more details
                customer name tots     total amount .....
    IIRC, there are lots of things that allow reports which look very old fashioned in UV look more elegant and easy to read


    ------------------------------
    Kate Stanton
    Software Developer
    Walstan Systems
    AUCKLAND NZ
    ------------------------------



  • 4.  RE: Multivalue Enhancements

    Posted 02-07-2023 20:48
    Hi Jon,
      I think I could help the MV community in the second point 4 you mentioned, "Drastically improve web/mobile integration". I have developed a web framework that lets you build a full web application using just MV Basic. I originally built it with other MV tool, but since the release of MVIS, I saw I could re-engineer it to be a Universe + MVIS + Javascript web framework, and I am doing that, hoping to finish within the next two months. The original framework allowed me and my team to build a huge (not small at all) web application that was fully proven over more than 10 years and is still running. The main benefit of it is that you don't need to learn any web programming language, no Javascript, no Java, no .Net, just plain MV Basic!
      This framework would allow teams of MV developers to drastically improve the time required to move an entire MV system to the web, as we have done with the original MV system, without the need of web programmers teams!. But, as every modernization process, it would involve to re-engineer the MV code to allow it to serve a web application. But it is all for the sake of good architecture and programming  methods...
      Regards,
      Enrique

    ------------------------------
    Enrique Murphy
    Software Engineer
    Aleator SRL
    Bahía Blanca AR
    ------------------------------



  • 5.  RE: Multivalue Enhancements

    Posted 02-08-2023 08:57
    Enrique. Is there a public website that I can look at with your MV framework?   TIA

    ------------------------------
    Peter Gonzalez
    Programmer/Systems Analyst/EDI Developer
    Self Registered
    St. Louis MO US
    ------------------------------



  • 6.  RE: Multivalue Enhancements

    Posted 02-08-2023 14:00
    Hi Peter,

      There are, but they are customer's production systems. We could arrange a meet so I can show you the actual (original) framework in action, and the status of the UV + MVIS + Javascript, the second generation.

      Regards,
      Enrique

    ------------------------------
    Enrique Murphy
    Software Engineer
    Aleator SRL
    Bahía Blanca AR
    ------------------------------



  • 7.  RE: Multivalue Enhancements

    Posted 02-08-2023 23:00
    Edited by Darren Johnson 02-08-2023 23:00

    Hi,

    There is a Demo Site presenting Universe as the Backend Utilizing Unibasic, UniObjects & MVIS hosted on AWS as per Rockets v12 Universe Supporting Angular SPA as the Front-End. 

    https://rocket-demo-68270.web.app/login

    Contact me to turn on the Universe AWS server when you want to access the Demo



    ------------------------------
    [Darren] [Johnson] [Australia]
    [Snr Dev Engineer]
    [Indue]
    [Brisbane] [QLD] [Australia]
    ------------------------------



  • 8.  RE: Multivalue Enhancements

    Posted 02-09-2023 14:15

    Darren,

    Yes, I would like to see how this website works. thanks.



    ------------------------------
    Peter Gonzalez
    Programmer/Systems Analyst/EDI Developer
    Self Registered
    St. Louis MO US
    ------------------------------



  • 9.  RE: Multivalue Enhancements

    Posted 02-09-2023 16:14

    Hi Darren, 

        I think we are talking about different things. As you say well, MVIS allows you to feed or support MV data to an Angular, React, or any other JS framework. But then you have to program in Angular or React the rendering of the MV data, in which case you have to learn Typescript or Javascript. The main benefit of the framework I am finishing is that you don't have to write a single line of Javascript, Typescript, Java or any other language that MV Basic. You create forms using a web interface, and then program one MV Basic handler for each form. In the MV Basic handler you call MV Basic functions provided by the framework to build the JSON response to send to the browser through MVIS, and the Javascript side of the framework renders the JSON into the SPA. When the user submits a form in the browser, functions of the framework process the JSON returned by the browser, and gives your MV Basic handler an Id and an dynamic array with the contents of the submitted data, including associated MVs and ICONVed data. This feature is what makes your web programming much faster, since you don't need two separate developement teams, you do it all from the MV side!

      ¡Saludos!

      Enrique



    ------------------------------
    Enrique Murphy
    Software Engineer
    Aleator SRL
    Bahía Blanca AR
    ------------------------------



  • 10.  RE: Multivalue Enhancements

    Posted 02-09-2023 19:10

    Hi Enrique,

    Perfect. It would be great to read a white paper on this architecture. Our Architecture was designed to remove the Full-Stack Developer & leverage the Back-End & Front-End Development Team. Looking to spread our dependencies & take advantage of PrimeNG collection of rich UI components for Angular



    ------------------------------
    [Darren] [Johnson] [Australia]
    [Snr Dev Engineer]
    [Indue]
    [Brisbane] [QLD] [Australia]
    ------------------------------



  • 11.  RE: Multivalue Enhancements

    Posted 02-10-2023 08:16

    Hi Darren,

      In short I'll be posting more info, and see if I can make some video, and have a test user on some test site to play with.

      Saludos,

      Enrique



    ------------------------------
    Enrique Murphy
    Software Engineer
    Aleator SRL
    Bahía Blanca AR
    ------------------------------



  • 12.  RE: Multivalue Enhancements

    Posted 06-23-2023 14:01

    Hi, Enrique.

    It looks like you are using UV. Would it also work for JBase or QM?

    Thanks!

    Lamont



    ------------------------------
    Lamont Lockwood
    Partner Manager
    Rocket Forum Shared Account
    ------------------------------



  • 13.  RE: Multivalue Enhancements

    Posted 02-10-2023 09:13

    Concerning universe and unidata themselves I think there are many low hanging fruit options to making these two better. Since I have now switched repeatedly between different forms of PICK, the latest being unidata to universe, the tools that help me do my programming job more efficiently on one vs the other are the obvious first step. For instance, I was just told on here that the universe version of list.readu will show the filename of the lock in the listing starting in release 12. Low hanging fruit! Take the version that works best, and make it available on the other platforms. Other low hanging fruit includes the debugger - the options and formats should be available across platforms.

    On top of that - I agree that getting pick to integrate easily on the web, apps, etc is where we need to go to stay viable. I know there are ways now, as a normal 'pickie' however, I really don't have time to learn and implement other languages to get this to work. Accuterm is supposed to be semi seamless but I have yet to see it work - perhaps a class or in depth demo on that?



    ------------------------------
    Kathleen Hambrick
    Programmer at Colwell
    ------------------------------



  • 14.  RE: Multivalue Enhancements

    PARTNER
    Posted 02-21-2023 10:00
    Edited by Christine Rizza 02-21-2023 09:59

    On your point 4 about web integration. I always thought that an API was the way to go instead of redoing what AccuTerm or wIntegrate does with loading your BASIC code with more subroutines. If you can pass JSON to and from UniBasic in Universe/Unidata, that solves most of the issues because the web does not understand the dot's in our dictionaries. Using the web instead of one-for-one on database licenses since most of the users are not active is definitely the way to go. Also, having real HTML/JavaScript/CSS on your website allows you to do a majority of the validation on the client instead of the database. Instead of trying to find programmers that understand Universe/Unidata you can get Code School programmers that understand HTML/JavaScript/CSS and use them to customize the code as needed without having to change UniBasic code. 

    That is my take.



    ------------------------------
    Doug Averch
    Owner
    U2 Logic
    ------------------------------



  • 15.  RE: Multivalue Enhancements

    Posted 02-22-2023 09:19

    Hi Dough,

      I faced the challenge of creating a web application for a MV database back in 2008. Back there, the only thing I had at hand was a CGI to receive requests and return responses from Revelation's OpenInsight. So using this, I started from zero reading about how to build a web application. I can tell it is wasn't so easy, soon I had to deal with stateless forms, navigation stack, events, MV fields, ICONV / OCONV. Finally I could get to work an initial version, and through the years I added features to it. Today I have this framework that lets you build up your application completely using a web interface (made with the FW itself...), and provides a set of BASIC functions that manage both the received JSON (parsing it and giving you a dynamic array), and building the response to send to the browser. 

      Why I am telling all this. I see mainly two kind of web applications you would have to build. One kind are web applications that are going to be used by your customer's customers, or by people who are not the users of your system, as customer's portals, or any other of application like that. These are generally small applications, just a few windows, but may require web integrations as with payment sites, with social media, etc. These apps need little information from the MV side, so they are better built by a specialized new tools team using React, Angular, or any other modern FW. This can be perfectly done with the actual Rocket's MVIS.

      But there is another modernization effort, that is the modernization of the full systems used by your customer's employees. This is the point which I see, and alway saw, really more difficult, and time consuming. One thing is to build a customer's portal, and ask the MV database for the info to show in it, and another is to reproduce the full menu tree of an administrative application. That is exactly the spirit and purpose of the Multivalued Web Framework: not to build any application you want, but to rebuild all your character interface in web using a web application factory, without having to worry about how the front end works. The framework will build the forms you model, and call BASIC subroutines to let you handle in BASIC the validation and submission of the form. You receive the data in dynamic arrays, to apply your legacy bussiness logic in BASIC. The FW works on top of MVIS, so MVIS manages scalling and deploying.

      Soon I will build some white paper and demo screens or videos to share here.

      Regards,

      Enrique



    ------------------------------
    Enrique Murphy
    Software Engineer
    Aleator SRL
    Bahía Blanca AR
    ------------------------------