<?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>Layer 7 - Blogs &#187; API</title>
	<atom:link href="http://www.layer7tech.com/blogs/index.php/category/apis/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.layer7tech.com/blogs</link>
	<description>API Management &#124; SOA Governance &#124; Cloud Integration</description>
	<lastBuildDate>Wed, 19 Jun 2013 23:44:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>When Good API Design is a Waste of Time</title>
		<link>http://www.layer7tech.com/blogs/index.php/when-good-api-design-is-a-waste-of-time/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/when-good-api-design-is-a-waste-of-time/#comments</comments>
		<pubDate>Wed, 19 Jun 2013 23:00:32 +0000</pubDate>
		<dc:creator>Ronnie Mitra</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Academy]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web API]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=3809</guid>
		<description><![CDATA[The idea that good design is essential to building great products and services has become a truism in our industry.  Most of us intuitively understand the idea that expending effort on the design of our code, system architecture and APIs will payoff after implementation.  I&#8217;m certainly a big believer in the power of good design [...]]]></description>
			<content:encoded><![CDATA[<p>The idea that go<a href="http://www.layer7tech.com/blogs/wp-content/uploads/2013/02/to-nowhere.jpg"><img class="alignleft size-medium wp-image-4478" style="margin-right: 20px; margin-bottom: 20px;" title="to-nowhere" src="http://www.layer7tech.com/blogs/wp-content/uploads/2013/02/to-nowhere-300x174.jpg" alt="" width="300" height="174" /></a>od design is essential to building great products and services has become a truism in our industry.  Most of us intuitively understand the idea that expending effort on the design of our code, system architecture and APIs will payoff after implementation.  I&#8217;m certainly a big believer in the power of good design for the API space, but I wanted to explore a situation where a design focus might not be necessary.</p>
<p>Consider the case of a small business offering a cloud-based service product for a niche market.  If this business chose to invest in a well-designed, developer-centric API, at a minimum they could expect:</p>
<ul>
<li>A reduced learning curve for developers consuming the interface</li>
<li>A reduction in troubleshooting time</li>
<li>Increased interest from their developer community</li>
</ul>
<p>For most audiences, these are goals worth achieving.  Indeed, this is why we emphasize good design for APIs in the first place &#8211; the benefits fit remarkably well with the main reasons for embarking on an API strategy: reduced cost and increased adoption.</p>
<p>But, in my conversations with connectivity professionals from larger organizations, it is apparent that not all service vendors see the value in investing in this type of design effort.  Developers and architects are bursting with  tales of forced integration with service providers who have simply thrown an ugly or barely functioning interface on top of  core component.  It is in these scenarios that we hear about laughable attempts at implement whichever API styles and features are in fashion.  &#8217;REST&#8217; and &#8216;security&#8217; become sales-worthy buzzwords that don&#8217;t live up to their promise when developers get their hands on the actual interface when real project work commences.</p>
<p>In the majority of these cases, technical teams have very little say during the procurement process of outsourced and cloud-based services.  In effect, these API providers don&#8217;t need to design for their developer audience because they aren&#8217;t critical to succeeding.  For many years a sound strategy for selling cloud-based products has been to sidestep technical teams and engage directly with the business.  It&#8217;s frustrating that technology teams are often still left with the responsibility for reducing integration costs regardless of the lack of sophistication in the APIs that they are tasked with connecting to.</p>
<p>Thankfully, the wealth of knowledge and connectivity products in the enterprise space allows these teams to reduce the impact of bad design on the overall project and organization.  Components such as <a href="http://www.layer7tech.com/products/api-proxy">API proxies</a> can be used not only to build a facade for APIs that are being exposed, but also to provide abstraction for services that are being consumed.  In essence, the design burden can shift from the service provider, to the enterprise developer who wraps a poorly designed interface in a more consumable, developer-friendly API for the rest of the organization to use.</p>
<p>As a whole, the scenario makes sense.  Well designed products are based in part a designer&#8217;s empathy for their users.  Good design involves perceiving a product from a user&#8217;s view point along with an understanding of the impact that design decisions will have on the user base.  However, an organization that builds an API as an afterthought for developers, who are only viewed as a means to an end, will likely produce a poor API.</p>
<p>Ultimately, building a technology business based on developer apathy is a bad idea.  The industry shift towards API product based integration is empowering technology teams at all levels and services that continue to ignore the needs of their developers will eventually be ousted from the market.  In short, good design is only a waste of time when you don&#8217;t care about your users.  If  in fact you <em>do</em> care about the developers who will be using your API product, then you need to invest in <a href="http://www.apiacademy.co/">designing your API</a> with their point of view in mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/when-good-api-design-is-a-waste-of-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enterprise Mobility &amp; BYOD &#8211; Live Interactive Q&amp;A</title>
		<link>http://www.layer7tech.com/blogs/index.php/enterprise-mobility-byod-live-interactive-qa/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/enterprise-mobility-byod-live-interactive-qa/#comments</comments>
		<pubDate>Fri, 22 Mar 2013 20:00:52 +0000</pubDate>
		<dc:creator>Steven Tait</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[API Security]]></category>
		<category><![CDATA[BYOD]]></category>
		<category><![CDATA[Mobile Access]]></category>
		<category><![CDATA[Tech Talks]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=4076</guid>
		<description><![CDATA[Calling all Enterprise Architects, Application Architects and Senior Developers! For our next API Tech Talk, we&#8217;ll be discussing Enterprise Mobility &#38; BYOD live on March 26 at 9am PST. My special guests will be Layer 7 VP of Client Services Matt McLarty and Product Manager for Mobile Leif Bildoy. The BYOD movement seems to be [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://layer7.com/live" target="_blank"><img class="alignleft size-full wp-image-4092" style="margin: 0px 10px;" title="BYOD Tech Talk" src="http://www.layer7tech.com/blogs/wp-content/uploads/2013/03/BYOD-Tech-Talk-v1.jpg" alt="BYOD Tech Talk" width="300" height="209" /></a>Calling all Enterprise Architects, Application Architects and Senior Developers! For our next API Tech Talk, we&#8217;ll be discussing <em>Enterprise Mobility &amp; BYOD</em> live on <a href="http://s1226.t.en25.com/e/er?s=1226&amp;lid=904&amp;elq=72092973e53d4642af7a835361565981" target="_blank">March 26 at 9am PST</a>. My special guests will be Layer 7 VP of Client Services Matt McLarty and Product Manager for Mobile Leif Bildoy.</p>
<p>The BYOD movement seems to be changing the hardware landscape permanently and it&#8217;s showing no signs of slowing down. Naturally, this presents both opportunities and challenges. Security managers within the enterprise have less control then ever. &#8220;Anywhere access&#8221; has blurred the lines of what used to be called the corporate network perimeter.</p>
<p>So what are CIOs and CTOs specifically worried about with BYOD? Well for one, mobile devices can easily go missing while containing sensitive data and employers often cannot even assess the impact of data security breaches from compromised devices. But locking down employees&#8217; personal devices is generally not an option.</p>
<p>So how can enterprises re-assert control over their data assets while still allowing employees to use their own smartphones as they choose? We&#8217;ll be discussing this and other questions during out live, interactive Q&amp;A. So, be sure to clear your calendar and join in the discussion on <a href="http://s1226.t.en25.com/e/er?s=1226&amp;lid=904&amp;elq=72092973e53d4642af7a835361565981" target="_blank">March 26 at 9am PST</a>.</p>
<p><strong>Here&#8217;s How to Join the Discussion</strong><br />
Make sure you click <a href="http://s1226.t.en25.com/e/er?s=1226&amp;lid=904&amp;elq=72092973e53d4642af7a835361565981" target="_blank">Add to Calendar</a> to get the event details and a reminder in your calendar. Then, on the day of the event, click here to join:</p>
<ul>
<li><a href="http://layer7.com/live" target="_blank">layer7.com/live</a></li>
</ul>
<p>To ask questions, you can:</p>
<ul>
<li>Tweet using the tag <a href="https://twitter.com/intent/tweet?source=webclient&amp;text=Question+for+%40Layer7+tech+talk+http%3A%2F%2Flayer7.com%2Flive+%23layer7live" target="_blank">#Layer7Live</a></li>
<li>Email <a title="Nation Building in the Age of APIs" href="mailto:techtalk@layer7.com" target="_blank">techtalk@layer7.com</a></li>
<li>Post a message on <a href="http://www.facebook.com/Layer7" target="_blank">Facebook</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/enterprise-mobility-byod-live-interactive-qa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nation Building in the Age of APIs</title>
		<link>http://www.layer7tech.com/blogs/index.php/nation-building-in-the-age-of-apis/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/nation-building-in-the-age-of-apis/#comments</comments>
		<pubDate>Sat, 09 Mar 2013 00:27:33 +0000</pubDate>
		<dc:creator>Matt McLarty</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Academy]]></category>
		<category><![CDATA[API Design & Optimization]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[API Security]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=4027</guid>
		<description><![CDATA[I’ve been working with a number of companies lately on their API strategies.  People seem to recognize that having an API is modern day necessity, but they’re not sure how to get started.  Since APIs are viewed as a technical innovations, responsibility for rolling them out is frequently handed to IT groups. Clearly, there is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/blogs/wp-content/uploads/2013/03/nations-blog-Graphic1.jpg"><img class="alignleft size-full wp-image-4042" style="padding-right: 15px;"title="nations-blog-Graphic" src="http://www.layer7tech.com/blogs/wp-content/uploads/2013/03/nations-blog-Graphic1.jpg" alt="" width="300" height="220" /></a>I’ve been working with a number of companies lately on their API strategies.  People seem to recognize that having an API is modern day necessity, but they’re not sure how to get started.  Since APIs are viewed as a technical innovations, responsibility for rolling them out is frequently handed to IT groups.</p>
<p>Clearly, there is business value to be attained by companies who utilize an API, and an accessible web API is a requirement for modern corporations.  For companies looking to launch an API, there is a temptation to focus on the technological aspects of implementation.  Good API design, architecture, and infrastructure are vital to the success of a company’s API, but there are other areas to address first.  I am currently reading the book “<a href="http://whynationsfail.com/">Why Nations Fail</a>”, and recently read “<a href="http://www.amazon.ca/Thinking-Fast-Slow-Daniel-Kahneman/dp/0385676514">Thinking Fast and Slow</a>” by Daniel Kahneman.  Although the former is a geopolitical study whereas the latter focuses on the human mind, both share an identical observation that is the foundation of their arguments: a great amount of economic study is flawed because it fails to account for human behavior and tendencies.  I feel the same way about technology.</p>
<p>Every paradigm shift in technology has been driven by both innovation—the new technology itself—and application—how that technology can be used.  In other words, there is a machine side and a people side to every technology change.  The technologists responsible for implementing these changes often bias towards their comfort zone—the machine side—and overlook the people side.  This has led to frustration for companies who invest significantly in new technology only to miss the intended benefits of the change.  For APIs, the people side of the change is especially important.  In fact, the social nature of the API world means there are even more groups of people to consider.  Ultimately, the success of a company’s API will depend on the creation of a diverse community for that API—end users, partners, developers, and more—as well as the adoption of a business model that allows the API to contribute to the company’s bottom line.  Taking the community and the economics together, this means you will need to build a nation for your API.</p>
<p>Some of the biggest companies on the web have taken this approach with their APIs, and I recently explored some of their winning tactics in this <a href="http://venturebeat.com/2013/03/08/5-lessons-from-api-giants-like-twitter-and-google/">VentureBeat article</a>.  Please have a read and let me know your thoughts, and perhaps your own API lessons</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/nation-building-in-the-age-of-apis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compromised Twitter OAuth Keys</title>
		<link>http://www.layer7tech.com/blogs/index.php/compromised-twitter-oauth-keys-2/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/compromised-twitter-oauth-keys-2/#comments</comments>
		<pubDate>Fri, 08 Mar 2013 19:52:35 +0000</pubDate>
		<dc:creator>Francois Lascelles</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[OAuth 2.0 with Layer 7 Gateways]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web API]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=4001</guid>
		<description><![CDATA[So Twitter’s OAuth keys have leaked. What does that mean? Don’t panic. The consequences of a client application’s key being compromised is as serious as user credentials being compromised. The risk associated with this breach is that a malicious application tricking you into participating in an OAuth handshake (phishing) could access the twitter API on [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/blogs/wp-content/uploads/2013/03/twitter-blog.jpg"><img class="alignleft size-full wp-image-4014" style="padding-right:15px; " title="twitter-blog" src="http://www.layer7tech.com/blogs/wp-content/uploads/2013/03/twitter-blog.jpg" alt="oauth twitter hack" width="264" height="193" /></a>So Twitter’s OAuth keys have <a href="http://threatpost.com/en_us/blogs/twitter-oauth-api-keys-leaked-030713">leaked</a>.</p>
<p>What does that mean? Don’t panic. The consequences of a client application’s key being compromised is as serious as user credentials being compromised.</p>
<p>The risk associated with this breach is that a malicious application tricking you into participating in an OAuth handshake (phishing) could access the twitter API on your behalf.</p>
<p>Attackers might come up with clever ways to exploit this leak. In the meantime, avoid using twitter through any application other than the twitter application itself.</p>
<p>OAuth distinguishes between confidential and public clients.</p>
<p>Applications that you can publicly download on your own device (mobile or not) fall in the public category because they are subject to their embedded secret being reverse engineered as probably happened in this case. This incident is a good illustration of the fact that client secrets should not form the basis of a secure session in public clients like mobile applications because, well, those secrets are easily discovered.</p>
<p>Twitter may create new keys for their application and look for ways to better obfuscate them but it’s only a matter of time before these new secrets are also compromised.</p>
<p>As I discussed at Cloud Security Alliance and in our last <a href="http://www.youtube.com/watch?v=-gAIaTvxA9M&amp;list=UUaOIRuPgP5KS7J0t0707AeA&amp;index=1">Tech Talk</a>, authentication involving redirection between applications on mobile device has its risks.</p>
<p>There are ways to completely secure this between applications of a same domain but solving this across 3rd party mobile apps, in a fool-proof way requires either something like a multi-factor authentication or the provisioning of client secrets post-application download which is often not practical.</p>
<p>Either way, API and application providers would do well not relying on pseudo-secrets embedded in publicly available applications as the basis of any security.</p>
<p>In the case of client applications issued by the same provider as the API they consume (e.g. the official twitter app), the password grant type make a lot more sense to me and provides a better UX.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/compromised-twitter-oauth-keys-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Considerations for Private APIs</title>
		<link>http://www.layer7tech.com/blogs/index.php/considerations-for-private-apis/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/considerations-for-private-apis/#comments</comments>
		<pubDate>Fri, 25 Jan 2013 17:00:56 +0000</pubDate>
		<dc:creator>Ronnie Mitra</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[API Security]]></category>
		<category><![CDATA[Web API]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=3760</guid>
		<description><![CDATA[In the past, we&#8217;ve talked about the nature of private APIs (those interfaces that are built primarily to serve an organization&#8217;s own projects rather than to fulfill the needs of others).  But what are the specific challenges and architectural decisions that need to be made when implementing a private API? First and foremost, an API [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/library/product-data-sheets/layer-7-api-management-suite/2233" target="_blank"><img class="alignleft size-full wp-image-3769" style="margin: 10px;" title="Considerations for Private APIs" src="http://www.layer7tech.com/blogs/wp-content/uploads/2013/01/Considerations-for-Private-APIs-v1.jpg" alt="Considerations for Private APIs" width="300" height="210" /></a>In the past, we&#8217;ve talked about the<a href="http://www.layer7tech.com/blogs/index.php/behind-closed-doors-the-world-of-private-apis/" target="_blank"> nature of private APIs</a> (those interfaces that are built primarily to serve an organization&#8217;s own projects rather than to fulfill the needs of others).  But what are the specific challenges and architectural decisions that need to be made when implementing a private API?</p>
<p>First and foremost, an API can&#8217;t be considered private if it is open for widespread public use, right?  A simple way of keeping an API private is to host the interface on a public network without explicitly advertising or documenting its existence.  This can work well initially but may lead to problems in the future. If your service is valuable enough that others want to get their hands on it, even an undocumented, unsupported, private API can easily end up becoming a depended-upon API for application developers, resulting in an outcry when the API publisher has the audacity to modify or<a href="https://www.google.co.uk/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;cad=rja&amp;ved=0CDgQFjAA&amp;url=http%3A%2F%2Fthenextweb.com%2Fgoogle%2F2012%2F08%2F28%2Fdid-google-just-quietly-kill-private-weather-api%2F&amp;ei=hln9UOHJBIXJ0QWE7YDoDA&amp;usg=AFQjCNFMttxzfiqpeuwYLObBaQtFlr9Tnw&amp;sig2=I9BqqALuh5NwWCFuUc4n0w&amp;bvm=bv.41248874,d.d2k" target="_blank"> retire its own service</a>.</p>
<p>A better approach is to provide access control at run-time and restrict usage of your API to a few known parties. There are a great number of methods for protecting access to internal resources but the best ones are those that achieve a balance between ease of implementation and resistance to infiltration. Security at all costs can greatly increase the complexity of an interface and – in turn – the time required to complete the projects that depend on it. Instead, we need to implement access control that is practical. Thankfully, security protocols like SSL, HTTP Basic authentication and <a href="http://www.layer7tech.com/blogs/index.php/tag/oauth-2-0-with-layer-7-gateways/" target="_blank">OAuth 2</a> are great for providing the basic level of access control needed to make it difficult for outsiders to use a private API. Bear in mind that there is <a href="http://www.layer7tech.com/tutorials/api-security-tutorials" target="_blank">much more</a> to API security than simply validating identity but this is the minimum level needed to ensure a degree of privacy.</p>
<p>Although a private API&#8217;s developers are generally known to the publisher, the best private APIs utilize <a href="http://www.layer7tech.com/library/product-data-sheets/layer-7-api-portal/1877" target="_blank">API portal</a> components to provide self-service registrations and integration to their private developer communities. This can greatly reduce the friction involved in getting API integration-based projects started and reduce the overall project costs for B2B and mobile-based initiatives. In fact, many of the lessons of simplified design, documentation and administration learned from the public API world can be directly applied to private API management. While the ultimate goal may be different (driving efficient API usage for private APIs rather than far-reaching adoption of open APIs), the ways of getting there are largely the same.</p>
<p>A unique characteristic of private APIs is the need to manage groups of developers. Unlike the public API space, private API publishers will often define out of band contract terms before offering up a quick self-service integration mechanism for that team. This type of group-based role definition is particularly common in integration projects that occur between organizations and can stretch the limits of API portal software that has been built primarily for open API use. Ideally, an API portal should at least be capable of managing developers within groups, communities or organizational affiliations as part of the self-service registration process. Even better, the portal could  provide capabilities for managing whole communities as separate domains within the same infrastructure.</p>
<p>Designing a private API certainly requires a different perspective but the good news is that much of the knowledge around public API design can be directly applied to interfaces you want to keep secret. Of course, building the management and security capabilities required to expose the API to your trusted parties can be daunting but that is why <a href="http://www.layer7tech.com/library/product-data-sheets/layer-7-api-management-suite/2233" target="_blank">a great API management portal and gateway combination</a> can save the day.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/considerations-for-private-apis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>API Design Tutorial: Pagination</title>
		<link>http://www.layer7tech.com/blogs/index.php/api-design-tutorial-pagination/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/api-design-tutorial-pagination/#comments</comments>
		<pubDate>Wed, 19 Dec 2012 17:00:43 +0000</pubDate>
		<dc:creator>Ronnie Mitra</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Academy]]></category>
		<category><![CDATA[API Design & Optimization]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web API]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=3510</guid>
		<description><![CDATA[At the Layer 7 API Academy, we&#8217;ve had a few requests from API designers who are seeking strategies for handling large amounts of data in API responses.  Pagination is the most common method for addressing this scenario. Pagination, which is very common on the Web, allows API architects to conserve resources, improve response times and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/library/videos/api-academy-use-pagination-in-web-api-design/2821" target="_blank"><img class="alignleft size-full wp-image-3609" style="margin: 0px 10px;" title="Layer 7 Pagination Tutorial" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/12/Layer-7-Pagination-Tutorial-v2.jpg" alt="Layer 7 Pagination Tutorial" width="300" height="245" /></a></p>
<p>At <a href="http://forms.layer7tech.com/api-academy2?source=L7blog" target="_blank">the Layer 7 API Academy</a>, we&#8217;ve had a few requests from API designers who are seeking strategies for handling large amounts of data in API responses.  Pagination is the most common method for addressing this scenario. Pagination, which is very common on the Web, allows API architects to conserve resources, improve response times and optimize the user experience. It&#8217;s a way of splitting up data into &#8220;pages&#8221; and is used in just about any API that returns collections of data.</p>
<p>I&#8217;ve released a short video tutorial titled <strong><a href="http://www.layer7tech.com/library/videos/api-academy-use-pagination-in-web-api-design/2821" target="_blank">Use Pagination in Web API Design</a></strong> to introduce the ins and outs of the interface. This video provides a crash course explaining pagination and outlining how to use it effectively in the design of Web APIs. I couldn&#8217;t fit all the implementation considerations I wanted in this six-minute tutorial, so watch out for a follow-up video on the subject.</p>
<p><iframe width="576" height="324" src="http://www.youtube.com/embed/n8K8nHkYwdQ?wmode=transparent" frameborder="0" allowFullScreen> </iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/api-design-tutorial-pagination/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>API Design Tutorial: The Interaction Model</title>
		<link>http://www.layer7tech.com/blogs/index.php/api-design-tutorial-the-interaction-model/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/api-design-tutorial-the-interaction-model/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 22:00:06 +0000</pubDate>
		<dc:creator>Ronnie Mitra</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Academy]]></category>
		<category><![CDATA[API Design & Optimization]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[Web API]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=3425</guid>
		<description><![CDATA[API design can be daunting. With so many decisions to make and so many differing opinions available on interface design, it&#8217;s easy to feel frustrated by the process.  Even worse, it&#8217;s possible to follow bad advice and end up designing an API that developers hate using. That&#8217;s why we at the API Academy stress the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youtube.com/watch?v=vINyz_lWzCQ" target="_blank"><img class="alignleft size-full wp-image-3525" style="margin: 0px 10px; border: 1px solid grey;" title="API  Academy - The Interaction Model" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/12/API-Academy-Interaction-Model-v2.jpg" alt="API  Academy - The Interaction Model" width="300" height="175" /></a>API design can be daunting. With so many decisions to make and so many differing opinions available on interface design, it&#8217;s easy to feel frustrated by the process.  Even worse, it&#8217;s possible to follow bad advice and end up designing an API that developers hate using.</p>
<p>That&#8217;s why we at the <a href="http://www.layer7tech.com/services/layer-7-api-academy" target="_blank">API Academy</a> stress the importance of making rational decisions rather than irrationally selecting design patterns based on emotion or trends.  We want you to <em>choose</em> your design elements rather than <em>picking</em> them from the latest set of formats or technologies that you&#8217;ve heard about.</p>
<p>And that&#8217;s why we&#8217;re working on a series of tutorial videos, as my colleague Mike Amundsen <a href="http://www.layer7tech.com/blogs/index.php/our-first-api-academy-videos/" target="_blank">recently announced</a>. The first of these videos, titled <a href="http://www.youtube.com/watch?v=vINyz_lWzCQ" target="_blank">The API Interaction Model &#8211; An Introduction</a>, provides an overview of  a design process that will help you consider your user&#8217;s perspective in order to make effective design choices later. The ideas I discuss in this video are rooted in user-centered design processes that have been very effective in the software and product design worlds.</p>
<p>If you&#8217;re currently designing an API, invest five minutes and watch the video.  It should be time well spent.</p>
<p><iframe width="576" height="324" src="http://www.youtube.com/embed/vINyz_lWzCQ?wmode=transparent" frameborder="0" allowFullScreen> </iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/api-design-tutorial-the-interaction-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Behind Closed Doors: The World of Private APIs</title>
		<link>http://www.layer7tech.com/blogs/index.php/behind-closed-doors-the-world-of-private-apis/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/behind-closed-doors-the-world-of-private-apis/#comments</comments>
		<pubDate>Tue, 20 Nov 2012 17:00:41 +0000</pubDate>
		<dc:creator>Ronnie Mitra</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Academy]]></category>
		<category><![CDATA[API Design & Optimization]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[Web API]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=3310</guid>
		<description><![CDATA[Attend any Web API presentation and you are likely to see a graph like this one, demonstrating the growth of  publicly-available Web APIs. Speakers (including me) love using these graphs for good reason: they succinctly capture the explosive growth of APIs that has taken place over the last two years. It&#8217;s a great story but it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/products/api-management-overview" target="_blank"><img class="alignleft size-full wp-image-3346" style="margin: 0px 10px;" title="Private APIs" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/11/Behind-Closed-Doors-v1.jpg" alt="Private APIs" width="300" height="210" /></a>Attend any Web API presentation and you are likely to see a graph like <a href="http://blog.programmableweb.com/wp-content/7k-growth.png" target="_blank">this one</a>, demonstrating the growth of  publicly-available Web APIs. Speakers (including me) love using these graphs for good reason: they succinctly capture the explosive growth of APIs that has taken place over the last two years.</p>
<p>It&#8217;s a great story but it&#8217;s really only half the story. Web API experts regularly acknowledge the existence of a &#8220;private&#8221; or &#8220;closed&#8221; API market. In fact, many of us believe that if the number of private APIs in use could be cataloged it would dwarf the 7,000 or so APIs that are published on the <a href="http://www.programmableweb.com/" target="_blank">ProgrammableWeb</a> site.</p>
<p>As with many of the terms in the API world, there isn&#8217;t a concrete definition of  &#8220;private API&#8221;. In general, a private API has these characteristics:</p>
<ol>
<li>It provides a language-independent interface that is made available via Web protocols.</li>
<li>It&#8217;s access is limited to a specific set of known developers or organizations.</li>
<li>It is not marketed to the general public nor is its documentation made publicly available.</li>
</ol>
<p>Further to this, we can divide private APIs into three major buckets:</p>
<ol>
<li>Internal APIs that exist within the organization&#8217;s borders (for example, SOAP-based interfaces within an internal Service Oriented Architecture).</li>
<li>Business-to-business (B2B) APIs that enable organizations to integrate with external companies.</li>
<li>Backend APIs that drive mobile, Web and device-based applications.</li>
</ol>
<p>With this definition we can see that there are a great many integrations that must already exist. Enterprises have been building SOAP and B2B-based connectivity for years and have accumulated healthy inventories of private APIs.</p>
<p>In addition, the headlong rush towards the world of mobile is driving the creation of new externally-facing APIs to help corporations reach their customers. As I&#8217;ve talked about <a href="http://www.layer7tech.com/blogs/index.php/are-open-apis-too-open-for-big-business/" target="_blank">before</a>, many organizations wish to retain control over the development of these applications and they can do this with private APIs.</p>
<p>If IT teams have been building these types of in-house connectivity solutions for so many years, there shouldn&#8217;t be much room left for innovation or improvement, right?</p>
<p>Not quite. Unlike those who build private APIs, public API designers are motivated by the need for their interfaces to be chosen out of the mass of APIs that are available to their prospective users.  This difference in motivation has created a massive impact on how public APIs are designed and managed. Architects responsible for private APIs have a great opportunity to learn from the public API world by adopting design strategies devised to drive adoption, in a controlled manner.</p>
<p>A good reason to take a developer-centered approach to private API design is the development cost associated with building applications that utilize the interface.  A well-designed private API can reduce the project costs for application development as well as for maintenance and upkeep of the integration.  Good design isn&#8217;t easy but it pays off &#8211; even when the audience is limited.</p>
<p>Many enterprises are implementing a &#8220;private for now and public later&#8221; API strategy.  It is a great idea but that doesn&#8217;t mean architects shouldn&#8217;t strive to incorporate great API design and a solid management solution.</p>
<p>In my next post, I&#8217;ll dive into private APIs in more detail and talk about some of the specific challenges that arise when building closed interfaces and how these challenges can be addressed with management solutions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/behind-closed-doors-the-world-of-private-apis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opening up Enterprise APIs</title>
		<link>http://www.layer7tech.com/blogs/index.php/opening-up-enterprise-apis/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/opening-up-enterprise-apis/#comments</comments>
		<pubDate>Fri, 02 Nov 2012 21:00:58 +0000</pubDate>
		<dc:creator>Ronnie Mitra</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[APIfy]]></category>
		<category><![CDATA[Gartner]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=3268</guid>
		<description><![CDATA[A few months back, I wrote a blog post titled &#8220;Are Open APIs Too Open for Big Business?&#8221; That post was about the challenges large businesses face when adopting an open API mentality. In it, I described the fears of brand damage and lack of control that prevent enterprises from opening up their data stores [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.apify.co/" target="_blank"><img class="alignleft size-full wp-image-720" style="width: 300px; height: 196px; margin: 10px; float: left;" src="http://www.apify.co/wp-content/uploads/2012/11/Enterprise-APIs-v1.jpg" alt="Enterprise APIs" /></a>A few months back, I wrote a blog post titled &#8220;<a href="http://www.layer7tech.com/blogs/index.php/are-open-apis-too-open-for-big-business/" target="_blank">Are Open APIs Too Open for Big Business?</a>&#8221; That post was about the challenges large businesses face when adopting an open API mentality. In it, I described the fears of brand damage and lack of control that prevent enterprises from opening up their data stores and services to the world. I also reasoned that large organizations could provide a new type of stable, trusted and highly-available API in the marketplace. Not a lot has changed over the last three months &#8211; big businesses are still absorbing the idea of open APIs and are continuing to weigh accessibility against control before taking the plunge. As before, the good news is that their reservations around control are being addressed with solutions like <a href="http://www.layer7tech.com/library/product-data-sheets/layer-7-api-management-suite/2233&amp;source=l7blog" target="_blank">Layer 7&#8242;s API Management Suite</a>, which lets them create a developer experience that will bring in the hordes while still keeping the gates secure.</p>
<p>The reality is that many enterprises are already taking advantage of the API wave by using open API tools and philosophies to create and mange private APIs that, in turn, power their branded mobile and browser applications. This is a good thing as it allows businesses to reach their customers and to integrate easily with smaller mobile and device development shops. Plus, it fits well with a corporate culture of control. But organizations are missing a trick if they don&#8217;t consciously explore the benefits of opening these APIs up and joining the world of platforms, developers and communities that rely on open APIs to power their applications and projects.</p>
<p>These are big decisions with big consequences. The success of an enterprise open API program will likely be dependent on those at the very top of the organization providing the necessary leadership and investment required for big change to happen. That takes time. In the meantime, the projects won&#8217;t stop, the need for B2B integration will continue and the consumer demand for applications on every device will grow louder and louder. In this climate, there is an immediate need for enterprises to release APIs (be they private or public) as quickly and efficiently as possible while still addressing concerns over control.</p>
<p>Layer 7&#8242;s new <a href="http://www.apify.co/" target="_blank">APIfy</a> service fits perfectly in this space as it allows small teams within the enterprise to get their private or public APIs out the door with a cloud-based API Management solution. They will get all the benefits of rate limiting, controlled access and the developer-friendly portal experience that are the hallmarks of a real Web API, in a SaaS platform. The fact that it is cloud-based means that smaller groups will be able to focus on delivering the solution without diving deep into hosting and implementation details.</p>
<p>Amidst all the decision making, strategizing and private API launches, the steady drum beat of progress towards open APIs in the enterprise has not stopped. The idea that information and services need to be shared in order to be valuable is taking root amongst thought leaders in the mainstream technology world and is, in turn, being heard within the enterprise. For example, Gartner has just published a research <a href="http://www.gartner.com/it/page.jsp?id=2217415" target="_blank">article</a> claiming that financial institutions should be investing in APIs rather than applications (with API Management technology addressing the issues around control). Just as online banking started with private connections before it eventually landed on the public Web, the big banks could shift from private API adoption to public API adoption very quickly if the market demanded it. When banks open up their services for controlled consumption, there will be little doubt that the open API era has arrived for the enterprise.</p>
<p>It hasn&#8217;t gotten any easier to become an open API enterprise over the last three months but it certainly isn&#8217;t becoming less important. Hopefully, continued improvements in API Management technology will make that shift just a little bit easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/opening-up-enterprise-apis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improving the API Developer Experience</title>
		<link>http://www.layer7tech.com/blogs/index.php/improving-the-api-developer-experience/</link>
		<comments>http://www.layer7tech.com/blogs/index.php/improving-the-api-developer-experience/#comments</comments>
		<pubDate>Wed, 24 Oct 2012 21:00:33 +0000</pubDate>
		<dc:creator>Ronnie Mitra</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[API Academy]]></category>
		<category><![CDATA[API Design & Optimization]]></category>
		<category><![CDATA[API Management]]></category>
		<category><![CDATA[Developers & Development]]></category>
		<category><![CDATA[Web API]]></category>

		<guid isPermaLink="false">http://www.layer7tech.com/blogs/?p=3233</guid>
		<description><![CDATA[Sometimes design concepts are obvious. We know they are implicitly understood and don&#8217;t require drawn-out explanations. But sometimes these implicitly-understood concepts aren&#8217;t executed in real life because they haven&#8217;t been explicitly defined. I&#8217;ve come to the realization that designing APIs with the developer in mind is one of those ideas that often has an audience [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.layer7tech.com/services/layer-7-api-academy&amp;source=l7blog" target="_blank"><img class="alignleft size-full wp-image-3240" style="margin: 10px;" title="Developer Experience" src="http://www.layer7tech.com/blogs/wp-content/uploads/2012/10/Developer-Experience-v1.jpg" alt="Developer Experience" width="300" height="193" /></a>Sometimes design concepts are obvious. We know they are implicitly understood and don&#8217;t require drawn-out explanations. But sometimes these implicitly-understood concepts aren&#8217;t executed in real life because they haven&#8217;t been explicitly defined. I&#8217;ve come to the realization that <a href="http://www.layer7tech.com/services/layer-7-api-academy&amp;source=l7blog" target="_blank">designing APIs</a> with the developer in mind is one of those ideas that often has an audience nodding their heads but which only a few take to heart and apply to their API architectures.</p>
<p>We in the API design world have a great opportunity to learn from our brethren in the product design world. The user-centered design approach for products has paid great dividends for those who can understand and apply the idea to their interfaces. The goal is almost stupid in simplicity &#8211; design products that your users will enjoy. But, as always, the challenge is in translating a simple concept into real strategies, methodologies and practices that do not lose that fundamental goal while staying applicable to unique marketplaces.</p>
<p>In our world of API design, most of us understand that machine-to-machine integration still involves a human &#8211; the developer who develops the client code. That developer &#8211; the one who makes or breaks us by deciding to use an API &#8211; is our user. While product designers talk about improving user experience, we talk about improving the developer experience.</p>
<p>But how does this actually happen? What do we specifically need to do in order to create APIs that are enjoyable to use? Indeed, what does enjoyable even mean in this context? This developer/API publisher relationship is a unique one and the product-based, user-centered design and human/computer interaction models cannot just be airlifted in. They need to be massaged and transformed so they are applicable to the Web API world, without losing the potential value inherent in a user-focused design.</p>
<p>I hope to explore these ideas over the coming months and come up with recommendations for how we can build API solutions that deliver on the promise of improved developer experience (or DX). I&#8217;ll dive deeper into the world of user-centered design and discuss methods for translating these concepts from the world of product design into our <a href="http://www.layer7tech.com/services/layer-7-api-academy&amp;source=l7blog" target="_blank">API design</a> domain.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.layer7tech.com/blogs/index.php/improving-the-api-developer-experience/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
