<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://notiz.blog/wp-content/plugins/pretty-feeds/pretty-feed-v4.xsl" type="text/xsl" media="screen" ?>


<!--

	Feeds whisper secrets,
	In the RSS Club's embrace,
	Knowledge blooms in grace.

-->

<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/"
	xmlns:source="http://source.scripting.com/"
xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>Service &#8211; notizBlog</title>
	<atom:link href="https://notiz.blog/tag/service/feed/" rel="self" type="application/rss+xml" />
	<link>https://notiz.blog</link>
	<description>a weblog mainly about the open, portable, interoperable, small, social, synaptic, semantic, structured, distributed, (re-)decentralized, independent, microformatted and federated social web</description>
	<lastBuildDate>Fri, 12 Apr 2024 10:22:17 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://notiz.blog/wp-content/uploads/2019/10/cropped-notizblog-icon-1-32x32.png</url>
	<title>Service &#8211; notizBlog</title>
	<link>https://notiz.blog</link>
	<width>32</width>
	<height>32</height>
</image> 
<source:blogroll>https://reader.pfefferle.org/i/?a=opml&amp;get=c_2</source:blogroll>
<creativeCommons:license>https://creativecommons.org/licenses/by-sa/4.0/</creativeCommons:license>
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://switchboard.p3k.io/"/>
<atom:link rel="self" href="https://notiz.blog/tag/service/feed/"/>
<atom:link rel="search" type="application/opensearchdescription+xml" title="Search notizBlog" href="https://notiz.blog/wp-api/opensearch/1.1/document" />	<item>
		<title>XRDS-Simple, eine Einführung</title>
		<link>https://notiz.blog/2008/05/05/xrds-simple-eine-einfuehrung/</link>
					<comments>https://notiz.blog/2008/05/05/xrds-simple-eine-einfuehrung/#comments</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Mon, 05 May 2008 16:56:56 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[FediBlog]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[XRDS]]></category>
		<category><![CDATA[XRDS-Simple]]></category>
		<guid isPermaLink="false">http://notizblog.org/?p=847</guid>

					<description><![CDATA[Da XRDS-Simple auch eine zentrale Rolle bei DataPortability spielen wird, hab ich mir das Format nochmal vorgenommen. (Im folgenden Text setze ich, der Einfachheit halber, XRDS mit XRDS-Simple gleich auch wenn es technisch nicht ganz korrekt ist) XRDS-Simple ist in erster Linie eine einfache Form der Service-Discovery, von der Idee her ähnlich wie z.B. die [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Da <a href="https://web.archive.org/web/20090227100639/http://xrds-simple.net/">XRDS-Simple</a> auch eine zentrale Rolle bei <a href="https://de.wikipedia.org/wiki/Dataportability#Das_Projekt">DataPortability</a> spielen wird, hab ich mir das Format <a href="https://notiz.blog/2008/04/15/xrds-simple-und-dataportability/">nochmal</a> vorgenommen. (Im folgenden Text setze ich, der Einfachheit halber, XRDS mit XRDS-Simple gleich auch wenn es technisch nicht ganz korrekt ist)</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://notiz.blog/wp-content/uploads/2008/05/xrds-simple-large.png" alt="XRDS-Simple-Large.png"/></figure></div>



<p>XRDS-Simple ist in erster Linie eine <strong>einfache</strong> Form der Service-Discovery, von der Idee her ähnlich wie z.B. die <a href="https://de.wikipedia.org/wiki/Web_Services_Description_Language">Web Services Description Language</a> (WSDL).<br/> XRDS beschränkt sich, im Gegensatz zu dem wesentlich komplexeren <abbr title="Web Services Description Language">WSDL</abbr>, auf die Beschreibung der Service <abbr title="Uniform Resource Locator">URL</abbr>s/<abbr title="Uniform Resource Identifier">URI</abbr>s und wie man sie nutzt (<a href="https://en.wikipedia.org/wiki/HTTP">POST oder GET</a>).</p>



<p>Vom Aufbau her ist XRDS-Simple dem <a href="https://web.archive.org/web/20120101104945/http://yadis.org:80/wiki/Yadis_1.0_(HTML)">YADIS Format</a> (OpenID-Autodetection) sehr ähnlich:</p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">XRDS</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">"xri://$xrds"</span>&gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">XRD</span> <span class="hljs-attr">xmlns:simple</span>=<span class="hljs-string">"http://xrds-simple.net/core/1.0"</span>
          <span class="hljs-attr">xmlns</span>=<span class="hljs-string">"xri://$XRD*($v*2.0)"</span> <span class="hljs-attr">version</span>=<span class="hljs-string">"2.0"</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">Type</span>&gt;</span>xri://$xrds*simple<span class="hljs-tag">&lt;/<span class="hljs-name">Type</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">Service</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-name">Type</span>&gt;</span>http://example.net/some_type<span class="hljs-tag">&lt;/<span class="hljs-name">Type</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-name">URI</span> <span class="hljs-attr">simple:httpMethod</span>=<span class="hljs-string">"POST"</span>&gt;</span>
        http:&#47;&#47;example.com/resource
      <span class="hljs-tag">&lt;/<span class="hljs-name">URI</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-name">Service</span>&gt;</span>
  <span class="hljs-tag">&lt;/<span class="hljs-name">XRD</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">XRDS</span>&gt;</span></code></span></pre>


<p>Der wichtigste Teil eines <code>Services</code> ist der <code>Type</code> welcher den Typ der URI beschreibt und die <code>URI</code> welche beschreibt unter welcher URI der Service zu erreichen ist.</p>



<p>Ein paar Beispiele für ein paar klassische Services:</p>



<dl>
<dt>FOAF</dt>
<dd>
<dl>
<dt>type</dt>
<dd>http://xmlns.com/foaf/0.1/</dd>
<dt>url</dt>
<dd>https://web.archive.org/web/20090825215938/http://www.mybloglog.com:80/buzz/members/pfefferle/foaf/</dd>
</dl>
</dd>
<dt>hCard</dt>
<dd>
<dl>
<dt>type</dt>
<dd>http://purl.org/uF/hCard/1.0/</dd>
<dt>url</dt>
<dd>https://web.archive.org/web/20100413121636/http://www.mybloglog.com:80/buzz/members/pfefferle/hcard</dd>
</dl>
</dd>
<dt>APML</dt>
<dd>
<dl>
<dt>type</dt>
<dd>https://github.com/apml/spec-0.6</dd>
<dt>url</dt>
<dd>http://notizblog.org/apml/</dd>
</dl>
</dd>
<dt>OPML</dt>
<dd>
<dl>
<dt>type</dt>
<dd>http://www.opml.org/spec2</dd>
<dt>url</dt>
<dd>http://ma.gnolia.com/opml/default/people/pfefferle</dd>
</dl>
</dd>
</dl>



<p>Neben dem <code>&lt;Type></code> kann für die URI auch noch ein <code>&lt;MediaType></code> (nichts anderes als der <abbr title="Multipurpose Internet Mail Extensions">MIME</abbr>-Type (<a href="https://datatracker.ietf.org/doc/html/rfc2046">RFC2046</a>)) gesetzt werden, der beschreibt um was es sich bei dem Verlinkten handelt. </p>



<p>Beispiel: <code>&lt;MediaType>text/html&lt;/MediaType></code></p>



<p>Mit diesem einfachen Prinzip lassen sich auf einfache Weise nahezu alle Services beschreiben.</p>



<p>Vorteile von XRDS-Simple? Meiner Meinung nach gibt es zwei wesentliche Gründe XRDS einzusetzen.</p>



<h4 class="wp-block-heading">Einheitliche Erkennung</h4>



<p>XRDS vereinfacht die automatische Service-Erkennung, da nur noch ein Meta-Tag interpretiert werden muss:</p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">http-equiv</span>=<span class="hljs-string">"X-XRDS-Location"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"http://example.com/xrds"</span> /&gt;</span></code></span></pre>


<p>statt jeder Meta-Tag einzeln:</p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">link</span> <span class="hljs-attr">rel</span>=<span class="hljs-string">"meta"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text/xml"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"APML"</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"..."</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">link</span> <span class="hljs-attr">rel</span>=<span class="hljs-string">"meta"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text/xml"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"OPML"</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"..."</span> /&gt;</span></code></span></pre>


<p>One file to detect them all 🙂</p>



<h4 class="wp-block-heading">Information Hiding</h4>



<p>Ein weiterer wesentlicher Aspekt der Autodetection ist die Sicherheit&#8230; nicht jeder möchte seine Attention-Daten (<abbr title="Attention Profiling Mark-up Language"><a href="https://web.archive.org/web/20071001030709/http://www.apml.org/">APML</a></abbr>) oder seine hCard frei zur Verfügung stellen. Über XRDS-Simple ist es möglich, diese Informationen zu bündeln und z.B. nur über <a href="https://web.archive.org/web/20110714022430/http://www.axschema.org:80/">OpenID AX</a> oder <a href="http://oauth.net/">OAuth</a> zugänglich zu machen.</p>



<p>Ein Beispiel dazu: <a href="https://notiz.blog/2008/04/15/xrds-simple-und-dataportability/#service-catalogue">XRDS-Simple als zentraler ServiceCatalogue</a></p>



<h4 class="wp-block-heading">OAuth discovery</h4>



<p>Der Vollständigkeit halber sollte man erwähnen dass XRDS-Simple eigentlich ein &#8222;Nebenprodukt&#8220; von <a href="https://web.archive.org/web/20080911024320/http://oauth.net/discovery/">OAuth Discovery</a> ist.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>The first draft of OAuth Discovery published four months ago started a dialog and was the main driver behind the development of XRDS-Simple. <a href="https://web.archive.org/web/20081028193606/http://www.hueniverse.com:80/hueniverse/2008/04/oauth-discovery.html">#</a></p></blockquote>



<p>Mehr zu diesem Thema bei <a href="https://web.archive.org/web/20081028193606/http://www.hueniverse.com:80/hueniverse/2008/04/oauth-discovery.html">hueniverse</a> oder <a href="http://factoryjoe.com/blog/2008/04/08/oauth-discovery-10-draft-2-released-with-support-from-magnolia-fire-eagle-and-satisfaction/">Chris Messina</a>.</p>
<p>You are a true RSS aficionado! While others are drowning in social media noise, you enjoy the simplicity and control of RSS. Congrats!</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2008/05/05/xrds-simple-eine-einfuehrung/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Das kleine Problem mit MicroIDs</title>
		<link>https://notiz.blog/2008/04/16/das-kleine-problem-mit-microids/</link>
					<comments>https://notiz.blog/2008/04/16/das-kleine-problem-mit-microids/#comments</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Wed, 16 Apr 2008 19:49:45 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[MicroID]]></category>
		<category><![CDATA[myBlogLog]]></category>
		<category><![CDATA[Service]]></category>
		<guid isPermaLink="false">http://notizblog.org/?p=816</guid>

					<description><![CDATA[Nach den Ankündigungen, dass myBlogLog MicroID für die eigenen Profilseiten einsetzt (bsp.: www.mybloglog.com/buzz/members/pfefferle/) habe ich mich gefragt, warum myBlogLog MicroIDs nur anbietet, nicht aber für die Verifizierung der Blogs verwendet. Aber zuerst mal eine kurze Einführung. MicroID ist eine einfache Möglichkeit, den Besitz von Webseiten zu validieren. MicroID enables anyone to claim verifiable ownership over [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Nach den <a href="https://web.archive.org/web/20130729024650/http://notsorelevant.com/2008-04-14/mybloglog-adds-microid-and-foaf/">Ankündigungen</a>, dass <a href="https://notiz.blog/tag/mybloglog/">myBlogLog</a> <a href="https://web.archive.org/web/20060701173648/https://microid.org/">MicroID</a> für die eigenen Profilseiten einsetzt (bsp.: <a href="https://web.archive.org/web/20110415105452/http://www.mybloglog.com:80/buzz/members/pfefferle/">www.mybloglog.com/buzz/members/pfefferle/</a>) habe ich mich gefragt, warum myBlogLog MicroIDs nur anbietet, nicht aber für die <a href="https://web.archive.org/web/20160326172343/http://notsorelevant.com/2008-02-15/mybloglog-supports-microformats-but-not-microid/">Verifizierung der Blogs</a> verwendet.</p>



<p>Aber zuerst mal eine kurze Einführung. MicroID ist eine einfache Möglichkeit, den Besitz von Webseiten zu validieren.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>MicroID enables anyone to claim verifiable ownership over content hosted anywhere on the web (social networking sites, discussion forums, blogs, etc.).</p></blockquote>



<p>Das Prinzip ist einfach, es wird ein Hash-Wert aus zwei unterschiedlichen URLs (auch Pseudo-URLs wie z.B. &#8222;mailto:&#8220; oder &#8222;xmpp://&#8220; sind möglich) gebildet und als Metatag in die Webseite eingebunden.</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">hash = sha1(
    sha1( <span class="hljs-string">"mailto:mustermann@example.com"</span> ) 
    + 
    sha1( <span class="hljs-string">"http://www.example.com/"</span> ) 
  )</code></span></pre>


<p>Alternativ zu sha1 kann z.B. auch MD5 verwendet werden. Der Aufbau des Metatags sieht folgendermassen aus <code>uri+uri:algo:hash</code></p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"microid"</span> 
  <span class="hljs-attr">content</span>=<span class="hljs-string">"mailto+http:sha1:
    ba37d92454792b65838c9827a8d75171c7241924"</span> /&gt;</span></code></span></pre>


<h4 class="wp-block-heading">Der Vorteil eines proprietären Formats im Gegensatz zu MicroID</h4>



<p>Was die genauen Gründe dafür sind, dass <a href="https://notiz.blog/tag/mybloglog/">myBlogLog</a> ein eigenes Format verwendet weiß ich natürlich nicht, aber schaut man sich MicroID etwas genauer an, findet man doch einige kleine Problemchen.</p>



<p>Eigentlich ist es ja nur ein wirkliches Problem, und zwar die <abbr title="Uniform Resource Locator">URL</abbr>&#8230; Eine <abbr title="Uniform Resource Locator">URL</abbr> kann man auf zu viele verschieden Weisen schreiben, als dass sie eine valide ID abgeben könnte:</p>



<ul class="wp-block-list"><li><code>http://example.com</code></li><li><code>http://<strong>www.</strong>example.com</code></li><li><code>http://example.com<strong>/</strong></code></li></ul>



<p>Zusammen mit der E-Mail &#8211; Adresse <code>mustermann@example.com</code> bekommt man drei verschiedene Hash-Werte:</p>



<ul class="wp-block-list"><li><code>19358536d8c443614bc7d861f4b050ee34a549b9</code></li><li><code>05c732700bfa89cd234bb7fc08cb673f7c0d88b8</code></li><li><code>9275b4dcd7cc2c997b2a5249420b422e937d36e0</code></li></ul>



<p>Das heißt, es kommt immer darauf an wie der Benutzer seine <abbr title="Uniform Resource Locator">URL</abbr> bei einem entsprechenden Service angibt. Ist für den Metatag der Webseite <code>http://example.com</code> verwendet und beim Service <code>http://www.example.com/</code> angegeben worden, kann die Webseite nicht verifiziert werden, da sich die Hash-Werte unterscheiden.</p>



<h4 class="wp-block-heading">Lösungsvorschläge</h4>



<p>Eine mögliche Lösung wäre alle denkbaren <abbr title="Uniform Resource Locator">URL</abbr>s auszuprobieren, was nicht sehr performant wäre und eine menge Zeit beanspruchen würde. Die (meiner Meinung nach) bessere Lösung wäre eine Art &#8222;<a href="https://notiz.blog/2008/04/15/xrds-simple-und-dataportability/#service-catalogue">service catalogue</a>&#8220; an, in dem festgelegt ist wie z.B. die von myBlogLog verwendete MicroID-<abbr title="Uniform Resource Locator">URL</abbr> aussieht.</p>



<p>Ein Beispiel: <code>http://www.mybloglog.com/buzz/members/<strong>Username</strong>/</code></p>



<p>Das Problem bezieht sich natürlich nur auf Services/Communities, bei denen man keinen Einfluss auf die MicroID hat. Bei persönlichen Weblogs ist das natürlich was anderes, da die <abbr title="Uniform Resource Locator">URL</abbr> und der Matatag vom Benutzer selbst angelegt werden.</p>



<p>Falls jemand noch nen tollen Lösungsvorschlag hätte wäre ich sehr dankbar, weil ich MicroID trotz allem gerne einsetzen würde&#8230; Das Prinzip ist einfach so schön simpel 🙂</p>
<p>Thanks for reading this post via RSS. RSS is great, and you’re great for using it. ♥️</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2008/04/16/das-kleine-problem-mit-microids/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Tags 2 APML</title>
		<link>https://notiz.blog/2007/12/17/tags-2-apml/</link>
					<comments>https://notiz.blog/2007/12/17/tags-2-apml/#comments</comments>
		
		<dc:creator><![CDATA[Matthias Pfefferle]]></dc:creator>
		<pubDate>Mon, 17 Dec 2007 00:22:51 +0000</pubDate>
				<category><![CDATA[Open Web]]></category>
		<category><![CDATA[APML]]></category>
		<category><![CDATA[Attention-Daten]]></category>
		<category><![CDATA[Service]]></category>
		<guid isPermaLink="false">http://notizblog.org/2007/12/17/tags-2-apml/</guid>

					<description><![CDATA[TasteBroker ist ein experimenteller Service um die Attention Daten (meistens die verwendeten Tags) verschiedener Dienste in APML zu konvertieren. TasteBroker is an experimental service that will generate a portable representation of your taste data (in the form of an APML file) from various web sources. Bisher gibt es diesen Service für drei verschiedene Dienste: Last [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>TasteBroker ist ein experimenteller Service um die Attention Daten (meistens die verwendeten Tags) verschiedener Dienste in APML zu konvertieren.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
	<p>TasteBroker is an experimental service that will generate a portable representation of your taste data (in the form of an APML file) from various web sources.</p>
</blockquote>



<p>Bisher gibt es diesen Service für drei verschiedene Dienste: Last FM, Pandora und Del.icio.us.</p>



<p>Beispiele meiner Daten:</p>



<ul class="wp-block-list">
	<li><a href="https://web.archive.org/web/20100206222257/http://tastebroker.org:80/apml/last.fm/pfefferle">http://TasteBroker.org/apml/last.fm/pfefferle</a></li>
	<li><a href="https://web.archive.org/web/20100811223150/http://tastebroker.org:80/apml/web/pfefferle">http://TasteBroker.org/apml/web/pfefferle</a></li>
</ul>



<p>Außerdem gibt es das WordPress Plugin jetzt auch für <a href="https://web.archive.org/web/20120715084022/http://apml-library.googlecode.com:80/svn/trunk/wordpress/">WordPress 2.x</a>.</p>
<p>RSS readers like you are the unsung heroes of the internet. Keep up the good work!</p>]]></content:encoded>
					
					<wfw:commentRss>https://notiz.blog/2007/12/17/tags-2-apml/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
