Testing Web Services :: Web Service Studio and WCF Test Client#

Testing web services is a pivotal part of contemporary enterprise project life cycle; developers, QA and even system guys do it to validate different aspects of the middleware. This testing comes with its own set of challenges; Aside from being ineffective, testing complex types is not possible via the default browser based test client and WCF services don’t even offer it!. So what’s the remedy?

This webcast demonstrates web service studio and WCF Test client, two tools specifically designed to test web services without the need of writing custom test harnesses. Web Service Studio is a codeplex project is the revival of good old .NET Webservice Studio tool. Web Service Studio is a tool to invoke webmethods interactively. The user can provide a WSDL endpoint. On clicking button Get the tool fetches the WSDL, generates .NET proxy from the WSDL and displays the list of methods available. The user can choose any method and provide the required input parameters. On clicking Invoke the SOAP request is sent to the server and the response is parsed to display the return value. My intent is to further enhance it to add the support for WCF, Nullable Types and REST style API to allow a complete composite type testing from one tool. For details on WCF Test Client, please see my article here.

Webcast on Web Service Studio and WCF Test Client






Screen Shot of the Web Service Studio.



References

http://www.codeplex.com/WebserviceStudio

www.codeproject.com/KB/WCF/WCF35Utils.aspx






8/8/2008 7:03:24 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

Going Places - PDC, KDD and IASA Connections and Teaching WCF @ UCSD #

August and the next couple of months looks really busy. I’ll be teaching WCF at UCSD and will be attending the following conferences along with doctoral cluster meeting. Therefore I am seriously considering “The Terminal” style living.

KDD 2008, 24 – 27 Aug 2008, Loews Lake Las Vegas Las Vegas, NV
The annual ACM SIGKDD conference is the premier international forum for data mining researchers and practitioners from academia, industry, and government to share their ideas, research results and experiences. KDD-08 will feature keynote presentations, oral paper presentations, poster sessions, workshops, tutorials, panels, exhibits, demonstrations, and the KDD Cup competition.

IASA Connections, October 6 - 8, 2008, San Francisco Marriott, San Francisco, CA
I'll be speaking to IASA connections conference in San Francisco on Aspect Oriented Programming in Distributed Systems. More details here.

Microsoft PDC 2008 – 27 – 30 Oct, Los Angeles Convention Center, Los Angeles, CA
Since 1991, the Professional Developers Conference (PDC) has been Microsoft’s premier gathering of leading-edge developers and architects. Attend the PDC to understand the future of the Microsoft platform and to exchange ideas with fellow professionals. You’ll learn about upcoming products, meet Microsoft’s leaders and top engineers, write some code, and be inspired! Unplug for a few days and think about the future.  

Programming Windows Communication Foundation (WCF) (Summer 2008)
Sa, 8:00 a.m. - 5:00 p.m.
8/9/2008 - 8/23/2008
Room 134, UCSD Extension Complex, 9600 N Torrey Pines Rd, La Jolla

Programming Windows Communication Foundation (WCF) (Fall 2008)
Sa, 8:00 a.m. - 5:00 p.m.
10/4/2008 - 10/18/2008
Room 110, UCSD Extension Sorrento Mesa Center, 6925 Lusk Blvd, San Diego





8/6/2008 8:26:51 PM (Pacific Standard Time, UTC-08:00) #    Comments [1]  |  Trackback

 

INETA Community Champion Award#
This morning I was informed by the INETA team that I have won the INETA Community Champion Award.



It's a real honor to even being considered and eventually winning this award. I'd like to thank SGV.NET User Group team, Richard Trinh, Ben Pirih and Vipul Shah for their tireless contribution to keep our user group running.

.NET developers community in Southern California is quite strong and with over over 25 active user groups, probably the most active in the country.

Last but not least, if you need any assistance regarding user group speakers or want me to speak to your UG, please feel free to drop me a line at




8/5/2008 3:02:27 PM (Pacific Standard Time, UTC-08:00) #    Comments [1]  |  Trackback

 

Buidling REST based services using WCF 3.5 - Webcast#

Here is my webcast explaining how to build a simple REST based service using WCF 3.5. Slides and sample code can be downloaded from the links below.


Downloads
REST using WCF 3.5 - Webcast.pptx (137.68 KB)
MyRestService.zip (3.67 KB)





7/21/2008 5:03:48 PM (Pacific Standard Time, UTC-08:00) #    Comments [1]  |  Trackback

 

OWASP Top 10 and Data Mining in Financial Sector#

OWASP’s list have been changed since 2004 in terms of priorities; XSS and inject flaws are on the rise. Details can be found on OWASP’s website.

2007

2004

A1 - Cross Site Scripting (XSS)

A1 - Unvalidated Input

A2 - Injection Flaws

A2 - Broken Access Control

A3 - Malicious File Execution

A3 - Broken Authentication and Session Management

A4 - Insecure Direct Object Reference

A4 - Cross Site Scripting

A5 - Cross Site Request Forgery (CSRF)

A5 - Buffer Overflow

A6 - Information Leakage and Improper Error Handling

A6 - Injection Flaws

A7 - Broken Authentication and Session Management

A7 - Improper Error Handling 

A8 - Insecure Cryptographic Storage

A8 - Insecure Storage

A9 - Insecure Communications

A9 - Application Denial of Service

A10 - Failure to Restrict URL Access

A10 - Insecure Configuration Management

 

OWASP .NET Projects
http://www.owasp.org/index.php/Category:OWASP_.NET_Project

References and Papers on Financial Data Mining

  • Mine Your Way to Combat Money Laundering
  • OFAC SDN List www.ustreas.gov/offices/enforcement/ofac/sdn/
  • FinCen www.fincen.gov/
  • FATF www.fatf-gafi.org/
  • Suspicious Activity Report
  • Keys to a Well Prepared Suspicious Activity Report
  • A framework for data mining-based anti-money laundering research
  • Profiling Behavior: The social construction of categories in the detection of financial crime; dissertation by Ana Canhoto
  • Towards a Proactive Fraud Management Framework for Financial Data Streams
  • T. Senator. "The financial crimes enforcement network AI system (FAIS)." AI Magazine 4, 1995.
  • M. Sparrow. "The State of the Fraud Control Game; and the Impact of Electronic Claims Processing on Fraud and Fraud Control." Proceedings of the International Symposium on Criminal Justice Information Systems and Technology, 1994.
  • U.S. Congress, Office of Technology Assessment (OTA). "Information Technologies for Control of Money Laundering." OTA-ITC-630. Washington, DC: U.S. Government Printing Office, September 1995.
  • Zdanowicz, J.S. (2004), "Detecting money laundering and terrorist financing via data mining", Communications of the ACM, Vol. 47 No.5
  • Watkins, R.C., Reynolds, K.M., Demara, R., Georgiopoulos, M., Gonzalez, A., Eaglin, R. (2003), "Tracking dirty proceeds: exploring data mining technologies as tools to investigate money laundering", Police Practice and Research, Vol. 4 No.2, pp.163-78.
  • Vikram, A., Chennuru, S., Rao, H.R., Upadhyaya, S. (2004), "A solution architecture for financial institutions to handle illegal activities: a neural networks approach", Proceedings of the 37th Hawaii International Conference on System Sciences-2004
  • Zhang, Z., Salerno, J.J., Yu, P.S. (2003), "Applying data mining in investigating money laundering crimes", paper presented at SIGKDD'03, Washington, DC, pp.747-52.
  • Senator, T.E., Goldberg, H.G., Wooton, J. (1995), "The financial crimes enforcement network AI system (FAIS): identifying potential money laundering from reports of large cash transactions", AI Magazine, Vol. 16 No.4, pp.21-39.
  • Tang, J., Yin, J. (2005), "Developing an intelligent data discriminating system of antimony laundering based on SVM", Proceedings of the Fourth International Conference on Machine Learning and Cybernetics. Guangzhou, pp.3453-7.
  • Kingdon, J. (2004), "AI fights money laundering", IEEE Intelligent Systems, Vol. 5/6 pp.87
  • Goldberg, H.G., Wong, R.W.H. (1998), "Restructuring transactional data for link analysis in the FinCEN AI System", Proceedings of 1998 AAAI Fall Symposium on Artificial Intelligence and Link Analysis, AAAI Press, Menlo Park, CA, .
  • Fawcett, T., Provost, F. (1997), "Adaptive fraud detection", Data Mining and Knowledge Discovery, Vol. 1 No.3, pp.291-316.




7/20/2008 9:50:26 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

REST and WCF 3.5 Talk Slides and Code Samples#
On Thursday July 17th, I presented "RESTFul Web Services – UriTemplates and REST support with WCF 3.5". to SoCal.NET architecture group (http://www.socaldotnetarchitecture.org/). It was well recieved and I got good feedback.

The code samples and slides are as follows.


Thanks to all the attendees especially Mike Vincent and David Wells for arranging this talk.




7/20/2008 3:28:53 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

INETA's David Yack on ADO.NET and My REST Talk at SoCal Architecture Group.#

Tomorrow, July 16th, David Yack will be speaking on Exploring the Entity Framework at SGV.NET User Group (www.sgvdotnet.org). It's an INETA sponsored event and for those interested in understanding a core strategic part of Microsoft's data access strategy, please join us. David would walks us through how Entity Framework aims to improve the  mismatch between data storage and data usage by applications.  In his talk he will explore the Entity Data Model and the various techniques for accessing using the client libraries that are part of the Entity Framework.  With V1 of Entity Framework almost ready to go out the door, David will also touch on efforts already underway for V2.

Speaking of Speaking, On Thursday July 17th, I'll be presenting to SoCal.NET architecture group (http://www.socaldotnetarchitecture.org/) on "RESTFul Web Services – UriTemplates and REST support with WCF 3.5". The abstract of the talk as follows.

"REST (Representational state transfer) is an architectural style to build distributed systems in a Uri centric way focusing on resource addressing via HTTP style "command line" interface. REST style of service development improves server scalability, allows systems to be more robust and promotes long-term compatibility and evolvability. Related technologies using the similar design principles are  ASP.NET MVC and  ADO.NET data services (Astoria). Support for REST is introduced in WCF 3.5 with a new WCF binding (webHttpBinding) allowing .NET developers to have the option of build light weight REST style services in contrast with traditional SOAP/RPC style development.

The presentation focuses on REST design principles and how they can be implemented using Windows Communication Foundation (WCF) 3.5. New Features such as support for UriTemplates, Web HTTP binding, syndication support and the new web programming model leveraging a RESTful design of web services within the unified WCF programming model will be addressed for architectural and implementation perspective."









7/15/2008 11:50:02 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

Attending KDD 2008; Top 10 DM Algorithms & 10 challenging problems #
So its final now, I'll be attending the KDD 2008 conference, 24-27 August in Las Vegas. As it says on SIGKDD website, I expect "awesomeness"!.

 "The annual ACM SIGKDD conference is the premier international forum for data mining researchers and practitioners from academia, industry, and government to share their ideas, research results and experiences. KDD-08 will feature keynote presentations, oral paper presentations, poster sessions, workshops, tutorials, panels, exhibits, demonstrations, and the KDD Cup competition"

This brings this post to top 10's; the Top 10 DM Algorithms and 10 challenging problems in data mining. IEEE International Conference on Data Mining (ICDM) did some polls to identify 10 challenging problems and 10 most influential algorithms in data mining. Results are avaialble on the following links.
The top 10 algorithms are as follows: C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART. and the paper describing them (highly recommended reading) is www.cs.uvm.edu/~icdm/algorithms/10Algorithms-08.pdf

The 10 challenging problems are as follows (they aren't TOP 10 problems, just problems)

    * Developing a Unifying Theory of Data Mining
    * Scaling Up for High Dimensional Data and High Speed Data Streams
    * Mining Sequence Data and Time Series Data
    * Mining Complex Knowledge from Complex Data
    * Data Mining in a Network Setting
    * Distributed Data Mining and Mining Multi-agent Data
    * Data Mining for Biological and Environmental Problems
    * Data-Mining-Process Related Problems
    * Security, Privacy and Data Integrity
    * Dealing with Non-static, Unbalanced and Cost-sensitive Data

http://www.cs.uvm.edu/~icdm/10Problems/10Problems-06.pdf

Speaking of unable to find research problems, here you go; now go and work on your idea paper, it's not going to write itself.





7/15/2008 11:34:30 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

Https with BasicHTTPBinding - Note to Self#
So if you are looking to implement SSL using basicHttpBinding for your WCF service, look no further. Here is your config file settings

The modified basicHttpBindinging to allow security mode = Transport

<bindings>
            <basicHttpBinding>
                <binding name="defaultBasicHttpBinding">
                    <security mode="Transport">
                        <transport clientCredentialType="None"/>
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>

which corresponds to your end point.

<system.serviceModel>       
        <services>
            <service behaviorConfiguration="MyServiceBehavior"
            name="MyServiceName">       
                <endpoint address="https://AdnanMasood.com/MyService.svc"
                            binding="basicHttpBinding"
                            bindingConfiguration="defaultBasicHttpBinding"
                            contract="Axis.IServiceContract" />    

and the httpsGetEnabled

<behaviors>
            <serviceBehaviors>               
                <behavior name="MyServiceBehavior">
                    <serviceMetadata httpsGetEnabled="true"/>
                    <serviceDebug includeExceptionDetailInFaults="false"/>
                </behavior>
            </serviceBehaviors>
        </behaviors>

and last but not least, if hosting in IIS, here is the key for custom factory. Details about how to do this part can be found on the MSDN article "Deploying an Internet Information Services-Hosted WCF Service" referenced below.

    <appSettings>       
        <add key="CustomIISServiceHostEndPoint" value=https://AdnanMasood.com/MyService.svc"/>
    </appSettings>


and you should be all set. Got any questions, email me.

Helpful Links

Inside the Standard Bindings: BasicHttp
http://blogs.msdn.com/drnick/archive/2006/06/01/612672.aspx

WCF-basicHttp receive location
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2154774&SiteID=1

<basicHttpBinding>
http://msdn.microsoft.com/en-us/library/ms731361.aspx

WCF Endpoints
http://www.vistax64.com/indigo/86653-wcf-endpoints.html

Securing your Web Service
http://www.theserverside.net/tt/articles/showarticle.tss?id=SecuringWCFService

Deploying an Internet Information Services-Hosted WCF Service
http://msdn.microsoft.com/en-us/library/aa751792.aspx

Custom Service Host
http://msdn.microsoft.com/en-us/library/aa395224.aspx





7/15/2008 11:23:46 PM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

ASP.NET MVC and Dependency Injections - Links#
The preview 3 of ASP.NET MVC framework can be downloaded from here.

Download details: ASP.NET MVC Preview 3

Links pertaining to the dependency injection and how it relates to ASP.NET MVC framework.





7/3/2008 12:31:00 AM (Pacific Standard Time, UTC-08:00) #    Comments [0]  |  Trackback

 

Code Camp Presentation Downloads