Step by step-product upgrade (2)-Why BS architecture products

Source: Internet
Author: User

I worked overtime for nearly yesterday. A group of people mainly focused on switching the product structure from CS to bsstructure. The debate was very lively. Why should I replace the CS architecture with BS architecture?

A brother's design emphasizes WebService. It is recommended that all services be encapsulated as WebService, so that the client can use any method, if we do this for all the services, the client can indeed support multiple methods, but what is the cost? This requires that all of the company's products be rewritten. The company's products have been developed and operated for about three years, but the user requirements and product upgrade pressure are still high, if all of them are discarded, I think the product cannot be made in less than one year.

In addition, there is a chain in the company's products that requires special attention, that is, "Consumer Goods". If our products do not provide sufficient and high-quality data, their competitive advantages will be very low, therefore, migrating data from CS to BS is still a headache and is very important.

There are two main users of the company's products: one is not many managers, and the other is a large number of users. The BS architecture should be oriented to a large number of users. Therefore, after discussion, we will focus our attention on the front-end applications of users, and the functions of a very small number of managers will not be revised for the moment, the original version is maintained, so the upgrade pressure is reduced.

When we reached an agreement to turn the artillery fire to the front-end application of the user, the difference arises again, that is, the pattern used for design.

Three architectures were proposed in brother's design: (1) RIA (2) Pure Web mode (3) ActiveX Control + Web

After discussion, we basically agree to adopt 3rd methods. Because the biggest feature of the company's products must be controlled locally, just like anti-virus software, if users cannot kill local viruses, only viruses on servers can be killed. I don't want to sell any products.

After turning to ActiveX controls, the problem arises again.

From the user's point of view, the user selects the BS architecture to relieve the installation pressure on the client. The user always complains about the installation pressure of the CS architecture, and the upgrade is even more disappointing. Therefore, many users propose the BS mode.

Haha, but because the company's products need to handle local things, it is hard to say that ActiveX's security and permissions are based on BS architecture, in addition, the stability of ActiveX controls needs to be further enhanced.

However, due to the protection of the customer's machines, the download of ActiveX controls may not experience the user well. Therefore, the following principles are basically established through product analysis:

(1) Reduce the ActiveX widget size as much as possible, and rewrite ActiveX controls using VC or Delphi to accelerate the download speed of ActiveX controls.

(2) break down functions. by increasing the number of ActiveX controls, you can avoid downloading the large acitvex control at a time.

(3) Use Flow Control to download only the ActiveX control you need, instead of downloading all the controls at a time.

(4) Through the UI design, improve user experience, reduce user complaints about the download of controls, and help users solve the obstacles caused by ActiveX control problems through the UI guidance or.

(5) Each acitvex requires a test function to test whether the control can work normally.

(6) perform tests based on ie5.

Because I have read the book website reconstruction over the past few days, I also suggest using web standards for design. Don't start with a messy path, in addition, according to the back cover of this book, this book is recommended by the "blog Garden". Why didn't I find it in the garden.

Considering compatibility, we basically deny the use of sql2005. Well, it may take some time to do this. Otherwise, if our system is installed, the impact on other systems may be broken.

In addition, there is a previously compatible issue. Hehe's plan is to gradually transform old products into a brand new product. Therefore, he wants to change the database structure, which is just unacceptable, the final compromise is that the Dal layer still follows the new design, but it is compatible with the old structure, can provide, and cannot provide default values by interface, this is the only option for the time being. It is not clear yet.

Estimate the time. Well, brother always wants to start coding immediately. Alas, if you take a good look at Joel's software, maybe you won't have this impulse, another is to look at "Restrained coding impulse". The solution is to configure another senior engineer to gradually break down his troubles and gradually clarify the architecture through pairing discussions.

These are just yesterday's ideas. Maybe through continuous adjustment, combination and analysis, everything will be perfect gradually.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.