<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:foaf="https://xmlns.com/foaf/0.1/" xmlns:og="https://ogp.me/ns#" xmlns:rdfs="https://www.w3.org/2000/01/rdf-schema#" xmlns:schema="https://schema.org/" xmlns:sioc="https://rdfs.org/sioc/ns#" xmlns:sioct="https://rdfs.org/sioc/types#" xmlns:skos="https://www.w3.org/2004/02/skos/core#" xmlns:xsd="https://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://www.linuxjournal.com/tag/apis">
  <channel>
    <title>APIs</title>
    <link>https://www.linuxjournal.com/tag/apis</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>Linaro Ltd.'s OpenDataPlane</title>
  <link>https://www.linuxjournal.com/content/linaro-ltds-opendataplane</link>
  <description>  &lt;div data-history-node-id="1339203" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/12078f6.png" width="600" height="424" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/james-gray" lang="" about="https://www.linuxjournal.com/users/james-gray" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;James Gray&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
The &lt;a href="https://opendataplane.org"&gt;OpenDataPlane&lt;/a&gt; (ODP) project is a founding initiative by the &lt;a href="https://linaro.org"&gt;Linaro&lt;/a&gt;
Networking Group to produce an open-source, cross-platform application
programming interface (API) for the
networking Software Defined Data Plane. Linaro Ltd. recently announced the
availability of the first Long Term Support (LTS) Monarch release of
OpenDataPlane, which will enable other projects to leverage the
acceleration provided by the ODP APIs now that the code base will be fully
supported for the foreseeable future. 
&lt;/p&gt;

&lt;p&gt;
Linaro adds that work already
has begun on network protocol stacks, such as OpenFastPath (OFP), products like
the nginx web server accelerated with ODP and OFP and libraries like
OpenSSL that provide crypto acceleration via ODP. In addition, ODP and
ODP-based products, such as OFP, nginx and
OpenSSL, now can be made available as packages in popular Linux
distributions like Debian, CentOS and OpenEmbedded. To accompany the
release, Linaro launched a validation test suite that permits users and
vendors to verify API compatibility between different ODP implementations.
&lt;/p&gt;
&lt;img src="https://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1000009/12078f6.png" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/linaro-ltds-opendataplane" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 02 Nov 2016 15:14:35 +0000</pubDate>
    <dc:creator>James Gray</dc:creator>
    <guid isPermaLink="false">1339203 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>APIs</title>
  <link>https://www.linuxjournal.com/content/apis</link>
  <description>  &lt;div data-history-node-id="1056931" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/shutterstock_72743026.jpg" width="500" height="375" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/reuven-lerner" lang="" about="https://www.linuxjournal.com/users/reuven-lerner" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Reuven Lerner&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;img src="https://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/small-200px-left-align-wrap/u1002061/shutterstock_72743026.jpg" alt="" title="" class="imagecache-small-200px-left-align-wrap" /&gt;&lt;p&gt;
If you're creating Web apps, you're designing APIs. Here are some things to
keep in mind before you begin.
&lt;/p&gt;
&lt;p&gt;
The Web was designed for people. When Tim Berners-Lee created the
trio of standards that make up the Web—HTTP, HTML and URLs—the
intention was for people to browse Web sites, submit information to
them and be at the heart of the experience. But for some time
now, the notion of the Web as a set of sites that people browse has
been somewhat untrue. True, hundreds of millions of people visit an
equally large number of sites each day; however, more and more of the
visitors to sites aren't people, but programs.
&lt;/p&gt;

&lt;p&gt;
Some of those programs exist to collect information on behalf of
other systems. For example, when you search the Web using a site such
as Google, you're obviously not searching through all of these sites
in real time. Rather, you're asking Google to search through its
massive index—an index that it has created and updated via its
"bots", programs that go to a Web site, pretend to browse as a
person, and then track whatever they find.
&lt;/p&gt;

&lt;p&gt;
But more and more, the programs that are visiting sites aren't doing
it on behalf of search indexes. Rather, they're doing it on behalf of...well, on behalf of themselves. Computers exchange information via
the Web, using a variety of protocols and data formats. Native apps
on mobile devices are using the Web behind the scenes to query Web
applications. And, even those Web applications using Ajax are
interacting with a Web site without directly being asked to do so.
&lt;/p&gt;

&lt;p&gt;
This represents a massive shift in what Web applications are
doing. No longer are we just producing HTML for users (and search
bots). Now, we're producing output that's meant for programmatic
consumption—and in many cases, the same people are writing the
client and server sides. Sure, we could use "scraping" techniques to
retrieve the HTML and search through it, but why do so? If we already
know we'll be sending data to a program, there's no reason
to send HTML. Rather, we can send it in a more program-friendly data
format, without all the bells and whistles that people require.
&lt;/p&gt;

&lt;p&gt;
When such use began, people made a big deal out of it. This trend was
known as "Web services", and a lot of companies—most prominently
Amazon—jumped on them, describing all sorts of standards, from
XML-RPC to SOAP to WSDL. These protocols are still used, especially
by large-scale enterprise applications, to communicate with one
another.
&lt;/p&gt;

&lt;p&gt;
But during the last few years, a more informal sort of API has emerged.
Sometimes it's based on XML, but more often it's based on JSON, the
"JavaScript Object Notation" format that works not only with
JavaScript, but with a wide variety of other languages as well.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/apis" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 07 Nov 2012 21:01:55 +0000</pubDate>
    <dc:creator>Reuven Lerner</dc:creator>
    <guid isPermaLink="false">1056931 at https://www.linuxjournal.com</guid>
    </item>

  </channel>
</rss>
