We\'re looking at converting a software package from Windows over to the browser
ID: 649220 • Letter: W
Question
We're looking at converting a software package from Windows over to the browser. It's a back office system consisting of Ledgers, Stock Control, Order Processing, etc and it's written in a legacy language (Dataflex).
The project consists of 200+ database tables, 100+ reports, 300+ Views, 100+ Dialog boxes and 200 or so Selection Lists.
I'm really struggling to get my head around the technologies that I'll need to use to convert this to a more modern web based programming language / framework. Even simple screens (Entering a stock location) seems overly complex. With the current language, I can drag a bunch of Fields to a form (a-la VB), wire in a tiny bit of database code and I've got a screen that'll allow me to find, delete, edit and change records easily. 10 minutes of development, tops.
Has anyone got any suggestions on how I can move from my current VB style programming language to one that allows similar functionality on the web?
Has anyone got any ideas how I go about working out how many man hours it's going to take to convert this sort of project to a new language on the web?
What Web Framework options are available, and how do I decide between going with something like Rails vs going with something like ASP.Net?
We've a tonne of code wired to OnClick and OnChange events. (I know this is bad). What strategies can I take with regard to converting this to the web?
I'll admit - I'm hopelessly confused by some of the newer syntaxes used by modern languages. Is there any language that allows me access to the database without having to subclass everything through IEnumerable and various weird Typecasting things.
Has anyone done anything like what we want to do? What were the pitfalls?
Sorry about the vagueness of the question. I'd be more specific but don't know where to start. Delete away if I'm asking the wrong thing or in the wrong place.
Explanation / Answer
The project consists of 200+ database tables, 100+ reports, 300+ Views, 100+ Dialog boxes and 200 or so Selection Lists.
Barely matters. Remember, all of that was a bad, old design. That's part of the reason for replacing it.
Even simple screens (Entering a stock location) seems overly complex.
Two things:
Rethink your use cases. Many legacy applications have bad design, bad workflow and busy screens filled with too much of the wrong kind of detail.
Rethink your toolset. The state-of-the-art, (ASP.Net, RoR, Django+Python) provides administrative ("CRUD") pages almost for free. Zero programming.
how I can move from my current VB style programming language to one that allows similar functionality on the web?
No. You can't find "similar" functionality.
You have to change.
Has anyone got any ideas how I go about working out how many man hours it's going to take to convert this sort of project to a new language on the web?
Step 1. Break the whole thing down into use cases, centered around actors and their needs ("User Stories")
Step 2. Roughly -- at a summary level only -- define those use cases and the relative value that's created.
Step 3. For the high-value use cases only design a correct data model and start building with state-of-the-art tools.
Step 4. Release something usable within a few months. You'll have to "bridge" data from the old system to the new system to make this work. Keep the bridge simple, it's going to be disposed of.
Step 5. Iterate the above trying to get the release cycle to be shorter. Release less stuff more often.
At some point, you'll have a ton of uninteresting legacy functionality left over that you didn't convert and don't need. You'll have bridge programs that are no longer creating value.
What Web Framework options are available, and how do I decide between going with something like Rails vs going with something like ASP.Net?
There are a million frameworks. There is no guidance on choosing one.
Why? They're all really good.
We've a tonne of code wired to OnClick and OnChange events. (I know this is bad). What strategies can I take with regard to converting this to the web?
Rethink your use cases from the foundation.
Who are the actors? What do they do that creates value? How do they want to interact with a system to create that value?
Your legacy system has lots of usable historical data. Nothing else about it has value. So feel free to discard the legacy workflows and processing steps.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.