I have wanted this discussion for a long time.
There seems to be a trend going on nowadays, to make some of the internal enterprise applications web-based, and to get away from the traditional desktop application.
I and another guy recently completed the system design of an application. The system design is desktop based, but the direction shifted to web-based application in the second half of the design phase. This is not ideal, but it is still fine, as system design phase mainly focuses on functional module design, database design and capturing business requirements from a more technical view. We tried to tell what to do, not (really) how to do it.
Now we are implementing it, and implementing it as a web-based application.
The application has four main functional modules, and we started the implementation of one of them one month ago.
Today, some of us, started to see a warning sign. The server side implementation has been quickly completed, but the client side coding is still going on, and will require serveral more weeks. This means that we are not focusing on the business logic, instead lots of time have been spent on rendering those web pages. We started to question ourselves, whether it is the right decision to make it a web-application.
Serveral facts here:
- This internal application has lots of complex screens/pages, which we now believe are more complex than HTML pages can handle. Although you may make it through lots of tricks and hard work, but it might not be the smart thing to do. Comparing with traditional web-based applications, like online shopping, online library system, most of the internal used enterprise applications tend to have much more complex screens. There was a successful case in this company before us. I chatted with one of the senior programmers, and she confirmed that their web pages are much simpler.
- The data being rendered is more complex, and the relationship between data is more complex. To make it worse, lots of time, the users want to see related data on one page, and they don't want to go back and forth, or to have multiple windows open at the same time. This obviously increases the complexity of those pages.
- For traditional internet applications, how to translate user requirements into web pages is largely controlled by designers and programmers, but that is not the case for internal applications. Customer first, so non-IT persons have a bigger control here. The business users don't care whether something is right from a technical point view, they care whether it is easy, right and efficient for them.
- We started to question ourselves, whether we are trying to implement certain architecture just becaue of the architecture, or we really think those web architectures will benefit us?
At this moment, the biggest benefit everyone agrees, is that web-application does not require client side deployment.
What is your thought? Do you have a successful story or failure to share?
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||