Click here to Skip to main content
15,895,836 members
Articles / DevOps / Load Testing

VirtualService for ESB

Rate me:
Please Sign up or sign in to vote.
4.90/5 (32 votes)
19 Feb 2008CPOL37 min read 97K   1.2K   98  
This article describes the design, implementation, and usage of VirtualService for the Enterprise Service Bus, using the Microsoft .NET FX 3.5 technology.
//*****************************************************************************
//    Description.....ESB Contracts
//                                
//    Author..........Roman Kiss, rkiss@pathcom.com
//    Copyright © 2007 ATZ Consulting Inc. (see included license.rtf file)        
//                        
//    Date Created:    07/07/07
//
//    Date        Modified By     Description
//-----------------------------------------------------------------------------
//    07/07/07    Roman Kiss     Initial Revision
//*****************************************************************************
//
#region Namespaces
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
#endregion

namespace RKiss.ESB
{
    [ServiceContract(Namespace="urn:rkiss.esb")]
    public interface IBootstrap
    {
        [OperationContract]
        HostMetadata GetMetadata(string hostName, string applicationName, string machineName, string optionServiceName);
    }

    [ServiceContract(Namespace = "urn:rkiss.esb")]
    public interface IDomainLoader
    {
        [OperationContract]
        void UnloadDomain(string hostName, string appDomainHostName);

        [OperationContract]
        void ReloadDomain(string hostName, string appDomainHostName, HostMetadata metadata);

        [OperationContract]
        void LoadDomain(string hostName, string appDomainHostName, HostMetadata metadata);

        [OperationContract]
        List<ServiceMetadataBase> GetHostedServices(string hostName);
    }

    [ServiceContract(Namespace = "urn:rkiss.esb")]
    public interface IGenericContract
    {
        [OperationContract(Action = "*", ReplyAction = "*")]
        [TransactionFlow(TransactionFlowOption.Allowed)]
        Message ProcessMessage(Message message);
    }

    [ServiceContract(Namespace = "urn:rkiss.esb", SessionMode = SessionMode.NotAllowed)]
    public interface IBroadcast
    {
        [OperationContract(IsOneWay = true, Action = "*")]           
        void ProcessMessage(Message message);
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions