公司客户要求可以把企业管理系统部署到云服务器上面, 用户只需要在客户端的浏览器输入服务器的地址,就可以使用相应的业务系统,实现异地办公、远程办公。 客户端不需要安装、配置相应的软件和数据库环境,大大减少系统实施和后期运维的工作量和服务成本。
公司一直使有PB来开发C/S架构的管理系统,但随着电子商务的快速发展, 客户对业务系统不再仅仅满足于实现企业内部的业务流程管理, 还需要跟各大电商平台(天猫、京东)进行数据对接,实现电子订单的快速处理。 这些平台都有提供SDK方便进行调用,但一般都只提供了JAVA、.Net、PHP环境的SDK和DEMO,并没有PB的版本。 如果要在PB开发环境里面调用这些SDK,需要做大量的开发,而且如果不熟悉这些开发语言的话,也看不懂SDK的功能和技术文档, 所以迫使我们必须学习新的技术。
DataWindow是一个功能非常强大的控件,不仅可以实现业务系统的数据录入处理, 还可以实现单证和报表的查询打印。公司的开发团队有多年使用PB的开发经验,对DataWindow的功能非常熟悉,因此在转型到新的开发平台时, 希望能够继续使用DataWindow。Sybase公司为.Net开发者提供了DataWindow.Net,实现在.Net开发环境可以使用DataWindow,但它并没有推出JAVA或PHP版本, 所以公司决定转型到.Net开发平台,利用ASP.Net和DataWindow.Net来开发B/S架构的应用系统。
刚开始我们使用DataWindow.Net里面的WebDataWindow控件来进行开发,经过一段时间的使用, 发现它的功能并不能满足我们的需要。WebDataWindow为了支持和兼容更多的浏览器,把DataWindow里面的对象和数据,最后是生成HTML、CSS 代码,再输出到浏览器并展现出来,所以如果对功能要求不高的话,也基本够用。但DataWindow控件的很多功能,在浏览器并不能被支持,如Describe和 Modify方法。 最严重的是数据窗口的计算对象和报表打印,WebDataWindow也支持的非常差,经过一段时间的磨合,不得不放弃WebDataWindow。最后我们采用PBNI和ActiveX技术, 把PB里面的控件和常用对象,封装为ActiveX对象,然后在浏览器里面进行调用,这样不仅充分利用了DataWindow控件的功能,而且还用PB扩展了表格报表服务组件、 DW2XLS组件、Linkage服务对象等,大大提高了项目的开发效率。
浏览器插件开发完成之后,刚开始我们使用一般的ASP.Net WebForm方式,
来完成业务系统窗口的设计,但由于控件排放和位置调整只能通过代码来完成,开发效率非常慢。所以我们开发了VS.Net IDE插件,
调用.Net的WinForm设计器来完成窗口的UI设计,并自动生成相应的C#代码,大大提高了开发效率。