原来有一个类似b/s的OA 系统;登录系统后,可以通过定时刷新的方式获取自己的消息提示内容;
现在客户要求,不用打开IE 登录;就可以实现类似QQ 那样的消息提示,而且直接可以点击消息定位到相应的IE功能页面;
请问这个该怎么实现,最好有人做过类似的例子;我的设想是:开发一个客户端,开机自动启动,然后定时去读取数据库弹出消息提示;点击连接到IE模块上;没搞过c/s;有点棘手。
分不够可以再给,请帮忙!

解决方案 »

  1.   

    QQ把客户都带坏了...C/S
    C:主要主一个托盘图标,加上一个通信客户端的实现,每隔X的时间到服务器取消息,
    S:如果简单点,S就是一个DB,否则可以开发一个服务器软件,接收客户端连接,  或者,用Webservice,服务器端发布的还是WEB应用,客户端用的却是一个桌面应用程序.
    这个比较快.服务器改动也比较小,主要就是增加几个接口就好了.关于webservice可以采用Apache的AXIS/AXIS2,当然也有其它的.
      

  2.   


    做桌面端是可行的,关键是桌面客户端与远程服务器的交互是直接去查远程的数据库,还是像楼上说的调WebService调WebService是大势所趋,毕竟你桌面客户端需要的信息量是不多的,自己连数据还要跨防火墙,加载数据库驱动,明显增大了客户端的工作量
      

  3.   

    嗯;有没有一个例子呢;这个小东西时间比较紧张;我也看看你说的webservice;乘机学习下!
      

  4.   

    用WebService比较好,以后再扩展也简单.
      

  5.   

    哦;妄说了,我的系统用java语言的,C# 不熟悉
      

  6.   

    以下是AXIS2的一个试例:
    关于AXIS的lib请到apche上去找,我当初学习的时候比较难搞的是这个配置文件:配置文件名[server-config.wsdd],置于web-inf下:<?xml version="1.0" encoding="UTF-8"?>
    <deployment name="defaultClientConfig"
                xmlns="http://xml.apache.org/axis/wsdd/"
                xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
                xmlns:handler="http://xml.apache.org/axis/wsdd/providers/handler"> <globalConfiguration>
       <parameter name="disablePrettyXML" value="true"/>
       <parameter name="dotNetSoapEncFix" value="true"/>
       <parameter name="enableNamespacePrefixOptimization" value="false"/>
       <requestFlow>
         <handler type="java:org.apache.axis.handlers.JWSHandler">
            <parameter name="scope" value="session"/>
         </handler>
         <handler type="java:org.apache.axis.handlers.JWSHandler">
            <parameter name="scope" value="request"/>
            <parameter name="extension" value=".jwr"/>
         </handler>
         <!-- uncomment this if you want the SOAP monitor -->
         <!--
         <handler type="java:org.apache.axis.handlers.SOAPMonitorHandler"/>
         -->
       </requestFlow>
       <!-- uncomment this if you want the SOAP monitor -->
       <!--
       <responseFlow>
         <handler type="java:org.apache.axis.handlers.SOAPMonitorHandler"/>
       </responseFlow>
       -->
     </globalConfiguration> <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>
     <handler type="java:org.apache.axis.transport.local.LocalResponder" name="LocalResponder"/>
     <handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" name="Authenticate"/> <service name="AdminService" provider="java:MSG">
      <namespace>http://xml.apache.org/axis/wsdd/</namespace>
      <parameter name="allowedMethods" value="AdminService"/>
      <parameter name="enableRemoteAdmin" value="false"/>
      <parameter name="className" value="org.apache.axis.utils.Admin"/>
     </service> <service name="Version" provider="java:RPC">
      <parameter name="allowedMethods" value="getVersion"/>
      <parameter name="className" value="org.apache.axis.Version"/>
     </service>
     
     <!--  ======================以上内容一般不需要修改===========================-->
     <!--  ======================================================================
      Services:Demo,此段包含Sevice配置实例
     =======================-->
      <!-- 
       示例1: 简单 Service
       情境: 包含下例代码中基本属性.所有参数传递均为元数据,即int、float、double、String、boolean等非对象数据;
    可以访问此Service中所有的方法
       引用: 在C#中借助于IDE引用
      -->
      <service name="WSTest1" provider="java:RPC"> <!-- name: 此WebService的名称;provider:工作模式 -->
      <parameter name="className" value="pc.mk.ws.SayHello"/><!-- 此Service对应的实现类 -->
      <parameter name="allowedMethods" value="*"/><!-- 可以访问这个Service中所有的方法 -->
      </service>
       <!--  ======================以下内容一般不需要修改===========================-->
     <transport name="http">
      <parameter name="qs:list" 
                   value="org.apache.axis.transport.http.QSListHandler"/>
      <parameter name="qs:method" 
                   value="org.apache.axis.transport.http.QSMethodHandler"/>
      <parameter name="qs:wsdl" 
                   value="org.apache.axis.transport.http.QSWSDLHandler"/>
      <requestFlow>
       <handler type="URLMapper"/>
       <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
      </requestFlow>
     </transport> <transport name="local">
      <responseFlow>
       <handler type="LocalResponder"/>
      </responseFlow>
     </transport></deployment>上面配置文件中的pc.mk.ws.SayHello为webservice的实现类,一个普通类,可不继承任何,不实现任何.AXIS在WEB.XML中的配置,可不用修改
      <servlet>
        <servlet-name>AxisServlet</servlet-name>
        <servlet-class>
            org.apache.axis.transport.http.AxisServlet
        </servlet-class>
      </servlet>
      <servlet>
        <servlet-name>AdminServlet</servlet-name>
        <servlet-class>
            org.apache.axis.transport.http.AdminServlet
        </servlet-class>
        <load-on-startup>100</load-on-startup>
      </servlet>
      <servlet>
        <servlet-name>SOAPMonitorService</servlet-name>
        <servlet-class>
            org.apache.axis.monitor.SOAPMonitorService
        </servlet-class>
        <init-param>
          <param-name>SOAPMonitorPort</param-name>
          <param-value>5001</param-value>
        </init-param>
        <load-on-startup>100</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/servlet/AxisServlet</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>*.jws</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>SOAPMonitorService</servlet-name>
        <url-pattern>/SOAPMonitor</url-pattern>
      </servlet-mapping>
    查看已发布的方法是在IE地址栏输入:http://xxx/app/services