我们有一个集成系统(至少就是我们所说的),它包含一个前端到后端巨大的C ++ / VB / MSSQL软件,可以处理每个方面的问题。组织。
我们现有的几位客户一直在询问是否可以通过性感的Web 2.0方式将其移植到网络上,当然它也对我们有很大的价值,因为我们会有一个更好,更新,更现代的产品我们采用SaaS模式,我们认为这种模式在商业上很有用,并且肯定会开启许多新的大门,因此我们并不是要让客户相信这不是一个好主意。
但是,网络是否适合此类应用?
如果我们应该使用Webtop(模仿桌面)UI,还是应该选择标准的Web 2.0 37Signals,如UI?
在您的体验中,哪种方式会更好地展示此类应用,以及您在设计所选模型时我们将从您的体验中推荐哪些工具/语言/技术(如果有)。
请记住,当前的桌面软件非常庞大,有超过200个SQL表,250个表单以及大约400种不同报告。
非常感谢任何见解,提示或建议。
我提前感谢你们所有的时间,并为一篇很长篇文章中的许多部分问题道歉。
答案 0 :(得分:9)
Geez,我不想在这里“迷恋”粉丝......但你的应用程序目的。
希望能够让支持贵公司业务的人员更轻松地开展工作。
这些目的都不是由您使用的语言/平台决定的。零。压缩。没有。
您可以在几乎任何可用的语言/平台上完成您的业务所需的任何功能。真。有些事情在一种语言或另一种语言中更容易,但你对一种语言与另一种语言的熟悉程度不仅仅能弥补“技术”差异。
任何改变支持贵公司业务的现有应用程序的架构/平台的决定都需要比当前模型具有一些主要的业务优势甚至可以考虑 - 然后你需要选择您和公司中其他开发人员最熟悉的平台/语言 - 这样您就可以快速增加业务价值,而不是花费大量时间“加速”熟悉不熟悉的技术。 / p>
答案 1 :(得分:6)
我建议您尽可能地为网页设计提供典型的Web 2.0照明方法。
首先,我将创建一个基于Web的界面,以便在您的应用程序中执行最简单但最常用的工作流程。让生产版本共享您当前系统的数据库,以便它可以作为替代品,用于日常使用。
请记住,高级用户将打开几个浏览器窗口,以便模拟应用程序是多余的。一组引导您完成工作流程(添加客户端说明)和状态页面(查看客户端详细信息)的向导将是一个很好的起点。尽可能多地模仿Web 2.0海报儿童(即推特),并将他们的设计作为一个免费的起点。
不要试图一次性完成所有操作,只需在现有系统中添加一个漂亮的Web前端,然后逐渐获得组织内的支持/使用。
如果您决定使用Django(即在python中开发网站),它可能会开箱即用,支持您的数据库。配置您的设置以连接到数据库(按照教程)然后运行"inspectdb" manager command以创建描述您拥有的200个表的python文件。然后,您可以非常轻松地在数据库上运行SQL查询,而无需使用Django模型系统编写任何SQL,所有这些都在python命令行中完成。
答案 2 :(得分:4)
设计精良的设计部分与工具(语言,框架工作)以及以简单,高效和无差错的方式呈现和使用系统中的信息的能力有关。
旧的may系统可能已经陈旧,但它经过多年的调整和强化,所以它可以工作。
您考虑在其上构建的任何内容都不应包括重写业务逻辑。创建一个新的前端,以某种方式调用当前存在的所有业务逻辑。
然后随着时间的推移重新考虑后端更合适,但这可能是面向对象或功能设计。
在设计某些东西时,很少有技术可以让你的生活更轻松。但是,需要考虑的一些关键因素是ASP.NET MVC,ColdFusion的双重.NET / J2EE容量,以及Adobe FLEX / AIR之类的东西。 Django和我听到的一样棒,但我从来没有深入使用它。
答案 3 :(得分:4)
您是否考虑使用终端服务器?当很多人说网络时,他们的意思是:
不必在每台PC上安装
Microsoft Application Virtualization(是SoftGrid)也是一些客户的选择。 (如果您使用.NET ClickOnce也是一个可以正常运行的选项)
在这两种情况下,最终用户都可以在互联网门户网站上看到一个链接,只需点击它即可为您的应用程序提供午餐。但是,在这两种情况下,您都需要客户IT部门将支持纳入其标准PC构建中。
将应用转换为网络的问题包括。
同时,一个没有历史记录的初创公司可以创建一个Web应用程序,它可以使你的一半锁定更快,更便宜。他们可能会接受新客户,因为他们只是网络。
很难应对second system problem。你可能只是更好地阻止大多数新开发并尽可能地从当前软件中获取收入。
有一半的房子,通常你有两组用户。
在人力资源应用程序中,Power Users将成为人力资源部门,偶尔用户将是希望申请假期的员工。或偶尔的用户可能是希望查看报告的经理。
您可以考虑仅为偶尔的用户提供网络界面
答案 4 :(得分:2)
我实际上有几个客户 使用该系统,最近一些 那些客户一直在问 它可以将其移植到网络中 性感的web 2.0时尚。
嗯,它是否已损坏,难以使用,是否难以部署更新?是否还有其他理由将其转换为“客户一直在询问”以外的网络应用程序?如果没有,为什么不把这些资源用于更新你拥有的东西或创建所需的新系统而不是把它全部抛到窗外。
您认为哪种方式 更好地供我们使用,以及什么 你会发现工具/语言/技术吗? 建议完成它?
这一切都取决于业务的需求。技术/框架应符合业务要求,而不是定义它们。就像我说的那样,首先要确定你现在拥有的东西是否足以满足投资建设新的东西。
答案 5 :(得分:2)
首要的决定应该是商业性的,因为我确信将所有内容移植到新框架中需要花费大量时间和精力。换句话说,只要看看所有的利弊,例如
优点:
...
缺点:
祝你好运,不要让其他多次被烧伤的脾气暴躁的开发者破坏你的热情;)
答案 6 :(得分:1)
我的建议是咨询贵公司的业务部门并制定风险/回报,以及成本/收益分析,并根据这一点进行调整。
技术“便宜”。 Ruby,.NET,Python,每个都可以很容易地配置成不同的用途。在找出要使用的技术(即,根据您的特定需求进行最少配置)之前,您想要弄清楚您正在做什么。