<?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>SoftLayer Blog &#187; method</title>
	<atom:link href="http://blog.softlayer.com/tag/method/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.softlayer.com</link>
	<description>A Behind the Scenes Look at the Best Hosting Provider in the World</description>
	<lastBuildDate>Tue, 04 Jun 2013 20:27:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>SoftLayer API: Streamline. Simplify.</title>
		<link>http://blog.softlayer.com/2012/softlayer-api-streamline-simplify/</link>
		<comments>http://blog.softlayer.com/2012/softlayer-api-streamline-simplify/#comments</comments>
		<pubDate>Wed, 19 Dec 2012 19:00:34 +0000</pubDate>
		<dc:creator>Kevin Hazard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[coders]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[efficient]]></category>
		<category><![CDATA[improvement]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[order]]></category>
		<category><![CDATA[provision]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[SLAPI]]></category>
		<category><![CDATA[streamline]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=10205</guid>
		<description><![CDATA[Building an API is a bit of a balancing act. You want your API to be simple and easy to use, and you want it to be feature-rich and completely customizable. Because those two desires happen to live on opposite ends of the spectrum, every API finds a different stasis in terms of how complex [...]]]></description>
			<content:encoded><![CDATA[<p>Building an API is a bit of a balancing act. You want your API to be simple and easy to use, <em>and</em> you want it to be feature-rich and completely customizable. Because those two desires happen to live on opposite ends of the spectrum, every API finds a different stasis in terms of how complex and customizable they are. The <a href="https://sldn.softlayer.com/reference/softlayerapi">SoftLayer API</a> was designed to provide customers with granular control of every action associated with any product or service on our platform; anything you can do in our customer portal can be done via our API. That depth of functionality might be intimidating to developers looking to dive in quickly and incorporate the SoftLayer platform into their applications, so our development team has been working to streamline and simplify some of the most common API services to make them even more accessible.</p>
<p><a href="https://sldn.softlayer.com/reference/softlayerapi"><img class="centered" src="http://cdn.softlayer.com/innerlayer/slapi.jpg" alt="SoftLayer API"/></a></p>
<p>To get an idea of what their efforts look like in practice, Phil posted an SLDN blog with a perfect example of how they <a href="https://sldn.softlayer.com/blog/phil/Simplified-CCI-Creation">simplified cloud computing instance (CCI) creation</a> via the API. The traditional CCI ordering process required developers to define nineteen data points: </p>
<div style="margin-left:20px;"><code>Hostname<br />
Domain name<br />
complexType<br />
Package Id<br />
Location Id<br />
Quantity to order<br />
Number of cores<br />
Amount of RAM<br />
Remote management options<br />
Port speeds<br />
Public bandwidth allotment<br />
Primary subnet size<br />
Disk size<br />
Operating system<br />
Monitoring<br />
Notification<br />
Response<br />
VPN Management - Private Network<br />
Vulnerability Assessments &#038; Management</code></div>
<p>While each of those data points is straightforward, you still have to define <em>nineteen</em> of them. You have all of those options when you check out through our shopping cart, so it makes sense that you&#8217;d have them in the API, but when it comes to ordering through the API, you don&#8217;t necessarily <strong>need</strong> all of those options. Our development team observed our customers&#8217; API usage patterns, and they created the slimmed-down and efficient <a href="https://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/createObject">SoftLayer_Virtual_Guest::createObject</a> &mdash; a method that only requires seven data points:</p>
<div style="margin-left:20px;"><code>Hostname<br />
Domain name<br />
Number of cores<br />
Amount of RAM<br />
Hourly/monthly billing<br />
Local vs SAN disk<br />
Operating System</code></div>
<p>Without showing you a single line of code, you see the improvement. Default values were established for options like <code>Port speeds</code> and <code>Monitoring</code> based on customer usage patterns, and as a result, developers only have to provide half the data to place a new CCI order. Because each data point might require multiple lines of code, the volume of API code required to place an order is slimmed down even more. The best part is that if you find yourself needing to modify one of the now-default options like <code>Port speeds</code> or <code>Monitoring</code>, you still can!</p>
<p>As the development team finds other API services and methods that can be streamlined and simplified like this one, they&#8217;ll ninja new solutions to make the API even more accessible. Have you tried coding to the SoftLayer API yet? If not, what&#8217;s the biggest roadblock for you? If you&#8217;re already a SLAPI coder, what other methods do you use often that could be streamlined?</p>
<p>-<a href="http://twitter.com/khazard">@khazard</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/softlayer-api-streamline-simplify/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>186,282.4 Miles Per Second</title>
		<link>http://blog.softlayer.com/2011/186282-4-miles-per-second/</link>
		<comments>http://blog.softlayer.com/2011/186282-4-miles-per-second/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 16:45:19 +0000</pubDate>
		<dc:creator>Clayton Spivey</dc:creator>
				<category><![CDATA[Funny]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[advancement]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[information]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[medium]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=6745</guid>
		<description><![CDATA[Let&#8217;s say there are 2495 miles separating me and the world&#8217;s foremost authority on orthopedics who lives in Vancouver, Canada. If I needed some medical advice for how to remove a screwdriver from the palm of my hand that was the result of a a Christmas toy with &#8220;some assembly required,&#8221; I&#8217;d be pretty happy [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say there are 2495 miles separating me and the world&#8217;s foremost authority on orthopedics who lives in Vancouver, Canada. If I needed some medical advice for how to remove a screwdriver from the palm of my hand that was the result of a a Christmas toy with &#8220;some assembly required,&#8221; I&#8217;d be pretty happy I live in the year 2011. Here are a few of the communication methods that I may have settled with in years past:</p>
<div style="margin-left:20px;">
<p><strong>On Foot:</strong> The average human walks 3.5 mph sustainable. Using this method it would take a messenger 29.7 days to get a description of the problem and a drawing of the damage to that doctor if the messenger walked non-stop. Because the doctor in this theoretical scenario is the only person on the planet who knows how to perform the screwdriver removal surgery, the doctor would have to accompany the messenger back to Texas, and I am fairly sure by the time they arrived, they&#8217;d have to visit a grave with a terrible epitaph like &#8220;He got screwed,&#8221; or they&#8217;d find me answering to a crass nickname like &#8220;Stumpy.&#8221;</p>
<p><strong>On Horseback:</strong> The average speed of a galloping horse is around 30 mph sustainable, so with the help of a couple equestrian friends, the message could reach the doctor in 3.5 days if the horse were to run the whole journey without stopping, the doctor could saddle up and hit the trail back to Houston, getting here in about 7 days. In that span of time, I&#8217;d only be able to wave to him with one hand, given the inevitable amputation.</p>
<p><strong>Via High-Speed Rail:</strong> With an average speed of 101 mph, it would take a mere 24.7 hour to get from Houston to Vancouver, so if this means of communication were the only one used, I could have the doctor at my bedside in a little over 48 hours. That turnaround time might mean my hand would be saved, but the delay would still yield a terrible headache and a lot of embarrassment &#8230; Seeing as how a screwdriver in your hand is relatively noticeable at Christmas parties.</p>
<p><strong>Via Commercial Flight:</strong> If the message was taken by plane and the doctor returned by plane, the round trip would be around 12.4 hours at an average rate of 400 mph &#8230; I&#8217;d only have to endure half a day of mockery.</p>
<p><strong>Via E-mail:</strong> With the multimedia capabilities of email, the doctor could be sent a picture of the damage instantly and a surgeon in Houston could be instructed on how to best save my hand. There would be little delay, but there are no guarantees that the stand-in surgeon would be able to correctly execute on the instructions given by this theoretical world&#8217;s only orthopedic surgeon.</p>
<p><strong>Via Video Chat:</strong> In milliseconds, a video connection could be made between the stand-in surgeon and the orthopedic specialist. The specialist could watch and instruct the stand-in surgeon on how to complete the surgery, and I&#8217;d be using both hands again by Christmas morning. Technology is also getting to a point where the specialist could perform parts of the surgery remotely &#8230; Let&#8217;s just hope they use a good network connection on both end since any latency would be pretty significant.</div>
<p>I started thinking about the amazing speed with which we access information when I met with CTO Duke Skarda. He gave a few examples of our customers that piqued his interested, given to the innovative nature of their business, and one in particular made me realize how far we&#8217;ve come when I considered the availability and speed of our access to information:</p>
<p>The company facilitated advertisements on the Internet by customizing the advertising experience to each visitor by auctioning off ad space to companies that fit that particular visitor&#8217;s profile. In the simplest sense, a website has a blank area for an advertisment, the site sends non-sensitive information about the visitor to an advertising network. The advertising network then distributes that information to multiple advertisers who process it, generate targeted ads and place a bid to &#8220;purchase&#8221; the space for that visitor. The winner of the auction is determined, and the winner&#8217;s ad would be populated on the website.</p>
<p>All of this is done in under a second, before the visitor even knows the process took place.</p>
<p>We live in a time of instant access. We are only limited by the speed of light, a blazing 186,282.4 miles/second. That means you could, theoretically, send a message around the world in .03 milliseconds. Businesses use this speed to create and market products and services to the global market, I can&#8217;t wait to see what tomorrow holds &#8230; Maybe some kind of technology that prevents screwdrivers from piercing hands?</p>
<p>-Clayton  </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2011/186282-4-miles-per-second/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SLDN 2.0 &#8211; The Development Network Evolved</title>
		<link>http://blog.softlayer.com/2011/sldn-2-0-developing-the-development-network/</link>
		<comments>http://blog.softlayer.com/2011/sldn-2-0-developing-the-development-network/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 15:25:54 +0000</pubDate>
		<dc:creator>Phil Jackson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[panel]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[SLDN]]></category>
		<category><![CDATA[view]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=4550</guid>
		<description><![CDATA[SoftLayer is in a constant state of change &#8230; It&#8217;s not that bad change we all fear; it&#8217;s the type of change that allows you to stretch the boundaries of your normal experience and run like a penguin &#8230; Because I got some strange looks when coworkers read &#8220;run like a penguin,&#8221; I should explain [...]]]></description>
			<content:encoded><![CDATA[<p>SoftLayer is in a constant state of change &#8230; It&#8217;s not that bad change we all fear; it&#8217;s the type of change that allows you to stretch the boundaries of your normal experience and run like a penguin &#8230; Because I got some strange looks when coworkers read &#8220;run like a penguin,&#8221; I should explain that I recently visited <a href="http://moodygardens.com/">Moody Gardens</a> in Galveston and <a href="http://www.moodygardens.com/penguincam2.html">saw penguins</a> get crazy excited when they were about to get fed, so that&#8217;s the best visual I could come up with. Since I enjoy a challenge (and enjoy running around like a penguin), when I was asked to design the new version of SLDN, I was excited.</p>
<p>The goal was simple: Take our already amazing documentation software infrastructure and make it better. A large part of this was to collapse our multi-site approach down into a single unified user experience. Somewhere along the way, &#8220;When is the proposal going to be ready?&#8221; became &#8220;When is the site going to be ready?&#8221;, at this point I realized that all of the hurdles I had been trampling over in my cerebral site building were now still there, standing, waiting for me on my second lap.</p>
<p>I recently had the honor to present our ideas, philosophy and share some insight into the technical details of the site at <a href="http://www.oscon.com/oscon2011">OSCON 2011</a>, and <a href="http://blog.softlayer.com/author/khazard">KHazzy</a> had the forethought to record it for all of you!</p>
<div class="yt560"><iframe width="560" height="349" src="http://www.youtube.com/embed/YvOO5vkRbGY?hd=1" frameborder="0" allowfullscreen></iframe></div>
<p>It&#8217;s a difficult balance to provide details and not bore the audience with tech specs, so I tried to keep the presentation relatively light to encourage attendees (and now viewers) to ask questions about areas they want a little more information about. If you&#8217;re looking at a similar project in the future, feel free to bounce ideas off me, and I&#8217;ll steer you clear of a few land mines I happened upon.</p>
<p>-Phil</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2011/sldn-2-0-developing-the-development-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>API Basics: REST API &#8211; &#8220;Hello World&#8221;</title>
		<link>http://blog.softlayer.com/2011/api-basics-rest-api-hello-world/</link>
		<comments>http://blog.softlayer.com/2011/api-basics-rest-api-hello-world/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 15:30:11 +0000</pubDate>
		<dc:creator>Kevin Trachier</dc:creator>
				<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/2011/</guid>
		<description><![CDATA[Learning SoftLayer&#8217;s API When I first started to look at SoftLayer&#8217;s API, I favored the SOAP programming interface because I liked the strictly formatted XML responses, the good separation of concerns (using the server as proxy for data retrieval) and the increased security. All of these are great reasons to use the SOAP interface, but [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Learning SoftLayer&#8217;s API</strong><br />
When I first started to look at SoftLayer&#8217;s API, I favored the <a href="http://blog.softlayer.com/2011/api-basics-what-is-soap/">SOAP programming interface</a> because I liked the strictly formatted XML responses, the good separation of concerns (using the server as proxy for data retrieval) and the increased security. All of these are great reasons to use the SOAP interface, but once I saw how easy and direct the <a href="http://blog.softlayer.com/2011/api-basics-rest/">REST</a> interface is, I decided that I would use it as my cornerstone for learning the SoftLayer API.</p>
<p><strong>REST API</strong><br />
Although the REST software archetype is a difficult concept to explain, its practice has become natural to those of us who use the internet daily. Imagine that the information that you want to know is saved as a web page somewhere and all you have to do is type in the URL, it will prompt you for a username and password, and you will see the information that you requested.</p>
<p><strong>Authentication</strong><br />
Before making a request you will need to find your API authentication token. To do this, log into your customer account and click API under the Support tab. Click the &#8220;Manage API Access&#8221; link. At the bottom of the next page you will see a drop-down menu that says &#8220;Select a User&#8221; and above it a tag that says &#8220;Generate a new API access key.&#8221; Select a user and click the &#8220;Generate API Key&#8221; button. You will see your username and the generated API key for that user. Copy this API key, as you&#8217;ll need it to send commands SoftLayer&#8217;s API.</p>
<p><strong>&#8220;Hello World&#8221;</strong><br />
Unfortunately, there is no specific &#8220;Hello World&#8221; command in SoftLayer&#8217;s API, but there are some commands that are very simple and don&#8217;t require any variables, like the <code>getObject()</code> method. APIs are like component libraries, split into web services and methods of that service. The <a href="http://sldn.softlayer.com/wiki/index.php/Category:API_Services">SLDN</a> has a full list of SoftLayer&#8217;s web services to choose from. I am going to use the <code>getObject()</code> method from the <code>SoftLayer_Account</code> service in this example:</p>
<p style="margin-bottom:0;"><a href="https://api.softlayer.com/rest/v3/SoftLayer_Account.xml">https://api.softlayer.com/rest/v3/SoftLayer_Account.xml</a></p>
<ul style="margin-top:0;">
<li>You will be prompted for your username and API access key</li>
<li>XML data type output</li>
</ul>
<p style="margin-bottom:0;"><a href="https://USERNAME:PASSWORD@api.softlayer.com/rest/v3/SoftLayer_Account.json">https://USERNAME:PASSWORD@api.softlayer.com/rest/v3/SoftLayer_Account.json</a></p>
<ul style="margin-top:0;">
<li>Automatic authentication</li>
<li>JSON data type output</li>
</ul>
<p><strong>The Request</strong><br />
Here is the basic REST request structure:</p>
<div style="width: 650px; height: auto; overflow:auto; border: 1px solid black;">
<pre><code>https://<u><em>username</em></u>:<u><em>API key</em></u>@api.service.softlayer.com/rest/v3/<u><em>serviceName</em></u>/<u><em>InitializationParameter</em></u>.<u><em>returnDatatype</em></u></code></pre>
</div>
<ul>
<li>All requests are sent via secure transfer (https://)</li>
<li>Listing your <code>username</code> and <code>API key</code> before the URL allows for automatic HTTP authentication</li>
<li><code>Service</code> and <code>serviceName</code> both refer to the web service you are trying to access</li>
<li><code>InitializationParameter</code> is only used if the method you are calling requires an initialization Parameter</li>
<li>SoftLayer&#8217;s REST API can respond with either JSON or XML data types; replace <code>returnDatatype</code> with the type you would like to receive.</li>
</ul>
<p><strong>The Data</strong><br />
Looking at the first link above, your browser should be able to output the response data in XML format, showing information about your account. More information about the format of the data can be found <a href="http://sldn.softlayer.com/wiki/index.php/SoftLayer_Account_%28type%29">on the SLDN wiki</a>.</p>
<p><strong>REST Basics</strong><br />
When you start integrating this into a website you will want to get/make a function or library to handle advanced requests and to properly receive and disperse the response; I recommend using JQuery. This is the most basic example of a function call for SoftLayer&#8217;s API, I hope that it will help you get a feel for the information that you will need to pass to our server and the kind of response that you will receive.</p>
<p>-Kevin</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2011/api-basics-rest-api-hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
