{"id":311,"date":"2016-01-07T14:21:15","date_gmt":"2016-01-07T13:21:15","guid":{"rendered":"http:\/\/elektroelch.de\/draft\/?page_id=311"},"modified":"2016-01-07T16:07:41","modified_gmt":"2016-01-07T15:07:41","slug":"3-4-1-server","status":"publish","type":"page","link":"https:\/\/elektroelch.de\/drafts\/betriebliche-projektarbeit-content-syndication-von-nightloop-de\/3-dokumentation\/3-4-programmentwurf\/3-4-1-server\/","title":{"rendered":"3.4.1 Server"},"content":{"rendered":"<p>Der Server gliedert sich in folgende Module:<\/p>\n<ul>\n<li><code>backend<\/code>: Nimmt Anfragen \u00fcber eine URL entgegen und \u00fcbertr\u00e4gt die erzeugten Dokumente an den Client.<br \/>\nDieses Modul stellt den Standard-Server dar. Es verarbeitet die Parameter der \u00fcbergebenen URL, ruft die Funktion createXML() oder createRDF() aus dem Modul backend_base auf und \u00fcbertr\u00e4gt die die Daten an den aufrufenden Client.<\/li>\n<li><code>backend_soap<\/code>: Nimmt Anfragen \u00fcber SOAP entgegen und \u00fcbertr\u00e4gt die erzeugten Dokumente an den Client.<br \/>\nDieses Modul stellt die gleiche Funktionalit\u00e4t wie backend zur Verf\u00fcgung, benutzt aber zum Empfangen und verschicken der Daten als Protokoll SOAP.<\/li>\n<li><code>backend_base<\/code>: Enth\u00e4lt die gemeinsamen Funktionen f\u00fcr die Module backend und backend_base.<br \/>\nDieses Modul wird sowohl vom Standard- als auch vom SOAP-Server zur Erstellung der XML- oder RDF-Dateien benutzt. Es l\u00e4dt die angeforderten Daten aus der Datenbank und erzeugt daraus ein XML- oder RDF-Dokument, das an das aufrufende Modul zur\u00fcckgegeben wird.<br \/>\nZur Erzeugung der XML-Dateien wird DOM (Document Object Model) benutzt, das seit der Version 4.30 in PHP enthalten ist. Das DOM erm\u00f6glicht eine einfachere Programmierung als SAX (Simple API for XML), ist daf\u00fcr aber langsamer und speicherintensiver. Da es sich bei den zu erstellenden Daten aber nur um geringe Mengen handelt und der zeitaufwendigste Faktor die \u00dcbertragung der Daten vom Server auf den Client ist, wurde dem DOM der Vorzug gegeben.<br \/>\nDas Dokument wird abschlie\u00dfend mit UTF-8 kodiert, um eine korrekte Darstellung von Zeichen au\u00dferhalb des ASCII-Standards zu gew\u00e4hrleisten (z.B. Umlaute oder Ligaturen).<\/li>\n<\/ul>\n<p>Bei beiden Servern lassen sich die Kategorien dadurch definieren und erg\u00e4nzen, dass im Verzeichnis \u201einclude\u201c eine Datei angelegt wird. Die Datei muss den Namen der Tabelle mit den notwendigen Daten und eine SQL-Anweisung enthalten, die die Schlagzeilen, die Anrei\u00dfer und die URL der Originaldokumente zur\u00fcckgibt. Als Beispiele sollen die beiden Dateien sql_magazin_stars.php und sql_magazin_soundcheck dienen.<\/p>\n<p>\n<strong>Sicherheitsaspekte:<\/strong><br \/>\nWie in Abbildung 1 zu erkennen ist, kann der Client nur \u00fcber eine Firewall auf den Webserver zugreifen. Intern kann dieser wiederum durch Zugriffsrechte beschr\u00e4nkt auf die Datenbank zugreifen. Einem m\u00f6glichen Angreifer wird somit ein Zugriff auf die Datenbank sehr schwer bis unm\u00f6glich gemacht. Aus diesem Grund kann davon ausgegenagen werden, dass durch das neue Skript keine zus\u00e4tzlichen Sicherheitsl\u00fccken im System ge\u00f6ffnet werden.<\/p>\n<p><a href=\"<a class=\"linkificator-ext\" href=\"http:\/\/elektroelch.de\/draft\/files\/2016\/01\/Web-Interface-1.gif\" title=\"\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\">http:\/\/elektroelch.de\/draft\/files\/2016\/01\/Web-Interface-1.gif<\/a>&#8221; rel=&#8221;attachment wp-att-357&#8243;><img decoding=\"async\" src=\"<a class=\"linkificator-ext\" href=\"http:\/\/elektroelch.de\/draft\/files\/2016\/01\/Web-Interface-1.gif\" title=\"\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\">http:\/\/elektroelch.de\/draft\/files\/2016\/01\/Web-Interface-1.gif<\/a>&#8221; alt=&#8221;Web-Interface&#8221; width=&#8221;775&#8243; height=&#8221;447&#8243; class=&#8221;aligncenter size-full wp-image-357&#8243; \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Server gliedert sich in folgende Module: backend: Nimmt Anfragen \u00fcber eine URL entgegen und \u00fcbertr\u00e4gt die erzeugten Dokumente an den Client. Dieses Modul stellt den Standard-Server dar. Es verarbeitet die Parameter der \u00fcbergebenen URL, ruft die Funktion createXML() oder createRDF() aus dem Modul backend_base auf und \u00fcbertr\u00e4gt die die Daten an den aufrufenden Client. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":308,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"class_list":["post-311","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/elektroelch.de\/drafts\/wp-json\/wp\/v2\/pages\/311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elektroelch.de\/drafts\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elektroelch.de\/drafts\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elektroelch.de\/drafts\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elektroelch.de\/drafts\/wp-json\/wp\/v2\/comments?post=311"}],"version-history":[{"count":6,"href":"https:\/\/elektroelch.de\/drafts\/wp-json\/wp\/v2\/pages\/311\/revisions"}],"predecessor-version":[{"id":358,"href":"https:\/\/elektroelch.de\/drafts\/wp-json\/wp\/v2\/pages\/311\/revisions\/358"}],"up":[{"embeddable":true,"href":"https:\/\/elektroelch.de\/drafts\/wp-json\/wp\/v2\/pages\/308"}],"wp:attachment":[{"href":"https:\/\/elektroelch.de\/drafts\/wp-json\/wp\/v2\/media?parent=311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}