主要是想在自己系统中增加个门户,类似igoogle的,主要在企业信息系统中用,找来找去,定位到了Dropthings这个开源的门户框架。代码下载地址 http://www.codeplex.com/dropthings/ ,http://www.dropthings.com/,作者为此还出了一本书 Buiding a Web 2.0 Protal with Asp.net 3.5,使用了.NET平台的最新技术。下好我们的系统都基于.net3.5平台。
因其是基于MS SQL Server2005数据库,并且使用了Linq to SQL,使用了asp.net的用户管理机制。而我们的系统是基于Oracle9i的,所以打算把其改造成基于Oracle数据库的实现。使用自己的用户角色权限管理,和基于Oracle的个性化设置(Profile)。现在新版本的dropthings已经把原来使用工作流实现的功能都重写了。
我采用的方式先把DataAccess类库全部采用Oracle的实现,所有对数据的方法都重写了一便,写的时候先把它的数据库表结构搞清楚,在看看LinqQueries这个类,里边有所有Linq to SQL的语句,看明白了,把写翻译成Oracle的SQL语句,在来构造相应的对象即可。访问Oracle数据的可以有很多方法,网上也有现成的,我是采用自己的OracleHelper。
DataAccess类库改完后,我把和工作流有关的类库都删除了,在一个个的把所有项目的代码编译通过,很顺利的完成了,自己写了个Widget试试,还行,可以按角色来定义Widget,拖曳和调理大小都可以。一下就是把自己的业务做成一个个的小Widget放到门户上使用了。
体会,改别的的软件时要先学会其工作原理,改的过程可以学到不少别人的优秀代码和程序的框架,采用开源的框架工作事办功倍,以后多看些.Net方面的开源框架。