Deploying to an Azure VM is a seemingly simple and easy process, but there are many steps, and thus many places to make mistakes. Recently I discovered that many, if not all, of the online resources detailing this process are either incomplete or severely outdated. Here I will outline the configuration and deployment process with up to date information, including instructions pertaining to the new Microsoft Azure Portal.
To get started, you will need a few things that this tutorial does not cover. This tutorial assumes that your Azure VM is already provisioned, deployed, and running IIS (Internet Information Services). The VM should be running Windows Server 2012 R2 or later. This also assumes that you have administrator access to the Azure Subscription associated with the VM.
Configuring IIS on the Virtual Machine:
First, we’re going to need to install some IIS features. To assist…
We have all encountered intranets in our professional lives. Often, the intranet is where information goes to die and is forgotten. How do we break away from this pattern? Depending on whom you ask, some users may view the intranet as a tool to find HR Related information; others may use it to work collaboratively with a team who works remotely, and some will simply resist using it at all.
The road to overcoming common intranet missteps and misconceptions begins with a proper envisioning. We will discuss the process of envisioning a successful intranet, starting with a handful of factors: user and business stakeholder interviews, project requirements, documentation, and being mindful of the unique needs of your users as intranet solutions are not one-size-fits-all between companies—or even between departments within a single company.
The first group of people you are going…
There are many situations where we need to deploy WCF Services that we can use to interact with BizTalk, but if you’re constantly deploying to new systems, the process of manually creating and configuring them can become very time consuming and tedious. Leveraging the abilities of the BizTalk Deployment Framework (BTDF) we can automate this process along with your typical BTDF deployment.
In this guide we’ll step through how to configure BTDF to build the deployment of our existing WCF Services into the installer which BTDF creates for deployments.
In order to follow this guide it’s assumed that you have the following prerequisites:
A BizTalk solution and environment with BTDF installed
Already deployed WCF Services which you wish to replicate via deployment on the same machine
A basic knowledge of BizTalk, WCF, and IIS
First up we need to move our services into our solution folder. Simply…
I recently worked on a POC using the Power BI API. The purpose of the POC was to be able to add a dataset from a SQL database into my Power BI workspace through the use of a console application instead of manually having doing it from the GUI in Power BI. The goal was to make it abstract enough so that we can use it for any database in SQL by simply adjusting a few parameters inside an app.config file.
To get an example of how one would use the Power BI API in visual studio, I referred to this github repository to be a base for my application. There are some things that the example doesn’t show you which is what I’ll be focusing on in this article.
Since the purpose of this article is to go over lesser known features…
While testing an integration it is always important to perform a series of negative test cases to ensure the process can fail gracefully through error handling. It is not always possible for endpoint environments to be set up for quick and easy testing. For this reason, a useful step in the development process is to create test harnesses. These can act as the implementation of abstract test cases beyond simple shape-to-shape testing. Test harnesses are also incredibly useful for regression testing.
Last week Microsoft released a new version of BizTalk, and they’ve added some exciting new features. A comprehensive list of changes has been provided by Microsoft here, but we’ll take a closer look at a few of the changes in the admin console which make life a lot easier for BizTalk users.
If there’s one problem that an integration system needs to address, it’s standardizing the format of all data being exchanged. Before any type of data can be processed or transformed, the system handling it must be aware of its format and structure. Using a service, at the client endpoint, forces the user to provide proper data that is agreed upon. This acts as a contract between the service and the client. Given a certain format of data, the client will receive another format of data in return. Anything that happens behind the curtain is the responsibility of the service; the client simply waits for the returned data set.
BizTalk WCF Service Publishing Wizard
One of the more popular tools offered by BizTalk 2010 is the WCF Service Publishing Wizard. This handy tool can automatically create a WCF service, and fully configures the…
While working with Azure Machine Learning, we ran into some situations that seem simple to handle in hindsight, but are rarely discussed online. Here are some simple Azure ML tips and tricks that we found useful.
1. Saving and Reusing a Trained Model
In one of our projects, we found that we needed to use the same trained model multiple times rather than just once in a predictive experiment. To do this, save a trained model by right clicking the output port of the Train Model module and selecting the Save as Trained Model option.
After giving the trained model a name and saving it, you will be able to find a module with the given name under the Trained Models sections of the module selection bar
or by typing the name into the module search bar. From here, you will be able to use…
Through the use of Atom Queues and Listeners a single process can spawn many iterations of a listening process. Each process spawned from a listener will execute asynchronously, independent of any other executions. By default, an Atom Queue listener will spawn an instance of the listening process every time a document is written to the queue. While this will work fine in cases with a low throughput, larger numbers of documents being processed will cause a large number of executions to get kicked off.
Many times when a document cache is created for use in a lookup function, only a few values are actually needed. A typical approach to document caching would write an entire document to the cache, including unneeded values. This approach works fine when caching a small number of documents, but will perform worse as more documents need to be cached. A much more efficient approach is to only cache the elements of a document that are actually used.