Technisch

Hier finden Sie Beiträge rund um das Thema Technisch.
Kategoriesuche

Co-Shopping für Magento unter Beachtung von Multiuser Problematiken (2012)

Die dotSource entwickelte im Rahmen des Softwareprojekts SCOOBOX verschiedene Erweiterungen der Out-of-the-Box-Lösung. Zu den aktuellsten gehört null, welches es ermöglicht gemeinsam mit Freunden im Onlineshop einzukaufen. Da SCOOBOX grundsätzlich auf die Intershop Enfinity Suite angepasst ist, mussten für eine Umsetzung auf Magento jeweils gewisse Anpassungen vorgenommen werden. Die Dokumentation der Umsetzung stellt den Großteil der hier dargelegten Arbeit dar. Dieser Teil ist der anwendungsnahe Abschnitt der Arbeit und beinhaltet Kapitel zu Themen wie z. B. den Anforderungen, Funktionsbeschreibungen, Caching, Datenhaltung mittels MySQL, der Requestlogik im Zusammenhang mit dem Server und bekannten Problemen bei der Entwicklung mit Magento.

Den anderen Großteil der Arbeit bildet ein allgemeiner Teil zum Mehrbenutzerhandling im E-Commerce. Mit einem höheren Useraufkommen werden die Anforderungen an einzelne Funktionen immer größer. Um dieser wachsenden Ressourcenbelastung entgegen zu wirken kann man entweder eine vertikale Skalierung durch z. B. eine Speichervergrößerung oder eine horizontale Skalierung vornehmen.
Im Bezug auf die horizontale Skalierung wird das Verfahren der Synchronisation von Serversystemen in dieser Arbeit näher erläutert. Hierbei werden verschiedene Transaktionen und Isolationslevel in Datenbanken beleuchtet. Darauffolgend wird ein geeignetes Verfahren zur Datenhaltung bestimmt. Nach diesem allgemeinen Teil folgt dann der schon erwähnte Teil zur Umsetzung des Co-Shopping-Tools auf Magento.Kostenloser Download der gesamten Projektarbeit

Externe Suchengines – FACT-Finder und Solr im Vergleich (2011)

Suchtechnologien werden heutzutage in allen Bereichen des Internets eingesetzt. Das bekannteste und erfolgreichste Beispiel ist Google. Das Hauptaugenmerk wird oft auf die Genauigkeit und Strukturierung der umfangreichen Informationen gesetzt.
Für Onlineshops ist eine Suchfunktion elementar. Viele Shopbesucher wissen schon vorher welches Produkt sie kaufen bzw. anschauen möchten und nutzen so die Suchfunktion. Hier muss also eine effiziente und genaue Suche erfolgen, um eine hohe Konversion zu gewährleisten. Eine eigene Entwicklung der Suchfunktion ist für viele Betreiber und Entwickler ein ressourcenaufwändiger Prozess. Deswegen greifen Onlineshopbetreiber oft auf externe Lösungen zurück.
Zwei sehr erfolgreiche Vertreter dieser Branche sind FACT-Finder und Solr, welche auf dem Gebiet der Suche in Online-Shops bzw. im E-Commerce sehr breite Anwendung finden, sodass an einem Vergleich dieser Produkte ein öffentliches Interesse besteht.
Der FACT-Finder basiert auf dem patentierten Algorithmus FACT und ist in der Programmiersprache C geschrieben. Die Suchergebnisse werden mit Hilfe eines mathematisch-linguistischen Verfahrens, welches auf dem Fuzzy-Set-Modell beruht, und einem phonetischen Vergleich, basierend auf der Omikron Phonetik, ermittelt. Für den Import stellt FACT-Finder vier Schnittstellen bereit, sodass die Ergebnisse entweder als HTML, XML, Webservice oder JavaScript Object Notation (JSON) empfangen werden. Im Vergleich zu Solr stellt der FACT-Finder eine kommerzielle Standardlösung dar.
Solr ist somit in seiner Standardversion eine von Apache kostenfrei zur Verfügung gestellte Suchfunktion. Es basiert auf dem Suchkern Lucene und erweitert diesen mit zusätzlichen Funktionen und Webkomponenten zu einem Suchserver. Lucene basiert auf Java und arbeitet basierend auf dem Booleschen und dem Vektorraummodell. Für den Import von Suchergebnissen bietet Solr unterschiedliche Methoden (XML, JSON, PHP, Java) an, die intern durch den entsprechenden ResponseWriter realisiert sind.

Die Arbeit im Gesamten stellt zunächst allgemeine Suchalgorithmen vor, danach folgt eine Festlegung der verschiedenen Bewertungskriterien aus Sicht der Shopbetreiber sowie aus Sicht der Shopnutzer. Aufbauend auf diesen Kriterien wird nach einer Erklärung der beiden Suchfunktionen Solr und FACT-Finder ein Vergleich gezogen. Um die Kriterien der Performance und des Integrationsaufwandes einzuschätzen, wurden beide Programme in die von dotSource entwickelte Social Commerce Komplettlösung SCOOBOX integriert.
Kostenloser Download der gesamten Diplomarbeit 

Datensicherheit – Die Gefahr durch XSS, CSRF und SQL-Injections und Abwehrmöglichkeiten (2007)

Die Datensicherheit im Internet wird ein zunehmend wichtigeres Thema. Eine weitläufige Vernetzung, die immernoch existente Anonymität und immer neue Entwicklungen bringen auch stets Gefahren mit sich. So entstand neben der normalen Entwicklung im Internet auch ein großer Bereich der Internetkriminalität.
Verschiedene Varianten der Unterwanderung von Datenübermittlungen haben sich etabliert und werden von vielen noch nicht ausreichend abgesichert. So bestehen Gefahren durch Cross-Site-Scripting (XSS), Cross-Site-Request-Forgery (CSRF) und SQL-Injections. So werden User- bzw. Kundendaten und wenn möglich Bankdaten gephisht und anschließend missbraucht.

XSS stellen Angriffe auf Webservices über HTT-Protokolle dar. Eine Sicherheitslücke bei Logins bzw. Eingabefelder wird mit versteckten HTML-Codes unterwandert um Daten zu erlangen. Das CSRF ist eine Fremdeinwirkung auf eigene Daten durch das Einschleusen bzw. die Annahme der Identität der User. Durch Änderungen werden z.B. HTTP-Request infiltriert und kontinuierlich Einfluss genommen. Ein beispielhafter Vorgang wäre der Zugriff auf Online-Banking-Vorgänge durch ein weiteres aktives Login bei einer anderen Anwendung. Auch beim dritten in der Facharbeit dargestellten Problem der SQL-Injektion wird ein Datenbankaustausch bzw. eine Datenbank unterwandert. Hierbei werden SQL-Befehle eingebaut bzw. so verändert, sodass der Angreifer z.B. Einfluss auf die Abläufe im System gewinnt, Passwörter bestimmen kann oder den Server kontrolliert.
Neben einer genauen Darstellung der drei verschiedenen Bedrohungen XSS, CSRF und SQL-Injections beleuchtet die Facharbeit mögliche Abwehrstrategien und Beispielfälle im Bezug auf alle Varianten.
Kostenloser Download der gesamten Projektarbeit

Absicherung von Serversystemen – Beispielhafte Betrachtung eines Debian Servers (2010)

Durch eine immer stärkere Abhängigkeit von Unternehmen zu technischen Geräten, Abläufen und Daten rückt die IT- und Datensicherheit immer weiter in den Vordergrund. Egal ob Verluste von Onlineshops durch fehlerhafte oder ausgefallen Serversysteme oder Viren- und Datenklauangriffe, der Schaden durch technische Probleme kann immens ausfallen. Eine komplette Absicherung kann bei einer Verbindung zu einem externen Netz kann nie gewährleistet werden. Eine strikte und strukturierte Sicherung der Systeme und Serverumgebungen kann dennoch die größten Probleme weitestgehend verhindern.

In der hier präsentierten Projektarbeit werden zunächst verschiedene Sicherheitsstandards erläutert sowie die verschiedenen Aspekte einer kompletten Serverabsicherung allgemein beleuchtet. Im restlichen Teil werden diese Fakten auf das ehemalige Debian Serversystem der dotSource GmbH bezogen und erläutert wie wichtig die menschliche und somit nicht vollautomatische Sicherung ist.
Kostenloser Download der gesamten Projektarbeit 

Open Source: Das „Workflow Tool“ als Eclipse Extension

Das Wachstum und die ständige Anpassung von Prozessen und Strukturen von Unternehmen wie der dotSource GmbH machen es nötig eine geeignete Steuerung vorzunehmen. Es entstehen immer neue verbesserte und optimiertere Abläufe und Standards. Diese Abläufe werden auch als Workflows bezeichnet.
Workflows sind IT-gestützte Prozesse mit einem definierten Anfang und Ende. In ihm enthalten sind einzelne Aktivitäten, welche entweder parallel oder sequentiell ausgeführt werden. In einen Workflow sind sowohl menschliche Arbeiten als auch vollautomatisierte Vorgänge integriert. Die grafische Darstellung erfolgt in einer festgelegten Reihenfolge. Die Grundbestandteile sind ein Start-Knoten, eine Sequenz von mit Pfeilen verbundenen Aktivitäten und ein Ende-Knoten. Um Workflows automatisiert ablaufen zu lassen, können Management Systeme verwendet werden.
Auf Grundlage der Funktionen der grafischen Editiersoftware JaWE ( Java Workflow Editor )  und der notwendigen Interpretation eines individuellen XML Dialektes, welcher von Eclipse nicht interpretiert werden konnte, enstand in der dotSource ein eigenes Workflow Tool. Dieses ermöglicht eine Zeiteinsparung, eine einfachere Anwendung und somit Kosteneinsparungen, denn vorher konnten interne XML Pakete, welche im XPDL Format  abgespeichert wurden, nur durch JaWe dargestellt werden.
Das Workflow Tool ist eine Extension für das quelloffene Programmierungstool Eclipse von IBM. Dieses Workflow Tool wurde in das dotSource Studio integriert. Es besteht aus 8 einzelnen Java Projekten, welche zusammen das WorkFlow Tool bilden und zur Logik in Kernkomponenten  und grafische Elemente unterteilt werden können. Über dotSource Labs stellen wir Interessierten den offenen Quellcode zur Verfügung.
Für nähere Informationen zum Entwicklungsprozess und den verschiedenen Funktionen und Möglichkeiten des Tools stellen wir eine Facharbeit zur Verfügung.
Kostenloser Download der gesamten Diplomarbeit 
Für alle die sich an dem Tool direkt interessieren, stellen wir über die dotSource Labs Plattform auf Sourceforge den Quellcode (Open Source) unter einer Lizenz zur Verfügung. Für die Übersetzung wird mindestens Java 5,  Eclipse ab Version 3.3 und das Graphical Editing Framework (GEF) Draw2d benötigt.
Hier gehts zum Workflow Tool auf Sourceforge.net (English description included)

 

Modultest Frameworks – PHPUnit Nutzung am Beispiel Preisbock (2010)

Das Testen von Software ist ein wichtiger Bestandteil jedes Entwicklungsprozesses. Mit Hilfe von Tests können Fehler in der Programmierung aufgedeckt und die Software auf ihre Funktionalität geprüft werden. Regelmäßige Tests tragen somit zur Sicherung der Qualität der Software bei. Eine fehlerlose Software ist zwar nie garantiert, jedoch sollte ein intensives Testing die Möglichkeiten geben viele und vor allem grobe Fehler zu identifizieren.
Für ein gutes Testing sind, wie auch beim Programmieren, ein strukturierter Aufbau, eine gute Übersichtlichkeit sowie eine Dokumentation wichtig. Grob werden Sie in dynamische Testverfahren und analytische Quellcodebetrachtungen unterteilt.
Die in diesem Beitrag vorgestellte Arbeit stellt darauf aufbauend zunächst die verschiedenen Arten von Tests dar. Außerdem wird eine Übersicht von verschiedenen PHP Modultest Framework s gegeben, um anschließend den Einsatz von PHPUnit (kurzes Nutzungsmanual) im Testing und der Entwicklung der Sctwitter-Schnittstelle für die dotSource eigene Liveshoppingplattform Preisbock darzulegen.
Kostenloser Download der gesamten Projektarbeit 

Performanceoptimierung in Magento durch Nutzung eines Content Distribution Network (2011)

Das Internet wächst ständig. Die verarbeiteten Datenmengen sind in den letzen Jahren explodiert und bei derzeit ca. 900 Petabyte übertragener Daten pro Tag (das sind ca. 2300 mal alle Bücher der Welt die je geschrieben wurden) ist noch lange nicht Schluss. Im Bezug auf den Datenhaushalt hat sich auch einiges geändert. Vor allem das outsourcen von Daten auf externe Clouds ermöglicht ständige Erreichbarkeit der Daten. Für Webseitenbetreiber ergibt sich aus diesen Services die Möglichkeit Daten der eigenen Seite auf externe Server abzuladen, um so schnellere Ladezeiten zu erreichen. Diese schnelleren Ladezeiten erhöhen wiederrum die Konversion der einzelnen Homepages.
Genau hier setzt die aufgeführte Facharbeit über CDNs an. Zunächst stellt sie das Prinzip des zentralen Servers und das Prinzip der CDN gegenüber. Außerdem erfolgt in diesem Zusammenhang eine Gegenüberstellung von wirtschaftlichen Vorteilen sowie den zusätzlichen Kosten durch eine dezentrale Ablagerung der Daten. Nach einer Vorstellung des Amazon Cloud Dienstes wird die Gegenüberstellung durch vier verschiedene Tests mit Hilfe von WAPT (Web Application Testing Tool) und der Magento Extension „OnePica ImageCDN“ am Magento Demo-Shop durchgeführt.  Die Ergebnisse und die Auswertung bilden den Abschluss der Arbeit. Das unten gezeigte Image zeigt die Zusammenfassung der 4 Tests und hebt die schnellsten und langsamsten Varianten hervor.

Kostenloser Download der gesamten Projektarbeit 

Design Patterns in der Softwareentwicklung – Theorie und Praxis am Beispiel Magento (2011)

Im Bereich des E-Commerce gibt es verschiedenste Design Patterns (Entwurfsmuster). Sie dienen als Hilfen die aus vergangenen Projekten in neue Projekte umgemünzt werden können. Die hier einsehbare Arbeit stellt dabei die Vor- und Nachteile solcher Unterstützungen im Bezug auf die Entwicklungen in Magento dar. Außerdem werden verschiedene in Magento verwendete Entwurfsmuster beleuchtet und die Verwendungen aufgeführt. Das Ganze wird durch einzelne Programmierabschnitte und UML Diagramme grafisch unterstützt und mit der Darstellung einer Magento Request abgeschlossen.

Kostenloser Download der gesamten Projektarbeit 

Affiliate Komponenten – Spezifikation einer Erweiterung der SCOOBOX (2009)

Das internetbasierte Affiliate-Vertriebssystem hat sich in den letzten Jahren erheblich weiterentwickelt. Die verschiedenen Varianten werden von fast allen Onlineplattformen genutzt und verschiedene Pay per Click oder Pay per Sale Ansätze werden in kreativen Varianten umgesetzt. Für die hauseigene Software SCOOBOX entwickelte die dotSource eine eigene Affiliate Komponente.
Die Facharbeit zum Thema stammt von 2009. Neben allgemeinen Erläuterungen, rund um Affiliatesysteme und -varianten sowie einer Betrachtung von Requirements, enthält die Arbeit eine Betrachtung der Planung für die SCOOBOX Affiliate Komponente. Die Arbeit behandelt neben vielen technischen Inhalten im Bereich der Affiliate Betrachtung auch einzelne betriebswirtschaftliche Aspekte rund um Bezahlabläufe.

Kostenloser Download der Projektarbeit 

Integrierte Entwicklungsumgebungen – Effizientere PHP-Entwicklung mit Zend Studio (2010)

Im Prozess verschiedener Softwareentwicklungen entstehen neben dem eigentlichen Projekt immer wieder Tools und Hilfsmittel die den Entwicklungsprozess an sich unterstützen. Durch integrierte Entwicklungsumgebungen (IDE), wie das in dieser Arbeit diskutierte Zend Studio, können bei richtiger Anwendung viele Erleichterungen und Verbesserungen geschaffen und für die Zukunft genutzt werden. Zend Studio, im Speziellen, ist auf PHP-Programmierungen ausgelegt. Die charakteristisch wichtigen Merkmale von Zend Studio, wie auch bei allen anderen IDEs, sind die Funktionalität und die Benutzerschnittstelle. Es ist neben dem PHP Development Tool und Aptana einer der wichtigsten Vertreter verschiedener Weiterentwicklungen aus Eclipse. Die aktuelle Version 8.0 finden sie hier.
Die Arbeit, aus dem Jahr 2010, befasst sich mit einer allgemeinen Betrachtung von IDEs, den Funktionalitäten und Vorteilen von Zend Studio sowie verschiedenen Empfehlungen im Umgang mit diesen.
Kostenloser Download der gesamten Projektarbeit