<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Raesemann Enterprises</title>
	<atom:link href="http://raesemann.com/feed" rel="self" type="application/rss+xml" />
	<link>http://raesemann.com</link>
	<description>Expert at gathering and managing data - OSIsoft PI System and Continuous Emissions Monitoring</description>
	<lastBuildDate>Sat, 19 May 2012 14:18:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Configuring your vCampus environment. Every PI Geek needs a Sandbox. (Part 1)</title>
		<link>http://raesemann.com/configuring-your-vcampus-environment-every-pi-geek-needs-a-sandbox-part-1</link>
		<comments>http://raesemann.com/configuring-your-vcampus-environment-every-pi-geek-needs-a-sandbox-part-1#comments</comments>
		<pubDate>Fri, 18 May 2012 14:05:27 +0000</pubDate>
		<dc:creator>Rob Raesemann</dc:creator>
				<category><![CDATA[OSISoft PI]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[vCampus]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[OSIsoft]]></category>

		<guid isPermaLink="false">http://raesemann.com/?p=612</guid>
		<description><![CDATA[You need a sandbox To become good at building reliable solutions you have to be really good a breaking things. You must have a sandbox that allows you to play, experiment, and develop an intuitive sense of how things work. Over the years, I have literally spent thousands of hours in sandbox environments making a [...]]]></description>
			<content:encoded><![CDATA[<h3><img class="alignright size-medium wp-image-615" title="vCampusSite" src="http://raesemann.com/wordpress/wp-content/uploads/2012/05/vCampusSite-300x216.png" alt="" width="300" height="216" /></h3>
<h3>You need a sandbox</h3>
<p>To become good at building reliable solutions you have to be really good a breaking things. You must have a sandbox that allows you to play, experiment, and develop an intuitive sense of how things work. Over the years, I have literally spent thousands of hours in sandbox environments making a mess of things so that I can learn how not to make a mess of things. For me, there isn’t any substitute. You can’t just read it in a book, take a class, or work solely on production systems. You must have a place where you can break things and take chances.</p>
<p>Here are my recommendations for building a first class development/learning environment. From the PI Geek perspective, these recommendation will help for someone who is interested in developing solutions, or for someone who is interested in learning to deploy these solutions. The faster you can try things and recover when you mess things up, the faster you can learn.</p>
<h3>MSDN is a must</h3>
<h3 style="text-align: left;"><img class="alignleft  wp-image-622" title="msdn_new_logo" src="http://raesemann.com/wordpress/wp-content/uploads/2012/05/msdn_new_logo-300x225.png" alt="" width="180" height="135" /></h3>
<p style="text-align: left;">First off, an MSDN subscription is a must. You are going to need a number of licensed Microsoft components in order to configure a complete development environment. Off the top of my head, I can say that you need Windows Server, Microsoft SQL Server, SharePoint Enterprise, and Visual Studio Professional. You need to be able to get your hands on these things whenever you need them. The best way to get all of these is to have an MSDN Professional subscription. I have been able to get this subscription for about $1200/year by committing to a 3 year deal. If you want details, just shoot me a message @RaesemannEnt and I’ll point you in the right direction. If you know of a better deal, please tweet me. I’ll promise to buy you a beer with some of the savings.</p>
<h3>Go Virtual or Go Home</h3>
<p>Next, go virtual or go home. Adopting virtualization is probably the single largest productivity increase that you can give yourself. The key to this productivity boost is the fact that you can easily back up your environment prior to making changes by taking what is known as a snapshot. This snapshot preserves the state of the system at that point. You can keep multiple snapshots making it easy to restore to different states.</p>
<p>Any of us who have played video games over the years has already learned this snapshot concept. You save your game progress at a dangerous point in the game so that you can start over from that point when you die. Notice that I didn’t say if you die, you always die the first several times you try. This concept of a save is not only convenient, it becomes a key strategy in learning to play the game better. Saving the game allows us to test different strategies and tactics at very little cost. Nobody wants to restart from the very beginning of the game when they die. Games that don’t let you save just end up pissing you off, so don’t play that game. Virtualization gives you this edge in real life.</p>
<p>I’ve used VMWare Workstation and Server for many years. I have recently, in the past year or so, decided that Hyper-V is a better solution. Hyper-V is the virtualization technology that is built into Windows Server. In my case, I use Windows Server 2008 R2 which allows you to add Hyper-V as a server role. Once you install that role, you are ready to roll. I prefer Hyper-V primarily because I find that it uses the host system resources more effectively than VMWare. In other words, I can run more virtual machines and see better performance under Hyper-V than I did under VMWare server. You can see from the screenshot below that you can stack quite a bit on a decent box and still get acceptable performance.</p>
<p><a href="http://media.raesemann.com/photos/i-hwcfSVD/0/X3/i-hwcfSVD-X3.png" rel="lightbox[612]"><img class="alignnone" src="http://media.raesemann.com/photos/i-hwcfSVD/0/M/i-hwcfSVD-M.png" alt="" width="600" height="333" /></a></p>
<p>If you are going to be a good PI Geek you have to live on the edge. That means that you are going to download the newest available software and be the first to play with it. Betas can be ugly. I have found that while the end OSIsoft product is usually in really good shape by the time they release it to beta, the installer/installation process can have all sorts of complications that don&#8217;t pop up until it has been installed in a lot of different environments. Since you are the beta tester, that means that you are likely to be the one that discovers one of the problems. You are going to be glad that you made that snapshot prior to testing the betas.</p>
<p>In part 2, I&#8217;ll discuss some other strategies for installing different OSIsoft products. I am growing especially fond of Windows 2008 R2 Core as the basis for my virtual machines and I am slowing starting to migrate things over to that. You can read about my experience installing the PI Server 2012 beta in core <a title="Installing PI Server 2012 RC0 on Windows 2008 R2 Core" href="http://raesemann.com/installing-pi-server-2012-rc0-on-windows-2008-r2-core">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://raesemann.com/configuring-your-vcampus-environment-every-pi-geek-needs-a-sandbox-part-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calling a SharePoint list using Web Service using GetListItems now expects XElement</title>
		<link>http://raesemann.com/calling-a-sharepoint-list-using-web-service-using-getlistitems-now-expects-xelement</link>
		<comments>http://raesemann.com/calling-a-sharepoint-list-using-web-service-using-getlistitems-now-expects-xelement#comments</comments>
		<pubDate>Thu, 03 May 2012 20:36:55 +0000</pubDate>
		<dc:creator>Rob Raesemann</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://raesemann.com/?p=555</guid>
		<description><![CDATA[I recently ran into a problem trying to run CAML queries against a SharePoint 2010 list using the web service and the stub code created by Visual Studio 2010. It seems that Microsoft has made some changes so the GetListItems method now expects the query parameter to be of type System.Xml.Linq.XElement instead of an XMLNode. [...]]]></description>
			<content:encoded><![CDATA[<p>I recently ran into a problem trying to run CAML queries against a SharePoint 2010 list using the web service and the stub code created by Visual Studio 2010. It seems that Microsoft has made some changes so the GetListItems method now expects the query parameter to be of type System.Xml.Linq.XElement instead of an XMLNode.</p>
<p>This <a href="http://sharepointmagazine.net/articles/writing-caml-queries-for-retrieving-list-items-from-a-sharepoint-list">article</a> in SharePoint Magazine covers the CAML queries but I found that examples given produced an error</p>
<pre>"Cannot convert System.Xml.XmlNode to System.Xml.Linq.XElement"</pre>
<p>In this example I was trying to query a list for all list items that did not have a &#8220;Status&#8221; of &#8220;Completed&#8221;. Here is the code that finally worked.</p>
<pre class="brush: csharp; title: ; notranslate">
var spquery = new System.Xml.Linq.XElement(&quot;Query&quot;,
 new XElement(&quot;Where&quot;,
 new XElement(&quot;Neq&quot;,
 new XElement(&quot;FieldRef&quot;,
 new XAttribute(&quot;Name&quot;,&quot;Status&quot;)),
 new XElement(&quot;Value&quot;
 new XAttribute(&quot;Type&quot;,&quot;Choice&quot;),&quot;Completed&quot;))));

var viewFields = new System.Xml.Linq.XElement(&quot;ViewFields&quot;);
var queryOptions = new System.Xml.Linq.XElement(&quot;QueryOptions&quot;);

XElement items = ws.GetListItems(&quot;Example List&quot;,
 &quot;{D4200E79-28AF-4DF0-A106-499226DD38DB}&quot;,
 spquery,
 viewFields,
 null,
 queryOptions,
 null);
</pre>
<p>This produces the following XML for the query&#8230;</p>
<pre class="brush: xml; light: true; title: ; notranslate">
&lt;Query&gt;
 &lt;Where&gt;
 &lt;Neq&gt;
 &lt;FieldRef Name=&quot;Status'&quot; /&gt;
 &lt;Value Type=&quot;Choice&quot;&gt;Completed&lt;/Value&gt;
 &lt;/Neq&gt;
 &lt;/Where&gt;
&lt;/Query&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://raesemann.com/calling-a-sharepoint-list-using-web-service-using-getlistitems-now-expects-xelement/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proud sponsor of UNF Play a Round fore Scholarships Golf Tournament</title>
		<link>http://raesemann.com/proud-sponsor-of-unf-play-a-round-fore-scholarships-golf-tournament</link>
		<comments>http://raesemann.com/proud-sponsor-of-unf-play-a-round-fore-scholarships-golf-tournament#comments</comments>
		<pubDate>Tue, 01 May 2012 18:05:25 +0000</pubDate>
		<dc:creator>Rob Raesemann</dc:creator>
				<category><![CDATA[Charitable Activities]]></category>

		<guid isPermaLink="false">http://raesemann.com/?p=544</guid>
		<description><![CDATA[Raesemann Enterprises is once again proud to sponsor the University of North Florida Alumni Association&#8217;s Play a Round fore Scholarships golf tournament. This is the 6th year of the tournament that raises money to support first generation scholarships at UNF. These scholarships are awarded to students who are the first in their family to attend [...]]]></description>
			<content:encoded><![CDATA[<p>Raesemann Enterprises is once again proud to sponsor the University of North Florida Alumni Association&#8217;s Play a Round fore Scholarships golf tournament. This is the 6th year of the tournament that raises money to support first generation scholarships at UNF. These scholarships are awarded to students who are the first in their family to attend a university. To date the tournament has raised $95,000, which has been matched, dollar for dollar, by the state of Florida. This equates to assisting approximately 40 students.</p>
<p><a href="http://raesemann.com/wordpress/wp-content/uploads/2012/05/2012golf-group.png" rel="lightbox[544]"><img class="aligncenter size-full wp-image-549" title="2012golf-group" src="http://raesemann.com/wordpress/wp-content/uploads/2012/05/2012golf-group.png" alt="" /></a></p>
<p><a href="http://raesemann.com/wordpress/wp-content/uploads/2012/05/2012golf-apparelsponsor.jpg" rel="lightbox[544]"><img class="aligncenter size-full wp-image-546" title="2012golf-apparelsponsor" src="http://raesemann.com/wordpress/wp-content/uploads/2012/05/2012golf-apparelsponsor.jpg" alt="" width="640" height="428" /></a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://raesemann.com/proud-sponsor-of-unf-play-a-round-fore-scholarships-golf-tournament/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing PI Server 2012 RC0 on Windows 2008 R2 Core</title>
		<link>http://raesemann.com/installing-pi-server-2012-rc0-on-windows-2008-r2-core</link>
		<comments>http://raesemann.com/installing-pi-server-2012-rc0-on-windows-2008-r2-core#comments</comments>
		<pubDate>Mon, 30 Apr 2012 00:50:48 +0000</pubDate>
		<dc:creator>Rob Raesemann</dc:creator>
				<category><![CDATA[OSISoft PI]]></category>

		<guid isPermaLink="false">http://raesemann.com/?p=533</guid>
		<description><![CDATA[It&#8217;s always a good day when you check the tech support page at <a href="http://techsupport.osisoft.com">http://techsupport.osisoft.com</a> and see something new that you are interested in. <a href="http://raesemann.com/wordpress/wp-content/uploads/2012/04/PiServer2012RC0-Release-screenshot.jpg" rel="lightbox[533]"></a> I downloaded the PI Server 2012 Release Candidate yesterday and decided to setup a test VM so that I could play with it. I&#8217;m working on a new [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s always a good day when you check the tech support page at <a href="http://techsupport.osisoft.com">http://techsupport.osisoft.com</a> and see something new that you are interested in.</p>
<p><a href="http://raesemann.com/wordpress/wp-content/uploads/2012/04/PiServer2012RC0-Release-screenshot.jpg" rel="lightbox[533]"><img class="aligncenter size-full wp-image-538" title="PiServer2012RC0-Release-screenshot" src="http://raesemann.com/wordpress/wp-content/uploads/2012/04/PiServer2012RC0-Release-screenshot.jpg" alt="" width="549" height="110" /></a></p>
<p>I downloaded the PI Server 2012 Release Candidate yesterday and decided to setup a test VM so that I could play with it. I&#8217;m working on a new blog post about my vCampus development environment where I describe how I&#8217;ve chosen to set it up in more detail. For now, just know that I am running everything on a Windows 2008 R2 Server with Hyper-V enabled. I am moving all of my VM&#8217;s to Windows Server Core because it has a smaller footprint allowing me to run more VM&#8217;s on my host with better performance. It also has the added benefit of needing fewer Windows Updates making the entire environment easier to maintain. As an added bonus, I am getting a lot of experience with server core and PowerShell scripting.</p>
<p>It turns out to be relatively trivial to install PI Server on Windows Server Core. First you need to enable the .NET features on the server. It is possible that you don&#8217;t need all three of these but it only takes a few minutes to do it and this is just a development environment. For a production system, I would probably confirm that they are all needed and leave out any that are not absolutely necessary. Here are the command lines to install these features.</p>
<p>dism /online /enable-feature /featurename:NetFx2-ServerCore-WOW64<br />
dism /online /enable-feature /featurename:NetFx3-ServerCore<br />
dism /online /enable-feature /featurename:NetFx3-ServerCore-WOW64</p>
<p>Once these features are installed on the server, you need to run the OSIsoft Prerequisites installer for your platform. You can then run the PI Server setup and follow the directions. The GUI installer works exactly like a regular installation.</p>
<p>I found that you can even run the SMT gui from the server as you can see below.</p>
<p><img class="alignnone" title="Photo &amp; Video Sharing by SmugMug" src="http://media.raesemann.com/photos/i-qXhDQgP/0/L/i-qXhDQgP-L.png" alt="Photo &amp; Video Sharing by SmugMug" width="717" height="600" /></p>
<p>I&#8217;m going to try to set aside some time to try some of the new features of the server. I am especially interested in how much easier it is going to make backfilling old data into the server.</p>
]]></content:encoded>
			<wfw:commentRss>http://raesemann.com/installing-pi-server-2012-rc0-on-windows-2008-r2-core/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PI in the Cloud &#8211; aka &#8211; “PI in the Sky”</title>
		<link>http://raesemann.com/pi-in-the-cloud-aka-pi-in-the-sky</link>
		<comments>http://raesemann.com/pi-in-the-cloud-aka-pi-in-the-sky#comments</comments>
		<pubDate>Fri, 27 Apr 2012 11:44:44 +0000</pubDate>
		<dc:creator>Rob Raesemann</dc:creator>
				<category><![CDATA[OSISoft PI]]></category>
		<category><![CDATA[UC 2012]]></category>

		<guid isPermaLink="false">http://raesemann.com/?p=521</guid>
		<description><![CDATA[I attended the UC session discussing “The Cloud” and OSIsoft’s mobile efforts. Their engineers have playfully dubbed this “PI in the Sky”. One of the refreshing things about the UC and the overall culture of OSIsoft and their Users Conference philosophy, you see presentations by the very engineers who are building the products. You aren’t [...]]]></description>
			<content:encoded><![CDATA[<p>I attended the UC session discussing “The Cloud” and OSIsoft’s mobile efforts. Their engineers have playfully dubbed this “PI in the Sky”. One of the refreshing things about the UC and the overall culture of OSIsoft and their Users Conference philosophy, you see presentations by the very engineers who are building the products. You aren’t being barraged by a bunch of over-processed marketing hype. Even if the engineers become mildly influenced by hanging out with the marketing folks, they always spill the beans and offer honest assessments of their products over a beer at the evening’s party.</p>
<p>The presenters were very clear that much of what was discussed in this presentation was preliminary work and said that it was nice to be talking about something without having to discuss anticipated ship dates. Some of this is in in early proof of concept stage and some is closer to market.</p>
<p><a href="http://raesemann.com/wordpress/wp-content/uploads/2012/04/OSIsoftUC2012-iPadDemo.jpg" rel="lightbox[521]"><img class="aligncenter size-full wp-image-522" title="OSIsoftUC2012-iPadDemo" src="http://raesemann.com/wordpress/wp-content/uploads/2012/04/OSIsoftUC2012-iPadDemo.jpg" alt="" width="640" height="480" /></a></p>
<p>OSIsoft is planning to leverage the Microsoft <a title="Microsoft Windows Azure" href="http://www.windowsazure.com/">Windows Azure</a> platform as the basis for their cloud offerings. This makes perfect sense because this means that they are able to port their existing code base. All of their experience developing for the .NET platform using Visual Studio is applicable. I’m not sure how much work is involved in porting to Azure but I suspect that time to market for some of these products may be fairly fast as they are only making modifications to existing code rather than developing a large new code base.</p>
<p>I haven’t personally had any hands on experience with Azure. My MSDN subscription gives me some free cloud resources to use, but I haven’t had any business motivation for devoting any time to it yet. I am under the impression that Azure really encompasses a wide range of offerings, from allowing you to host some data and web code on the cloud on up to running <a title="Hyper V Overview" href="http://technet.microsoft.com/library/cc816638(WS.10).aspx">Hyper V</a> VM’s of your systems.</p>
<p>There are really two main problems that the cloud might help us with. The first problem is the need to distribute PI data from one source to various destinations. The second is the need to distribute PI data to the rapidly growing number of smart phones, tablets, and consumer type devices. In both cases there are existing solutions, but the cloud potentially offers some advantages, such as the ability to provision these services quickly on an as needed basis, without the need to purchase new hardware, or reconfigure existing networks.</p>
<p>Many customers have had the need to transfer PI data from one site to another for quite some time. There are any number of reasons for this. Examples would be sending data from the source up to the corporate office, sending data to a business partner, or sharing data with a customer. Today this usually means setting up VPN tunnels and a server to host the PI to PI interface. OSIsoft is working toward being able to offer a range of options, from hosting the PI to PI transfer in the cloud, to hosting PI servers in the cloud. It isn’t entirely clear whether they will just provide the tools for you to set this up yourself, or if they will have some sort of service offering.</p>
<div>
<p>I can offer a concrete example where these types of cloud-based services might be helpful. I recently setup a PI server at a major research university. They have a grant to study the effects of integrating renewable power sources into the electric grid. There are several power companies and other organizations that have agreed to supply information to assist in this study. All of this information will be fed into the university PI server for archiving and analysis. Many of these companies have PI systems of their own containing the source data. From a technical standpoint, they could setup VPN’s and use PI to PI to transfer the agreed upon data. This isn’t technically that difficult but when you start talking to IT departments about connecting networks, it becomes difficult. It would be much easier if we had a tool allowing us to push the information from the source using HTTPS up to a cloud based transfer agent, which would make sure that the data made it to the university PI server. This transfer agent would ideally be able to backfill data just like the standard PI to PI interface.</p>
<p>The second problem we want to solve is how to make PI data available to devices outside of our network. OSIsoft is proposing having a cloud-hosted <a title="PI Coresight" href="http://picoresight.osisoft.com/">Coresight</a> Server to allow any PC to access data from a web browser. iPad’s would access the same data. Smartphones will later offer simplified displays and tight integration with PI Notifications. A claims based authentication scheme would be used to authorize access to the data.</p>
<p><a href="http://raesemann.com/wordpress/wp-content/uploads/2012/04/OSIsoftUC2012-iPadDemo-screen.jpg" rel="lightbox[521]"><img class="aligncenter size-full wp-image-523" title="OSIsoftUC2012-iPadDemo-screen" src="http://raesemann.com/wordpress/wp-content/uploads/2012/04/OSIsoftUC2012-iPadDemo-screen.jpg" alt="" width="517" height="640" /></a></p>
<p>The iPad code was demonstrated for us, and OSIsoft anticipates making it available by the end of the year. It can view your existing Coresight displays. The iPad app is a native IOS app offering the kind of fluid multi-touch based interface we all love. You can swipe left and right to pan a trend through time. You can pinch to zoom in and you can drag and drop elements on the screen.</p>
<p>While the engineers may joke about PI in the Sky, it would seem that they have given this issue a great deal of thought. There are very clear user needs in this area. OSIsoft seems to have broken down the different use cases and has proposed solutions for each. The Azure framework seems to be a sound foundation. OSIsoft has vast experience with the Microsoft tools and an existing code base which can be ported to Azure. I would not be surprised if we didn’t start seeing some of these solutions available in the not too distant future. OSIsoft established themselves as the company that gave us data on our desktop. Now they are working hard to give us data in our pocket.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://raesemann.com/pi-in-the-cloud-aka-pi-in-the-sky/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

