Rocket U2 | UniVerse & UniData

 View Only
Expand all | Collapse all

Universe & Modern Web Development

  • 1.  Universe & Modern Web Development

    Posted 03-07-2024 23:26

    Hello All,

    We have a huge bunch of UniVerse Basic Routine. Now we wish to move to the modern world..specifically ASP.NET. 

    How should we go about doing this ? While keeping the structure intact and reusing the UV Basic Routine ?



    ------------------------------
    Koon MIng Fong
    Mr
    P & O Global Technologies SDN. BHD.
    KUALA LUMPUR MY
    ------------------------------


  • 2.  RE: Universe & Modern Web Development

    Posted 03-08-2024 07:51

    Well how we started was to first analyze how the users were actually using the system.  If we could find a cluster of users who only ever did one or two different things, like look up the budget, or enter their time cards, we tackled those isolated things first.  That way these people could use .Net and reduce the number of licenses.



    ------------------------------
    Will Johnson
    Systems Analyst
    Rocket Forum Shared Account
    ------------------------------



  • 3.  RE: Universe & Modern Web Development

    Posted 03-08-2024 09:30

    Hello, Koon.

      Is your search limited just to ASP.NET? We have developed a framework that would let you reuse all your BASIC business logic, plus control your web app from the MV server side. The framework works on top on Rocket MVIS, and let's you create web applications easily and rapidly. In the browser side, Javascript and Bootstrap are used, so web applications run in every browser and are responsive in any device (desktops, tablets, smart phones).  Authentication is done using OAuth 2.0, supporting Okta, Auth0, Azure and Google. The components of the web application are built using web tools, and all the web form's events are controlled from the MV server, so you don't need to learn Javascript, .Net, or any new language, you just use BASIC.

    The Google Maps integration allow you to embed Google Maps in the web application forms and drow on them, and the Google Charts integration that will be ready soon will allow you to create dynamic dashboards. 

    Finally, the framework has also tools to quickly implement RESTful APIs, automating the parsing and building of JSON objects.

    Feel free to contact me if you want more information.

    Regards,

    Enrique Murphy



    ------------------------------
    Enrique Ignacio Murphy
    Software Engineer
    Aleator SRL
    Argentina
    ------------------------------



  • 4.  RE: Universe & Modern Web Development

    ROCKETEER
    Posted 03-08-2024 10:03

    Adding on to Enrique's comments, the Rocket MVIS tool is free to all customers with active maintenance on Universe / Unidata  (more to come).   So no cost to use and you can reuse your BASIC code with MVIS (may require a simple wrapper), your data output is in the form of dynamic arrays including multi-values and sub-values.  MVIS does all the heavy lifting in creating the JSON output from the array and hosting the REST server.  The use of REST continues to grow as a standard API as well as the tools to develop web applications.  Good luck!



    ------------------------------
    Mark Sapp
    Senior Software Developer
    Rocket Internal - All Brands
    ------------------------------



  • 5.  RE: Universe & Modern Web Development

    Posted 03-08-2024 23:52

    Hi Mark,

    You are saying the MVIS will perform the conversion from Dynamic Array to JSON ?  and vice versa ?



    ------------------------------
    Koon MIng Fong
    Mr
    P & O Global Technologies SDN. BHD.
    KUALA LUMPUR MY
    ------------------------------



  • 6.  RE: Universe & Modern Web Development

    ROCKETEER
    Posted 03-12-2024 10:18

    Hi Koon Ming Fong, 

    Short answer: Yes.  There are two types of delivery methods from the backend data via the MVIS server - Subroutine resources or Data resources. With subroutine resources you define the subroutine parameters and for those returned from the subroutine, you "map" the dynamic array elements and create the labels for the JSON output.  The mapping handles single-, multi- and sub-values. No need to flatten data!  Data resources references the dictionary.  I have done a lot of data integration projects where I set up a rest endpoint for the ETL tool to pull over data to other systems, like Oracle, Salesforce, etc. JSON is pretty much a standard these days and I can replace all the other various methods  (SOAP, XML, etc.) using MVIS.  Leveraging existing basic code makes it very easy (and fast) to create REST endpoints.  It's become my favorite tool in my toolbox.

    I highly recommend that you request a demo - here are some links for more information;

    https://www.rocketsoftware.com/products/rocket-multivalue-application-development-platform/rocket-mvis/request-demo?metanode=/products/rocket-multivalue-application-development-platform/rocket-mvis
    https://www.rocketsoftware.com/products/rocket-multivalue-application-development-platform/rocket-mvis
    https://www.rocketsoftware.com/blogs/using-mvis-rocket-intern-quickly-creates-app-mvoovies

    Regards,

    Mark



    ------------------------------
    Mark Sapp
    Senior Software Developer
    Rocket Internal - All Brands
    ------------------------------



  • 7.  RE: Universe & Modern Web Development

    Posted 03-13-2024 04:46

    Hi Mark,

    MVIS is something I will seriously look into..

    Thanks..



    ------------------------------
    Koon MIng Fong
    Mr
    P & O Global Technologies SDN. BHD.
    KUALA LUMPUR MY
    ------------------------------



  • 8.  RE: Universe & Modern Web Development

    Posted 03-13-2024 12:46

    Hello,

    are there any working samples on setting up and using MVIS with a website? 

    thanks 



    ------------------------------
    Peter Gonzalez
    St. Louis, MO US
    ------------------------------



  • 9.  RE: Universe & Modern Web Development

    Posted 03-08-2024 23:50

    Yes...its limited to .NET aka ASP.NET



    ------------------------------
    Koon MIng Fong
    Mr
    P & O Global Technologies SDN. BHD.
    KUALA LUMPUR MY
    ------------------------------



  • 10.  RE: Universe & Modern Web Development

    Posted 03-10-2024 06:35

    That is a short question with a big answer!

    Firstly, from the front end it doesn't really matter whether you use Angular, ASP.NET, Blazor, Vue, React ... they are all more similar than different, and it comes down to skillsets, learning curves and how much money you want to throw at them. None of them care about backward compatibility so you will be rewriting them forever anyway! If you design it along RESTful principles with proper isolation, you should be able to swap out without too much trouble in future.

    The back end is what matters, and for that it is best to reuse as much as possible and certainly to use subroutines. As with all multi-layered solutions for MultiValue, the key is not to be seduced into moving your business rules outside the platform: that is what UniVerse etc. do best and it makes it far easier and quicker in the long run to let the platform do its job.

    If your subroutines are well designed they can be easily surfaced and, crucially, unit and regression tested. The more layers you add to the solution, the harder it is to see what is going on. Obviously the first thing, once you have your requirements, will be to work out the dependencies and whether your existing code relies on state: common blocks, user interaction, security based on a logged in user, port number used to key temporary items, record locking and so forth. All those will need to be re-engineered so they can be called in a stateless environment. You can do this over time if you are keeping your existing interfaces and just design them to be called from both. It's also a good opportunity to revisit your code and refactor :)

    I use REST with a despatcher pattern, where the calls identify a method mapped to a handler subroutine or Python class based on definitions. This allows me to augment each of those method definitions with security, logging, replay, metrics and so forth so I can reproduce any problems quickly especially during development. The despatcher means I can write and test my back end methods before the front end is written, as that usually takes a lot longer.

    As others have said, MVIS can do some of the heavy lifting mapping results to JSON.  You can also make use of the Python integration as that treats JSON in a natural way, mapping it directly onto Python types. I've found I prefer to use a separate map to convert, as I can easily change that when there are 'differences in communications' between the front end developers, and the map allows me more flexibility - I can quickly change names, add in related data, perform conversions and so on.

    The other piece I introduced was an intermediate despatcher written in .NET. This acts as the endpoint for the REST calls, forwarding requests to U2 RESTful services or MVIS. It means the .NET side can keep up with any changes in web standards, introduce its own authentication and cache certain requests on demand for static data lookups to reduce the load on the server. The first two are going to be less of an issue with MVIS but were problematic with U2 REST. You can read a short blog post about this at www.mvdeveloper.com.

    All good clean fun.

    Brian



    ------------------------------
    Brian Leach
    Director
    Brian Leach Consulting
    Chipping Norton GB
    ------------------------------



  • 11.  RE: Universe & Modern Web Development

    Posted 03-13-2024 05:14

    Hi Brian,

    I have done it with classis ASP many years ago...its using some dynamic string parser..(some COM component). Did some custom Grid components to cater for those multivalue fields. Meaning that I have already refactor those subroutines to be WEB friendly.

    Maybe by using something like MVIS I would be able to directly consume the dynamic string as JSON. This way I would directly map to my .NET objects and use any commercially available ASP.NET (Blazor) components.

    Thanks for you lengthy explanation..will seriously consider MVIS for this task.

    BTW your link www.mvdeveloper.com is down.



    ------------------------------
    Koon MIng Fong
    Mr
    P & O Global Technologies SDN. BHD.
    KUALA LUMPUR MY
    ------------------------------



  • 12.  RE: Universe & Modern Web Development

    Posted 03-13-2024 05:38

    Hi Koon Ming Fong

    Sounds like you have already done the heavy lifting. Yes, MVIS will convert between JSON and dynamic arrays quickly, and you can also pass raw JSON across and use either UDOs or Python at the back end if you want more control over the final layout. The nice thing is you can mix and match.

    Thanks for the heads' up - it seems this forum editor automatically sticks http at the front, not https. So it's https://www.mvdeveloper.com.

    Good luck!



    ------------------------------
    Brian Leach
    Director
    Brian Leach Consulting
    Chipping Norton GB
    ------------------------------



  • 13.  RE: Universe & Modern Web Development

    Posted 03-13-2024 23:59

    Hi Brian,

    Those are the COM era..not all components not supported anymore...so I have to redo...either i stick with dynamic array all the way..or convert to JSON...

    Thats my though process now...



    ------------------------------
    Koon MIng Fong
    Mr
    P & O Global Technologies SDN. BHD.
    KUALA LUMPUR MY
    ------------------------------