需要重新组织公司整个系统的建议吗? [英] Need advice on rearchitecting a company's entire system?

查看:68
本文介绍了需要重新组织公司整个系统的建议吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好.

我的一个朋友向我咨询了有关重新架构公司整个系统的问题.他们是一家规模较小的公司,但发展迅速,目前的系统已过时,需要太多的体力劳动才能与之互动.我通常不会处理这种架构,但是我认为这将是一个有趣的挑战,我正在寻找有关解决此问题的最佳方法的建议.我将不胜感激您可以提供的任何帮助或技巧.这是一篇相当长的文章,但是我想尽可能地描述一下,所以在此先感谢您与我保持联系

只是为了给您提供一些背景知识...他的公司负责阅读和测量公寓大楼内所有公寓的能源使用情况.他的客户是公寓房东(不是公寓房客).他的公司雇用现场技术人员使用这些定制开发的工具来审查和测量能源使用情况.技术人员读取完公寓大楼中的所有电表后,便会将自己在小工具中收集的数据下载到公司的服务器中.此数据以ms访问mdb文件的形式下载.每个mdb文件包含大约10个数据表,大小约为600kb.为每个公寓创建一个mdb文件.因此,如果一个公寓大楼有50套公寓,那么技术人员会将50个mdb文件下载到服务器.

将数据下载到服务器后,公司将拥有约6名数据输入员工,以使用他们拥有的这个旧的,过时的,定制开发的应用程序.此应用程序的目的是允许这些数据输入员工查看每个公寓的能源数据,并将公寓的数据导出到报告中(以ms word文档的形式).创建此单词报告是为了将其提供给公寓房东.数据输入员工会使用这些报告,并使用网站的管理后端将报告逐个手动上载到公司网站,并将其链接到正确的客户用户帐户.然后,房东可以登录其帐户并查看这些报告.该网站当前将此数据存储在由第三方公司托管的专用服务器上的sql server 2005数据库中.

我在以下图片中提供了这些详细信息:

http://208.74.30.126/images/architecture.jpg
[链接]

好的,这就是他的系统当前正在执行的操作.他现在想重新整理其中的大部分内容.这是他想要改变的东西:

-从这些工具下载的数据当前以mdb文件的形式下载.他现在想获取这些mdb文件,并将数据存储到sql server 2005数据库中.
-他要我创建一个新应用程序来替换他的旧过时应用程序,以便查看能源数据并导出报告.

-他现在希望将报告导出为pdf而不是ms word

-一旦数据输入员工创建了pdf报告,他希望它自动上传到网站.


所以这是我的问题:


-他希望将这些mdb文件存储在公司服务器上的sql server 2005中.但是,我看到的问题是,他的网站专用服务器上已经有一个sql 2005 db.仅将所有数据存储在专用Web服务器上而不是在其个人公司服务器上安装sql 05的另一个副本会更有意义吗?

-关于替换他的应用程序,他要我再给他另一个Windows窗体应用程序.我在想,虽然这不是创建一个独立的Winows Forms应用程序,但对我来说,这可能是一个不错的机会,可以启动一个小型公司的Intranet网站,并且在这个新的Intranet网站中,我将结合他以前使用的Windows应用程序的功能去表演.那会是更好的选择吗?

-哦,我的最初想法是将流程设置为完全自动化,以便每隔几个小时运行一次可执行文件,从mdb文件中读取数据,创建新的pdf报告,然后自动将这些报告上传到网站,但是有人告诉我们我们不能这样做,因为他希望他的员工在生成报告之前先查看每间公寓的能源数据.
您可以给我任何提示或建议,以设置整个过程吗?我想创建一个尽可能干净流畅地运行的过程.

非常感谢!

解决方案

如果他想要一个更丰富的应用程序,并且想要基于Web的东西,似乎Silverlight将是最合适的选择.
除此之外,请使用SQL Server 2008而不是2005(它更安全,并且与报表服务更紧密地联系在一起),将数据库服务器放在单独的盒子中,并使用WCF Web服务来存储/检索数据. /blockquote>

他希望将这些mdb文件存储在公司服务器上的sql server 2005中.但是,我看到的问题是,他的网站专用服务器上已经有一个sql 2005 db.仅将所有数据存储在专用Web服务器上而不是在其个人公司服务器上安装sql 05的另一个副本是否更有意义?

我看不到需要新的SQL Server,但是我会在当前服务器的新数据库上运行它.您还应该从网站方面检查安全性,不要让暴露出构成Biling骨干的数据...

关于替换他的应用程序,他要我再给他另一个Windows窗体应用程序.我在想,虽然这不是创建一个独立的Winows Forms应用程序,但对我来说,这可能是一个不错的机会,可以启动一个小型公司的Intranet网站,并且在这个新的Intranet网站中,我将结合他以前使用的Windows应用程序的功能去表演.那会是更好的选择吗?

您可能会对此有所抵触,winforms可以提供比Web更为丰富的UI,此外,他们可能会将Intanet视为经验丰富的建筑.就个人而言,我认为如果用户界面无论如何简单,Web应用程序都会有所改进,因为您可以将某些部分暴露给Internet.我将要做的是将Web或wcf服务层放置在数据库和应用程序层之间.这样,您就可以以最小的麻烦通过它们运行winforms和webforms,从而避免了在网站上存储数据库连接的需要.随着公司的扩展,这些服务将是一大福音,因为它们增加了灵活性.

哦,我的最初想法是将流程设置为完全自动化,以便每隔几个小时运行一次可执行文件,从mdb文件中读取数据,创建新的pdf报告,然后自动将这些报告上传到网站,但是有人告诉我们我们不能这样做,因为他希望他的员工在生成报告之前先查看每间公寓的能源数据.
您可以给我任何提示或建议,以设置整个过程吗?我想创建一个尽可能干净流畅的流程.

我看不到需要这样的批处理:上传mdb时,我会将内容传输到规范化的数据库表中.这样,公司就可以根据需要使用最新的信息来运行报告,并且如果他们需要进行手动读数,则可以在不干扰原始读数数据的情况下进行操作.同样,您可以考虑通过Web/WCF服务执行此操作,但这会减慢从mbd进行自动传输的过程.


所有这些只是见仁见智,但这就是我的tuppeny的价值

Hello.

A friend of mine approached me about re-architecting his company''s entire system. They''re a somewhat small company but are starting to grow pretty quickly and their current system is outdated and takes too much manual labor to interact with. I don''t normally deal with architecture of this sort but figured it would be a fun challenge and I''m looking for advice on the best way to handle this. I would greatly appreciate any help or tips you can provide. This is a rather long post, but I wanted to be as descriptive as possible, so thanks in advance for bearing with me

Just to give you some background...his company deals with reading and measuring energy usage for all apartments within an apartment complex. His client''s are the apartment landlords (not the apartment renters). His company employs field technicians to review and measure energy usage using these custom developed tools. Once the technician has read all energy meters in the apartment complex, he downloads the data he gathered up in his little tool, to the company''s server. This data is downloaded in the form of an ms access mdb file. Each mdb file contains about 10 tables of data and is about 600kb in size. One mdb file is created for each apartment. So if an apartment complex has 50 apartments, the technician downloads 50 mdb files to the server.

Once the data is downloaded to the server, the company has a staff of about 6 data entry employees to go into this old, outdated, custom developed application they own. The purpose of this application is to allow these data entry employees to review energy data for each apartment, and to export an apartment''s data into a report (in the form of an ms word document). This ms word report is created for the purpose of providing it back to the apartment landlord. The data entry employees take these reports and manually upload them to the company website, one by one, using the website''s administration backend and link them to the correct client user account. The landlords can then log into their account and review these reports. The website is currently storing this data in a sql server 2005 database on a dedicated server hosted by a 3rd party company.

I''ve provided these details in this images here:

http://208.74.30.126/images/architecture.jpg
[link]

Ok, so that''s what his system currently does. He would now like to rearchitect much of it. Here''s what he''s looking to change:

-The data that''s downloaded from these tools, currently downloads in the form of an mdb file. He would now like to take these mdb files and store the data into a sql server 2005 database.

-He wants me to create a new application to replace his old outdated one for the purpose of reviewing energy data and exporting reports.

-He now wants reports to be exported in pdf rather than ms word

-Once the data entry employee creates the pdf report, he wants it to automatically upload to the website.


So here are my questions that I have:


-He wants these mdb files stored in sql server 2005 on his company''s server. However, the issue I see with this is he already has a sql 2005 db on his dedicated web server for his website. Wouldn''t it make more sense to just store all data on the dedicated web server rather than installing another copy of sql 05 on his personal company server?

-In regards to replacing his application, he''s asking me to just give him another windows forms application again. I''m thinking though that rather than create a standalone winows forms app, this may be a good opportunity for me to start a small company intranet website and within this new intranet site, I''ll incorporate the features his old windows app used to perform. Would that be a better alternative?

-Oh, and my original idea was to set up the process to be fully automated so that once every few hours, an executable would run, read data from the mdb files, create new pdf reports, and automatically upload these reports to the website, however I was told we can''t do this because he wants his employees to review each apartment''s energy data before generating the report.
Any tips or advice you can give me as far as setting this whole process up? I want to create a process that runs as clean and smoothly as possible.

Thanks so much!

解决方案

If he wants a richer application, and you want something web based, it seems like Silverlight would be the perfect fit.

Other than that, use SQL Server 2008 instead of 2005 (it''s more secure and more closely tied in to reporting services), put the database server on a separate box, and use a WCF web service to store/retrieve data.


He wants these mdb files stored in sql server 2005 on his company''s server. However, the issue I see with this is he already has a sql 2005 db on his dedicated web server for his website. Wouldn''t it make more sense to just store all data on the dedicated web server rather than installing another copy of sql 05 on his personal company server?

I don''t see the need for a new SQL server, but I would run this on a new database on the current sever. You should also check the security out, from the website side, you don''t want the data that forms the backbone for biling being exposed...

In regards to replacing his application, he''s asking me to just give him another windows forms application again. I''m thinking though that rather than create a standalone winows forms app, this may be a good opportunity for me to start a small company intranet website and within this new intranet site, I''ll incorporate the features his old windows app used to perform. Would that be a better alternative?

You might meet some resistance to this, winforms can provide a richer UI than web, plus they might see the Intanet as empiure building. Personally, I think a web app would be an improvement if the UI is simple any way, as you can expose some parts to the Internet. What I would do is place a web or wcf service layer between the database and the application layer. That way you can run both winforms and webforms through these with the minimum of fuss, you prevent the need for storing Database connections on the website. The services will be a boon as the comapny expands because they increase flexibility.

Oh, and my original idea was to set up the process to be fully automated so that once every few hours, an executable would run, read data from the mdb files, create new pdf reports, and automatically upload these reports to the website, however I was told we can''t do this because he wants his employees to review each apartment''s energy data before generating the report.
Any tips or advice you can give me as far as setting this whole process up? I want to create a process that runs as clean and smoothly as possible.


I don''t see the need for batch processing like this: when the mdb is uploaded, I''d transfer the contents into a normalised database tables. That way the company can run reports on demand with the newest information thay have, and if they need to take a manual readings they can be done without interfering with the original reading data. Again you could consider doing this through a web/wcf service, but this will slow the process down for the automatic transfer from the mbd.


All this is a matter of opinion, but that''s my tuppeny''s worth


这篇关于需要重新组织公司整个系统的建议吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆