我在一个大的州政府机构工作,这个机构有点落后于时代。我们的技能已经过时,预算冻结,防止任何培训或雇用新雇员/顾问(解雇人员也是不可能的)。设计业务对象、实现设计模式、建立代码库和服务、单元测试、源代码管理等都是您在这里找不到的。在Joel测试中,我们是尽可能多的0。好消息是我们只能从这里上去!
我们开发桌面CRUD应用程序(在C++、C#或Java中),这些应用程序通过ODBC连接直接访问Oracle数据库。基本上,GUI中到处都是SQL语句和拼凑的代码。我们被告知转向面向服务的n层体系结构,以防止对数据库的直接访问,并删除用户计算机上的Oracle客户端需求。
WCF是我们应该走的路吗?我们已经完成了一些n层应用程序演练(比如这一个),它们看起来很容易实现,但我们只是不知道是否考虑了正确的技术。使用.NET生成的类型化DataSets似乎是一个很好的权宜之计,可以节省我们几个月/几年的工作(而不是为许多项目从头创建新的业务对象)。对于第一步来说,这种固定的方法可行吗?
发布于 2009-04-21 20:12:50
我最近开始在一些web应用程序中为我的数据层使用WCF服务,我必须说,这在开始时(第一周左右)是令人沮丧的,但一旦代码被部署起来,这是完全值得的。
你应该先用一个小的应用程序来试一试,或者是一个概念的证明,以确保它能满足你的需求。
从你所处环境的描述来看,我相信你几乎马上就会意识到它的好处。
发布于 2009-04-21 20:15:59
我所工作的上一家公司之所以选择WCF,几乎就是因为你上面描述的原因。WCF有很多很好的文档和书籍,相对容易使用,而且WCF支持很多配置选项。
当您开始尝试将WCF弯曲以一种非特定设计的方式工作时,可能会有一些头痛。这些通常是配置问题。但是,像这样的网站或IDesign可以帮助您通过这些。
发布于 2009-04-21 20:21:50
首先,我绝对不会担心使用类型化的和创建自己的业务对象会节省多少时间,而不是(很抱歉强调强调)。这通常不是您将花费大部分开发时间的地方。我更喜欢自己使用业务对象。
在你的情况下,我想先实现一个概念的证明。解决你可能遇到的所有问题的人。这个概念的证明应该实现一个完整的用例,从客户端开始,从数据库中检索数据并将其返回给客户端。在继续之前,您应该对自己的实现感到有信心。
然后关于技术的选择。对于客户端应用程序和服务层之间的通信,WCF无疑是一个很好的选择。我认为您的客户端和服务层都将成为C#应用程序?这使得事情变得容易得多,因为不同平台(例如Java/C#)之间的互操作性仍然不是那么简单,尽管在大多数情况下应该可以工作。
https://stackoverflow.com/questions/774346
复制相似问题