公司主要做数据流平台,数据处理,数据存取,数据搜索数据挖掘;企业地图,采用面向服务的技术架构和先进的工作流管理机制的企业服务系统。
    我在公司主页上soa面向服务看的比较多,而要求也有模块可拔插,面向服务思想。
    之前做东西主要考虑实现什么功能,一个一个具体功能的去解决。突然跳到提供什么服务的高度,感觉有种无处下手的感觉,题目太大,不知道怎么去答得感觉。

解决方案 »

  1.   

    很简单,我做个小程序,支持tcp,udp,xiaoi,如果要扩展协议也可以的,http扩展还没试过,功能扩展也可以,功能跟协议无关,有会话控制,一周内完成应该是可以的。代码我是不会给你的。o(∩_∩)o...要凭自己的实力。给你点提示:
    1.隔离协议与程序中的逻辑实现,可以参考servlet里面的request,response两个对象是如何隔离http协议的,会话的建立也可以参考servlet的session。
    2.使用命令模式去实现各个功能。最后如果这是个好公司,羡慕一下楼主
      

  2.   

    @&$)@!&$)(&!#)%&!@)%&
    LZ我建议你呢
    先用struts2框架做个简单的单表的master包含crud
    你别管大小什么的,你先鼓捣出来,接下来你看时间还够不够,可以的话再一步步往里面+
    比如:index做成登陆界面,再多加2张表,增加css式样,js控制验证,validator,struts-menu
    ajax,
    我感觉你如果以前没自己写过的话,做个单表的curd你就要花个几天了(当然,如果你copy别人代码那你自己看着算了)
    ========================================
    还记得我第一次自己鼓捣个master,用了一个礼拜
    只是简单的增,批量改,批量删和查而已
    后来速度就快了
      

  3.   

    楼上你说上面的有什么用,题目貌似是要design and implement an small application server in any of the language in java/c++
      

  4.   

    能多少就先做多少
     要可扩展性好
    就整合Spring
      

  5.   

    application  server  
    只要有容器就可以了,tomcat不行么?
      

  6.   

    是实现application server,tomcat是别人做的server。我觉得其实是考架构,设计模式
      

  7.   

    不知道你有没有注意到,他并没有说是什么通信协议,只要能正确处理就可以了,所以客户端一个console就可以了。不要老是抓着什么框架不放b. depends on the protocol definition, the request from client has to be able to be dispatched into the right handler. 下面一条更明显的告诉你可以不用http协议,可以是一个短连接,但是必须有会话,什么协议?tcp,udp最简单了,两周可以做完了,说不定还可以写出xml配置来实现服务的加载功能c. depends on the protocol's style. If it is ephemeral connection based, state has to be able to maintain between each request. 
      

  8.   

    除了palm_civet以外的人都在回答什么啊, 题目都没有看明白吧。 
    人家主要是实现一个简单的application server。 期待高手。
    其实有兴趣的可以看看tomcat的实现。
    我感觉问这种问题一般不是看重你的最终结果是不是达到要求, 而是看你的思路是不是清晰而且是不是能够找到有效的途径去解决问题。
    当然如果非要出结果的话,起码我感觉这个题目是比较变态的。
      

  9.   

    做一个 b/s结构的典型应用我觉得就可以了。客户端用java/window 服务器端用c/c++/linux。使用tcp/udp通讯。协议发送,数据解析。
      

  10.   

    人家要的是application server,所以你用tomcat做b/s肯定方向就是错的了
    个人感觉你要用serversocket和socket做服务器和客户端呀,也就是C/S方向,client和server的通信规则你自己定义,比如说客户端发送的第一个字节代表了请求模块的ID之类,不同的模块实现不同的功能,比如模块1进行四则运算,模块2可以返回天气预报或者诸如此类的,server记得要支持多线程。
    好像也不是特别难,呵呵
      

  11.   

        经楼上所言我突然发现可能我想用tomcat作b/s的想法就是错的,可能本意是让我实现一个c/s的客户端和服务器端,这下泪奔了,以前就做过b/s的东西,awt都没写过什么具体的界面....不过让我有问题就发邮件提问,我先确定下来能不能用b/s,真让我自己实现tomcat web容器功能对我来说确实太难了....
      

  12.   


        说来惭愧,我就看过object,string类的源码,其他最多是api记得挺熟的...从servlet的session实现开始看,我之前也没写过c/s结构的东西,真的如此,两周时间对我来说就很难了
      

  13.   


    你的思维还没跳出b/s,仔细看楼主的问题,题目中b. depends on the protocol definition, the request from client has to be able to be dispatched into the right handler. 
    c. depends on the protocol's style. If it is ephemeral connection based, state has to be able to maintain between each request. 为什么要加这两条?你用容器,这两条放这里有意义吗?
      

  14.   

    顺便说,这个帖子我发了两遍,由于不熟悉论坛结构,在web开发发了一遍发现外层java分论坛看不见又重新发了一遍,之后发现帖子不能删除,问题点数没人回也就浪费了。。那个帖子地址http://topic.csdn.net/u/20080610/16/c329476a-2e42-4e00-b9b1-e0c0ea7d5794.html,大家就当水贴回回 ,我好把100分发出去,浪费是最大的犯罪啊。
      

  15.   


    不管是c/s,b/s其实是一样的关键我已经告诉你了另外不要看是serlvet是如何实现的,主要看servlet的设计,几个接口,然后想一下搬到自己的程序里面(语文不好,表达不清)
      

  16.   

    palm_civet,您说的我感觉很有道理,问题是我之前没做过c/s结构的东西,客户端的用awt我还能想出怎么做,做什么来,而服务器端如何实现类似于tomcat这样的服务器容器功能,我想象不出来,能给我大体描述下吗,谢谢 !
      

  17.   

    java socket编程你学过吧,想象一下咯,比如tcp传过来一个字符串[cmd:view][id:5]
    你去解析一下调用命令view对应的服务,服务的参数是5就可以了,至于服务怎么加载,可以配置在xml里面,用spring,不用自己写解析器,当然hibernate也可以用了,这样就把流行的框架整合到你的应用里了其实这个跟web应用中的get,post请求的参数是一样的,服务端也是解析这些参数你才能使用request.getParameter()
      

  18.   

    其实没什么的
    那公司不管大也好,还是小也好
    考验你的无非就那么几点:
    一:专业技术,一般象刚毕业的,公司不会要求你有多厉害
    你只需要把你的开发文档,也就是他说的PPT写好,尤其是你的思路,哪怕运行不起来
    但你的思路一定得清晰!
    二:那就是你的其他素质了,毕竟是先做人,再做事,而且你是刚毕业,潜力一般是比较大的
    而且也是最好榨取你这样的劳动力的
    呵呵,以上属于个人观点
    不过,加油吧 
    能做多少,做多少!
    再真正理解他的要求后
    起码得有自己的思想,自己的思想很重要!
      

  19.   


    Socket也很简单的呀,不用写UI呀,写命令行的就可以呀,用不着awt或swing
      

  20.   

    ================
    那好,你把bc的内容翻译下
    不就是请求的跳转,并发和状态的维护么
    为什么bs不能做,你给个理由
    我只要跳转正确,能多用户同时访问一个事务(做判断要),以及用session或datasouce保持某种状态不就好了么
    ================
    lz不是发mail问了么,他们怎么回的?
      

  21.   


    的确没说不可以。但是你看这条
    d. appserver has to support multiple concurrent clients. 
    摆明了就是叫你自己去实现appserver,你随便找个appserver都符合这个要求的(tomcat),如果是这样他写这条干什么?如果用b/s结构,必须要实现http协议,这个协议实现好了,你在做其他部分时间肯定不够
      

  22.   


    你查查an small application server的意思,不是an small application
      

  23.   

    http://translate.google.com/translate_t?sl=en&tl=zh-CN自己google上查
      
      

  24.   

    实现插件形式,即插即用... 
    java开发模式中讲有很多例子...
      

  25.   

        非常感谢!
         spring我学的比较浅,只在Myeclipse里面快制配置,应用过,之前从来没想过spring用在自己的c/s结构上,看来明天应该去图书馆借本spring的书,刚搜索了一下图书馆,spring的有39本,能推荐几本经典,讲的明白的书吗
      

  26.   

    我觉得现在看书来不及吧看题目的要求没有要求动态的可拔插(那个我不会),用spring应该是够了,我觉得你所说的“比较浅”也够了等你成功了过来结贴哦
      

  27.   

        不管成功不成功,我都回接贴的,我感觉我现在最缺的是跳出tomcat的b/s思维站得更高,以servlet高度而不是httpservlet高度思考问题,我现在socket差不多理清楚了,目前正在积极找源码察看增加灵感中....
        我准备明天先把另一个没人回的帖子结了,主要根据在这个帖子的回复,和那个帖子的回复先把100分分掉。
      

  28.   

        目前进度:把servlet接口,request,reponse,session这些东西更深入理解研究了下,以前只是限于b/s开发直接用。顺便问下如何看tomcat那几个内置对象如request,reponse,session是怎么具体实现的?
         socket基础看完,照着网上帖子实例实现了简单的socket,serversocket多线程连接,大体把尚学堂的简单聊天室的视频看完了并照着做了个简易聊天室。-以前Java基础课由于老师是搞b/s网站开发的,所以包就具体讲了util,io,lang几个基础的,之前没研究过net包,直接上手的javax.servlet。
         快速察看了一下我电脑里面的java开发视频,找到几个完整的带server端设计的项目视频,准备先花1,2天把这几个视频研究清楚了再考虑作什么东西。
         目前感觉多多少少已经理解socket服务器端编程了,就是自己如何配置xml文档还是一片浆糊,想研究下tomcat的web.xml解析。
      

  29.   

       目前进度:
        照着网上的例子,写了个简易聊天室,把socket,thread的东西整合了一下。
        按着其他例子,感觉http协议实现不是太难,把服务器端口设置为8080,客户端在ie输入http://ip:8080,主机根据接收情况返回html文本形式的string 作输出流,然后ie就接收输入显示为html网页。不过如何把jsp这种东西编译成servlet经服务器处理显示给用户,或者直接处理servlet生成相应的html文本还没有直观的印象。有点模糊的感觉,用spring或其他框架作Mvc 控制,做资源调用。不知道能不能实现。下午继续研究Ing。
        一旦我能成功处理jsp或者servlet,那剩下的东西就是我很熟的做servlet和jsp了,难度就不高了。
        如果我搞不定,只能先实现tcp,udp这样的协议了,做点简单的东西了。 
      

  30.   

    其实一个聊天室就可以,就算是用swing awt 还有多线程,估计也就是1.5K以内的代码,思路清晰写起来很快
      

  31.   

    公司今天回我的邮件,我发的大体内容就是55楼所说的,
        What you are planning to do is sufficient enough. But regarding your idea using jsp as presentation layer, I think it is too much. The only thing you can do with this relatively short time is just using other people's jsp compiler. 
    So your idea of using servlet interface is better and also reasonable. 
       I actually want you to focus more on application server's scalability and performance and also ease of use. You don't need to make it looks fashion outside. I want it to be sophisticate inside. For example think about how to group several of your app server nodes into a cluster and do some simple load balancing and failover. But this is optional, only when you have free time and the willing to work on it. 
       集群服务器,负载平衡,故障排除,好像是分布式系统,都是些我了解名字,知道点原理,具体就啥也不知道的东西,暂时不考虑....
      

  32.   

    用java做socket的server还是比较简单的,java自己就提供了现成的类,很容易就可以做成并发的,而且java有RMI做分部式也没那么困难.不过这公司要求的似乎挺高的~lz加油.