My Plight: An Overview from a Novice Programmer

2 thoughts on “My Plight: An Overview from a Novice Programmer”

  1. Remind me – do users of your system access it through the browser or do you have to maintain your own front-end? I know I’ve asked before, but I forget. I think its through the browser. The rest of my comments will make that assumption.

    That’s correct, the applications I’m complaining about are all ASP (classic) pages, most of them written in VBScript, some with a little JavaScript thrown in. There are also entire pages of JavaScript apps, but not many. Why he decided to get away from that, I don’t know.

    Out of curiosity, how does data get into the access database? There are only about a zillion freely available dbs out there mySQL & postgresql if you like SQL. Tools abound to import/export data. Also, I’m itching for a chance to use MongoDB on something.

    Data gets into the Access databases in a couple of ways (which also needs to be looked at), depending on the database. For some, a nightly text file is FTP’d to us, and the databases or an Excel spreadsheet run a macro to clean the text file up and then import it to the databases. Then a query might execute which will put the data out as a downloadable spreadsheet somewhere. In other cases, the text file is sucked directly into Excel so a macro can clean it up and just save it as a spreadsheet, separate from the import into Access. In some cases, the spreadsheets call other spreadsheets which call databases (and sometimes the databases call spreadsheets) to have this happen. Ideal situation: come up with a Windows service-style application with no UI which runs in the background, like a listener, then when the files arrive, it does the processing in the background and stuffs the data into the appropriate databases and spreadsheets behind the scenes. This way, the applications don’t need to be loaded on the server (they are currently), and the stuff doesn’t run if there’s no data files transferred. As it is now, the macros execute nightly as scheduled tasks. If something goes wrong with one of them, or the files don’t arrive in time or at all, the macros fail. Sometimes they fail gracefully. Other times, not so much, and there’s a cascading effect on the OTHER macros which depend on Excel/Access. There have been days when I’ve had to spend the first four hours of my day repairing and reloading the databases.

    Man, I know it’s kind of late in the game, but I would so make a case to my boss for switching technologies to something that makes it easy to n-tier / MVC / whatever. Yes, it would mean a new language, but ruby, python, and php all have excellent app frameworks(rails, django, cakePHP to name a few) that make separation of code easy. All have tons of resources out there that assist in learning. Plus, I’m pretty sure it’s a matter of installing the right driver, but all can connect to a MS Access database. All have easy to set up servers (PHP more so than the others IMO).

    He’s already tasked me with learning SQL Server. I don’t have to make a case, he knows. I’d LOVE to move this stuff to SQL Compact or Express or whatever it’s called now, but we have to have a way to populate them with our nightly data, and I just don’t know how to do that. HE’S not the hold-up, I am. I guess I could continue to let the Access databases pull the data in and then migrate it later, but that’s redundant and defeats the purpose.

    There’s also stuff out there like ASP.NET MVC that you could check out if you want to stay in microsoft-land.

    We’re using ASP.NET/VB.NET (not C#; learning curve’s too steep right now). I haven’t tried MVC, but the web forms model works fine. It’s MY limitations, not the technology, which is the slow-down.

    Or, if you’re set on doing it in C# or VB.NET, check out OpenRasta. http://openrasta.org/
    https://github.com/openrasta/openrasta/wiki/Building-Your-First-OpenRasta-Website

    We’ve got the .NET Framework up to version 4.0 (we can’t load 4.5 without upgrading the server, which will not happen right now with the budget constraints and spending freezes we have), so I’m good. I don’t need a new framework. I need better knowledge/understanding of HOW to program using what I’ve got (which includes a full paid version of Visual Studio 2010). So, the tools aren’t the problem. I am.

    The good part about using a framework like any of the ones mentioned is that a whole lot of the planning has already been done for you.

    See above.

    Also, consider that you don’t have to swap out all the functionality of the old system at once. If you build a new system, you can add one user function at a time. Then you can set up redirects or links or whatever within the old system pages that go to any completed sections of the new app.

    I have to learn more about redirects and such. That’s the plan, really; for now, I’ve been replacing the old functionality with new stuff whenever some enhancement is required or a failure occurs. But again, I don’t have the skills yet to create an N-tiered application. Believe me, the MOMENT I figure out how to call an outside assembly from inside another, I’m SO gonna have a DAL set up. ALL the pages will simply call the DAL and then I can use LINQ or whatever to do the filtering for the records I want. But for now, it’s still 2-tiered as I stated.

    Anyway, shoot me an email or call me sometime pretty much any afternoon if you want to bat around more ideas for how to continue tackling this.

    Thanks, B, I probably will! I have to stay in Microsoft-land, but I’d love to discuss how to use a DAL and BLL as separate assemblies. If you have insight on those things, that’d be awesome. šŸ™‚

  2. Oh man, that’s a beast of a problem!

    Oh, I’m sure for an accomplished programmer this is a snap. After all, my predecessor wasn’t exactly a Master Systems Architect and he managed to build it from the ground up using inferior technology and methods.

    A long time ago I worked for a large telecom provider in Canada whose database had been sloppily put together initially, and added on to at random for decades. No one single person in the organization knew how the whole thing worked. It was called “SuperSystem”. When SuperSystem went down, sometimes it was down for days. I recall going in to work for three days running, doing nothing but reading library books. I hope they’ve sorted that mess out by now!

    You ALWAYS manage to unhinge my jaw with your accomplishments, Spark! I’d love to be a shadow of the technical person you are! Outstanding! My admiration grows daily. šŸ™‚ Thank you for being such a wonderful source of encouragement and guidance. I value your insights so much.

Whatta Ya Think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s