学海荡舟手机网

主页 > 实用文摘 > 教育文摘_22 > > 详细内容

Web服务的电子商务应用集成模式研究_电子商务技术

    [摘 要]本文简要叙述了可信web 服务技术标准,重点分析了基于可信web服务的电子商务应用集成模式并给出了一个应用实例。
    [关键词]电子商务;应用集成; 可信web服务
    企业信息化以及信息技术的快速发展,电子商务、物流和企业间协同商务等要求企业的应用系统是一个高度集成和开放的系统,但企业间异构系统形成许多“信息孤岛”。如何使这些异构系统能够无缝地进行通信,如何使企业间建立安全共享的合作伙伴关系则是现阶段电子商务开发的重点。为此本文提出了一种基于可信web服务的电子商务应用集成模式。
    1 可信web 服务技术简介
    web 服务是近几年发展起来的新一代web技术,它是松耦合的,具有完好的封装性、使用标准协议规范性、高度可集成能力,可灵活实现跨厂商、跨平台、跨语言应用。但安全问题一直是其健康发展的障碍。可信web服务技术是在web服务基础之上提出来的,web服务通过可信soap(simple object access protocol ,简单对象访问协议)技术来保证消息的可信性,即消息的机密性、完整性和不可抵赖性;通过可信的wsdl(web services description language ,web服务描述语言)来描述可信的服务组件;通过可信uddi(universal description discovery and integration,统一描述、发现和集成协议)来发布可信服务组件;通过xml(extensible markup language,可扩展标记语言)描述、交换、传递信息;通过http(hypertext transfer protocol, 超文本传输协议)实现网络互联及通信;通过可信web构件技术为各类系统的开发提供基础平台,并大大提高系统的开发效率。
    2 基于可信web服务的电子商务应用集成模式的构建
    web服务通常由服务请求者、服务提供者和注册中心组成,它们之间的相互关系为发布、查找和绑定。基于可信web 服务的电子商务应用集成模式如图1所示。建立企业间公有uddi注册中心,所有企业内外部的应用系统在对外接口上都用统一的对象模型——web服务封装。所有的web服务挂接在internet/intranet上,同时,通过uddi注册机制在uddi注册中心登记,面向internet提供服务。任意的服务请求者,通过uddi注册机制发现合乎自己要求的服务,找到服务提供者,然后通过internet远程调用该服务。
    3 应用实例 :网上购销
    为描述基于可信web服务技术支持的企业间电子商务活动的互操作过程,这里以订单处理为例说明,如图2所示。
    3. 1创建服务
    首先服务提供者先发布web服务:打开visual studio. net集成开发环境→新建项目→在项目模板中选择【asp. net web服务】→命名为mydataservice→出现设计对话框→切换到代码编辑对话框,按下面的程序改变对话框中的代码。
    namespace mydataservice{
    [web service(namespace=“//jzbh.com/”)]
    public class service1 : system.web.services.webservice
    {
    public service1()
    {
    initializecomponent();
    }
    #region component designer generated code
    private icontainer components = null;
    privatevoid initialize component()
    }
    protected override void dispose( bool disposing)
    {
    if(disposing && components != null)
    { components.dispose(); }
    base.dispose(disposing);
    }
    #endregion
    public sqlconnection myconn=new sqlconnection(″data source=localhost; integrated
    security=sspi; initial catalog=northwind″);
    [webmethod]
    public int getstocks(string productname)
    {int num;
    num= stocks (productname) ;
    return num;}
    private int stocks (string name)
    { retum 88 ;}
    }
    该web服务提供了一个getstocks方法,它通过sqlconnection对象连接到数据库。把这个程序保存名为productinfo. asmx的文件。此程序就是我们要发布的库存web服务程序。而描述此web服务的wsdl文件, 不需要自己编写, 只要打开一个ie窗口, 按f5,将对web服务进行编译并启动浏览器,在url中添加?wsdl , 就可以在ie中看见这个web服务的wsdl文件。
    3. 2调用服务
    编写一个客户端程序,说明服务需求企业调用第一步创建的web服务:新建一个asp.net web应用程序,命名为usedataservice。转到该项目的解决方案资源管理器对话框,从列表中选择【引用→右击→选择】→【添加web引用】→将弹出【添加web引用】对话框→填入刚才建的web服务的位置()。刷新后左侧的对话框中将出现该web服务支持的方法,单击【添加引用】,在项目中就可以直接引用这个web服务了。现在将一个datagrid控件添加到web窗体中,转到代码编辑对话框,输入下列代码:
    namespace usedataservice
    {
    public class webform1 : system.web.ui.page
    {
    protected system.web.ui.webcontrols.datagrid datagrid1;
    private void page_load(object sender, system.eventargs e)
    }
    localhost.service1 myservice=new localhost.service1();
    dataset mydataset=new dataset();
    mydataset=myservice.getstocks();
    datagrid.databind();
    }
    #region web form designer generated code
    override protected void oninit(eventargse)
    {
    initializecomponent();
    base.oninit(e);
    }
    private void initialize component()
    {this.load =newsystem.eventhandler(this.page_
    load);}
    #endregion
    }
    把web引用添加到项目中后会自动生成一个该web服务的代理类,可以认为这个代理类就是web服务的本地映像。在web应用程序中可以直接生成该代理类的实例来调用web服务,本例中这个代理类是localhost service1,这个名称是添加web引用后默认生成的。生成代理类的实例后直接调用web服务提供的getstocks方法,用来返回数据集,将该数据集绑定到datagrid控件上就可以在浏览器中显示数据了。
    4 结 语
    本文提出的基于可信web 服务的电子商务应用集成模式基本实现了企业间应用系统间面向消息服务的松散耦合,支持企业之间“动态发现”所提供的快速变化的商业服务,对供应链集成管理或b2bi(business-to-business integration)的有效解决提供了一种新的思路。
    主要参考文献
    [1] web services architecture,w3c working group note[eb/ol]. 2004-02-11.
    [2] 沈垚,赵林度. web services在中小型企业电子商务上的应用[j]. 微计算机应用,2006,(2/3).
    [3] fraser,stewart,steven livingstone. c# xml入门经典——c#编程人员必备的xml技能[m]. 毛尧飞, 崔伟译. 北京:清华大学出版社,2003:506-526.
    [4] 柴晓路. soap技术及应用概览[eb/ol]. .
    [5] joseph mayo. c#技术内幕[m]. 王启丁,高锦文等译. 北京:机械工业出版社,2003:290-305.