Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Rewrite or...?

Rewrite or...?

Scheduled Pinned Locked Moved The Lounge
csharpjavascriptcloudcollaborationannouncement
46 Posts 31 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Sander RosselS Sander Rossel

    So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

    Greg UtasG Offline
    Greg UtasG Offline
    Greg Utas
    wrote on last edited by
    #3

    I have no experience with those technologies but have gone through rewrites that succeeded and others that failed, so I wrote an article[^] on the topic.

    Robust Services Core | Software Techniques for Lemmings | Articles
    The fox knows many things, but the hedgehog knows one big thing.

    <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
    <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

    Sander RosselS 1 Reply Last reply
    0
    • Sander RosselS Sander Rossel

      So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

      Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

      P Offline
      P Offline
      PIEBALDconsult
      wrote on last edited by
      #4

      Oooohhh... you should put it in The Cloud! ;P

      Sander RosselS 1 Reply Last reply
      0
      • Sander RosselS Sander Rossel

        So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

        abmvA Offline
        abmvA Offline
        abmv
        wrote on last edited by
        #5

        Based on your experience to develop such a web app from scratch you need to come up with the scope of work, the technology going to be used , the team that will be involved, the skill needed......and the man hours and the project development phases...all that needs to be submitted to the client.Taking that 20 year code and working with that along with all that sql and vb.net ooff

        Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

        We are in the beginning of a mass extinction. - Greta Thunberg

        1 Reply Last reply
        0
        • P PIEBALDconsult

          Oooohhh... you should put it in The Cloud! ;P

          Sander RosselS Offline
          Sander RosselS Offline
          Sander Rossel
          wrote on last edited by
          #6

          I know you're being sarcastic here, but that would absolutely have my preference.

          Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

          1 Reply Last reply
          0
          • C CPallini

            I am on the 'rewrite from scratch' side.

            "In testa che avete, Signor di Ceprano?" -- Rigoletto

            Sander RosselS Offline
            Sander RosselS Offline
            Sander Rossel
            wrote on last edited by
            #7

            Yeah, but unless you have a very solid plan and strategy that's destined to fail. You don't just rewrite 20 years of development.

            Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

            C J Q 3 Replies Last reply
            0
            • Sander RosselS Sander Rossel

              Yeah, but unless you have a very solid plan and strategy that's destined to fail. You don't just rewrite 20 years of development.

              Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

              C Offline
              C Offline
              CPallini
              wrote on last edited by
              #8

              Quote:

              You don't just rewrite 20 years of development.

              More than 30, in my case. :laugh:

              "In testa che avete, Signor di Ceprano?" -- Rigoletto

              1 Reply Last reply
              0
              • Greg UtasG Greg Utas

                I have no experience with those technologies but have gone through rewrites that succeeded and others that failed, so I wrote an article[^] on the topic.

                Robust Services Core | Software Techniques for Lemmings | Articles
                The fox knows many things, but the hedgehog knows one big thing.

                Sander RosselS Offline
                Sander RosselS Offline
                Sander Rossel
                wrote on last edited by
                #9

                Thanks, going to discuss some points with my client.

                Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                1 Reply Last reply
                0
                • Sander RosselS Sander Rossel

                  So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                  Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                  R Offline
                  R Offline
                  RickZeeland
                  wrote on last edited by
                  #10

                  As I'm not an experienced web developer, I would probably use magic[^] :-\

                  1 Reply Last reply
                  0
                  • Sander RosselS Sander Rossel

                    So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                    J Offline
                    J Offline
                    Jorgen Andersson
                    wrote on last edited by
                    #11

                    How much money and time do you have? Rewriting or porting an application is normally only 100% successful if it's built in a structured way. Hell know what's awaiting you in a bowl of spaghetti. I would start with refactoring the existing app into proper logical layers. (Move all sql-queries to a datalayer and all logics to a business layer and clean it up while doing so) If you feel that this is to hard or to much work, or get to much resistance from the existing developers, you probably already know it will fail. Otherwise you will have a good starting point for a rewrite. So as I see it, the choice isn't between refactor OR rewrite. You should do both. :laugh:

                    Wrong is evil and must be defeated. - Jeff Ello

                    1 Reply Last reply
                    0
                    • Sander RosselS Sander Rossel

                      So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                      Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #12

                      Before touching anything, you should have done a current logical and physical design analysis ("diagrams"); allowing you to tackle any "rewrites" in an an intelligent manner (priorities); instead of heading off in all directions.

                      "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                      1 Reply Last reply
                      0
                      • Sander RosselS Sander Rossel

                        So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                        D Offline
                        D Offline
                        DRHuff
                        wrote on last edited by
                        #13

                        Just ask the Witch to help you port it to the Teensy and she will rewrite it in a couple of days for you!

                        If you can't laugh at yourself - ask me and I will do it for you.

                        1 Reply Last reply
                        0
                        • Sander RosselS Sander Rossel

                          So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                          Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                          R Offline
                          R Offline
                          raddevus
                          wrote on last edited by
                          #14

                          The best quote for deciding on Green-field or Maintenance on Brown-field... "It is easier to give birth than raise the dead." ~unknown Build the new one!!! :rolleyes:

                          1 Reply Last reply
                          0
                          • Sander RosselS Sander Rossel

                            So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                            Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                            E Offline
                            E Offline
                            englebart
                            wrote on last edited by
                            #15

                            It sounds like you should be able to rewrite it a page at a time. Bonus: Have both deployed side by side so you can compare them/use them. Once they are happy with the new version, delete the old one.

                            1 Reply Last reply
                            0
                            • Sander RosselS Sander Rossel

                              Yeah, but unless you have a very solid plan and strategy that's destined to fail. You don't just rewrite 20 years of development.

                              Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                              J Offline
                              J Offline
                              jmaida
                              wrote on last edited by
                              #16

                              ditto

                              "A little time, a little trouble, your better day" Badfinger

                              1 Reply Last reply
                              0
                              • Sander RosselS Sander Rossel

                                So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                                Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                R Offline
                                R Offline
                                rob tillaart
                                wrote on last edited by
                                #17

                                > but it's beginning to show its age That is a vague problem description. What is the real problem? - performance, - concurrency, - GUI (look & feel) - quality of code, - no people that know the technology? - ....

                                Sander RosselS 1 Reply Last reply
                                0
                                • Sander RosselS Sander Rossel

                                  So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                                  Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                  H Offline
                                  H Offline
                                  HansTW
                                  wrote on last edited by
                                  #18

                                  Avoid doing a hard rewrite/relaunch, do a gentle "sunsetting" over time 1 Keep the old application but keep track of how many hits it gets 2 Make a new competing application, also tracking its hits Then launch them side-by-side, giving the user a choice about which one they want to use, maybe even having cross links to make them able to "jump to the other side". Keep a look at the statistics to see if the new one is gaining or losing. I think you get the basic idea. Suggested reading: https://medium.com/@herbcaudill/lessons-from-6-software-rewrite-stories-635e4c8f7c22[^]

                                  Sander RosselS 1 Reply Last reply
                                  0
                                  • Sander RosselS Sander Rossel

                                    So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                                    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                    P Offline
                                    P Offline
                                    Paul Sanders the other one
                                    wrote on last edited by
                                    #19

                                    You haven't given us any idea how big the system is (in terms of lines of code or whatever). Although, arguably, the bigger it is the more it would make sense to rewrite it rather than having to keep some old, creaking codebase working. I recently went through my entire C++ codebase replacing a lot of old-fashioned manual memory management with 'modern' C++ idioms. It was a daunting prospect initially but I am sooooooo glad I did it. So, I would say, if you can handle the issues that Sander (quite rightly) raises and have sufficient resources then I would go for it. Just my $0.02

                                    Paul Sanders. If I had more time, I would have written a shorter letter - Blaise Pascal. Some of my best work is in the undo buffer.

                                    Sander RosselS 1 Reply Last reply
                                    0
                                    • Sander RosselS Sander Rossel

                                      So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                                      Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                      C Offline
                                      C Offline
                                      Carl_Sharman
                                      wrote on last edited by
                                      #20

                                      Having been involved in a big ground-up rewrite (painful, everything takes longer than everybody thinks or is willing to stomach) I would tend to favour an incremental refactoring approach. So (if possible) put the new code in the same site as the old, and start replacing features one by one. I wouldn't envy the person who has to extract that SQL out of WebForms though!

                                      1 Reply Last reply
                                      0
                                      • Sander RosselS Sander Rossel

                                        So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                                        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                        M Offline
                                        M Offline
                                        maze3
                                        wrote on last edited by
                                        #21

                                        others likly given similar response, my basic points WHY, what does client or end user benefit. Developers are not the user that said - if want to reduce COSTS (time or money) for adding features, that a good why for client. Changing underlying code to fix "mistakes" (things that have newer ways, or low quality patterns) Platform compatibility. Main reason had to take a silverlight/lightswitch to HTML. Security issues maintenance vs feature add feature add turn around time and best for client - features that at the time of request could not, or costly to implement can be scoped in this work of redesign. Some of these features might replace existing features thus not need transfering.

                                        1 Reply Last reply
                                        0
                                        • Sander RosselS Sander Rossel

                                          So I have this customer who has this 20 year old web application. It works, it's still actively developed, but it's beginning to show its age (well, I guess it's been doing that for years). It's VB.NET Web Forms updated to the latest .NET Framework, 4.8. It's pretty much what you'd expect of something like that. SQL queries written directly into the HTML (or whatever you call the Web Forms HTML), a lot of roundtrips to the server, and XML web services. Most logic is written in SQL Server views, functions and stored procedures, which don't really have any sort of reliable source control. A lot of programmers wouldn't touch it with a stick. Now there have been discussions over whether or not we should do a rewrite, or in any other way update to something more modern. Maybe we can start by modernizing the generated HTML and CSS to make things more modern, like making the pages responsive. Replacing VB with C# would be a good move to attract developers in the future and to make use of newer language and VS features and we can hopefully do that page by page (for example, LINQ queries are a pain in VB!). Perhaps throw in some build and release pipelines (it's now copy/paste) and replace SVN with Git. I know rewrites are hard, expensive, and probably more often than not don't end well. Have you been in this situation? What did you do? Tips?

                                          Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                          K Offline
                                          K Offline
                                          kaserei
                                          wrote on last edited by
                                          #22

                                          I've awoken my old account just to chime in on this as I've had some recent, terrible experience here that might help. I'll try to keep my rants to a minimum. Sadly my last position was working in this tech stack, with over 150 customers using various versions of the product. - Business logic strewn throughout SQL procs, UI and a little bit of mis-informed backend abstractions coupled with embedded and sitewide javascript. - No source control, at all :mad:. - Zero, or inadequate out of date documentation. - Team works on network shares. - Manual deployment. - No IDE or any other tooling (except for SQL Management studio). - Building was done using cmd scripts split into arbitrary "modules" due to the limitations of the command buffer string length. - Versioning on live system was mandated - rename the old file with a date, and leave it there. - Sometime in the past they switched from VB to C# which was the dominant language when I started. The mix led to some awful days where I realised I had to touch the VB, and those days were long, unproductive, usually doomed to fail. Staff turnover (all senior devs) was 100% for new hires, lasting from 4 months to 1.5 yrs (me, the fool). 10 years of constant losses, mostly negative customer relations with some "entrenched" customers buying out the parent company on more than 2 occasions to keep their critical systems from vaporising led to my current attitude to this type of product.. return to the ship and nuke it from orbit. Seriously though, I would park it in a vm(s), charge a fortune for anything that needs change management. "Try" to fix any security holes that are essential, but first try to mitigate those within your new virtual infrastructure if you can first. Product is not cost effective, and the customer needs to understand that through passing on that aspect of the business. If cost is not an issue, maybe think about selling it on to an outfit that doesn't mind/understand financial loss, the technical debt or the talent attrition it will cause :suss:. You mentioned updating the html/css and providing a more modern approach to responsivness. The product I worked with had all that already and still had the above issues. My opinion is that it will not improve your developers lives, nor maintenance timescales, but might reduce the front end developers attrition in the long run. It might also increase the appeal of the application to the customer, making it seem "better". Do you really want that? Moving to C# might seem like a good plan, b

                                          Sander RosselS 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups