2008年10月20日 #
2008年9月19日 #
2008年5月23日 #
一:如何保证在互联网上的传输的数据不被黑客截获。
二:如何保证数据库服务器不被攻击。
三:如何让客户认识到他的数据很安全,没有客户的许可,不会被任何人查看。
第一个问题可以用数字证书等技术来解决。第二个问题就需要更安全的网络设备和更专业的网络安全的人才。关键是第三个问题,如何保证没有客户的许可,软件开发商是不能查看或更改数据的。我想,以现在的技术很难解决。这个问题我也一直在思考。昨天突然有了“Saas数据库”的构想。数据库开发商作为第三方保证并提供数据库的安全性问题,这种数据库只有在客户许可的情况下,软件开发商才可以查看或更改数据。如果没有客户的许可(这种方式可以是临时生成的许可文件),任何人都无法查看数据库。而且软件开发商在得到许可维护数据后,会生成一个日志记录发送给客户。我想这样,客户会对安全问题更加放心。Saas的普及也会更好更快。如果这种“Saas”数据库诞生出来,相信会有更多的Saas开发商优先考虑使用,如果Sqlserver或oracle开发出了Saas数据库,这将会是他们数据库的又一大优势。可能在不远的将来,MS会打出旗号,声称“SQLServer 2010完全支持Saas”。
在baidu、google上搜了一下Saas安全性问题,大多是在提出问题,并没有解决方案。非常高兴能和大家一起讨论这个问题。
2008年5月21日 #
近来在研究NHibernate。在实际应用中可能会遇到NHibernate操作数据库和手工Sql一起执行的情况。在百度里搜索了一下,有一些代码,但过于复杂。自己研究出了一种方法,测试通过。
ITransaction trans = Session.BeginTransaction();
code = this.SelectCode(codeType);
code.CODE_CurrentCode += 1;
Session.Update(code);
Session.Flush(); 
//usage session's connection
IDbCommand cmd = Session.Connection.CreateCommand();
cmd.CommandText = "UPDATE PBCODE SET CODE_Attribute = '1'";
cmd.CommandType = CommandType.Text;
trans.Enlist(cmd);
cmd.Prepare();
cmd.ExecuteNonQuery();
//end
trans.Commit();trans.Enlist(cmd)方法,就是给cmd赋上事务。
2008年3月11日 #
客户端调用服务端的WebMethod。
服务端分为服务总线和业务逻辑层。
业务逻辑层分为业务服务、业务实体。
服务总线就是用WebService实现,在每个WebMethod中组合调用业务逻辑层中所需的业务服务。
这是一个比较简单、清晰的分层模型,实现、维护较简单。我比较反感层次比较多的框架模型,为了完成一个简单而且变化不大的功能,表示层到持久层的代码都要写一遍。java中有些框架达到了7层之多。罗嗦!
背景:
A应用服务器与B应用服务器互调WebService完成业务处理。为了提高安全性,A与B之间的网闸需要定期关闭,导致A与B之间在某个时段网络不通。要求在网络不通时进行离线处理,将数据缓存起来,在网络连接时自动将缓存的数据发送到对方应用服务器。
解决方案:
1采用Db4Factory数据库将webservice对象缓存起来
2在服务器开启控制台程序,使用多线程动态调用缓存在Db4Factory中的webservice对象
优点:
实现比较简单,复用性比较强。
缺点:
不能及时返回调用结果。
2008年2月14日 #
2008年2月13日 #
2008年1月23日 #
2007年12月27日 #
