


<?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>Vordel Resources</title>
	<atom:link href="http://resources.vordel.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://resources.vordel.com</link>
	<description>Vordel Resources</description>
	<lastBuildDate>Mon, 14 May 2012 21:56:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Application Gateway Buyer RFP Template</title>
		<link>http://resources.vordel.com/index.php/application-gateway-buyer-rfp-template/</link>
		<comments>http://resources.vordel.com/index.php/application-gateway-buyer-rfp-template/#comments</comments>
		<pubDate>Wed, 02 May 2012 22:42:43 +0000</pubDate>
		<dc:creator>Hugh</dc:creator>
				<category><![CDATA[Gateway 101]]></category>
		<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[buyer's guide]]></category>
		<category><![CDATA[Pricing]]></category>
		<category><![CDATA[RFP Template]]></category>
		<category><![CDATA[Vordel Application Gateway]]></category>

		<guid isPermaLink="false">http://resources.vordel.com/?p=1424</guid>
		<description><![CDATA[To view this document please]]></description>
			<content:encoded><![CDATA[<p>To view this document please <a href=http://resources.vordel.com/index.php/login/?action=register><img src=http://www.vordel.com/images/icon/log_in.gif border=0></a>
<div id=login_overlay_container></div>
<div id=login_overlay align=center><iframe src=http://resources.vordel.com/stand_alone_login.html width=700 height=450  style=border:medium none;width:300px;height:180px bgcolor=#ffffff allowtransparency=true frameborder=0></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://resources.vordel.com/index.php/application-gateway-buyer-rfp-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Insecure API Implementations Threaten Cloud</title>
		<link>http://resources.vordel.com/index.php/insecure-api-implementations-threaten-cloud/</link>
		<comments>http://resources.vordel.com/index.php/insecure-api-implementations-threaten-cloud/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 16:31:46 +0000</pubDate>
		<dc:creator>david.murphy@vordel.com</dc:creator>
				<category><![CDATA[API Management]]></category>
		<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[API Key]]></category>
		<category><![CDATA[API Keys]]></category>
		<category><![CDATA[API security]]></category>

		<guid isPermaLink="false">http://resources.vordel.com/?p=1390</guid>
		<description><![CDATA[Orginaly published on http://www.darkreading.com/cloud-security/167901092/security/application-security/232900809/insecure-api-implementations-threaten-cloud.html, April 23rd 2012, by Rob Lemos Insecure API Implementations Threaten Cloud Web and cloud services allow third-party access by exposing application programming interfaces, but many developers and customers do not adequately secure the keys to the cloud &#8230; <a href="http://resources.vordel.com/index.php/insecure-api-implementations-threaten-cloud/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Orginaly published on <a href="http://www.darkreading.com/cloud-security/167901092/security/application-security/232900809/insecure-api-implementations-threaten-cloud.html">http://www.darkreading.com/cloud-security/167901092/security/application-security/232900809/insecure-api-implementations-threaten-cloud.html</a>, April 23rd 2012, by Rob Lemos</p>
<p><strong>Insecure API Implementations Threaten Cloud</strong></p>
<p>Web and cloud services allow third-party access by exposing application programming interfaces, but many developers and customers do not adequately secure the keys to the cloud and their data, experts say</p>
<p>Dark Reading<br />
Attackers over the past three years have begun to actively target the digital keys used to secure the Internet infrastructure. Stuxnet&#8217;s creators stole code-signing keys and then used them to allow the malware to more easily evade host-based security. An alleged Iranian hacker broke into a partner of registry Comodo and bought Secure Sockets Layer (SSL) keys for major domains to eavesdrop on activists. And unknown attackers stole important information on RSA&#8217;s SecureID token, a device that generates one-time keys to strengthen online security.</p>
<p>The unique codes that applications in the cloud use to identify one another could be next, security experts say.</p>
<p>So-called API keys are used by Web and cloud services to identify third-party applications using the services. If service providers are not careful, an attacker with access to the key can cause a denial-of-service or rack up fees on behalf of the victim.</p>
<p>&#8220;It was created as a fairly nonauthoritative identifier &#8212; it was only there to identify applications or the application&#8217;s use of an API,&#8221; says K. Scott Morrison, chief technology officer of Layer7 Technologies, a provider of Web security and governance products. &#8220;The problem is that developers have started using API keys for stuff that matters.&#8221;</p>
<p>The problem is not any inherent weakness in the keys, but that developers use them for security when they ought not, he says. In many implementations, the keys are used to identify users, even though the technology was not meant as a way to authorize access to data. And after expanding the power of the keys, developers do not treat them as critical assets. Instead, companies fail to keep track of the keys, e-mailing them around and storing them on desktop hard drives.</p>
<p>&#8220;They shouldn&#8217;t be used for anything that matters, but people do. And when they do, they don&#8217;t take it as far as they need to,&#8221; Morrison says. &#8220;It&#8217;s kind of the worst of both worlds.&#8221;</p>
<p>During a presentation at the RSA Security Conference earlier this year, Morrison stressed the danger in the misuse and mishandling of API keys. The warning was repeated at the recent SOURCE Boston conference by application gateway maker Vordel. An improper implementation that allows simple access to an API via use of a secret key can allow attackers to have unmitigated access if the key can be sniffed out or stolen from an authorized user&#8217;s computer, said Jeremy Westerman, Vordel&#8217;s director of product management, at the conference.</p>
<p>&#8220;There is a need to protect these cloud API keys,&#8221; Westerman said. &#8220;There is a lot of awareness in the industry about protecting, say, SSL keys &#8230; Unfortunately, protecting API keys has not reached that level of awareness.&#8221;</p>
<p>Cloud and Web service developers must first follow best practices in opening up their APIs to third parties. In return, third-party developers need to handle the keys in a secure manner and not, for example, encode a nonobfuscated key into an application.</p>
<p>[Microsoft Research report shows how risky single sign-on can be without solid integration and better support from Web service providers like Google and Facebook. See <a href="http://www.darkreading.com/authentication/167901072/security/news/232602844/web-services-single-sign-on-contain-big-flaws.html?itc=edit_in_body_cross" target="_blank">Web Services Single Sign-On Contain Big Flaws</a>.]</p>
<p>Communicating best practices can go a long way to fixing the issues, says Mark O&#8217;Neill, Vordel&#8217;s chief technology officer.</p>
<p>&#8220;The SaaS [software-as-a-service] providers expect you to protect these keys, but they don&#8217;t tell you how to protect the keys,&#8221; O&#8217;Neill says.</p>
<p>Companies that have API keys should treat them as valued assets, he says. The keys should be handled in much the same way as code-signing keys and other encryption material.</p>
<p>API keys were first used by Google, Yahoo, and other early pioneers of Web services. However, as the model moved from standalone sites to Web 2.0 mashups and the companies exposed their services for use by other websites, the weaknesses of API keys quickly became evident. Companies began to implement different schemes for application and user authentication, including OAuth, the Security Assertion Markup Language (SAML), and hashed-based authentication codes (HMACs).</p>
<p>The stronger authentication methods should be used for securing sensitive data, and each token should have a reasonable expiration time. In addition, because secret keys are occasionally exchanged, communications should always be over SSL, says Gregory Brail, vice president of technology for Web technology and services firm Apigee.</p>
<p>&#8220;The developer needs to understand the limitations and understand the best practices around implementing API keys,&#8221; he says.</p>
<p>Developers should still use API keys, Brail says. They should just use them for their proper function and use other tools as the situation demands.</p>
<p>&#8220;I&#8217;m not saying that there is nothing that can go wrong here; I&#8217;m saying that this is not a reason to throw away your API keys,&#8221; Brail says. &#8220;They are an important part of your whole security system.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://resources.vordel.com/index.php/insecure-api-implementations-threaten-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calling REST API from an Android App</title>
		<link>http://resources.vordel.com/index.php/calling-rest-api-from-an-android-app/</link>
		<comments>http://resources.vordel.com/index.php/calling-rest-api-from-an-android-app/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 09:53:12 +0000</pubDate>
		<dc:creator>david.murphy@vordel.com</dc:creator>
				<category><![CDATA[API Management]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[API Gateway]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[REST API]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[Vordel API Gateway]]></category>

		<guid isPermaLink="false">http://resources.vordel.com/?p=1367</guid>
		<description><![CDATA[Originally posted on http://www.soatothecloud.com/2012/04/calling-rest-api-from-android-app-then.html, on Tuesday April 24th 2012, by Mark O’Neill, CTO at Vordel A popular usage of the Vordel Gateway is to take a legacy SOAP service, and deploy it as a REST API for consumption by mobile &#8230; <a href="http://resources.vordel.com/index.php/calling-rest-api-from-an-android-app/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Originally posted on <a href="http://www.soatothecloud.com/2012/04/calling-rest-api-from-android-app-then.html">http://www.soatothecloud.com/2012/04/calling-rest-api-from-android-app-then.html</a>, on Tuesday April 24th 2012, by Mark O’Neill, CTO at Vordel</p>
<p>A popular usage of the Vordel Gateway is to take a legacy SOAP service, and deploy it as a REST API for consumption by mobile apps. Mobile apps can consume REST APIs, but you are unlikely to call a SOAP service from a mobile app. REST-to-SOAP conversion is very simple to achieve using a Gateway, because the Gateway can expose REST APIs which map to SOAP services, dynamically creating the SOAP request based on the REST API call.</p>
<p>In the video below, you can see an Android app running in the Android emulator, which is calling a REST API on the Vordel Gateway. At the Gateway, you can see the REST API request is being dynamically converted to SOAP. All without writing any code <img src='http://resources.vordel.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p>When you zoom in, you can see the steps which convert the REST API to the legacy SOAP service call:</p>
<p><iframe src="http://player.vimeo.com/video/40999215?title=0&amp;byline=0&amp;portrait=0" width="760" height="570" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><a href="http://resources.vordel.com/wp-content/uploads/2012/04/Screenshot-Gateway-SOA2Cloud.png"><img class="alignleft size-full wp-image-1368" title="Screenshot-Gateway-SOA2Cloud" src="http://resources.vordel.com/wp-content/uploads/2012/04/Screenshot-Gateway-SOA2Cloud.png" alt="Calling REST API from an Android App" width="320" height="238" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://resources.vordel.com/index.php/calling-rest-api-from-an-android-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enterprise API Management</title>
		<link>http://resources.vordel.com/index.php/enterprise-api-management/</link>
		<comments>http://resources.vordel.com/index.php/enterprise-api-management/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 09:49:05 +0000</pubDate>
		<dc:creator>david.murphy@vordel.com</dc:creator>
				<category><![CDATA[API Management]]></category>
		<category><![CDATA[Datasheets]]></category>
		<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[API Gateway]]></category>
		<category><![CDATA[API Governance]]></category>
		<category><![CDATA[API Performance]]></category>
		<category><![CDATA[API security]]></category>
		<category><![CDATA[Vordel API Gateway]]></category>
		<category><![CDATA[Vordel Gateway]]></category>

		<guid isPermaLink="false">http://resources.vordel.com/?p=1338</guid>
		<description><![CDATA[To view this document please]]></description>
			<content:encoded><![CDATA[<p>To view this document please <a href=http://resources.vordel.com/index.php/login/?action=register><img src=http://www.vordel.com/images/icon/log_in.gif border=0></a>
<div id=login_overlay_container></div>
<div id=login_overlay align=center><iframe src=http://resources.vordel.com/stand_alone_login.html width=700 height=450  style=border:medium none;width:300px;height:180px bgcolor=#ffffff allowtransparency=true frameborder=0></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://resources.vordel.com/index.php/enterprise-api-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint Access Management</title>
		<link>http://resources.vordel.com/index.php/sharepoint-access-management/</link>
		<comments>http://resources.vordel.com/index.php/sharepoint-access-management/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 13:47:59 +0000</pubDate>
		<dc:creator>david.murphy@vordel.com</dc:creator>
				<category><![CDATA[Datasheets]]></category>
		<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[SharePoint Gateway]]></category>
		<category><![CDATA[Vordel]]></category>
		<category><![CDATA[Vordel API Gateway]]></category>

		<guid isPermaLink="false">http://resources.vordel.com/?p=1327</guid>
		<description><![CDATA[To view this document please]]></description>
			<content:encoded><![CDATA[<p>To view this document please <a href=http://resources.vordel.com/index.php/login/?action=register><img src=http://www.vordel.com/images/icon/log_in.gif border=0></a>
<div id=login_overlay_container></div>
<div id=login_overlay align=center><iframe src=http://resources.vordel.com/stand_alone_login.html width=700 height=450  style=border:medium none;width:300px;height:180px bgcolor=#ffffff allowtransparency=true frameborder=0></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://resources.vordel.com/index.php/sharepoint-access-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mashing Up SalesForce API</title>
		<link>http://resources.vordel.com/index.php/mashing-up-salesforce-api/</link>
		<comments>http://resources.vordel.com/index.php/mashing-up-salesforce-api/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 11:28:43 +0000</pubDate>
		<dc:creator>david.murphy@vordel.com</dc:creator>
				<category><![CDATA[API Management]]></category>
		<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[SalesForce]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[SalesForce API]]></category>
		<category><![CDATA[Vordel]]></category>
		<category><![CDATA[Vordel API Gateway]]></category>
		<category><![CDATA[Vordel Application Gateway]]></category>
		<category><![CDATA[Vordel Gateway]]></category>

		<guid isPermaLink="false">http://resources.vordel.com/?p=1268</guid>
		<description><![CDATA[Mashing Up the SalesForce API with CDYNE&#8217;s EmailVerify API Originally posted on http://www.soatothecloud.com/2012/04/mashing-up-salesforce-api-with-cdynes.html, on Monday April 10th 2012, by Mark O’Neill, CTO at Vordel One of the neatest things about the standard Vordel evaluation/training VM is that it ships with an &#8230; <a href="http://resources.vordel.com/index.php/mashing-up-salesforce-api/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Mashing Up the SalesForce API with CDYNE&#8217;s EmailVerify API</p>
<p style="text-align: left;">Originally posted on <a href="http://www.soatothecloud.com/2012/04/mashing-up-salesforce-api-with-cdynes.html">http://www.soatothecloud.com/2012/04/mashing-up-salesforce-api-with-cdynes.html</a>, on Monday April 10th 2012, by Mark O’Neill, CTO at Vordel</p>
<p style="text-align: left;">One of the neatest things about the standard Vordel evaluation/training VM is that it ships with an mashup of the <a title="SalesForce API" href="http://www.salesforce.com/us/developer/docs/api/index.htm" target="_blank">SalesForce API</a> with <a title="CDYNE's EmailVerify API" href="http://wiki.cdyne.com/?title=Email_Verification" target="_blank">CDYNE&#8217;s EmailVerify API</a>. This example Vordel Gateway circuit is run from a simple Web form, which is shown below. It is based on a scenario where an organization has an existing internal CRM, and they want to broker the data out to SalesForce.</p>
<p style="text-align: left;">Once the Web form is submitted, it hits maps to a circuit on the Vordel Gateway which first calls out to the EmailVerify API to verify that the email address in the form is valid.</p>
<p style="text-align: left;">So, here is the form which is submitted. I&#8217;ve entered info for a user called &#8220;Joe Demo&#8221; here in Boston. Note that I had to give him a valid email address (my own email address!) because the EmailVerify API really does validate the email address and so &#8220;joe.demo@example.com&#8221; would be blocked.</p>
<p style="text-align: left;"><a href="http://resources.vordel.com/wp-content/uploads/2012/04/SalesForce-Form.png"><img class="alignleft size-full wp-image-1270" title="SalesForce-Form" src="http://resources.vordel.com/wp-content/uploads/2012/04/SalesForce-Form.png" alt="" width="400" height="195" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: left;"><span style="text-align: left;">In the Real-Time Monitoring on the Vordel Gateway, we see the API calls out to the SalesForce login service (to get a SalesForce Session which the Gateway then caches), the EmailVerify API, and SalesForce&#8217;s API itself, which we use to register the data from the form as a new lead in SalesForce.</span></p>
<p><a href="http://resources.vordel.com/wp-content/uploads/2012/04/SalesForce-Monitoring.png"><img class="alignleft size-full wp-image-1271" title="SalesForce-Monitoring" src="http://resources.vordel.com/wp-content/uploads/2012/04/SalesForce-Monitoring.png" alt="" width="400" height="209" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: left;"><span style="text-align: left;">And, sure enough, &#8220;Joe Demo&#8221; is now in SalesForce:</span></p>
<p><a href="http://resources.vordel.com/wp-content/uploads/2012/04/SalesForce-LeadCreated.png"><img class="alignleft size-full wp-image-1272" title="SalesForce-LeadCreated" src="http://resources.vordel.com/wp-content/uploads/2012/04/SalesForce-LeadCreated.png" alt="" width="400" height="196" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: left;">How does this work? If we look at the circuit in the Vordel Policy Studio, we see that the mashup of the EmailVerify API with the SalesForce API is done using simple &#8220;drag-and-join&#8221; configuration. No coding is required. As well as connecting to the two APIs, we are also enforcing an SLA over the connection to SalesForce, as you can see. Notice also how we are caching the SalesForce SessionID.</p>
<p><a href="http://resources.vordel.com/wp-content/uploads/2012/04/SalesForce-Policy.png"><img class="alignleft size-full wp-image-1273" title="SalesForce-Policy" src="http://resources.vordel.com/wp-content/uploads/2012/04/SalesForce-Policy.png" alt="" width="400" height="247" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: left;">An interesting aspect of the SalesForce integration is the protection of the API keys used to access SalesForce. Notice how the Vordel Gateway encrypts all of the SalesForce credentials, as shown below. Vordel is a member of the Cloud Security Alliance and has provided <a title="Protect API Keys to your Cloud Kingdom" href="https://blog.cloudsecurityalliance.org/2011/04/18/protect-the-api-keys-to-your-cloud-kingdom/" target="_blank">guidance on the CSA blog about protection of API Keys</a>. This is how we do it in the Vordel Gateway:</p>
<p><a href="http://resources.vordel.com/wp-content/uploads/2012/04/SalesForce-Encrypted.png"><img class="alignleft size-full wp-image-1274" title="SalesForce-Encrypted" src="http://resources.vordel.com/wp-content/uploads/2012/04/SalesForce-Encrypted.png" alt="" width="400" height="177" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: left;">If you want to get your hands on this demo yourself, and experiment with brokering and mashing up SalesForce and other APIs, <a title="Contact Vordel" href="http://www.vordel.com/company/contact_us.html">contact us</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://resources.vordel.com/index.php/mashing-up-salesforce-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protecting Rich Internet Applications RIAs</title>
		<link>http://resources.vordel.com/index.php/protecting-rich-internet-applications-rias/</link>
		<comments>http://resources.vordel.com/index.php/protecting-rich-internet-applications-rias/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 14:02:47 +0000</pubDate>
		<dc:creator>david.murphy@vordel.com</dc:creator>
				<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://resources.vordel.com/?p=1255</guid>
		<description><![CDATA[Protecting Rich Internet Applications RIAs Deploying Web 2.0 Safely-Application Firewalling Of A REST Web Service This screencast demonstrates how Vordel XML Gateway is used to safely deploy Web 2.0-based Rich Internet Applications (RIA). In this hands-on demo, an RIA running &#8230; <a href="http://resources.vordel.com/index.php/protecting-rich-internet-applications-rias/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Protecting Rich Internet Applications RIAs</p>
<p>Deploying Web 2.0 Safely-Application Firewalling Of A REST Web Service</p>
<p><iframe src="http://player.vimeo.com/video/39631345?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="760" height="570"></iframe></p>
<p>This screencast demonstrates how Vordel XML Gateway is used to safely deploy Web 2.0-based Rich Internet Applications (RIA). In this hands-on demo, an RIA running in the Firefox browser dynamically connects to a REST Web Service using the XMLHttpRequest (XHR) object.</p>
]]></content:encoded>
			<wfw:commentRss>http://resources.vordel.com/index.php/protecting-rich-internet-applications-rias/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vordel API Gateway Video Demo</title>
		<link>http://resources.vordel.com/index.php/vordel-api-gateway-video-demo/</link>
		<comments>http://resources.vordel.com/index.php/vordel-api-gateway-video-demo/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 12:20:52 +0000</pubDate>
		<dc:creator>david.murphy@vordel.com</dc:creator>
				<category><![CDATA[API Management]]></category>
		<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[API Gateway]]></category>
		<category><![CDATA[Vordel API Gateway]]></category>

		<guid isPermaLink="false">http://resources.vordel.com/?p=1243</guid>
		<description><![CDATA[API Gateway &#8211; Video Demo Enabling an API Portal with Vordel. In this video we see how the Vordel API Gateway provides the building blocks which customers use to create an API Portal.]]></description>
			<content:encoded><![CDATA[<p>API Gateway &#8211; Video Demo</p>
<p>Enabling an API Portal with Vordel. In this video we see how the Vordel API Gateway provides the building blocks which customers use to create an API Portal.</p>
<p><iframe src="http://player.vimeo.com/video/39626786?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="760" height="570"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://resources.vordel.com/index.php/vordel-api-gateway-video-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>API Gateway support for HATEOAS</title>
		<link>http://resources.vordel.com/index.php/api-gateway-support-for-hateoas/</link>
		<comments>http://resources.vordel.com/index.php/api-gateway-support-for-hateoas/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 11:58:12 +0000</pubDate>
		<dc:creator>david.murphy@vordel.com</dc:creator>
				<category><![CDATA[API Management]]></category>
		<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[API Gateway]]></category>
		<category><![CDATA[HATEOAS]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[SOAP/WSDL]]></category>
		<category><![CDATA[Vordel]]></category>
		<category><![CDATA[Vordel API Gateway]]></category>
		<category><![CDATA[WSDL]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XML Gateway]]></category>

		<guid isPermaLink="false">http://resources.vordel.com/?p=1200</guid>
		<description><![CDATA[Originally posted on www.soatothecloud.com/2012/04/api-gateway-support-for-hateoas-first.html, on Monday April 2nd 2012, by Mark O&#8217;Neill, CTO at Vordel API Gateway support for HATEOAS I often think it&#8217;s ironic that while the mission of REST is to simplify Web development, REST itself is beset &#8230; <a href="http://resources.vordel.com/index.php/api-gateway-support-for-hateoas/">Continue&#160;reading&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Originally posted on <a href="http://www.soatothecloud.com/2012/04/api-gateway-support-for-hateoas-first.html">www.soatothecloud.com/2012/04/api-gateway-support-for-hateoas-first.html</a>, on Monday April 2nd 2012, by Mark O&#8217;Neill, CTO at Vordel</p>
<p>API Gateway support for HATEOAS</p>
<p>I often think it&#8217;s ironic that while the mission of REST is to simplify Web development, REST itself is beset with seemingly complex jargon and architecture patterns. I say &#8220;seemingly complex&#8221; because, once you look into REST architecture in depth, it actually is simple. In some ways, it&#8217;s almost too simple. It&#8217;s easy to rack your brains about some REST pattern, but then realize: It&#8217;s just how the Web works. I&#8217;m reminded of the line from Moliere about the bourgeois gentleman who spends years trying to understand how he could speak in &#8220;prose&#8221;, then he exclaims <a title="Moliere Quote" href="http://en.wikiquote.org/wiki/Moli%C3%A8re#Le_Bourgeois_Gentilhomme_.281670.29">&#8220;Good heavens! For more than forty years I have been speaking prose without knowing it&#8221;</a>. So it is with REST. HTTP verbs, URLs, and resources are just what we&#8217;ve been doing for years.</p>
<p>There are various levels of REST though, most famously categorized in the <a title="Richardson Maturity Model" href="http://martinfowler.com/articles/richardsonMaturityModel.html">Richardson Maturity Model.</a> At the top of this maturity model is HATEOAS. Actually I think &#8220;maturity model&#8221; is a bit of a misleading name, because ideally you don&#8217;t want to start with a very brittle URL and then &#8220;mature&#8221; it to HATEOAS, since that puts undue requirements onto your client applications. It is better to start with HATEOAS principles from the start.</p>
<p>But what is HATEOAS (and how do you pronounce it?). Well, it stands for Hypertext As The Engine Of Application State. As with everything REST, the concepts come from <a title="Roy Fielding's Paper" href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm">Roy Fielding&#8217;s paper</a>. The core idea is that the HTTP server serves out links which guide the client as to what they can do with a particular resource. So, for example, if I do a GET on a product listed in a catalog, I receive back a series of links which are the actions I can perform on it. I may be able to get the price of the product via one of the links, order it via another link, get back a description of it via another link, or get back its weight via another link. My application may also may be provided an &#8220;up&#8221; link back to the main list of products. The powerful concept is that the links are all the actions my app can take on the resource. So, if I am not allowed to order the product, then I will not be given the &#8220;order&#8221; link. The client app can then take this into account (&#8220;I wasn&#8217;t served up the &#8220;order&#8221; link for this particular product, therefore I will not provide the user with the ability to order it&#8221;). If you can order it, and do order it, then you may not be served up the &#8220;order&#8221; link for that product anymore, but (because you&#8217;ve ordered it) you may be served a link to view your order. This is the stateful aspect (it &#8220;knows&#8221; you&#8217;ve placed the order, and in fact that information is conveyed by the hypertext itself).</p>
<p>Another example is iteration through a set (for example, a list of products). As I am returned back each batch of results (e.g. the first 50, the next 50, etc), I get back a link to the previous batch of results (unless it&#8217;s the first batch, then there is no &#8220;previous&#8221; link provided) and to the next batch (unless it&#8217;s the last batch, then there is no &#8220;next&#8221; link). In this case also, all possible links are provided back to me. So it is also stateful (when I am on the second batch of results, it &#8220;knows&#8221; to give me link back to the first batch).</p>
<p>Providing all possible links, right inside the hypertext response, is a powerful concept. It&#8217;s very different from the SOAP/WSDL world, where you must look at the WSDL in order to find out what actions (operations) are available to you. With HATEOAS, there is no &#8220;WSDL&#8221;, instead the possible actions are in the response. The SOAP analogy would be where each SOAP response contained a WSDL that listed all of the subsequent operations the client could invoke. Another way HATEOAS is different is that, in the SOAP/WSDL world, if the WSDL changes, then SOAP/WSDL client apps must often be rebuilt. With HATEOAS, the service provider can add another capability, and it comes back as a new link in the hypertext responses, but this does not &#8220;break&#8221; anything. Similarly, removing a capability translates to removing a link, which should already be handled gracefully by the application.</p>
<p>With HATEOAS, the (hypertext) responses guide the client through their interaction with the resource, by providing links to the actions they can perform, so therefore the hypertext pages themselves become the engine of state. Hence the term, Hypertext As The Engine Of Application State.</p>
<p>[ Regarding pronunciation of HATEOAS, I've heard it pronounced like a breakfast cereal or chip snack ("hate -o's") and also I've heard the edgier "hate yo' ass". ]</p>
<p>So, how does an API Gateway cater for HATEOAS? A key requirement is not to break it. As in medicine, &#8220;first do no harm&#8221;. Consider what an API Gateway does: It provides external-facing APIs to the public, then translates them to back-end (usually on-premise) API calls.</p>
<p>Take for example the following JSON returned by a server to a client. The client has done a GET to get product information. The response includes a link to order the product, and it also an &#8220;up&#8221; link to go back to a higher-level view.</p>
<p>{<br />
&#8220;id&#8221;: &#8220;8000&#8243;,<br />
&#8220;links&#8221;: {<br />
&#8220;self&#8221;: &#8220;http://myBackEndAPI:8000/v5/products/123456&#8243;<br />
},<br />
&#8220;ordering&#8221;: [<br />
{<br />
"id": "8000-123456",<br />
"links": {<br />
"self": "http://myBackEndAPI:8000/v5/orders/8000-123456",<br />
"up": "http://myBackEndAPI:8000/v5/8000"<br />
},<br />
"customer_id": "8000",<br />
}<br />
]<br />
}</p>
<p>We see in the response above that the address of the back-end API server (myBackEndAPI:8000) is inside the JSON. When an API Gateway is used, clients go through the API Gateway, and should not go to the back-end API server directly [in fact, usually the API Gateway is cloud-based, and the API implementation is on-premises not directly accessible except through the API Gateway]. Therefore, the API Gateway must selectively replace the address of the back-end API server with the public-facing API server address, and it must do so throughout the responses, whether they are JSON, XML, or another format.</p>
<p>For our example above, the response may become:</p>
<p>{<br />
&#8220;id&#8221;: &#8220;8000&#8243;,<br />
&#8220;links&#8221;: {<br />
&#8220;self&#8221;: &#8220;http://api.mycompany.com/v5/products/123456&#8243;<br />
},<br />
&#8220;ordering&#8221;: [<br />
{<br />
"id": "8000-123456",<br />
"links": {<br />
"self": "http://api.mycompany.com/v5/orders/8000-123456",<br />
"up": "http://api.mycompany.com/v5/8000"<br />
},<br />
"customer_id": "8000",<br />
}<br />
]<br />
}</p>
<p>When requests come back from the client, it must also selectively change this address information, not only in the request URL but also in the payloads being POSTed or PUT to the REST API.</p>
<p>So how is this done? In the case of Vordel&#8217;s API Gateway, such content substitution is provided as standard, and is implemented in a high-performance manner so that the URL replacement required to support HATEOAS will not impact on the user experience for your users. Really, what is involved here is analogous to how an application gateway always operates, with the extra stipulation that it must convert information within messages also. But, substituting information within messages is simple with Vordel&#8217;s API Gateway, and already widely used such as in simple search/replace scenarios. All of this enables Vordel to support HATEOAS for our API Gateway customers.</p>
]]></content:encoded>
			<wfw:commentRss>http://resources.vordel.com/index.php/api-gateway-support-for-hateoas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vordel Reporter Screencast Web Services for SOA Governance</title>
		<link>http://resources.vordel.com/index.php/vordel-reporter-screencast-web-services-for-soa-governance/</link>
		<comments>http://resources.vordel.com/index.php/vordel-reporter-screencast-web-services-for-soa-governance/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 11:03:54 +0000</pubDate>
		<dc:creator>david.murphy@vordel.com</dc:creator>
				<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[SOA Governance]]></category>
		<category><![CDATA[How to use SOA Application Gateway]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[SOA Application Gateway]]></category>
		<category><![CDATA[SOA Application Gateway demo]]></category>
		<category><![CDATA[SOA Gateway]]></category>
		<category><![CDATA[SOA Management]]></category>
		<category><![CDATA[Vordel]]></category>
		<category><![CDATA[Vordel Solutions]]></category>
		<category><![CDATA[Web service reporting]]></category>

		<guid isPermaLink="false">http://resources.vordel.com/?p=1223</guid>
		<description><![CDATA[Vordel Reporter Screencast Full Visibility of Web Services for SOA Governance How Vordel provides realtime visibility of Web Service performance metrics, message throughput and ensures conformance with Service Level Agreements &#160;]]></description>
			<content:encoded><![CDATA[<p>Vordel Reporter Screencast</p>
<p>Full Visibility of Web Services for SOA Governance How Vordel provides realtime visibility of Web Service performance metrics, message throughput and ensures conformance with Service Level Agreements</p>
<p>&nbsp;</p>
<p><iframe width="760" height="570" src="http://www.youtube.com/embed/83gsxrL-2To" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://resources.vordel.com/index.php/vordel-reporter-screencast-web-services-for-soa-governance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>





  



