Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/CustomerData.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/CustomerData.cs?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/CustomerData.cs
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/CustomerData.cs
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,178 @@
+//  .Net StockTrader Sample WCF Application for Benchmarking, Performance 
Analysis and Design Considerations for Service-Oriented Applications
+
+//======================================================================================================
+// The AccountDataModel class, part of the DataContract for the StockTrader 
Business Services Layer.
+//======================================================================================================
+
+//======================================================================================================
+// Code originally contributed by Microsoft Corporation.
+// This contribution to the Stonehenge project is limited strictly 
+// to the source code that is submitted in this submission.  
+// Any technology, including underlying platform technology, 
+// that is referenced or required by the submitted source code 
+// is not a part of the contribution.  
+// For example and not by way of limitation, 
+// any systems/Windows libraries (WPF, WCF, ASP.NET etc.) 
+// required to run the submitted source code is not a part of the contribution
+//======================================================================================================
+
+using System;
+using System.Collections;
+using System.ServiceModel;
+using System.Runtime.Serialization;
+
+namespace Trade.BusinessServiceDataContract
+{
+    /// <summary>
+    /// This class is part of the WCF Data Contract for StockTrader Business 
Services.
+    /// It defines the class used as the data model for account information. 
+    /// </summary>
+    [System.Xml.Serialization.XmlTypeAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com";, TypeName="AccountDataBean")]
+    
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", 
"3.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com",Name="AccountDataBean";)]
+    public sealed class AccountDataModel
+    {
+        private int _accountID;                    
+        private DateTime _creationDate;        
+        private string _userId;
+        private decimal _openBalance;
+        private int _logoutCount;
+        private decimal _balance;
+        private DateTime _lastLogin;
+        private int _loginCount;
+            
+        public AccountDataModel()
+        {
+        }
+
+        public AccountDataModel(int accountID, string userid,
+                                DateTime creationDate,
+                                decimal openBalance,
+                                int logoutCount,
+                                decimal balance,
+                                DateTime lastLogin,
+                                int loginCount)
+        {
+            this._accountID = accountID;
+            this._creationDate = creationDate;
+            this._userId = userid;
+            
+            this._openBalance = openBalance;
+            this._logoutCount = logoutCount;
+            this._balance = balance;
+            this._lastLogin = lastLogin;
+            this._loginCount = loginCount;
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"accountID", Order = 1, IsNullable=false)]
+        [DataMember(IsRequired = false, Name = "accountID", Order = 1)]
+        public int accountID
+        {
+            // Properties
+            get { return _accountID; }
+            set
+            {
+                this._accountID = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"loginCount", Order = 2, IsNullable=false)]
+        [DataMember(IsRequired = false, Name = "loginCount", Order = 2)]
+        public int loginCount
+        {
+            get
+            {
+                return _loginCount;
+            }
+            set
+            {
+                this._loginCount = value;
+            }
+        }
+
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"logoutCount", Order = 3, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "logoutCount", Order = 3)]
+        public int logoutCount
+        {
+            get
+            {
+                return _logoutCount;
+            }
+            set
+            {
+                this._logoutCount = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"lastLogin", Order = 4, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "lastLogin", Order = 4)]
+        public DateTime lastLogin
+        {
+            get
+            {
+                return _lastLogin;
+            }
+            set
+            {
+                this._lastLogin = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"creationDate", Order = 5, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "creationDate", Order = 5)]
+        public DateTime creationDate
+        {
+            get
+            {
+                return _creationDate;
+            }
+            set
+            {
+                this._creationDate= value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "balance", 
Order = 6, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "balance", Order = 6)]
+        public decimal balance
+        {
+            get
+            {
+                return _balance;
+            }
+            set
+            {
+                this._balance = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"openBalance", Order = 7, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "openBalance", Order = 7)]
+        public decimal openBalance
+        {
+            get
+            {
+                return _openBalance;
+            }
+            set
+            {
+                this._openBalance = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"profileID", Order = 8, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "profileID", Order = 8)]
+        public string profileID
+        {
+            get
+            {
+                return _userId;
+            }
+            set
+            {
+                this._userId = value;
+            }
+        }
+    }
+}
\ No newline at end of file

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/CustomerProfileData.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/CustomerProfileData.cs?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/CustomerProfileData.cs
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/CustomerProfileData.cs
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,137 @@
+//  .Net StockTrader Sample WCF Application for Benchmarking, Performance 
Analysis and Design Considerations for Service-Oriented Applications
+
+//======================================================================================================
+// The AccountProfileDataModel class, part of the DataContract for the 
StockTrader Business Services Layer.
+//======================================================================================================
+
+
+using System;
+using System.Collections;
+using System.Runtime.Serialization;
+using System.Xml.Serialization;
+using System.ServiceModel;
+
+namespace Trade.BusinessServiceDataContract
+{
+    /// <summary>
+    /// This class is part of the WCF Data Contract for StockTrader Business 
Services.
+    /// It defines the class used as the data model for account profile 
information. 
+    /// </summary>
+    [System.Xml.Serialization.XmlInclude(typeof(AccountProfileDataModel))]
+    
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", 
"3.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com";, Name = "AccountProfileDataBean")]
+    public sealed class AccountProfileDataModel
+    {
+        private string _userId;
+        private string _password;
+        private string _fullName;
+        private string _address;
+        private string _email;
+        private string _creditCard;
+            
+        public AccountProfileDataModel()
+        {
+        }
+
+    public AccountProfileDataModel(
+               string userid,
+        string password,
+        string fullname,
+        string address,  
+        string email,        
+        string creditcard
+        )
+           {
+            this._userId = userid;
+            this._password = password;
+            this._fullName = fullname;
+            this._address = address;
+            this._email = email;
+            this._creditCard = creditcard;
+           }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "userID", 
Order = 1, IsNullable = false)]
+        [DataMember(IsRequired=false,Name="userID",Order=1)]
+        public string userID
+        {
+            get
+            {
+                return _userId;
+            }
+            set
+            {
+                this._userId = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"password", Order = 2, IsNullable = false)]
+        [DataMember(IsRequired=false,Name="password",Order=2)]
+        public string password
+        {
+            get
+            {
+                return _password;
+            }
+            set
+            {
+                this._password = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"fullName", Order = 3, IsNullable = false)]
+        [DataMember(IsRequired=false,Name="fullName",Order=3)]
+        public string fullName
+        {
+            get
+            {
+                return _fullName;
+            }
+            set
+            {
+                this._fullName = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "address", 
Order = 4, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "address", Order = 4)]
+        public string address
+        {
+            get
+            {
+                return _address;
+            }
+            set
+            {
+                this._address = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "email", 
Order = 5, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "email", Order = 5)]
+        public string email
+        {
+            get
+            {
+                return _email;
+            }
+            set
+            {
+                this._email = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"creditCard", Order = 6, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "creditCard", Order = 6)]
+        public string creditCard
+        {
+            get
+            {
+                return _creditCard;
+            }
+            set
+            {
+                this._creditCard = value;
+            }
+        }
+    }
+}
\ No newline at end of file

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/HoldingData.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/HoldingData.cs?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/HoldingData.cs
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/HoldingData.cs
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,144 @@
+//  .Net StockTrader Sample WCF Application for Benchmarking, Performance 
Analysis and Design Considerations for Service-Oriented Applications
+
+//======================================================================================================
+// The HoldingDataModel class, part of the DataContract for the StockTrader 
Business Services Layer.
+//======================================================================================================
+
+using System;
+using System.Collections;
+using System.Runtime.Serialization;
+using System.ServiceModel;
+
+namespace Trade.BusinessServiceDataContract
+{
+    /// <summary>
+    /// This class is part of the WCF Data Contract for StockTrader Business 
Services.
+    /// It defines the class used as the data model for holding information. 
+    /// </summary>
+    [System.Xml.Serialization.XmlTypeAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com",TypeName="HoldingDataBean";)]
+    
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", 
"3.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com",Name="HoldingDataBean";)]
+    public sealed class HoldingDataModel
+       {
+        private int _accountID;
+        private int _holdingID;
+        private double _quantity;
+        private decimal _purchasePrice;
+        private DateTime _purchaseDate;
+        private string _quoteID;
+       
+        public HoldingDataModel()
+        {
+        }
+
+        public HoldingDataModel(int holdingID, int accountID, double quantity, 
decimal purchasePrice, DateTime purchaseDate, string quoteID)
+        {
+            this._holdingID = holdingID;
+            this._accountID = accountID;
+            this._quantity = quantity;
+            this._purchasePrice = purchasePrice;
+            this._purchaseDate = purchaseDate;
+            this._quoteID = quoteID;
+        }
+
+        public HoldingDataModel(int holdingID, double quantity, decimal 
purchasePrice, DateTime purchaseDate, string quoteID, int accountID)
+        {
+            this._holdingID = holdingID;
+            this._accountID = accountID;
+            this._quantity = quantity;
+            this._purchasePrice = purchasePrice;
+            this._purchaseDate = purchaseDate;
+            this._quoteID = quoteID;
+        }
+
+        [System.Xml.Serialization.XmlIgnore]
+        public int AccountID
+        {
+            get
+            {
+                return _accountID;
+            }
+
+            set
+            {
+                this._accountID = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"holdingID", Order = 1, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "holdingID", Order = 1)]
+               public int holdingID
+               {
+                       get
+                       {
+                               return _holdingID;
+                       }
+                       
+                       set
+                       {
+                               this._holdingID = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"quantity", Order = 2, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "quantity", Order = 2)]
+               public double quantity
+               {
+                       get
+                       {
+                               return _quantity;
+                       }
+                       
+                       set
+                       {
+                               this._quantity = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"purchasePrice", Order = 3, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "purchasePrice", Order = 3)]
+               public decimal purchasePrice
+               {
+                       get
+                       {
+                               return _purchasePrice;
+                       }
+                       
+                       set
+                       {
+                               this._purchasePrice = value;
+                       }
+                       
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"purchaseDate", Order = 4, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "purchaseDate", Order = 4)]
+               public DateTime purchaseDate
+               {
+                       get
+                       {
+                               return _purchaseDate;
+                       }
+                       
+                       set
+                       {
+                               this._purchaseDate = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "quoteID", 
Order = 5, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "quoteID", Order = 5)]
+               public string quoteID
+               {
+                       get
+                       {
+                               return _quoteID;
+                       }
+                       
+                       set
+                       {
+                               this._quoteID = value;
+                       }
+               }
+    }
+}
\ No newline at end of file

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/MarketSummaryData.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/MarketSummaryData.cs?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/MarketSummaryData.cs
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/MarketSummaryData.cs
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,142 @@
+//  .Net StockTrader Sample WCF Application for Benchmarking, Performance 
Analysis and Design Considerations for Service-Oriented Applications
+
+//======================================================================================================
+// The MarketSummaryDataModelWS class, part of the DataContract for the 
StockTrader Business Services Layer.
+//======================================================================================================
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text;
+using System.Runtime.Serialization;
+using System.ServiceModel;
+
+namespace Trade.BusinessServiceDataContract
+{
+    /// <summary>
+    /// This class is part of the WCF Data Contract for StockTrader Business 
Services.
+    /// It defines the class used as the data model for market summary 
information. 
+    /// </summary>
+    [System.Xml.Serialization.XmlTypeAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com";, TypeName="MarketSummaryDataBeanWS")]
+    
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", 
"3.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com",Name="MarketSummaryDataBeanWS";)]
+       public sealed class MarketSummaryDataModelWS
+       {
+        private decimal _tsia;
+        private decimal _openTSIA;
+        private double _volume;
+        private List<QuoteDataModel> _topGainers;
+        private List<QuoteDataModel> _topLosers;
+        private DateTime _summaryDate;
+       
+        public MarketSummaryDataModelWS()
+        {
+        }
+
+        public MarketSummaryDataModelWS(decimal tSIA, decimal openTSIA, double 
volume, List<QuoteDataModel> topGainers, List<QuoteDataModel> topLosers)
+        {
+            this._tsia = tSIA;
+            this._openTSIA = openTSIA;
+            this._volume = volume;
+            this._topGainers = topGainers;
+            this._topLosers = topLosers;
+            this._summaryDate = DateTime.Now;
+        }
+
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "TSIA", 
Order = 1, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "TSIA", Order = 1)]
+        public decimal TSIA
+        {
+            get
+            {
+                return _tsia;
+            }
+
+            set
+            {
+                this._tsia = value;
+            }
+
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"openTSIA", Order = 2, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "openTSIA", Order = 2)]
+               public decimal openTSIA
+               {
+                       get
+                       {
+                               return _openTSIA;
+                       }
+                       
+                       set
+                       {
+                               this._openTSIA = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "volume", 
Order = 3, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "volume", Order = 3)]
+               public double volume
+               {
+                       get
+                       {
+                               return _volume;
+                       }
+                       
+                       set
+                       {
+                               this._volume = value;
+                       }
+                       
+               }
+
+        [System.Xml.Serialization.XmlArray(ElementName = "topGainers", Order = 
4, IsNullable = false), 
System.Xml.Serialization.XmlArrayItem(typeof(QuoteDataModel))]
+        [DataMember(EmitDefaultValue = false,IsRequired = false, Name = 
"topGainers", Order = 4)]
+               public List<QuoteDataModel> topGainers
+               {
+                       get
+                       {
+                               return _topGainers;
+                       }
+                       
+                       set
+                       {
+                               this._topGainers = value;
+                       }
+                       
+               }
+
+        [System.Xml.Serialization.XmlArray(ElementName = "topLosers", Order = 
5, IsNullable = false), 
System.Xml.Serialization.XmlArrayItem(typeof(QuoteDataModel))]
+        [DataMember(EmitDefaultValue = false,IsRequired = false, Name = 
"topLosers", Order = 5)]
+               public List<QuoteDataModel> topLosers
+               {
+                       get
+                       {
+                               return _topLosers;
+                       }
+                       
+                       set
+                       {
+                               this._topLosers = value;
+                       }
+                       
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"summaryDate", Order = 6, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "summaryDate", Order = 6)]
+               public DateTime summaryDate
+               {
+                       get
+                       {
+                               return _summaryDate;
+                       }
+                       
+                       set
+                       {
+                               this._summaryDate = value;
+                       }
+               }
+    }
+}
\ No newline at end of file

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/OrderData.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/OrderData.cs?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/OrderData.cs
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/OrderData.cs
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,216 @@
+//  .Net StockTrader Sample WCF Application for Benchmarking, Performance 
Analysis and Design Considerations for Service-Oriented Applications
+
+//======================================================================================================
+// The OrderDataModel class, part of the DataContract for the StockTrader 
Business Services Layer.
+//======================================================================================================
+
+
+using System;
+using System.Collections;
+using System.ServiceModel;
+using System.Runtime.Serialization;
+
+namespace Trade.BusinessServiceDataContract
+{
+    /// <summary>
+    /// This class is part of the WCF Data Contract for StockTrader Business 
Services.
+    /// It defines the class used as the data model for order information. 
+    /// </summary>
+    [System.Xml.Serialization.XmlTypeAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com";, TypeName="OrderDataBean")]
+    
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", 
"3.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com",Name="OrderDataBean";)]
+    public sealed class OrderDataModel
+       {
+        private int _orderID;
+        private string _orderType;
+        private string _orderStatus;
+        private DateTime _openDate;
+        private DateTime _completionDate;
+        private double _quantity;
+        private decimal _price;
+        private decimal _orderFee;
+        private int _accountid;
+        private int _holdingID;
+        private string _symbol;
+
+        public OrderDataModel()
+        {
+        }
+
+        public OrderDataModel(int orderID, string orderType, string 
orderStatus, DateTime openDate, DateTime completionDate, double quantity, 
decimal price, decimal orderFee, string symbol)
+        {
+            this._orderID = orderID;
+            this._orderType = orderType;
+            this._orderStatus = orderStatus;
+            this._openDate = openDate;
+            this._completionDate = completionDate;
+            this._quantity = quantity;
+            this._price = price;
+            this._orderFee = orderFee;
+            this._symbol = symbol;
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "orderID", 
Order = 1, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "orderID", Order = 1)]
+               public int orderID
+               {
+                       get
+                       {
+                               return _orderID;
+                       }
+                       
+                       set
+                       {
+                               this._orderID = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"orderType", Order = 2, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "orderType", Order = 2)]
+               public string orderType
+               {
+                       get
+                       {
+                               return _orderType;
+                       }
+                       
+                       set
+                       {
+                               this._orderType = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"orderStatus", Order = 3, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "orderStatus", Order = 3)]
+               public string orderStatus
+               {
+                       get
+                       {
+                               return _orderStatus;
+                       }
+                       
+                       set
+                       {
+                               this._orderStatus = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"openDate", Order = 4, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "openDate", Order = 4)]
+               public DateTime openDate
+               {
+                       get
+                       {
+                               return _openDate;
+                       }
+                       
+                       set
+                       {
+                               this._openDate = value;
+                       }
+                       
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"completionDate", Order = 5, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "completionDate", Order = 5)]
+        public DateTime completionDate
+               {
+                       get
+                       {
+                               return _completionDate;
+                       }
+                       
+                       set
+                       {
+                               this._completionDate = (DateTime) value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"quantity", Order = 6, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "quantity", Order = 6)]
+               public double quantity
+               {
+                       get
+                       {
+                               return _quantity;
+                       }
+                       
+                       set
+                       {
+                               this._quantity = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "price", 
Order = 7, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "price", Order = 7)]
+               public decimal price
+               {
+                       get
+                       {
+                               return _price;
+                       }
+                       
+                       set
+                       {
+                               this._price = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"orderFee", Order = 8, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "orderFee", Order = 8)]
+               public decimal orderFee
+               {
+                       get
+                       {
+                               return _orderFee;
+                       }
+                       
+                       set
+                       {
+                               this._orderFee = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "symbol", 
Order = 9, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "symbol", Order = 9)]
+               public string symbol
+               {
+                       get
+                       {
+                               return _symbol;
+                       }
+                       
+                       set
+                       {
+                               this._symbol = value;
+                       }
+               }
+        [System.Xml.Serialization.XmlIgnore]
+        public int accountID
+        {
+            get
+            {
+                return _accountid;
+            }
+
+            set
+            {
+                this._accountid = value;
+            }
+        }
+
+        [System.Xml.Serialization.XmlIgnore]
+        public int holdingID
+        {
+            get
+            {
+                return _holdingID;
+            }
+
+            set
+            {
+                this._holdingID = value;
+            }
+        }
+       }
+}
\ No newline at end of file

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/Properties/AssemblyInfo.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/Properties/AssemblyInfo.cs?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/Properties/AssemblyInfo.cs
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/Properties/AssemblyInfo.cs
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Trade.BusinessServiceDataContract")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct(".NET StockTrader")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM componenets.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed 
to COM
+[assembly: Guid("2ac5a787-8cbb-4795-9ebd-7338e9e424d0")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build 
Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("2.0.2.0")]
+[assembly: AssemblyFileVersion("2.0.2.0")]
+

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/Properties/Settings.Designer.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/Properties/Settings.Designer.cs?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/Properties/Settings.Designer.cs
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/Properties/Settings.Designer.cs
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:2.0.50727.312
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Trade.BusinessServiceDataContract.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator",
 "8.0.0.0")]
+    internal sealed partial class Settings : 
global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = 
((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new
 Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+    }
+}

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/QuoteData.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/QuoteData.cs?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/QuoteData.cs
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/QuoteData.cs
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,169 @@
+//  .Net StockTrader Sample WCF Application for Benchmarking, Performance 
Analysis and Design Considerations for Service-Oriented Applications
+
+//======================================================================================================
+// The QuoteDataModel class, part of the DataContract for the StockTrader 
Business Services Layer.
+//======================================================================================================
+
+
+using System;
+using System.Collections;
+using System.ServiceModel;
+using System.Runtime.Serialization;
+
+namespace Trade.BusinessServiceDataContract
+{
+    /// <summary>
+    /// This class is part of the WCF Data Contract for StockTrader Business 
Services.
+    /// It defines the class used as the data model for quote information. 
+    /// </summary>
+    [System.Xml.Serialization.XmlTypeAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com";, TypeName="QuoteDataBean")]
+    
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", 
"3.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Namespace = 
"http://trade.samples.websphere.ibm.com",Name="QuoteDataBean";)]
+       public sealed class QuoteDataModel
+       {
+        private string _symbol;
+        private string _companyName;
+        private double _volume;
+        private decimal _price;
+        private decimal _open;
+        private decimal _low;
+        private decimal _high;
+        private double _change;
+
+        public QuoteDataModel()
+        {
+        }
+
+        public QuoteDataModel(string symbol, string companyName, double 
volume, decimal price, decimal open, decimal low, decimal high, double change)
+        {
+            this._symbol = symbol;
+            this._companyName = companyName;
+            this._volume = volume;
+            this._price = price;
+            this._open = open;
+            this._low = low;
+            this._high = high;
+            this._change = change;
+        }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "symbol", 
Order = 1, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "symbol", Order = 1)]
+               public string symbol
+               {
+                       get
+                       {
+                               return _symbol;
+                       }
+                       
+                       set
+                       {
+                               this._symbol = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = 
"companyName", Order = 2, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "companyName", Order = 2)]
+               public string companyName
+               {
+                       get
+                       {
+                               return _companyName;
+                       }
+                       
+                       set
+                       {
+                               this._companyName = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "price", 
Order = 3, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "price", Order = 3)]
+               public decimal price
+               {
+                       get
+                       {
+                               return _price;
+                       }
+                       
+                       set
+                       {
+                               this._price = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "open", 
Order = 4, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "open", Order = 4)]
+               public decimal open
+               {
+                       get
+                       {
+                               return _open;
+                       }
+                       
+                       set
+                       {
+                               this._open = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "low", 
Order = 5, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "low", Order = 5)]
+               public decimal low
+               {
+                       get
+                       {
+                               return _low;
+                       }
+                       
+                       set
+                       {
+                               this._low = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "high", 
Order = 6, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "high", Order = 6)]
+               public decimal high
+               {
+                       get
+                       {
+                               return _high;
+                       }
+                       
+                       set
+                       {
+                               this._high = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "change", 
Order = 7, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "change", Order = 7)]
+               public double change
+               {
+                       get
+                       {
+                               return _change;
+                       }
+                       
+                       set
+                       {
+                               this._change = value;
+                       }
+               }
+
+        [System.Xml.Serialization.XmlElementAttribute(ElementName = "volume", 
Order = 8, IsNullable = false)]
+        [DataMember(IsRequired = false, Name = "volume", Order = 8)]
+        public double volume
+               {
+                       get
+                       {
+                               return _volume;
+                       }
+                       
+                       set
+                       {
+                               this._volume = value;
+                       }
+               }
+       }
+}
\ No newline at end of file

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/stocktrader.snk
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/stocktrader.snk?rev=728078&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceDataContract/stocktrader.snk
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/BusinessServiceImplementation.csproj
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/BusinessServiceImplementation.csproj?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/BusinessServiceImplementation.csproj
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/BusinessServiceImplementation.csproj
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,130 @@
+<Project DefaultTargets="Build" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"; ToolsVersion="3.5">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{018CF591-E45C-4E74-B613-CA5C1FCAFE89}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Trade.BusinessServiceImplementation</RootNamespace>
+    <AssemblyName>Trade.BusinessServiceImplementation</AssemblyName>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>stocktrader.snk</AssemblyOriginatorKeyFile>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>2.0</OldToolsVersion>
+    <SccProjectName>
+    </SccProjectName>
+    <SccLocalPath>
+    </SccLocalPath>
+    <SccAuxPath>
+    </SccAuxPath>
+    <SccProvider>
+    </SccProvider>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' 
">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 
'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.configuration" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.IdentityModel, Version=3.0.0.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\Program Files\Reference 
Assemblies\Microsoft\Framework\v3.0\System.IdentityModel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Serialization, Version=3.0.0.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\WINDOWS\Microsoft.NET\Framework\v3.0\Windows 
Communication Foundation\System.Runtime.Serialization.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      
<HintPath>..\..\..\..\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Security.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ServiceModel, Version=3.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\WINDOWS\Microsoft.NET\Framework\v3.0\Windows 
Communication Foundation\System.ServiceModel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Transactions" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Web.Services" />
+    <Reference Include="System.XML" />
+    <Reference Include="Trade.BusinessServiceConfigurationSettings, 
Version=2.0.2.0, Culture=neutral, PublicKeyToken=aaca655dc76c580b, 
processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      
<HintPath>..\..\SharedLibraries\Trade.BusinessServiceConfigurationSettings.dll</HintPath>
+    </Reference>
+    <Reference Include="Trade.BusinessServiceContract, Version=2.0.2.0, 
Culture=neutral, PublicKeyToken=aaca655dc76c580b, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      
<HintPath>..\..\SharedLibraries\Trade.BusinessServiceContract.dll</HintPath>
+    </Reference>
+    <Reference Include="Trade.BusinessServiceDataContract, Version=2.0.2.0, 
Culture=neutral, PublicKeyToken=aaca655dc76c580b, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      
<HintPath>..\..\SharedLibraries\Trade.BusinessServiceDataContract.dll</HintPath>
+    </Reference>
+    <Reference Include="Trade.DALFactory, Version=2.0.2.0, Culture=neutral, 
PublicKeyToken=aaca655dc76c580b, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\SharedLibraries\Trade.DALFactory.dll</HintPath>
+    </Reference>
+    <Reference Include="Trade.IDAL, Version=2.0.2.0, Culture=neutral, 
PublicKeyToken=aaca655dc76c580b, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\SharedLibraries\Trade.IDAL.dll</HintPath>
+    </Reference>
+    <Reference Include="Trade.OrderProcessorAsyncClient, Version=2.0.2.0, 
Culture=neutral, PublicKeyToken=aaca655dc76c580b, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      
<HintPath>..\..\SharedLibraries\Trade.OrderProcessorAsyncClient.dll</HintPath>
+    </Reference>
+    <Reference Include="Trade.OrderProcessorContract, Version=2.0.2.0, 
Culture=neutral, PublicKeyToken=aaca655dc76c580b, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      
<HintPath>..\..\SharedLibraries\Trade.OrderProcessorContract.dll</HintPath>
+    </Reference>
+    <Reference Include="Trade.Utility, Version=2.0.2.0, Culture=neutral, 
PublicKeyToken=aaca655dc76c580b, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\SharedLibraries\Trade.Utility.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="CustomUserNameValidator.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="TradeService.cs" />
+    <Compile Include="TradeServiceFacadeWcf.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="stocktrader.snk" />
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="App_Data\" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets 
below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PostBuildEvent>copy "$(TargetPath)" ..\..\..\..\SharedLibraries
+copy "$(TargetDir)$(TargetName).pdb" 
..\..\..\..\SharedLibraries</PostBuildEvent>
+  </PropertyGroup>
+</Project>
\ No newline at end of file

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/CustomUserNameValidator.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/CustomUserNameValidator.cs?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/CustomUserNameValidator.cs
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/CustomUserNameValidator.cs
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,39 @@
+//  .Net StockTrader Sample WCF Application for Benchmarking, Performance 
Analysis and Design Considerations for Service-Oriented Applications
+
+//======================================================================================================
+// This is the BSL Custom Username validator.  It utilizes the provide base 
class,
+// CustomUserNameValidator, that comes with Config Service.  This base class 
uses the Configuration  
+// Service repository itself to validate against this user store.  You can 
override to validate against
+// your own custom store of username/passwords.
+//======================================================================================================
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Trade.Utility;
+using Trade.BusinessServiceConfigurationSettings;
+
+namespace Trade.BusinessServiceImplementation
+{
+    /// <summary>
+    /// No override necessary--we are going to use stock base methods to 
validate
+    /// against the service repository Users table.
+    /// </summary>
+    public class TradeBSLCustomUserNameValidator : CustomUserNameValidator
+    {
+        public TradeBSLCustomUserNameValidator() { }
+        /// <summary>
+        /// Overrides to instead validate the username/password against the 
Configuration DB Users table.
+        /// </summary>
+        /// <param name="userName">User id coming in as UserName credentials 
from client.</param>
+        /// <param name="password">Password coming in as UserName credentials 
from client.</param>
+        public override void Validate(string userName, string password)
+        {
+            //Add custom user name validation if desired here.  Will only be 
activated if binding security is
+            //set for ClientCredentials = UserName.
+            if (userName!=Settings.BSL_VALID_USERID || 
password!=Settings.BSL_VALID_PASSWORD)
+                throw new Exception("UserName Authentication Failed");
+        }
+    }
+}
+

Added: 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/Properties/AssemblyInfo.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/Properties/AssemblyInfo.cs?rev=728078&view=auto
==============================================================================
--- 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/Properties/AssemblyInfo.cs
 (added)
+++ 
incubator/stonehenge/contrib/stocktrader/dotnet/StockTrader/StockTraderWebAppSolution/BusinessServiceImplementation/Properties/AssemblyInfo.cs
 Fri Dec 19 09:43:28 2008
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Trade.BusinessServiceImplementation")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct(".NET StockTrader")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed 
to COM
+[assembly: Guid("374cb5d1-2b07-482a-86aa-12606f0bf872")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build 
Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("2.0.2.0")]
+[assembly: AssemblyFileVersion("2.0.2.0")]


Reply via email to