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...
P & O Global Technologies SDN. BHD.
Original Message:
Sent: 03-13-2024 05:38
From: Brian Leach
Subject: Universe & Modern Web Development
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
Original Message:
Sent: 03-13-2024 05:14
From: Koon MIng Fong
Subject: Universe & Modern Web Development
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
Original Message:
Sent: 03-10-2024 06:34
From: Brian Leach
Subject: Universe & Modern Web Development
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
Original Message:
Sent: 03-07-2024 23:25
From: Koon MIng Fong
Subject: Universe & Modern Web Development
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
------------------------------