-2
  1. MVC+ xml web service using MS MVC.

The project is made with MS ASP.net front end and business logic, and the logic contains does coded with some complicated logics to interact with the front end layer , then it calls a xml web service to handle some other business logic, and at the end it interact with the SQL server by stored procedure.

The cons of that implementation is that when things go wrong, it's hard to step in the web service to trace what is going wrong inside, after the execution run through multiple layers. nd worse of all. there are no logging at all.

I think what goes wrong is that the previous project lead does not instruct the junior programmers to avoid putting logic in the front end asp.net layer, and concentrate engineer the logic behind the web service.

Also the MS-IIS is a beast to configure. people have to dig in the application pool and apply some tricks like, threads, setting some strange user to the OS and apply security on them.

1
  • 1
    It seems you've answered your item question here: add logging and put the logic in the right layer. What do you need help with? Commented Jul 28, 2020 at 6:32

2 Answers 2

1

problems and Solutions:

  1. I find a way to config the application that can run as a mixture of MS MVC apply apply new feature based on MVC.

  2. It also runs COM+ feature to work with MS word, because the system needs to count pages using MS word , from the COM+ container. COM+ container is worse than IIS, it leaves a lots of garbage in the execution environment and I eventually developed a schedule function to kill some stale word.exe. And also I imported a new library that work with the docx which avoid some issues with old doc format files.

  3. People just DON't care backward compatibility, any advertisement they say are NOT true. DON'T try to upgrade your software, fix it or start all over with the best platform you know.

  4. Avoid over engineering: Many software engineer are very excited from what they learnt in their old job, books or tutorials. And try to apply those knowledge in practice. E.g: 4 layer architecture as the case I mention in the question.
    But our job requires us to build system quickly and also make it maintainable by other people.
    It's wrong to apply 4 layer architecture when the requirement is a online form with dozens of simple input fields that save to the DB.

  5. What is learnt?
    We should keep learning new skill and technologies. I worked as software engineer for 15 years, and seeing things from classic ASP to asp.net to MS MVC to .net Core.
    The vendors never admin their faults until some new comer brings a new tool that exceed their features and solve their problems.(Microsoft now bring their Edge with it's chromium core)

0

Problems:

  1. The code was built without thought for long-term operational running.

This is very common because Developers tend to have a short-term focus (to build the requested feature) and do not [generally] consider the long-term, operational running of their own software. DevOps encourages this thinking, but it's still a fundamental Sea Change from just cutting code to being called out at stupid o'clock in the morning, confident in the knowledge that everything you will need for a speedy and successful diagnosis of the problem will be sitting, waiting for you in the Logging system.

Also, many still believe that they can Debug anything, even on a Production server. (Bzzzt!)

Run-time diagnostics and other instrumentation are essential for operation of the software but they appear to be of little value to the Developer. They don't make the code easier to write - quite the opposite - so too many simply don't bother.

  1. Lack of architectural vision / coherence.

Your previous team leader either didn't understand, or care about, or perhaps even know about, the overall architecture of the application. As such, they failed to guide more junior Developers who then put code in the "most obvious" (i.e. "easiest") place - where it solved their immediate problem. That might well not be the "best" place to put it in the long term, as you've discovered.

  1. "MS-IIS is a beast to configure".

I won't argue the point; I'm not its biggest fan either.

However, if this is the tool you've chosen to run your company's web applications, then you do need to know how to use it, tricks, threads, security and all.
In other words, "get used to it" or find different web server software.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.