Hands-On Lab. Introduction to the Windows Azure AppFabric Service Bus Futures. Lab version: Last updated: 11/16/2010. Page 1

Size: px
Start display at page:

Download "Hands-On Lab. Introduction to the Windows Azure AppFabric Service Bus Futures. Lab version: Last updated: 11/16/2010. Page 1"

Transcription

1 Hands-On Lab Introduction to the Windows Azure AppFabric Service Bus Futures Lab version: Last updated: 11/16/2010 Page 1

2 CONTENTS OVERVIEW... 3 GETTING STARTED: CREATING A SERVICE PROJECT... 5 Task 1 Provisioning the Service Bus Namespace... 5 EXERCISE 1: SERVICE BUS MANAGEMENT OPERATIONS... 8 Task 1 Adding Operations to Create, List and Delete Connection Points... 9 Task 2 Setting Account Information Verification EXERCISE 2: SERVICE BUS LOAD BALANCING Task 1 Creating the Service Task 2 Creating the Client Task 3 Setting Account Information Verification EXERCISE 3: DURABLE MESSAGE BUFFERS Task 1 Implementing Basic Operations with Message Buffers Task 2 Setting Account Information Verification SUMMARY Page 2

3 Overview The Windows Azure AppFabric Service Bus provides secure messaging and connectivity capabilities for building distributed and disconnected applications in the cloud. In this lab, learn about the new Windows Azure AppFabric Service Bus capabilities that are now available in the AppFabric LABS. You will use the management service to manage your connection points and the Anycast feature to load balance across different instances of a service. Use Message Buffers for basic asynchronous message processing. These capabilities are part of the incremental updates available as part of new Service Bus Futures. Objectives In this hands-on lab, you will learn how to: Provision an AppFabric project and create a service namespace. Use the Windows Azure AppFabric Service Bus management service to manage connection points. Use the Anycast feature to load balance across different instances of a service. Use Durable Message Buffers for asynchronous message processing. Prerequisites You must have the following items to complete this lab: Microsoft Visual Studio 2010 Microsoft.NET Framework 4 Windows Azure platform AppFabric SDK V2.0 Setup For convenience, much of the code used in this hands-on lab is available as Visual Studio code snippets. To check the prerequisites of the lab and install the code snippets: 1. Open a Windows Explorer window and browse to the lab s Source\Setup folder. 2. Double-click the Dependencies.dep file in this folder to launch the Dependency Checker tool and install any missing prerequisites and the Visual Studio code snippets. 3. If the User Account Control dialog is shown, confirm the action to proceed. Page 3

4 Note: This process may require elevation. The.dep extension is associated with the Dependency Checker tool during its installation. For additional information about the setup procedure and how to install the Dependency Checker tool, refer to the Setup.docx document in the Assets folder of the training kit. Using the Code Snippets Throughout the lab document, you will be instructed to insert code blocks. For your convenience, most of that code is provided as Visual Studio Code Snippets, which you can use from within Visual Studio 2010 to avoid having to add it manually. If you are not familiar with the Visual Studio Code Snippets, and want to learn how to use them, you can refer to the Setup.docx document in the Assets folder of the training kit, which contains a section describing how to use them. Exercises This hands-on Lab includes the following exercises: 1. Service Bus Management Operations 2. Service Bus Load Balancing 3. Durable Message Buffers Estimated time to complete this lab: 45 minutes. Note: When you first start Visual Studio, you must select one of the predefined settings collections. Every predefined collection is designed to match a particular development style and determines window layouts, editor behavior, IntelliSense code snippets, and dialog box options. The procedures in this lab describe the actions necessary to accomplish a given task in Visual Studio when using the General Development Settings collection. If you choose a different settings collection for your development environment, there may be differences in these procedures that you need to take into account. Page 4

5 Getting Started: Creating a Service Project To complete the exercises in this lab, you require a Windows Azure AppFabric Project. Once you have created a project, you can use it for all the AppFabric labs as well as your own projects. Task 1 Provisioning the Service Bus Namespace In this task, you create a new project and create a service namespace to use the Windows Azure AppFabric Service Bus. 1. Navigate to the Windows Azure AppFabric LABS portal and, if necessary, sign in using your Windows Live ID credentials. 2. If this is the first time you access the AppFabric site, you need to create a new project. Figure 1 AppFabric projects page 3. Enter a Project Name, such as your company name or your own name, and then click OK. Figure 2 Creating a new Windows Azure AppFabric project Page 5

6 4. In My Projects, click the newly created project to view its summary page. Figure 3 Selecting a project to manage 5. Now, create a service namespace for this project. To add a service namespace, click the Project Name link for your new project to open its summary page and then click Add Service Namespace. Figure 4 Windows Azure AppFabric project summary page Note: A service namespace defines a boundary for each application exposed through the Service Bus, allowing an application to uniquely address the AppFabric service endpoints. 6. Enter a name for your Service Namespace and then click Validate Name to ensure its availability. Service names must be globally unique as they are hosted in the cloud and accessible by whomever you decide to grant access. If the service is unavailable, you will need to pick a different name. Once you have determined that the chosen namespace is valid and available, click Create. Page 6

7 Figure 5 Creating a new service namespace 7. Locate the new entry in the list of configured service namespaces and then wait for its Status column to show the namespace as Active. 8. After the namespace is provisioned, click its Service Bus link to display the Service Bus Settings page. Figure 6 Project summary page listing available service namespaces 9. In the Service Bus Settings page, locate the Service Bus section and record the value shown for the namespace section of the Service Gateway, the Default Issuer Name and Default Issuer Key. You will need these values later on to configure access to the Service Bus. Page 7

8 Figure 7 Service namespace Service Bus settings Exercise 1: Service Bus Management Operations In this exercise, you will learn how to use the Windows Azure AppFabric Service Bus management service to manage Connection Points. You will create a console application, leveraging the Service Bus management service, which will enable you to create, enumerate, and delete Connection Points. Figure 8 Service namespace Service Bus settings Page 8

9 Task 1 Adding Operations to Create, List and Delete Connection Points In this task, you will create a console application and add the necessary code to enable the Service Bus management operations that list, add or delete a connection point. 1. Open Microsoft Visual Studio Open the ServiceBusManagementOperations.sln solution located in the Source\Ex1- ManagementOperations\Begin\CS folder of this lab. 3. Add a reference to the Microsoft.ServiceBus.Channels assembly. Note: If you cannot find the Microsoft.ServiceBus.Channels assembly in the.net tab, use the Browse tab to locate this assembly inside the %ProgramFiles%\Windows Azure AppFabric SDK\V2.0\Assemblies\ folder. 4. Open the Program.cs file. 5. Add the following using statements at the top of the file. (Code Snippet IntroServiceBusFutures - Ex01 Using Statements - CS) using System.ServiceModel.Syndication; using System.Xml; using Microsoft.ServiceBus; using Microsoft.ServiceBus.Samples; 6. Add the highlighted code, from the following fragment, to the Main method. This code will create the URI used by all connection points management operations, based on the service namespace specified in the configuration. (Code Snippet IntroServiceBusFutures - Ex01 CreateManagementGatewayURI - CS) static void Main(string[] args) // read account info from config servicenamespace = ConfigurationManager.AppSettings["ServiceNamespace"]; issuername = ConfigurationManager.AppSettings["IssuerName"]; issuersecret = ConfigurationManager.AppSettings["IssuerSecret"]; // Create the URI of the Connection Points Management Gateway string connectionpointsmanagementgateway = string.format(" mgmt.1}/resources/connectionpoints", servicenamespace, ServiceBusEnvironment.DefaultServiceHostName); managementuri = new Uri(connectionPointsManagementGateway); Page 9

10 } Replace the body of the DeleteConnectionPoint with the code highlighted in the following snippet. This code first creates the runtime service bus URI where the connection point is located. Afterwards, the runtime service bus URI and the account credential information is used to invoke the DeleteConnectionPoint method, which effectively deletes the connection point. (Code Snippet IntroServiceBusFutures - Ex01 DeleteConnectionPoint - CS) private static void DeleteConnectionPoint(string connectionpointsmanagementgateway, string connectionpointname) // create the service URI based on the service namespace Uri runtimeuri = ServiceBusEnvironment.CreateServiceUri("sb", servicenamespace, connectionpointname); Console.WriteLine("Attempting to delete a Connection Point at 0}...", runtimeuri); // delete the connection point ConnectionPointOperations.DeleteConnectionPoint(connectionPointName, runtimeuri, managementuri, servicenamespace, issuername, issuersecret); } 8. Use the following highlighted code in the ListConnectionPoints method to display all the existing connection points. (Code Snippet IntroServiceBusFutures - Ex01 ListConnectionPoints - CS) private static void ListConnectionPoints() // create web request WebClient webclient = new WebClient(); webclient.baseaddress = managementuri.absoluteuri; ACSTokenHelper.AddTokenHeaderToWebClient(webClient, servicenamespace, issuername, issuersecret); string response = webclient.downloadstring(managementuri); SyndicationFeed feed = SyndicationFeed.Load(XmlReader.Create(new StringReader(response))); // Print feeds foreach (SyndicationItem item in feed.items) Page 10

11 ConnectionPoint connectionpoint = ((XmlSyndicationContent)item.Content).ReadContent<ConnectionPoint>(); Console.WriteLine("Id = 0}\r\nTitle = 1}\r\nMax Listeners = 2}\r\nChannel Shape = 3}\r\n", item.id, item.title.text, connectionpoint.maxlisteners, connectionpoint.channelshape); } } 9. Update the CreateConnectionPoint method with the following code. (Code Snippet IntroServiceBusFutures - Ex01 CreateConnectionPoint - CS) private static void CreateConnectionPoint(string connectionpointname, string maxlisteners) // Create the Service Endpoint URI based on the service namespace Uri runtimeuri = ServiceBusEnvironment.CreateServiceUri("sb", servicenamespace, connectionpointname); Console.WriteLine("Attempting to create a Connection Point for 0}...", runtimeuri); // Create the connection point ConnectionPoint connectionpoint = new ConnectionPoint(int.Parse(maxListeners), ChannelShape.Duplex); ConnectionPointOperations.CreateConnectionPoint(connectionPointName, runtimeuri, managementuri, servicenamespace, issuername, issuersecret, connectionpoint); } 10. In Visual Studio, save all files. Task 2 Setting Account Information 1. Open the app.config file. 2. In the appsettings section, locate the ServiceNamespace setting and replace [YOUR-SERVICE- NAMESPACE-DOMAIN] with the domain service namespace that you registered at the portal. 3. Next, locate the IssuerName and IssuerSecret settings and replace [YOUR-ISSUER-NAME] and [YOUR-ISSUER-KEY] with the Default Issuer Name and Default Issuer Key for the service namespace; these are the name and key generated for the service namespace at the portal Web Site that you recorded during the Getting Started section. The figure below shows a sample app.config file after replacing the value of these settings. Page 11

12 Figure 9 App.config file after replacing the keys with your information 4. In Visual Studio, save all files. Verification In order to verify that you have performed every step in the exercise correctly, proceed as follows: 1. Press F5 to run the application. The console window appears and displays the different management options. Figure 10 Management options 2. Type 1 and press ENTER to create a new connection point. Page 12

13 3. Name the connection point TestConnectionPoint and set the maximum number of listeners to 5. The program output is shown in the following figure. Note: The Maximum Number of Listeners defines how many services can listen on a particular endpoint. Figure 11 Output when creating a new connection point 4. Type 2 and press ENTER to list all connection points. As shown in the following figure, the previously created connection point should be listed. Figure 12 Page 13

14 Connection Points listing 5. Type 3 and press ENTER to delete a connection point. 6. Type TestConnectionPoint and press ENTER to delete the previously created connection point. Figure 13 Deleting the TestConnectionPoint 7. Type 2 and press ENTER to list all connection points. Verify that no connection points are now listed, as shown in the following figure. Figure 14 Page 14

15 No connection points are listed 8. Close the console application. Exercise 2: Service Bus Load Balancing This exercise shows the usage of the Anycast feature to communicate between clients and different instances of an inventory service. This feature allows a service provider to programmatically subscribe a number of listeners to a Service Bus connection point and when a message is sent to that connection point, the Service Bus will randomly choose one listener to deliver this message. This allows the developer to balance the load normally handled by a single instance of a listener among several instances of that listener and provide a lightweight failover feature. Task 1 Creating the Service In this task, you will create a service that implements a simple inventory service contract that contains methods for listing items in stock, as well as creating and selling items. The service creates a connection point for the InventoryService and then hosts the service itself. 1. Open Microsoft Visual Studio Open the LoadBalancing.sln solution located in the Source\Ex2-LoadBalancing\Begin\CS folder of this lab. 3. In the Service project, add a reference to the Microsoft.ServiceBus.Channels assembly. Note: If you cannot find the Microsoft.ServiceBus.Channels assembly in the.net tab, use the Browse tab to locate this assembly in the %ProgramFiles%\Windows Azure AppFabric SDK\V2.0\Assemblies\ folder. 4. In the Service project, open the Program.cs file. 5. Add the following highlighted namespace directives at the top of the file. (Code Snippet IntroServiceBusFutures - Ex02 ServiceUsingStatements - CS) using System; using System.Configuration; using System.IO; Page 15

16 using System.Net; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Description; using Microsoft.ServiceBus; using Microsoft.ServiceBus.Channels; 6. In the Main method, add the following highlighted code to create management and service endpoint URIs for the Connection Point. (Code Snippet IntroServiceBusFutures - Ex02 CreateManagementGatewayURI - CS) static void Main(string[] args) Console.Title = "Service " + ServiceId; // handle console closeing to close service connection ConsoleCloseHandler.CloseHandler = CloseServiceConnection; // read account info from config servicenamespace = ConfigurationManager.AppSettings["ServiceNamespace"]; issuername = ConfigurationManager.AppSettings["IssuerName"]; issuersecret = ConfigurationManager.AppSettings["IssuerSecret"]; try // Create the URI of the Connection Points Management Gateway string connectionpointsmanagementgateway = string.format(" mgmt.1}/resources/connectionpoints", servicenamespace, ServiceBusEnvironment.DefaultServiceHostName); Uri managementuri = new Uri(connectionPointsManagementGateway); // Create the URI of the Service Endpoint Uri runtimeuri = ServiceBusEnvironment.CreateServiceUri("sb", servicenamespace, "InventoryService"); Use the following highlighted code to call the RetrieveConnectionPoint method, which uses the management operations discussed in the previous exercise to retrieve the InventoryService connection point (and creates it in case it does not exist). (Code Snippet IntroServiceBusFutures - Ex02 RetrieveConnectionPoint - CS) Page 16

17 // Create the URI of the Service Endpoint Uri runtimeuri = ServiceBusEnvironment.CreateServiceUri("sb", servicenamespace, "InventoryService"); // Determine whether or not a Connection Point exists for this Service Endpoint and create it if neccesary RetrieveConnectionPoint(managementUri, runtimeuri); 8. Use the following highlighted code to create WCF custom client binding based on the TcpServiceBusTransportBindingElement, which will enable the Service Bus' Anycast feature. (Code Snippet IntroServiceBusFutures - Ex02 CreateBinding - CS) // Determine whether or not a Connection Point exists for this Service Endpoint and create it if neccesary RetrieveConnectionPoint(managementUri, runtimeuri); // Start the Service // Create custom binding based on the TcpServiceBusTransportBindingElement var binding = new TcpServiceBusTransportBindingElement(); CustomBinding sdkclientbinding = new CustomBinding(binding); 9. Use the following highlighted code to create the endpoint s Service Bus credentials, based on the issuer name and secret key specified by the configuration. (Code Snippet IntroServiceBusFutures - Ex02 CreateServiceBusCredentials - CS) // Create custom binding based on the TcpServiceBusTransportBindingElement var binding = new TcpServiceBusTransportBindingElement(); CustomBinding sdkclientbinding = new CustomBinding(binding); sdkclientbinding.receivetimeout = new TimeSpan(0, 10, 0); // Create the credentials object for the endpoint ServiceBusCredential servicebuscredentialbehavior = new SharedSecretCredential(issuerName, issuersecret); 10. Use the following highlighted code to create the host for the service, setting the endpoints and service bus credentials. (Code Snippet IntroServiceBusFutures - Ex02 CreateServceHost - CS) // Create the credentials object for the endpoint ServiceBusCredential servicebuscredentialbehavior = new SharedSecretCredential(issuerName, issuersecret); Page 17

18 // Create the service host reading the configuration host = new ServiceHost(typeof(InventoryService), runtimeuri); // Add the Service Bus credentials to all endpoints specified in configuration ServiceEndpoint serviceendpoint = host.addserviceendpoint(typeof(iinventorycontract), sdkclientbinding, runtimeuri); serviceendpoint.behaviors.add(servicebuscredentialbehavior); 11. Use the following highlighted code to start the service, opening the host connection. (Code Snippet IntroServiceBusFutures - Ex02 OpenHostConnection - CS) // Add the Service Bus credentials to all endpoints specified in configuration ServiceEndpoint serviceendpoint = host.addserviceendpoint(typeof(iinventorycontract), sdkclientbinding, runtimeuri); serviceendpoint.behaviors.add(servicebuscredentialbehavior); // Open the service Console.WriteLine("Starting service at 0}...", serviceendpoint.address); host.open(); Console.WriteLine("Service hosted at: 0}", serviceendpoint.address); 12. Save and close the Program.cs file. Task 2 Creating the Client 1. In the Client project, add a reference to the Microsoft.ServiceBus.Channels assembly. Note: If you cannot find the Microsoft.ServiceBus.Channels assembly in the.net tab, use the Browse tab to locate this assembly inside the %ProgramFiles%\Windows Azure AppFabric SDK\V2.0\Assemblies\ folder. 2. In the Client project, open the Program.cs file. 3. Add the following highlighted namespace directives at the top of the file. (Code Snippet IntroServiceBusFutures - Ex02 ClientUsingStatements - CS) using System; Page 18

19 using System.Configuration; using System.IO; using System.Net; using System.ServiceModel; using System.Collections; using System.Collections.Generic; using System.ServiceModel.Channels; using Microsoft.ServiceBus; using Microsoft.ServiceBus.Channels; 4. In the Main method, use the following highlighted code to create the service URI. (Code Snippet IntroServiceBusFutures - Ex02 CreateClientServiceURI - CS) static void Main(string[] args) Console.Title = "Client " + ServiceId; // handle console closeing to close service connection ConsoleCloseHandler.CloseHandler = CloseServiceConnection; // read account info from config servicenamespace = ConfigurationManager.AppSettings["ServiceNamespace"]; issuername = ConfigurationManager.AppSettings["IssuerName"]; issuersecret = ConfigurationManager.AppSettings["IssuerSecret"]; try // create the service URI based on the service namespace Uri serviceuri = ServiceBusEnvironment.CreateServiceUri("sb", servicenamespace, "InventoryService"); 5. Use the following highlighted code to create the binding used by the client to connect to the service bus connection point. (Code Snippet IntroServiceBusFutures - Ex02 CreateClientBinding - CS) // create the service URI based on the service namespace Uri serviceuri = ServiceBusEnvironment.CreateServiceUri("sb", servicenamespace, "InventoryService"); // create custom binding based on the TcpServiceBusTransportBindingElement var loadbalancingbinding = new TcpServiceBusTransportBindingElement(); CustomBinding sdkclientbinding = new CustomBinding(loadBalancingBinding); Page 19

20 6. Use the following highlighted code to create the service channel factory. (Code Snippet IntroServiceBusFutures - Ex02 CreateClientChannelFactory - CS) // create custom binding based on the TcpServiceBusTransportBindingElement var loadbalancingbinding = new TcpServiceBusTransportBindingElement(); CustomBinding sdkclientbinding = new CustomBinding(loadBalancingBinding); // create the channel factory loading the configuration channelfactory = new ChannelFactory<IInventoryChannel>(sdkClientBinding, new EndpointAddress(serviceUri)); 7. Use the following code to create the service bus credentials and add them to the endpoint. (Code Snippet IntroServiceBusFutures - Ex02 AddCredentials - CS) // create the channel factory loading the configuration channelfactory = new ChannelFactory<IInventoryChannel>(sdkClientBinding, new EndpointAddress(serviceUri)); // apply the Service Bus credentials ServiceBusCredential servicebuscredentialbehavior = new SharedSecretCredential(issuerName, issuersecret); channelfactory.endpoint.behaviors.add(servicebuscredentialbehavior); 8. Use the following highlighted code to open the inventory service connection. (Code Snippet IntroServiceBusFutures - Ex02 OpenServiceChannel - CS) // apply the Service Bus credentials ServiceBusCredential servicebuscredentialbehavior = new SharedSecretCredential(issuerName, issuersecret); channelfactory.endpoint.behaviors.add(servicebuscredentialbehavior); // create and open the client channel to connect to the InventoryService Console.WriteLine("Creating connetion to 0}...", serviceuri); inventorychannel = channelfactory.createchannel(); inventorychannel.open(); 9. In the CreateItem method, use the following highlighted code to create an item. This method prompts users for the new item s information and invokes the CreateItem method on the service. (Code Snippet IntroServiceBusFutures - Ex02 CreateItemMethod - CS) Page 20

21 private static void CreateItem(IInventoryChannel inventorychannel) // Prompt user for item's data Console.Write("Enter new item's Title:"); string title = Console.ReadLine(); Console.Write("Enter new item's Quantity:"); int quantity = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter new item's Description:"); string description = Console.ReadLine(); // call service to create an item var solditem = inventorychannel.createitem(title, quantity, description); Console.WriteLine("Item 0} created", solditem.inventoryitemid); Console.WriteLine("Title = 1}, Quantity = 2}", solditem.inventoryitemid, solditem.title, solditem.quantity); } 10. In the ListInventory method, use the following code to retrieve all items in stock using the service and list them in the console window. (Code Snippet IntroServiceBusFutures - Ex02 ListInventoryMethod - CS) private static void ListInventory(IInventoryChannel inventorychannel) // call service to list items IEnumerable<InventoryItem> inventorylist = inventorychannel.getinventory(); Console.WriteLine("Current Items in Stock:"); foreach (InventoryItem item in inventorylist) Console.WriteLine("ItemId = 0}, Title = 1}, Quantity = 2}", item.inventoryitemid, item.title, item.quantity); } } 11. In the SellItem method, use the following highlighted code to sell an item using the service and the information provided by the user. (Code Snippet IntroServiceBusFutures - Ex02 SellItemMethod - CS) private static void SellItem(IInventoryChannel inventorychannel) Page 21

22 // Prompt user for item's data Console.Write("Enter ItemId of item to be sold:"); int itemid = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter Quantity of item to be sold:"); int quantity = Convert.ToInt32(Console.ReadLine()); // call service to update item var solditem = inventorychannel.sellitem(itemid, quantity); Console.WriteLine("Item updated!"); Console.WriteLine("ItemId = 0}, Title = 1}, Quantity = 2}", solditem.inventoryitemid, solditem.title, solditem.quantity); } 12. In Visual Studio, save all files and build the solution. Task 3 Setting Account Information 1. Open the app.config file. 2. In the appsettings section, locate the ServiceNamespace setting and replace [YOUR-SERVICE- NAMESPACE-DOMAIN] with the domain service namespace that you registered at the portal. 3. Locate the IssuerName and IssuerSecret settings and replace [YOUR-ISSUER-NAME] and [YOUR-ISSUER-KEY] with the Default Issuer Name and Default Issuer Key for the service namespace; these are the name and key generated for the service namespace at the portal Web Site that you recorded during the Getting Started section. The figure below shows a sample app.config file after replacing the value of these settings. Figure 15 App.config file after replacing the keys with your information 4. In Visual Studio, save all files. Page 22

23 Verification In order to verify that you have performed every step in the exercise correctly, proceed as follows: Note: If you ran this exercise previously, make sure that the InventoryService endpoint does not exist. If it does, you can use the solution in Exercise 1 to delete it. 1. To delete the InventoryService endpoint, if it already exists, perform the following steps; otherwise, you may skip to step 8 in this verification. 2. In another instance of Visual Studio, open the ServiceBusManagementOperationsEnd.sln solution (from the first exercise of this lab) located at Source\Ex1- ManagementOperations\End\CS. 3. In the App.config file, replace the [YOUR-SERVICE-NAMESPACE-DOMAIN], [YOUR-ISSUER- NAME], and [YOUR-ISSUER-KEY] placeholders with the Service Namespace, Default Issuer Name, and Default Issuer Key that you have done during the provisioning process. 4. Press F5 to run the application. 5. Type 3 and press ENTER to delete a connection point. 6. Type InventoryService for the name of the connection point to delete and press ENTER. The outcome is shown in the following figure. Figure 16 Deleting the InventoryService Note: The reason why the InventoryService connection point is deleted is to avoid exceeding the maximum amount of services that can be connected to that connection point. Page 23

24 7. Type 4 and press ENTER to close the console. 8. In the Visual Studio instance that has the LoadBalancing solution open, set the Service project as the startup project. 9. Press CTRL + F5 to start a new instance of the Service project. Figure 17 First Service Instance 10. Launch a second instance of the Service project. To do this, in Visual Studio press CTRL + F5. You will use two instances of the service to verify the load balancing feature of the Service Bus. Note that each console window has a different service GUID. Page 24

25 Figure 18 Two different service instances running 11. Set the Client project as the startup project. Important: The Service Bus closes connections from clients after an entire minute without receiving requests from them. If you receive an error, close the client instance and open a new one. 12. Press CTRL + F5 to start a new instance of the Client project. Page 25

26 Figure 19 Client instance running 13. In the Client console, type 1 and press ENTER five times, to list items in stock five times. Notice how all the requests are handled by the same service instance. Figure 20 Page 26

27 Requests being handled by the same service instance. Note: All requests from the same client are handled by the same service instance by design. This is because load balancing maintains the session, so once the channel is open, it will continue to work with the same service instance. 14. Press CTRL + F5 to start another instance of the Client project. 15. In the Client console, type 1 and press ENTER six times, to list items in stock six times. Notice how all requests are handled by the other service instance. Figure 21 The requests performed by the new client are handled by a different service Important: Load balancing does not ensure that when opening two clients, their requests will be handled by different services. If all eleven requests were handled by the same service, simply launch another client and perform requests with it until the other service handles them. 16. Close all console applications. Page 27

28 Exercise 3: Durable Message Buffers Message Buffers enable asynchronous message processing by providing small, temporary cache locations where messages are pushed and stored for short periods until they can be retrieved. Applications can access Message Buffers using simple HTTP requests, without the need for any specific support from the Windows Azure AppFabric SDK, thus allowing clients in other platforms equal access to this feature. In this exercise, you will learn how to use Message Buffers to achieve basic asynchronous messaging functionality in a consistent and fault-tolerant way. Additionally, you will see that messages stored in the buffer are persisted and examine the peek-lock and delete pattern and how to use it to provide guarantees that a message is delivered at least once, even in the face of client failure. Task 1 Implementing Basic Operations with Message Buffers In this task, you will update a simple console application to enable it to create a message buffer and use it to store, retrieve, lock, and delete messages in the buffer. 1. Open Microsoft Visual Studio Open the DurableMessageBuffer.sln solution located in the Source\Ex3- DurableMessageBuffer\Begin\CS folder of this lab. 3. Open the Program.cs file. 4. Add the highlighted code in the following fragment to method Main. This code retrieves the Access Control service (ACS) authorization tokens required to manage and access the message buffer. (Code Snippet IntroServiceBusFutures - Ex03 Retrieve ACS token - CS) static void Main(string[] args)... try Console.WriteLine("Attempting to gather ACS tokens..."); // Get an ACS token to use for management operations; these tokens are cached in the client and only retrieved once string managementaddressroot = string.format(cultureinfo.invariantculture, "0}-mgmt.1}", servicenamespace, RestMessageBufferClient.HostName); string runtimeaddressroot = string.format(cultureinfo.invariantculture, "0}.1}", servicenamespace, RestMessageBufferClient.HostName); Page 28

29 string managementtoken = RestMessageBufferClient.GetTokenFromACS(serviceNamespace, " + managementaddressroot, managementusername, managementpassword); string runtimetoken = RestMessageBufferClient.GetTokenFromACS(serviceNamespace, " + runtimeaddressroot, runtimeusername, runtimepassword); Console.WriteLine("Successfully acquired ACS tokens."); // Retrieve Message Buffer messagebufferclient = RetrieveMessageBuffer(serviceNamespace, buffername, managementtoken, runtimetoken);... } Note: The Windows AppFabric Access Control service (ACS) secures access to a message buffer. Each request to the message buffer service must include an authorization header that contains a token issued by ACS. The code shown above retrieves two tokens. The first token authorizes actions against the management service and is used during the creation of the message buffer. The second token provides authentication and authorization for operations issued against the message buffer itself, and used for reading, locking, and deleting messages. 5. Locate the RetrieveMessageBuffer method and replace its body with the code highlighted in the following snippet. This code retrieves an object that you can then use to interact with a message buffer. (Code Snippet IntroServiceBusFutures - Ex03 RetrieveMessageBuffer method - CS) private static RestMessageBufferClient RetrieveMessageBuffer(string servicenamespace, string buffername, string managementtoken, string runtimetoken) RestMessageBufferClient messagebufferclient; try Console.WriteLine("Attempting to create buffer named " + buffername + "..."); // Retrieve message Buffer messagebufferclient = RestMessageBufferClient.GetMessageBuffer(managementToken, runtimetoken, servicenamespace, buffername, MessageVersion.Soap12WSAddressing10); Page 29

30 Console.WriteLine("Buffer found."); } catch (EndpointNotFoundException) Console.WriteLine("Buffer doesn't exist. Creating..."); // Create new message buffer messagebufferclient = RestMessageBufferClient.CreateMessageBuffer(managementToken, runtimetoken, servicenamespace, buffername, buffername, new MessageBufferDescription(), MessageVersion.Soap12WSAddressing10); Console.WriteLine("Buffer " + buffername + " created successfully.\n"); } } return messagebufferclient; Note: The code shown above retrieves an instance of the RestMessageBufferClient class. This helper class, originally supplied in the Windows Azure AppFabric SDK, wraps the REST API required to create and use a message buffer. 6. Now, add code to enqueue a message into a message buffer. To do this, locate the SendMessageToBuffer method and replace its body with the following (highlighted) code. (Code Snippet IntroServiceBusFutures - Ex03 SendMessageToBuffer method - CS) private static void SendMessageToBuffer(RestMessageBufferClient messagebufferclient) // Prompt used for message to be sent Console.Write("Enter message text to send, followed by ENTER: "); string messagetext = Console.ReadLine(); // Send message messagebufferclient.send(message.createmessage(messageversion.default, "test", messagetext)); Console.WriteLine("Message sent successfully.\n"); } 7. Next, replace the body of the PeekLockMessage method with the following (highlighted) code. This method atomically retrieves and locks a message for processing. (Code Snippet IntroServiceBusFutures - Ex03 PeekLockMessage method - CS) Page 30

31 private static Message PeekLockMessage(RestMessageBufferClient messagebufferclient) // Peek-lock message Message message = null; try message = messagebufferclient.peeklock(peeklocktime); string content = message.getbody<string>(); Console.WriteLine("Received message with body: \n" + content + "\n"); } catch (TimeoutException e) Console.WriteLine("There are no messages in the Message Buffer."); } } return message; Note: An application can retrieve a message and delete it from a message buffer in a single atomic operation. Note, however, that if the application can crash before it can completely process a message, there is no guarantee that the message will be processed successfully at least once. To provide such assurances, message buffers support peek/lock operations that allow an application to retrieve and then place a lock on a message. While a message is locked, it is guaranteed not to be delivered to other receivers. Once the application finishes processing a message, it removes it from the buffer. If the application is unable to complete its processing before the lock expires, for example, after it crashes, the message becomes available once again and can be retrieved by other receivers. Note that this requires that processing be idempotent. In other words, processing the message multiple times, even if only partially completed, always produces the same result allowing the final state to remain consistent. 8. To complete processing on a locked message and delete it from the buffer, implement the DeleteLockedMessageFromBuffer method, as shown below. (Code Snippet IntroServiceBusFutures - Ex03 DeleteLockedMessageFromBuffer method - CS) private static void DeleteLockedMessageFromBuffer(RestMessageBufferClient messagebufferclient, Message message) // Delete message messagebufferclient.deletelockedmessage(message); Page 31

32 } Console.WriteLine("Message deleted successfully.\n"); Note: An application can use this method to delete a previously locked message once it has successfully dealt with it, thus ensuring that the message is processed at least once. If a locked message fails to be deleted in time, once the lock expires, the message will become available again for processing. 9. Locate the UnlockMessage method and replace its body with the following (highlighted) code that unlocks a message without deleting it from the message buffer. (Code Snippet IntroServiceBusFutures - Ex03 UnlockMessage method - CS) private static void UnlockMessage(RestMessageBufferClient messagebufferclient, Message message) // Release message lock messagebufferclient.releaselock(message); Console.WriteLine("Message lock released. Message was kept in the buffer.\n"); } Note: Unlocking a message without deleting it allows the message to be retrieved again by other receivers. 10. Finally, insert the following (highlighted) code into the body of the DeleteMessageBuffer method. (Code Snippet IntroServiceBusFutures - Ex03 DeleteMessageBuffer method - CS) private static void DeleteMessageBuffer(RestMessageBufferClient messagebufferclient) // Delete message buffer messagebufferclient.deletemessagebuffer(); Console.WriteLine("Message buffer deleted successfully."); } Page 32

33 Note: Applications can use this method to delete an existing message buffer and remove all associated state including any messages currently in the buffer. Task 2 Setting Account Information 1. Open the app.config file. 2. In the appsettings section, locate the ServiceNamespace setting and replace [YOUR-SERVICE- NAMESPACE-DOMAIN] with the domain service namespace that you registered at the portal. 3. Next, locate the IssuerName and IssuerSecret settings and replace [YOUR-ISSUER-NAME] and [YOUR-ISSUER-KEY] with the Default Issuer Name and Default Issuer Key for the service namespace; these are the name and key generated for the service namespace at the portal Web Site that you recorded during the Getting Started section. The figure below shows a sample app.config file after replacing the value of these settings. Figure 22 App.config file after replacing the keys with your information 4. In Visual Studio, save all files. Verification In order to verify that you have performed every step in the exercise correctly, proceed as follows: 1. Press CTRL + F5 to run the console application. Note: These are CTP bits, so while running this verification you might receive an exception message; you can safely ignore it and perform the step again. 2. Enter the name of the buffer to use and then press ENTER. For this verification, you can use SampleBuffer. A new message buffer with the specified name will be created or, if it already exists, it will be retrieved. Notice that the console shows a menu with every operation available. Page 33

34 Figure 23 Creating a message buffer 3. Press 1 to send a message to the buffer. Then, enter the message you want to send and press ENTER. For this verification, you can use Sample Message Repeat the previous step an additional two times using different messages (for example, Sample Message 2 and Sample Message 3). Page 34

35 Figure 24 Sending messages to the buffer 5. In Visual Studio, press CTRL + F5 to run a second instance of the console client. 6. Enter the name of the buffer you specified in step 2 and press ENTER. When the client attempts to create the buffer, it will find an existing instance with that name created by the first client and use that instead. A menu with available operations will be shown. Page 35

36 Figure 25 Retrieving an existing message buffer 7. Press 2 to retrieve (peek and lock) a message from the buffer. Verify that the first message you sent in step 3 is retrieved. 8. Press D to delete the message from the buffer. Figure 26 Page 36

37 Retrieving a message and deleting it 9. In the console window for the client launched during step 1, press 4 to exit the application. Note: This allows you to verify that messages can still be retrieved even after the client that sent them is no longer running. 10. In the remaining client, press 2 to retrieve a message from the buffer. Verify that you retrieve the second message you sent to the buffer. 11. Press D to delete that message from the buffer. Figure 27 Retrieving a message and deleting it 12. Press 2 to retrieve another message. Verify that the third message you sent to the buffer is retrieved. 13. Press any key other than D to unlock the message. This keeps the message that you just retrieved in the buffer. Page 37

38 Figure 28 Retrieving message and releasing its lock 14. Once again, press 2 to choose to retrieve a message. Verify that you recover the same message that you retrieved in step 12. Figure 29 Retrieving the previous message one more time 15. Press D to delete the message from the buffer. 16. Press 2 to retrieve a message. Verify there are no more messages stored in the message buffer. Page 38

39 Figure 30 Message buffer showing no messages 17. Press 3 to choose the delete message buffer operation. Figure 31 Deleting a message buffer 18. Press ENTER to exit the console application. Page 39

40 Summary In this hands-on lab, you learned how to manage Connection Points. These management tasks enable you to create, enumerate and delete Connection Points on the Windows Azure AppFabric Service Bus. You also learned how to use the Anycast (load balancing) feature, by subscribing various listeners (services) to a Service Bus connection point, letting the Service Bus randomly choose one listener to deliver the message. Finally, you saw how messages pushed to a durable message buffer can be retrieved at a later time to enable asynchronous message processing. Page 40

Hands-On Lab. Part 1: Introduction to the AppFabric Service Bus. Lab version: Last updated: 11/16/2010. Page 1

Hands-On Lab. Part 1: Introduction to the AppFabric Service Bus. Lab version: Last updated: 11/16/2010. Page 1 Hands-On Lab Part 1: Introduction to the AppFabric Service Bus Lab version: 2.0.0 Last updated: 11/16/2010 Page 1 CONTENTS OVERVIEW... 3 GETTING STARTED: CREATING A SERVICE PROJECT... 6 Task 1 Creating

More information

Hands-On Lab. Part 2: Introduction to the AppFabric Service Bus. Lab version: Last updated: 12/15/2010. Page 1

Hands-On Lab. Part 2: Introduction to the AppFabric Service Bus. Lab version: Last updated: 12/15/2010. Page 1 Hands-On Lab Part 2: Introduction to the AppFabric Service Bus Lab version: 2.0.0 Last updated: 12/15/2010 Page 1 CONTENTS OVERVIEW 3 GETTING STARTED: CREATING A SERVICE PROJECT 6 Task 1 Creating your

More information

Hands-On Lab. Worker Role Communication. Lab version: Last updated: 11/16/2010. Page 1

Hands-On Lab. Worker Role Communication. Lab version: Last updated: 11/16/2010. Page 1 Hands-On Lab Worker Role Communication Lab version: 2.0.0 Last updated: 11/16/2010 Page 1 CONTENTS OVERVIEW... 3 EXERCISE 1: USING WORKER ROLE EXTERNAL ENDPOINTS... 8 Task 1 Exploring the AzureTalk Solution...

More information

Hands-On Lab. Windows Azure Virtual Machine Roles. Lab version: Last updated: 12/14/2010. Page 1

Hands-On Lab. Windows Azure Virtual Machine Roles. Lab version: Last updated: 12/14/2010. Page 1 Hands-On Lab Windows Azure Virtual Machine Roles Lab version: 2.0.0 Last updated: 12/14/2010 Page 1 CONTENTS OVERVIEW... 3 EXERCISE 1: CREATING AND DEPLOYING A VIRTUAL MACHINE ROLE IN WINDOWS AZURE...

More information

Bringing Together One ASP.NET

Bringing Together One ASP.NET Bringing Together One ASP.NET Overview ASP.NET is a framework for building Web sites, apps and services using specialized technologies such as MVC, Web API and others. With the expansion ASP.NET has seen

More information

Hands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 12/15/2010

Hands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 12/15/2010 Hands-On Lab Introduction to SQL Azure Lab version: 2.0.0 Last updated: 12/15/2010 Contents OVERVIEW... 3 EXERCISE 1: PREPARING YOUR SQL AZURE ACCOUNT... 5 Task 1 Retrieving your SQL Azure Server Name...

More information

Hands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 11/16/2010

Hands-On Lab. Introduction to SQL Azure. Lab version: Last updated: 11/16/2010 Hands-On Lab Introduction to SQL Azure Lab version: 2.0.0 Last updated: 11/16/2010 Contents OVERVIEW... 3 EXERCISE 1: PREPARING YOUR SQL AZURE ACCOUNT... 6 Task 1 Retrieving your SQL Azure Server Name...

More information

Real-Time SignalR. Overview

Real-Time SignalR. Overview Real-Time SignalR Overview Real-time Web applications feature the ability to push server-side content to the connected clients as it happens, in real-time. For ASP.NET developers, ASP.NET SignalR is a

More information

Amazon S3 Glacier. Developer Guide API Version

Amazon S3 Glacier. Developer Guide API Version Amazon S3 Glacier Developer Guide Amazon S3 Glacier: Developer Guide Table of Contents What Is Amazon S3 Glacier?... 1 Are You a First-Time Glacier User?... 1 Data Model... 2 Vault... 2 Archive... 3 Job...

More information

Learning vrealize Orchestrator in action V M U G L A B

Learning vrealize Orchestrator in action V M U G L A B Learning vrealize Orchestrator in action V M U G L A B Lab Learning vrealize Orchestrator in action Code examples If you don t feel like typing the code you can download it from the webserver running on

More information

Cloud Enabling.NET Client Applications ---

Cloud Enabling.NET Client Applications --- Cloud Enabling.NET Client Applications --- Overview Modern.NET client applications have much to gain from Windows Azure. In addition to the increased scalability and reliability the cloud has to offer,

More information

Developing Microsoft Azure and Web Services. Course Code: 20487C; Duration: 5 days; Instructor-led

Developing Microsoft Azure and Web Services. Course Code: 20487C; Duration: 5 days; Instructor-led Developing Microsoft Azure and Web Services Course Code: 20487C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN In this course, students will learn how to design and develop services that access

More information

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES ABOUT THIS COURSE In this course, students will learn how to design and develop services that access local and remote data from various data sources. Students will also learn how to develop and deploy

More information

[MS20487]: Developing Windows Azure and Web Services

[MS20487]: Developing Windows Azure and Web Services [MS20487]: Developing Windows Azure and Web Services Length : 5 Days Audience(s) : Developers Level : 300 Technology : Cross-Platform Development Delivery Method : Instructor-led (Classroom) Course Overview

More information

Processing Big Data with Hadoop in Azure HDInsight

Processing Big Data with Hadoop in Azure HDInsight Processing Big Data with Hadoop in Azure HDInsight Lab 4C Using the.net Framework Overview In this lab, you will use the Microsoft.NET Framework to serialize and upload data to Azure storage, and to initiate

More information

Engr 123 Spring 2018 Notes on Visual Studio

Engr 123 Spring 2018 Notes on Visual Studio Engr 123 Spring 2018 Notes on Visual Studio We will be using Microsoft Visual Studio 2017 for all of the programming assignments in this class. Visual Studio is available on the campus network. For your

More information

Developing Windows Azure and Web Services

Developing Windows Azure and Web Services Developing Windows Azure and Web Services Course 20487B; 5 days, Instructor-led Course Description In this course, students will learn how to design and develop services that access local and remote data

More information

Web Service Elements. Element Specifications for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Release 10.0(1) 1

Web Service Elements. Element Specifications for Cisco Unified CVP VXML Server and Cisco Unified Call Studio Release 10.0(1) 1 Along with Action and Decision elements, another way to perform backend interactions and obtain real-time data is via the Web Service element. This element leverages industry standards, such as the Web

More information

Amazon Glacier. Developer Guide API Version

Amazon Glacier. Developer Guide API Version Amazon Glacier Developer Guide Amazon Glacier: Developer Guide Copyright 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in

More information

Web Sites in Production

Web Sites in Production Web Sites in Production Overview Windows Azure offers secure and flexible development, deployment and scaling options for any size web application. Leverage your existing tools to create and deploy applications

More information

Hands-On Lab. Introduction to the AppFabric Access Control Service (September 2010 Labs Release) Lab version: 1.0.0

Hands-On Lab. Introduction to the AppFabric Access Control Service (September 2010 Labs Release) Lab version: 1.0.0 Hands-On Lab Introduction to the AppFabric Access Control Service (September 2010 Labs Release) Lab version: 1.0.0 Last updated: 11/16/2010 CONTENTS OVERVIEW... 3 EXERCISE 1: USE ACCESS CONTROL SERVICE

More information

Workflow Scheduler Installation Guide. Version Page 1 of 19

Workflow Scheduler Installation Guide. Version Page 1 of 19 Workflow Scheduler Installation Guide Version 1.0.0 Page 1 of 19 Document Version History # Date Author Reason Version 1 30/03/17 Pragmasys Initial Version 0.1 Page 2 of 19 Table of Contents 1. Workflow

More information

Lab 3: Using Worklight Server and Environment Optimization Lab Exercise

Lab 3: Using Worklight Server and Environment Optimization Lab Exercise Lab 3: Using Worklight Server and Environment Optimization Lab Exercise Table of Contents Lab 3 Using the Worklight Server and Environment Optimizations... 3-4 3.1 Building and Testing on the Android Platform...3-4

More information

70-487: Developing Windows Azure and Web Services

70-487: Developing Windows Azure and Web Services 70-487: Developing Windows Azure and Web Services Candidates for this certification are professional developers that use Visual Studio 2015112017 11 and the Microsoft.NET Core Framework 4.5 to design and

More information

Developing Intelligent Apps

Developing Intelligent Apps Developing Intelligent Apps Lab 1 Creating a Simple Client Application By Gerry O'Brien Overview In this lab you will construct a simple client application that will call an Azure ML web service that you

More information

This walkthrough assumes you have completed the Getting Started walkthrough and the first lift and shift walkthrough.

This walkthrough assumes you have completed the Getting Started walkthrough and the first lift and shift walkthrough. Azure Developer Immersion In this walkthrough, you are going to put the web API presented by the rgroup app into an Azure API App. Doing this will enable the use of an authentication model which can support

More information

BEAAquaLogic. Service Bus. Interoperability With EJB Transport

BEAAquaLogic. Service Bus. Interoperability With EJB Transport BEAAquaLogic Service Bus Interoperability With EJB Transport Version 3.0 Revised: February 2008 Contents EJB Transport Introduction...........................................................1-1 Invoking

More information

Hands-On Lab. Launching Contextual Conversations from the Lync Controls. Lab version: 1.0 Last updated: 12/17/2010

Hands-On Lab. Launching Contextual Conversations from the Lync Controls. Lab version: 1.0 Last updated: 12/17/2010 Hands-On Lab Launching Contextual Conversations from the Lync Controls Lab version: 1.0 Last updated: 12/17/2010 CONTENTS OVERVIEW... 3 System Requirements 3 EXERCISE 1: INTEGRATE LAUNCH LINK AND DATA

More information

Azure Application Deployment and Management: Service Fabric Create and Manage a Local and Azure hosted Service Fabric Cluster and Application

Azure Application Deployment and Management: Service Fabric Create and Manage a Local and Azure hosted Service Fabric Cluster and Application Azure Application Deployment and Management: Service Fabric Create and Manage a Local and Azure hosted Service Fabric Cluster and Application Overview This course includes optional practical exercises

More information

Developing Microsoft Azure Solutions: Course Agenda

Developing Microsoft Azure Solutions: Course Agenda Developing Microsoft Azure Solutions: 70-532 Course Agenda Module 1: Overview of the Microsoft Azure Platform Microsoft Azure provides a collection of services that you can use as building blocks for your

More information

Data Ingestion Service. SDK Development Guide. Issue 03 Date HUAWEI TECHNOLOGIES CO., LTD.

Data Ingestion Service. SDK Development Guide. Issue 03 Date HUAWEI TECHNOLOGIES CO., LTD. Issue 03 Date 2018-06-12 HUAWEI TECHNOLOGIES CO., LTD. 2018. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means without prior written consent of

More information

Course Outline. Lesson 2, Azure Portals, describes the two current portals that are available for managing Azure subscriptions and services.

Course Outline. Lesson 2, Azure Portals, describes the two current portals that are available for managing Azure subscriptions and services. Course Outline Module 1: Overview of the Microsoft Azure Platform Microsoft Azure provides a collection of services that you can use as building blocks for your cloud applications. Lesson 1, Azure Services,

More information

Getting Started Using HBase in Microsoft Azure HDInsight

Getting Started Using HBase in Microsoft Azure HDInsight Getting Started Using HBase in Microsoft Azure HDInsight Contents Overview and Azure account requrements... 3 Create an HDInsight cluster for HBase... 5 Create a Twitter application ID... 9 Configure and

More information

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010 Course 10263A: Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010 Course Details Course Outline Module 1: Service-Oriented Architecture This module explains how to

More information

Entrust Connector (econnector) Venafi Trust Protection Platform

Entrust Connector (econnector) Venafi Trust Protection Platform Entrust Connector (econnector) For Venafi Trust Protection Platform Installation and Configuration Guide Version 1.0.5 DATE: 17 November 2017 VERSION: 1.0.5 Copyright 2017. All rights reserved Table of

More information

ForeScout Extended Module for VMware AirWatch MDM

ForeScout Extended Module for VMware AirWatch MDM ForeScout Extended Module for VMware AirWatch MDM Version 1.7.2 Table of Contents About the AirWatch MDM Integration... 4 Additional AirWatch Documentation... 4 About this Module... 4 How it Works... 5

More information

RSS-TO- APPLICATION FOR MARKETO GETTING STARTED WITH DIGESTO

RSS-TO- APPLICATION FOR MARKETO GETTING STARTED WITH DIGESTO GETTING STARTED WITH DIGESTO STEP 1 Connect your Marketo account to Digesto via REST API Go to Setup in the top right menu and and enter your Marketo REST information. PREREQUISITES Create a API Role,

More information

Microsoft Cloud Workshops. Microservices and Serverless Architecture - Developer Edition Leader Hackathon guide

Microsoft Cloud Workshops. Microservices and Serverless Architecture - Developer Edition Leader Hackathon guide Microsoft Cloud Workshops Microservices and Serverless Architecture - Developer Edition Leader Hackathon guide September 2017 2017 Microsoft Corporation. All rights reserved. This document is confidential

More information

pinremote Manual Version 4.0

pinremote Manual Version 4.0 pinremote Manual Version 4.0 Page 1 Table of content 1 Introduction... 4 2 Setup... 5 2.1 Requirements server... 5 2.2 Requirements client... 5 2.3 Setup process... 6 2.3.1 Single Server... 8 2.3.2 Cluster...

More information

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010 Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010 Course Code: 10263A; Three days; Instructor-Led About this Course This three-day instructor-led course provides participants

More information

Setting Up the Server

Setting Up the Server Managing Licenses, page 1 Cross-launch from Prime Collaboration Provisioning, page 5 Integrating Prime Collaboration Servers, page 6 Single Sign-On for Prime Collaboration, page 7 Changing the SSL Port,

More information

Introduction Chapter 1. General Information Chapter 2. Servers Used... 9

Introduction Chapter 1. General Information Chapter 2. Servers Used... 9 Chapter 1 General Information Contents Contents Introduction... 5 Chapter 1. General Information... 6 Chapter 2. Servers Used... 9 Chapter 3. Installing and Configuring Failover Cluster for MS SQL Databases...

More information

Course Outline. Developing Microsoft Azure Solutions Course 20532C: 4 days Instructor Led

Course Outline. Developing Microsoft Azure Solutions Course 20532C: 4 days Instructor Led Developing Microsoft Azure Solutions Course 20532C: 4 days Instructor Led About this course This course is intended for students who have experience building ASP.NET and C# applications. Students will

More information

Vlad Vinogradsky

Vlad Vinogradsky Vlad Vinogradsky vladvino@microsoft.com http://twitter.com/vladvino Commercially available cloud platform offering Billing starts on 02/01/2010 A set of cloud computing services Services can be used together

More information

RED IM Integration with Bomgar Privileged Access

RED IM Integration with Bomgar Privileged Access RED IM Integration with Bomgar Privileged Access 2018 Bomgar Corporation. All rights reserved worldwide. BOMGAR and the BOMGAR logo are trademarks of Bomgar Corporation; other trademarks shown are the

More information

Using VMware vrealize Orchestrator with VMware vcloud Availability for vcloud Director Version 1.0 April 2017

Using VMware vrealize Orchestrator with VMware vcloud Availability for vcloud Director Version 1.0 April 2017 Using VMware vrealize Orchestrator with VMware vcloud Availability for vcloud Director Version 1.0 April 2017 Page 1 of 53 This product is protected by U.S. and international copyright and intellectual

More information

Hands-On Lab. Introduction to the Unified Communications Managed API 3.0. Lab version: 1.0 Last updated: 12/17/2010

Hands-On Lab. Introduction to the Unified Communications Managed API 3.0. Lab version: 1.0 Last updated: 12/17/2010 Hands-On Lab Introduction to the Unified Communications Managed API 3.0 Lab version: 1.0 Last updated: 12/17/2010 CONTENTS OVERVIEW... 3 System Requirements 3 EXERCISE 1: PROVISION AN APPLICATION ENDPOINT

More information

Deccansoft Software Services

Deccansoft Software Services Azure Syllabus Cloud Computing What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages and Disadvantages of Cloud Computing Getting

More information

ForeScout Extended Module for MobileIron

ForeScout Extended Module for MobileIron Version 1.8 Table of Contents About MobileIron Integration... 4 Additional MobileIron Documentation... 4 About this Module... 4 How it Works... 5 Continuous Query Refresh... 5 Offsite Device Management...

More information

ForeScout Extended Module for Qualys VM

ForeScout Extended Module for Qualys VM ForeScout Extended Module for Qualys VM Version 1.2.1 Table of Contents About the Qualys VM Integration... 3 Additional Qualys VM Documentation... 3 About This Module... 3 Components... 4 Considerations...

More information

IFS TOUCH APPS SERVER INSTALLATION GUIDE

IFS TOUCH APPS SERVER INSTALLATION GUIDE IFS TOUCH APPS SERVER INSTALLATION GUIDE ABSTRACT IFS Touch Apps Server is an On Premise version of the IFS Touch Apps Cloud. The On Premise version doesn t need a separate installation of the IFS Cloud

More information

TIBCO EMS Transport Channel for WCF User s Guide. Software Release 1.0 May 2008

TIBCO EMS Transport Channel for WCF User s Guide. Software Release 1.0 May 2008 TIBCO EMS Transport Channel for WCF User s Guide Software Release 1.0 May 2008 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE

More information

Deploying a System Center 2012 R2 Configuration Manager Hierarchy

Deploying a System Center 2012 R2 Configuration Manager Hierarchy Deploying a System Center 2012 R2 Configuration Manager Hierarchy This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION

More information

XIA Automation Server

XIA Automation Server Administrator's Guide Version: 3.1 Copyright 2017, CENTREL Solutions Table of contents About... 6 Installation... 7 Installation Requirements (Server)... 8 Prerequisites (Windows 2016 / 2012)... 9 Prerequisites

More information

vsphere Replication for Disaster Recovery to Cloud vsphere Replication 6.5

vsphere Replication for Disaster Recovery to Cloud vsphere Replication 6.5 vsphere Replication for Disaster Recovery to Cloud vsphere Replication 6.5 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments

More information

vsphere Replication for Disaster Recovery to Cloud vsphere Replication 8.1

vsphere Replication for Disaster Recovery to Cloud vsphere Replication 8.1 vsphere Replication for Disaster Recovery to Cloud vsphere Replication 8.1 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments

More information

Azure Developer Immersions API Management

Azure Developer Immersions API Management Azure Developer Immersions API Management Azure provides two sets of services for Web APIs: API Apps and API Management. You re already using the first of these. Although you created a Web App and not

More information

Azure Developer Immersion Getting Started

Azure Developer Immersion Getting Started Azure Developer Immersion Getting Started In this walkthrough, you will get connected to Microsoft Azure and Visual Studio Team Services. You will also get the code and supporting files you need onto your

More information

ActiveBPEL Fundamentals

ActiveBPEL Fundamentals Unit 23: Deployment ActiveBPEL Fundamentals This is Unit #23 of the BPEL Fundamentals course. In past Units we ve looked at ActiveBPEL Designer, Workspaces and Projects, created the Process itself and

More information

INSTALLATION GUIDE Spring 2017

INSTALLATION GUIDE Spring 2017 INSTALLATION GUIDE Spring 2017 Copyright and Disclaimer This document, as well as the software described in it, is furnished under license of the Instant Technologies Software Evaluation Agreement and

More information

This module reviews the core syntax and features of the C# programming language. It also provides an introduction to the Visual Studio 2012 debugger.

This module reviews the core syntax and features of the C# programming language. It also provides an introduction to the Visual Studio 2012 debugger. Course Outline Module 1: Review of C# Syntax This module reviews the core syntax and features of the C# programming language. It also provides an introduction to the Visual Studio 2012 debugger. Overview

More information

MS-20487: Developing Windows Azure and Web Services

MS-20487: Developing Windows Azure and Web Services MS-20487: Developing Windows Azure and Web Services Description In this course, students will learn how to design and develop services that access local and remote data from various data sources. Students

More information

Techno Expert Solutions

Techno Expert Solutions Course Content of Microsoft Windows Azzure Developer: Course Outline Module 1: Overview of the Microsoft Azure Platform Microsoft Azure provides a collection of services that you can use as building blocks

More information

Managing trust relationships with multiple business identity providers (basics) 55091A; 3 Days, Instructor-led

Managing trust relationships with multiple business identity providers (basics) 55091A; 3 Days, Instructor-led Managing trust relationships with multiple business identity providers (basics) 55091A; 3 Days, Instructor-led Course Description Decoupling cloud service from all the complexity maintaining a direct relationship

More information

BlackBerry Developer Summit. A02: Rapid Development Leveraging BEMS Services and the AppKinetics Framework

BlackBerry Developer Summit. A02: Rapid Development Leveraging BEMS Services and the AppKinetics Framework BlackBerry Developer Summit A02: Rapid Development Leveraging BEMS Services and the AppKinetics Framework Page 2 of 21 Table of Contents 1. Workbook Scope... 4 2. Compatibility... 4 3. Source code download

More information

The contents of this document are directly taken from the EPiServer SDK. Please see the SDK for further technical information about EPiServer.

The contents of this document are directly taken from the EPiServer SDK. Please see the SDK for further technical information about EPiServer. Web Services Product version: 4.50 Document version: 1.0 Document creation date: 04-05-2005 Purpose The contents of this document are directly taken from the EPiServer SDK. Please see the SDK for further

More information

Administering Jive Mobile Apps for ios and Android

Administering Jive Mobile Apps for ios and Android Administering Jive Mobile Apps for ios and Android TOC 2 Contents Administering Jive Mobile Apps...3 Configuring Jive for Android and ios...3 Custom App Wrapping for ios...3 Authentication with Mobile

More information

OpenScape Voice V8 Application Developers Manual. Programming Guide A31003-H8080-R

OpenScape Voice V8 Application Developers Manual. Programming Guide A31003-H8080-R OpenScape Voice V8 Application Developers Manual Programming Guide A31003-H8080-R100-4-7620 Our Quality and Environmental Management Systems are implemented according to the requirements of the ISO9001

More information

SAP Disclosure Management Document Version: 10.0 SP SAP Taxonomy Designer

SAP Disclosure Management Document Version: 10.0 SP SAP Taxonomy Designer SAP Disclosure Management Document Version: 10.0 SP08-2014-03-13 Table of Contents 1 What is the Taxonomy Designer?.... 4 1.1 Taxonomy Designer Features....4 2 Using the Taxonomy Designer Interface...5

More information

Abstract. Avaya Solution & Interoperability Test Lab

Abstract. Avaya Solution & Interoperability Test Lab Avaya Solution & Interoperability Test Lab Application Notes for Configuring Infoblox DNSone DHCP Failover or High Availability in an Avaya Communication Manager IP Telephony Infrastructure - Issue 1.0

More information

Hands-On Lab. Developing Identity-Driven Silverlight Applications. Lab version: 1.0.0

Hands-On Lab. Developing Identity-Driven Silverlight Applications. Lab version: 1.0.0 Hands-On Lab Developing Identity-Driven Silverlight Applications Lab version: 1.0.0 Last updated: 1/21/2011 CONTENTS OVERVIEW... 3 EXERCISE 1: SINGLE SIGN ON, CLAIMS-DRIVEN EXPERIENCE AND SERVICE AUTHORIZATION

More information

ForeScout Extended Module for MaaS360

ForeScout Extended Module for MaaS360 Version 1.8 Table of Contents About MaaS360 Integration... 4 Additional ForeScout MDM Documentation... 4 About this Module... 4 How it Works... 5 Continuous Query Refresh... 5 Offsite Device Management...

More information

vsphere Replication for Disaster Recovery to Cloud

vsphere Replication for Disaster Recovery to Cloud vsphere Replication for Disaster Recovery to Cloud vsphere Replication 6.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced

More information

Developing Microsoft Azure Solutions (MS 20532)

Developing Microsoft Azure Solutions (MS 20532) Developing Microsoft Azure Solutions (MS 20532) COURSE OVERVIEW: This course is intended for students who have experience building ASP.NET and C# applications. Students will also have experience with the

More information

CAD PPE Hands-on Lab Day 1. Modern App

CAD PPE Hands-on Lab Day 1. Modern App CAD PPE Hands-on Lab Day 1 Modern App October 2016 2016 Microsoft Corporation. All rights reserved. This document is confidential and proprietary to Microsoft. Internal use only. This document is for informational

More information

Windows Communication Foundation (WCF) Visual Studio 2008

Windows Communication Foundation (WCF) Visual Studio 2008 Windows Communication Foundation (WCF) Visual Studio 2008 Course 6461 - Three days - Instructor-led - Hands-on Introduction This three-day instructor-led course provides students with the knowledge and

More information

Copyright. Copyright Ping Identity Corporation. All rights reserved. PingAccess Server documentation Version 4.

Copyright. Copyright Ping Identity Corporation. All rights reserved. PingAccess Server documentation Version 4. Server 4.3 Copyright 1 Copyright 2017 Ping Identity Corporation. All rights reserved. PingAccess Server documentation Version 4.3 June, 2017 Ping Identity Corporation 1001 17th Street, Suite 100 Denver,

More information

Quick Start Guide (CM)

Quick Start Guide (CM) NetBrain Integrated Edition 7.1 Quick Start Guide (CM) Version 7.1 Last Updated 2018-08-20 Copyright 2004-2018 NetBrain Technologies, Inc. All rights reserved. Contents 1. Managing Network Changes... 3

More information

RSA SecurID Ready Implementation Guide. Last Modified: December 13, 2013

RSA SecurID Ready Implementation Guide. Last Modified: December 13, 2013 Ping Identity RSA SecurID Ready Implementation Guide Partner Information Last Modified: December 13, 2013 Product Information Partner Name Ping Identity Web Site www.pingidentity.com Product Name PingFederate

More information

Colligo Engage Console. User Guide

Colligo Engage Console. User Guide Colligo Engage Console User Guide Contents Introduction...3 Console Login for End Users... 3 Console Setup for Administrators... 3 Users...3 Groups...5 Sites... 6 Adding Locations to Sites... 7 Reporting...8

More information

Highwinds CDN Content Protection Products. August 2009

Highwinds CDN Content Protection Products. August 2009 Highwinds CDN Content Protection Products August 2009 1 Highwinds CDN Content Protection Products August 2009 Table of Contents CDN SECURITY INTRO... 3 CONTENT PROTECTION BY CDN DELIVERY PRODUCT... 3 HTTP

More information

Xerox Connect App for Blackboard

Xerox Connect App for Blackboard Xerox Connect App for Blackboard Information Assurance Disclosure Additional information, if needed, on one or more lines Month 00, 0000 2018 Xerox Corporation. All rights reserved. Xerox,

More information

Programming in C# for Experienced Programmers

Programming in C# for Experienced Programmers Programming in C# for Experienced Programmers Course 20483C 5 Days Instructor-led, Hands-on Introduction This five-day, instructor-led training course teaches developers the programming skills that are

More information

Oracle Service Bus. 10g Release 3 (10.3) October 2008

Oracle Service Bus. 10g Release 3 (10.3) October 2008 Oracle Service Bus Tutorials 10g Release 3 (10.3) October 2008 Oracle Service Bus Tutorials, 10g Release 3 (10.3) Copyright 2007, 2008, Oracle and/or its affiliates. All rights reserved. This software

More information

Amazon Glacier. Developer Guide API Version

Amazon Glacier. Developer Guide API Version Amazon Glacier Developer Guide Amazon Glacier: Developer Guide Copyright 2014 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. The following are trademarks of Amazon Web Services,

More information

20532D: Developing Microsoft Azure Solutions

20532D: Developing Microsoft Azure Solutions 20532D: Developing Microsoft Azure Solutions Course Details Course Code: Duration: Notes: 20532D 5 days Elements of this syllabus are subject to change. About this course This course is intended for students

More information

Course Description. Audience. Module Title : 20483B: Programming in C# Duration : 5 days. Course Outline :: 20483B ::

Course Description. Audience. Module Title : 20483B: Programming in C# Duration : 5 days. Course Outline :: 20483B :: Module Title : 20483B: Programming in C# Duration : 5 days Course Description This training course teaches developers the programming skills that are required for developers to create Windows applications

More information

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API Getting Started with the Ed-Fi ODS and Ed-Fi ODS API Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview January 2015 2014-2015 Ed-Fi Alliance, LLC. All rights reserved. Ed-Fi is a registered trademark

More information

Citrix SCOM Management Pack 1.4 for ShareFile

Citrix SCOM Management Pack 1.4 for ShareFile Citrix SCOM Management Pack 1.4 for ShareFile Nov 27, 2017 Citrix SCOM Management Pack for ShareFile is an availability and performance management solution that extends end-toend service monitoring capabilities

More information

WebSphere MQ V7 STEW. JMS Setup Lab. October 2008 V2.3

WebSphere MQ V7 STEW. JMS Setup Lab. October 2008 V2.3 Copyright IBM Corporation 2008 All rights reserved WebSphere MQ V7 STEW JMS Setup Lab October 2008 V2.3 LAB EXERCISE JMS Setup JMS Setup Page 2 of 47 JMS Setup Overview The purpose of this lab is to show

More information

20483BC: Programming in C#

20483BC: Programming in C# 20483BC: Programming in C# Course length: 5 day(s) Course Description The goal of this course is to help students gain essential C# programming skills. This course is an entry point into the Windows Store

More information

Installation and Upgrade Guide. Front Office v9.0

Installation and Upgrade Guide. Front Office v9.0 c Installation and Upgrade Guide Front Office v9.0 Contents 1.0 Introduction... 4 2.0 Prerequisites... 5 2.1 Database... 5 2.2 Portal and Web Service... 5 2.3 Windows Service... 5 3.0 New Installation...

More information

Demo: Calling a Java Logging Package from.net. Version 8.2

Demo: Calling a Java Logging Package from.net. Version 8.2 Demo: Calling a Java Logging Package from.net Version 8.2 JNBridge, LLC www.jnbridge.com COPYRIGHT 2002 2017 JNBridge, LLC. All rights reserved. JNBridge is a registered trademark and JNBridgePro and the

More information

CounterACT Afaria MDM Plugin

CounterACT Afaria MDM Plugin Version 1.7.0 and Above Table of Contents About Afaria MDM Service Integration... 4 About This Plugin... 4 How It Works... 5 Continuous Query Refresh... 5 Offsite Device Management... 6 Supported Devices...

More information

Partner Integration Portal (PIP) Installation Guide

Partner Integration Portal (PIP) Installation Guide Partner Integration Portal (PIP) Installation Guide Last Update: 12/3/13 Digital Gateway, Inc. All rights reserved Page 1 TABLE OF CONTENTS INSTALLING PARTNER INTEGRATION PORTAL (PIP)... 3 DOWNLOADING

More information

Exposing CICS Transactions to WLE

Exposing CICS Transactions to WLE Exposing CICS Transactions to WLE Lab Exercise Author: David J Brett, Version 1.0 IBM BPM 7.5 Lab Number 1 Copyright IBM Corporation, 2011 US Government Users Restricted Rights - Use, duplication or disclosure

More information

The SAS Workspace Servers can run on any platform that is supported by SAS 9.3.

The SAS Workspace Servers can run on any platform that is supported by SAS 9.3. Deployment Guide Overview of SAS/IML Studio Installation SAS/IML Studio is a Microsoft Windows client application that connects to SAS Workspace Servers. SAS/IML Studio must be installed on a computer

More information

CA Service Desk Integration with Remote Support

CA Service Desk Integration with Remote Support CA Service Desk Integration with Remote Support 2003-2019 BeyondTrust Corporation. All Rights Reserved. BEYONDTRUST, its logo, and JUMP are trademarks of BeyondTrust Corporation. Other trademarks are the

More information

Walkthrough Using the New CLR Interop Feature of Microsoft Dynamics AX

Walkthrough Using the New CLR Interop Feature of Microsoft Dynamics AX Walkthrough Using the New CLR Interop Feature of Microsoft Dynamics AX Walkthrough Using the New CLR Interop Feature of Microsoft Dynamics AX Lab Manual Table of Contents Lab 1: CLR Interop... 1 Lab Objective...

More information

Google GCP-Solution Architects Exam

Google GCP-Solution Architects Exam Volume: 90 Questions Question: 1 Regarding memcache which of the options is an ideal use case? A. Caching data that isn't accessed often B. Caching data that is written more than it's read C. Caching important

More information