Share via


Word-Association Service

Version: 1.0

Description

This sample demonstrates how to create a linguistic word-association WCF service that can run on Windows Azure compute nodes and how to create a client application that starts a WCF service job.

Overview

The HPC word-association service demonstrates how to build, deploy, and execute an HPC SOA application that can run in Windows Azure. This sample includes the following projects:

  • WordAssociation.Tools.CorpusLoader: This project is designed for the one-time loading of the Brown Corpus into an SQL Azure database.
  • WordAssociation.Service: This project contains the WCF service that will be deployed to the Windows HPC Server 2008 R2 SP2 cluster as an SOA application.
  • WordAssociation.Dal: This Entity Framework project is a shared data access infrastructure layer for both the WordAssociation.Tools.CorpusLoader and WordAssociation.Service projects.
  • WordAssociation.ConsoleClient: This project contains the client application for the WordAssociation service. This client application demonstrates how to use the durable session with the BrokerClient class.

The architecture of the sample and the steps of its execution are depicted in Figure 1:

Figure 1

Architecture of the Word Association sample

  1. The Corpus Loader client application deploys the Brown Corpus to an SQL Azure database.
  2. The client application submits a service job to the HPC Job Scheduler.
  3. The head node starts the HPC service host in each of the Windows Azure nodes, communicates with the WCF broker node to get a list of available brokers and queues, and then returns the session information to the client application, including information for connecting to the broker node.
  4. The client application sends requests to the word-association service through the WCF broker node, each request containing a list of words to match.
  5. The word-association service downloads pieces of the Brown Corpus database from the SQL Azure database and runs the linguistic word-association algorithm.
  6. The client application polls the message queue containing the results of the word-association service, aggregates the results, and outputs the summary.

Key Features

This sample demonstrates the following:

  • Creating and using an SQL Azure database.
  • Creating a WCF service and configuring it to run in an HPC cluster.
  • Deploying a WCF service to Windows Azure nodes.
  • Creating a client HPC SOA application that calls the WCF service with a durable session.