救命:系统分析:这个项目应如何选择开发工具?

w102272 北京卓意麦斯科技有限公司 技术总监  2001-06-07 10:13:00
有一个通信和服务程序的项目,

主要要求:
。支持WINDOWS,和LINUX环境下,可以是不同版本,也可以通过跨平台技术实现
。系统分为管理客户端和远程服务。服务程序运行在NT/LINUX服务器上,需要长期
执行。管理客户端通过连接服务器,来执行必要的任务,可能涉及自动任务。
。系统未来要求具有很强的通信控制和管理能力


现在不知道如何选择开发工具
如果选择KYLIX
好处:
。管理客户端可以用一套源程序,支持LINUX,WINDOW平台
问题:
。这个程序需要写服务,在linux下需要用守护进程。这样的东西。
LINUX服务器出于性能考虑,一般不启用XWINDOW,这样
如果KYLIX不能写守护进程,就会出问题。
。如果作深层开发,KYLIX未必能够具有足够的支持。

如果选择JAVA
好处:具有跨平台能力,
问题:
。性能,效率,涉及通信程序的稳定性仍然无法保证
。如果作深层开发,JAVA的通信类未必能够具有足够的支持。


如果选择C
。必须为不同的平台开发不同的版本,有移植系统的代价
。在LINUX平台下,C的类对开发支持比较弱,
写通信程序,需要大量复杂编程,恐怕与开发工期冲突。


请问大家怎么办?
我的系统要求尽量少安装和配置。另外为了降低成本,不能假设使用
大型数据库,复杂的运行环境支持。

我想采用KYLIX来做,但是恐怕KYLIX无法作守护进程这样的服务。
对JAVA不熟悉,也担心他的性能,能力不足。

是不是,我只有选择C开发了?
...全文
153 点赞 收藏 20
写回复
20 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
w102272 2001-07-18
sun的服务器也太贵了.
回复
w102272 2001-07-18
我不准备用JAVA,JAVA在如此底层的通信上,实现能力不足,性能也不足.大约最好的时候能达到C的60%.如果用JNDI,那么跨平台性就被破坏了.
而且Java需要运行环境支持,配置起来麻烦.好的运行环境比如weblogic这些都很贵,单服务器可以接受,很多服务器在成本上就无法考虑了.

我想采用delphi/kylix来作开发,delphi在window平台上的实现能力非常强,而且indy组件还有大量源代码可以参考.通过kylix, 一般的部分,可以直接移植到linux下,改动量很小.Linux核心的部分,还是要用C,毕竟有很多源码可以参考.

我看java并不适合这个项目.
回复
w102272 2001-07-18
首先,谢谢诸位.权衡了一下,我已经有定论. 谢谢诸位.
To AutoASm:
确实不要用Xwindow. 事实上,这个程序不会启用任何Form,所以用Kylix也没有关系,这是一个守护服务进程,只要不用任何form就可以不启用xwindow.程序实际上是两个部分,windows平台的用delphi, Linux平台的用Kylix + 纯C来实现.服务器端是这么选择的.
至于客户端,通过自定义的协议管理服务器端.对使用那种语言不是很限制.c,java什么的都可以,所以我就不太关心了.遇到了再说,要是客户愿意用java,也随他.

经典的方法就是用C,服务端/客户端到处用.
不过我对delphi比较熟悉,所以window平台用这个.Linux平台下,想借用kylix来减少开发工作量. 如果不行,最后还是要用C. 嘿嘿,毕竟资料比较全,通信程序这类鬼东西,太也麻烦了,能绕就绕,绕不过去,还是需要正面解决.
所以,你的意见和我的看法最接近,我只是想走一个中间路线.呵呵...


To happyokok: 谢谢,目前暂时不用到xml,但是后期开发估计是要用到xml的.至于是不是用BizTalk,看情况吧.如果需要和其它系统交互和相互理解,或许要用biz. 谢谢,你的这个建议也是我考虑的开发内容之一.

To kuai_kevin: 用kylix风险并不是很大,C是肯定要用的,用Kylix作那些相对简单的部分.还有一个考虑,是为了共用一套源程序.

To lcgong: 这个东西不依赖于其它任何支持环境.呵呵,谢谢你.恐怕我连数据管理都要自己来,当然我不需要支持sql,没那么复杂,会用数据文件.不会用PostgreSQL的.
回复
AutoAsm 2001-07-18
呵呵,为了保证性能,不启动XWINDOW。
我建议你还是不要用JAVA,对性能要求不高的场合可以,我看这个对性能要求很高哦,连XWINDOW都不敢用。
那就用C吧。要不就装XWINDOW,用KYLIX ,XWINDOW能对性能有多大影响?起码比解释执行JAVA要好。
回复
lcgong 2001-07-18
建议使用Java(必要时使用JNI), Kylix的技术风险太大了。

Linux 服务端可以采用:
Web Server: Tomcat
EJB Server: JBoss
Database: PostgreSQL
这种组合已相当成熟了,另外,看起来客户不想给太多的钱,建议给他上,先。慢,先加钱吧! :)
回复
bbm 2001-07-18
python可以考虑吗?如果你准备用linux?
回复
kuai_kevin 2001-07-18
我总觉得kylix还不成熟,有必要去冒这个风险吗,还是在java和c中选一种吧。
回复
happyokok 2001-07-18
我给你另一种思路;
用XML在两个系统中进行通讯,用BizTalk支持。
这可能是最优的方案之一。
回复
guojun_2000_2000 2001-07-17
时间就是胜利,用JAVA吧。
回复
learn_0 2001-07-04
如果数据大的话,利用专用数据库服务器
回复
bbm 2001-06-11
我用websphere3.5,(因为客户原来就有,不是我逼他买的,;)),Servlet足够用了。

开发用VAJ,因为是IBM的ISV,也是必需得用,不用也可以做的!

如果你用java,在什么平台运行就问题不大,可以等程序做完了再看客户情况(我的是AIX)!

资料和代码是公司的产权,这里不便送上了!;)


回复
w102272 2001-06-11
那就不行了。这个和我的要求冲突。
“另外为了降低成本,不能假设使用大型数据库,复杂的运行环境支持”
我可不能逼用户去买WebSphere. 可能就是一个干干的LINUX服务器,免费的可以安装,
别的就不可以了。
回复
renyukun 2001-06-10
KYLIX也不是不行吧,不过我还是同意上面的看法:java比较合适。
回复
w102272 2001-06-09
嗯,那倒无所谓。
能给我些资料、程序吗?
To bbm:
你用什么工具? jbuilder? 什么环境? 那种linux? Jrun还是别的东西?
serverlet,还是EJB?

急呀! KYLIX不行吗?
回复
meixiaolong 2001-06-08
同意楼上的观点
回复
jackmoongong 2001-06-08
当然用java了(我们刚做了一个类似的项目),性能没有你想的那么差,不过在进程的调度上要用本地化代码(JNI)。
回复
t 2001-06-08
为什么必须选择其中一种?
回复
bbm 2001-06-08
相信我,java没错的!

;)

我用java做过广播数据的接受,瓶颈在数据库的提交处理上!

回复
kalling 2001-06-08
java,服务器买sun的机器
回复
w102272 2001-06-08
To jackmoongong:
能告诉我你的方案吗? 我对JAVA不熟悉,不知道该选择什么开发工具,什么环境.
如果要对通信作监视,JAVA还能作吗?
回复
相关推荐
发帖
研发管理
创建于2007-08-27

1221

社区成员

软件工程/管理 管理版
申请成为版主
帖子事件
创建了帖子
2001-06-07 10:13
社区公告
暂无公告