{"id":1829,"date":"2016-07-13T17:59:09","date_gmt":"2016-07-13T15:59:09","guid":{"rendered":"http:\/\/archivista.ch\/cms\/?page_id=1829"},"modified":"2017-06-14T15:38:59","modified_gmt":"2017-06-14T13:38:59","slug":"archivistavm-2016vii","status":"publish","type":"page","link":"https:\/\/archivista.ch\/cms\/de\/aktuell-blog\/jahre-2008-2019\/jahresrueckblick\/archivistavm-2016vii\/","title":{"rendered":"ArchivistaVM 2016\/VII"},"content":{"rendered":"<h1>\n\tRundum erneuert und fit f&uuml;r die n&auml;chsten 10 Jahre<br \/>\n<\/h1>\n<p>\n\t<em><strong>Egg, 12. Juli 2016:<\/strong> Mit der Version 2016\/VII steht ArchivistaVM mit komplett neuer Technologie zur Verf&uuml;gung. Dabei gibt es zwei gute Neuigkeiten: Erstens, die neue Version ist sowohl in der Webansicht als auch auf der Konsole zu 100% kompatibel zu den bisherigen Versionen und zweitens der technologische Unterbau enth&auml;lt keine Abh&auml;nigkeiten mehr zu Drittprodukten. Im nachfolgenden Blog wird aufgezeigt, warum gerade der zweite Punkt von essentieller Bedeutung ist.<\/em>\n<\/p>\n<p>\n\t<em><img decoding=\"async\" alt=\"\" src=\"https:\/\/archivista.ch\/cms\/wp-content\/uploads\/image\/italien3.jpg\" style=\"width: 600px; height: 338px;\" \/><\/em>\n<\/p>\n<h2>\n\tAus Proxmox 1.x wird <strong><a href=\"https:\/\/archivista.ch\/cms\/de\/produkte\/virtualisierung\/\">ArchivistaVM<\/a><\/strong><br \/>\n<\/h2>\n<p>\n\t<strong><a href=\"https:\/\/archivista.ch\/cms\/de\/produkte\/virtualisierung\/\">ArchivistaVM<\/a><\/strong> ist im Jahre 2009 als Fork zu Proxmox 1.x entstanden. Schritt f&uuml;r Schritt wurden dabei bisher Abh&auml;ngigkeiten entfernt, sodass ArchivistaVM deutlich schlanker daherkommt als dies bei den Produkten von Proxmox der Fall ist. Zum Vergleich: Die aktuelle Version von Proxmox umfasst 700 MByte. Bei ArchivistaVM sind es 60 MByte in der freien Version und gute 100 MByte in der kommerziellen Version (mit Web-Browser und X-Server, bei Proxmox nicht enthalten).\n<\/p>\n<p>\n\tNat&uuml;rlich ist die Gr&ouml;sse der ausgelieferten ISO-Datei alleine das Mass aller Dinge nicht. Die Unterschiede zwischen Proxmox und ArchivistaVM sind in der Zwischenzeit betr&auml;chtlich. Die Ursache dazu liegt in den Versionen 1.x von Proxmox, wurden diese doch mit <strong><a href=\"https:\/\/perl.apache.org\/embperl\/pod\/intro\/Intro.-page-2-.htm\">EmbPerl<\/a><\/strong> realisiert.\n<\/p>\n<p>\n\tEmbPerl war der Versuch, Perl in der Art und Weise, wie PHP arbeitet, zu implementieren. Dies bedeutet, die Applikation wird in HTML-Seiten eingebettet ausgeliefert. Im Unterschied zu PHP, das eine hohe Verbreitung erhielt, war dies bei EmbPerl jedoch zu keiner Zeit gegeben. Um es salopp zu sagen, <strong><a href=\"https:\/\/perl.apache.org\/embperl\/pod\/intro\/Intro.-page-2-.htm\">EmbPerl<\/a><\/strong> wird seit 2012 leider nicht einmal mehr weiterentwickelt.\n<\/p>\n<h2>\n\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/archivista.ch\/cms\/wp-content\/uploads\/image\/italien1.jpg\" style=\"float: right; width: 300px; height: 534px; margin-left: 10px; margin-right: 10px;\" \/>Darum passt <strong><a href=\"https:\/\/de.wikipedia.org\/wiki\/Ext_JS\">ExtJS<\/a><\/strong> f&uuml;r ArchivistaVM nicht<br \/>\n<\/h2>\n<p>\n\tProxmox l&ouml;ste das Problem dahingehend, dass die gesamte Web-Applikation neu programmiert wurde, und zwar mit <strong><a href=\"https:\/\/de.wikipedia.org\/wiki\/Ext_JS\">ExtJS.<\/a><\/strong> Dabei handelt es sich um ein JavaScript-Framework. Der visuelle Teil der Applikation wird dabei (vereinfacht gesagt) mit Komponenten realisiert, die zwar sehr m&auml;chtig, aber auch sehr umfangreich sind. Hinter <strong><a href=\"https:\/\/de.wikipedia.org\/wiki\/Ext_JS\">ExtJS<\/a><\/strong> steht die Firma Sencha, die ExtJS sowohl unter einer GPL-Lizenz als auch unter einer kommerziellen Lizenz vertreibt. Allerdings werden die Bedingungen der GPL-Version immer mal wieder ge&auml;ndert, wer ohne die kommerzielle Version von ExtJS entwickeln m&ouml;chte, wird mehr H&uuml;rden als Hilfen bei der Arbeit erfahren.\n<\/p>\n<p>\n\tAus diesen Gr&uuml;nden war bereits vor Jahren klar, dass ExtJS nicht in ArchivistaVM Einzug halten wird. Und zwar nicht nur, weil nicht klar war\/ist, inwiefern die GPL-Version von <strong><a href=\"https:\/\/de.wikipedia.org\/wiki\/Ext_JS\">ExtJS<\/a><\/strong> brauchbar ist, sondern auch, weil &uuml;ber 10 oder 20 Jahre nicht vorhergesagt werden kann, ob das Framework an sich Bestand haben wird. Des weitern l&auml;sst aber auch die Gr&ouml;sse des Frameworks aufhorchen, ExtJS 6.0.1 kommit mit 531 MByte an Sourcen, weit &uuml;ber 44000 Dateien sowie fast 2.7 Millionen Codezeilen daher. Kurz und gut, ein solches &#39;Monster&#39; passt f&uuml;r ArchivistaVM einfach nicht.\n<\/p>\n<h2>\n\t<strong><a href=\"https:\/\/perl.apache.org\/embperl\/pod\/intro\/Intro.-page-2-.htm\">EmbPerl<\/a><\/strong> kleiner, aber nicht mehr zeitgem&auml;ss<br \/>\n<\/h2>\n<p>\n\tIm Vergleich dazu ist EmbPerl ein wahrer Winzling, &#39;gerade&#39; einmal 123911 Codezeilen umfasst das Paket. Aber, und dies ist die schlechte Nachricht, EmbPerl arbeitet nur in Verbindung mit Apache 2.2 stabil. Alle Versuche, EmbPerl auf die aktuelle Version 2.4 von Apache zu migrieren, scheiterten bislang. Zwar ist EmbPerl zu 100% OpenSource, doch die Pflege von weit &uuml;ber 100&#39;000 Codezeilen nicht ganz trivial. Aus diesem Grunde war klar, EmbPerl musste ersetzt werden.\n<\/p>\n<h2>\n\tEvaluation von JavaScript-Bibliotheken<br \/>\n<\/h2>\n<p>\n\t&Uuml;ber einen Zeitraum von ca. 1 bis 2 Jahren wurden verschiedene Alternativen getestet und er&ouml;rtert. Naheliegend w&auml;re gewesen, anstelle von ExtJS ein anderes modernes JavaScript-Framework zu verwenden, doch liessen sich von kommerziellen &#39;Monstern&#39; abgesehen kaum brauchbare Alternativen finden. Am ehesten h&auml;tte <strong><a href=\"http:\/\/w2ui.com\/web\/\">W2ui<\/a><\/strong> gepasst, siehe dazu <strong><a href=\"http:\/\/w2ui.com\/web\/\">http:\/\/w2ui.com.<\/a><\/strong> Mit ca. 16&#39;000 Codezeilen f&uuml;r ein ganzes Set von Komponenten ist diese Bibliothek sicher nicht &uuml;berdimensioniert.\n<\/p>\n<p>\n\tProblematisch bei der Migration von ArchivistaVM war aber, dass im bisherigen Code viele Daten an einen internen Daemon &uuml;bermittelt werden. Neben einem neuen Frontend (JavaScript) h&auml;tte somit auch ein grosser Teil der Applikation serverseitig (in Perl oder einer anderen Sprache) realisiert werden m&uuml;ssen. Vorallem aber w&auml;re es unm&ouml;glich gewesen, das bisherige Web-Interface auch nur ann&auml;hrend beizubehalten. Mit anderen Worten, ArchivistaVM w&auml;re nicht mehr ArchivistaVM gewesen.\n<\/p>\n<h2>\n\tNativer Perl-Code als L&ouml;sung f&uuml;r <strong><a href=\"https:\/\/archivista.ch\/cms\/de\/produkte\/virtualisierung\/\">ArchivistaVM<\/a><\/strong><br \/>\n<\/h2>\n<p>\n\tManchmal ben&ouml;tigt ein Entscheid etwas l&auml;nger. Nach vielen Tests und &Uuml;berlegungen reifte der Entschluss, den &#39;alten&#39; fragmentierten&#39; Code in nativen Perl-Code (ohne EmbPerl) zu &uuml;bertragen. Dies bedeutete zwar, dass s&auml;mtliche der ca. 80 Dateien angepasst werden mussten, doch bot sich dabei auch gleich die Gelegenheit, den Code zu &uuml;berarbeiten. Damit wurde es m&ouml;gich, die Codebasis von &uuml;ber 40&#39;000 Zeilen auf gute 10&#39;000 Zeilen zu reduzieren, analog dazu sank auch die Anzahl der Dateien auf einen Viertel.\n<\/p>\n<p>\n\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/archivista.ch\/cms\/wp-content\/uploads\/image\/italien2.jpg\" style=\"width: 601px; height: 338px;\" \/>\n<\/p>\n<p>\n\tDer Aufwand f&uuml;r diese Migration belief sich auf einige hundert Stunden (inkl. der gesamten Evaluation) an Arbeit. Jede andere L&ouml;sung h&auml;tte einen weit h&ouml;heren Aufwand erfordert, von denn neu eingegangenen Abh&auml;ngigkeiten ganz zu schweigen. Es mag sein, dass ein solcher Blogeintrag auf den ersten Blick nun nicht wahnsinnig spannend erscheinen mag. Selbstverst&auml;ndlich w&auml;re es marketingtechnisch einfacher hinzuschreiben: Komplett neue Applikation, und dann tausend neue Features anzuf&uuml;hren. Doch, ist es nicht so, wer die gleiche Applikation zweimal schreibt, hat der seine &#39;Hausaufgaben&#39; wirklich gut gemacht?\n<\/p>\n<p>\n\tZum Abschluss sei nochmals erw&auml;hnt, dass mit der <strong>neuen Version 2016\/VII von ArchivistaVM 100% Kompatiblit&auml;t zum bisherigen sehr stabilen Unterbau von ArchivistaVM<\/strong> erzielt werden konnte. Daher kann die Version 2016\/VII problemlos produktiv eingesetzt werden. Die neue Version von ArchivistaVM steht ab sofort sowohl in der <strong><a href=\"https:\/\/archivista.ch\/cms\/de\/support\/community\/\">freien Version Mini<\/a><\/strong> wie auch f&uuml;r die Kunden mit Wartungsvertrag zur Verf&uuml;gung. In diesem Sinne, auf die n&auml;chsten 10 Jahre mit ArchivistaVM.\n<\/p>\n<p>\n\t<em>P.S: ArchivistaVM steht bislang auf jeder ArchivistaBox mit Intel\/AMD-Prozessor zur Verf&uuml;gung, selbst bei ArchivistaDMS (Home-Button w&auml;hlen). Im Unterschied zu den bisherigen Versionen von ArchivistaVM, die nicht unter ARM-Prozessoren liefen, stellt dies bei der aktuellen Version von ArchivistaVM keine H&uuml;rde mehr dar. Die Zukunft wird zeigen, ob ArchivistaVM auch Einzug auf den ARM-basierten ArchivistaBoxen halten wird.<\/em><\/p>\n\n\n\n\t<div class=\"dkpdf-button-container\" style=\"            text-align:right \">\n\n\t\t<a class=\"dkpdf-button\" href=\"\/cms\/wp-json\/wp\/v2\/pages\/1829?pdf=1829\" target=\"_blank\"><span class=\"dkpdf-button-icon\"><i class=\"fa fa-file-pdf-o\"><\/i><\/span> PDF Button<\/a>\n\n\t<\/div>\n\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Rundum erneuert und fit f&uuml;r die n&auml;chsten 10 Jahre Egg, 12. Juli 2016: Mit der Version 2016\/VII steht ArchivistaVM mit komplett neuer Technologie zur Verf&uuml;gung. Dabei gibt es zwei gute Neuigkeiten: Erstens, die neue Version ist sowohl in der Webansicht als auch auf der Konsole zu 100% kompatibel zu den bisherigen Versionen und zweitens der [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2100,"menu_order":216,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-1829","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/pages\/1829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/comments?post=1829"}],"version-history":[{"count":11,"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/pages\/1829\/revisions"}],"predecessor-version":[{"id":2580,"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/pages\/1829\/revisions\/2580"}],"up":[{"embeddable":true,"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/pages\/2100"}],"wp:attachment":[{"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/media?parent=1829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}