Das Unternehmen ist unter anderem verantwortlich für solche Projekte wie z.B. Astroskopia.de, Tageshoroskope.de, Gratisgutschein.de und Treiber.de. Der eine oder andere Leser weiß nun schon, um welches Unternehmen es sich handelt. Es ist die SuperComm GmbH.
Die SuperComm GmbH ist eines der Unternehmen, das es geschafft hat, im Online Marketing bereits seit 2003 als Online-Marketing Agentur aktiv zu sein und viele erfolgreiche Projekte zu launchen. Darunter auch ein so bekanntes Portale wie z.B. free-sms.de. Eine Free-SMS Plattform mit fast 3 Millionen Nutzern. Wer sich im Online Marketing etwas auskennt, weiß, dass es sich hier bei einer fast 10 jährigen Unternehmensgeschichte um eine kleine Ewigkeit handelt, auf die das Unternehmen sehr stolz sein kann.
Der Erfolg basiert auf einem guten Team und einem umfangreichen Leistungs-Portfolio, das von E-Mail Marketing über Projektentwicklung, Fax Marketing, Lead-Generierung bis zu Banner-Werbung und vielen weiteren Services reicht. Während sich viele kleinere Agenturen auf nur wenige Dienstleistungen und Produkte konzentrieren, ist die SuperComm Data Marketing GmbH vergleichbar mit dem Schweizer-Taschenmesser unter den Online-Marketing Unternehmen. Zum Beweis hier noch mal ein paar Details zu den einzelnen Leistungen.
1. E-Mail Marketing
Beim E-Mail Marketing kann die SuperComm Data Marketing GmbH auf über 5 Millionen Endverbraucher und Geschäftskunden zurückgreifen. Dabei kann der Auswahl aus dem deutschen und europäischen Sprachraum gewählt werden. Eine zusätzliche Eingrenzung der Zielgruppe nach Region oder Interesse ist auch möglich. (Mich würde ja mal interessieren, ob eine meiner E-Mail Adressen auch in der Datenbank enthalten ist… Da muss ich wohl mal nachfragen )
2. Projektentwicklung
Hier können Kunden auf die Erfahrung und das Know-How aus den Bereichen Webdesign, Programmierung und natürlich auch Onlinemarketing vertrauen und der SuperComm die Entwicklung und Pflege kompletter Projekte übertragen.
Dies ist ein echter Mehrwert für eine Online-Marketing Agentur. Eine Agentur, die auch über Programmierer und Projekterfahrung im Programmier-Umfeld hat ich echt wertvoll, da so ein enger Austausch zwischen den Online-Marketing Mitarbeitern und den Programmieren möglich ist.
3. Fax Marketing
Ein alter Hut? Für den Einen oder Anderen ist es ein alter Hut, aber Tatsache ist, dass es in Deutschland noch immer über 10 Millionen Faxgeräte gibt und über den Weg der Ansprache per FAX kann man ein großes Potential an speziellen Zielgruppen erreichen.
Auch wenn ich persönlich kein FAX Nutzer bin und das FAX nach Meiner Meinung nach auch keine rosige Zukunft mehr vor sich hat, ist es heute noch sinnvoll, das FAX Marketing für spezielle Zielgruppen einzusetzen.
4. Lead-Generierung
Was nützt das beste Marketing Material, wenn es keiner zu Gesicht bekommt? Es ist ein entscheidender Punkt, dass man möglichst viele und qualifizierte Personen ansprechen kann. Die SuperComm Data Marketing GmbH verfügt über eine großes Netzwerk und täglich kommen über 6.000 neue Adressen hinzu.
5. Bannerwerbung
Der Klassiker unter den Online Marketing Maßnahmen ist noch immer die Bannerwerbung. Über die SuperComm Data Marketing GmbH ist es es möglich, Bannerwerbung auf TOP-Internetseiten zu Buchen. Dabei verfügt SuperComm über Top Webseiten aus dem eigenen Netzwerk sowie aus Partner-Netzen.
6. Weitere Services
Neben den oben angesprochenen Themen biete SuperComm auch noch eine Reihe anderer Dienste an. Darunter unter anderem Suchmaschinenoptimierung, Suchmaschinenmarketing, individuelle Programmierungen und die Erstellung von Werbemitteln.
Fazit: Die SuperComm Data Marketing GmbH aus Bonn ist eine Online-Marketing Agentur, die für alle Belange vom Webdesign über Suchmaschinenmarketing bis hin zur individuellen Programmierung alles bietet. Das Team ist eine gute Mischung aus Marketing / Vertrieb und Delivery und auf der Seite „Über uns“ habe ich sogar einen Mitarbeiter entdeckt, der schon eine kleine Berühmtheit in der Online-Marketing und Gründer Szene ist. Wer das ist verrate ich hier nicht. Ich sage nur, dass ich ihn unter „Projektentwicklung / Webdesign“ entdeckt habe.
Related posts:
]]>Denn nun ist das Feature eingebaut und nun kann man noch schneller eine Webseite auf den übertragen und het so mehr Zeit zum Lesen.
Ich hoffe, dass der Webservice zum offline Lesen von Webseiten so noch besser zu nutzen ist und Kindle Inhaber (so wie ich) noch mehr Zeit zum Lesen haben.
Links:
web2kindle.de
Artikel: Webseiten offline auf dem Kindle lesen
Related posts:
]]>1. Veranstalter: SEO DAY (Fabian Rossbacher und sein Team)
2. URL zum Megaabstauberseo Contest: http://www.seo-day.de/seo-contest-der-megaabstauberseo-raumt-richtig-ab.html
3. Der aktuelle Google Index zum Suchbegriff:
4. Preise: Eine ganze Menge. Am besten auf der Webseite zum Contest nachlesen. Allerdings ist diese mal kein iPhone und auch kein iPad dabei.
5. Termin: Der Megaabstauberseo Contest endet am 25.10.2012 um 17.30 Uhr.
Natürlich gibt es auch schon ein Video dazu, aber das habt Ihr euch sicher schon gedacht. Was ist denn ein SEO Contest ohne ein Video? Das gibt es doch eigentlich nicht mehr. Hier also das Video zum Contest.
http://www.youtube.com/watch?feature=player_embedded&v=YFcYVFfaIzM
So wie ich das sehe, bin ich mal wieder recht fix und schaffe es wohl auch wieder in die Top 10. Allerdings werde ich mein Ranking nicht halten können, da ich dieses mal keine Zeit habe mitzumachen. Aber der Artikel ist geschrieben und ich kann sagen ich war auch mal unter den Top 10 und damit ist meine Arbeit auch getan
Wie oben angedeutet habe ich es in nur 2 Minuten in die Top 10 geschafft
Naja, das war nicht so schwierig. Aktuell gibt es ja erst 22 Treffer in den Google Suchergebnissen. Da ist es einfach mit einer starken Domain auf Platz 4 zu kommen. Aber halten werde ich den Platz nicht, da ich kein Linkaufbau betrieben werde und nur diesen einen Blogbeitrag veröffentliche, den ich von Zeit zu Zeit einfach ein wenig aktualisiere.
No related posts.
]]>Ziel dieses Artikels ist es, ein einfaches Beispiel mit den oben genannten Technologien (Maven, Java, Hibernate und MySQL) zu realisiern, bei dem die Funktion und das Zusammenspiel der unterschiedlichen Komponenten deutlich wird.
Folgende Tools & Technologienverwende ich für dieses Beispiel:
Maven (http://maven.apache.org/)
Eclipse (http://www.eclipse.org/)
Java (http://www.java.com/de/)
Hibernate (http://www.hibernate.org/)
MySQL (http://www.mysql.de/)
Junit (http://junit.org/)
Als erstes wird in der MySQL Datenbank eine Tabelle angelegt. Auf diese Tabelle wird dann später mit Hibernate zugegriffen.
SQL Statement:
CREATE TABLE DBUSER ( USER_ID BIGINT (5) NOT NULL, USERNAME VARCHAR (20) NOT NULL, CREATED_BY VARCHAR (20) NOT NULL, CREATED_DATE DATE NOT NULL, PRIMARY KEY ( USER_ID ) )
Um ein neues Projekt mit Maven anlegen zu können, muss maven installiert und konfiguriert sein. Details zur Installation und Konfiguration von MAven kann man unter (http://maven.apache.org/run-maven/index.html) finden.
Nach der Installation und Konfiguration von Maven kann man mit dem folgenden Aufruf ganz einfach ein neues Java Projekt erstellen.
mvn archetype:generate -DgroupId=de.msoftware -DartifactId=Example1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Wenn man Maven das erste mal ausführt, warden eine ganze Menge jar Files heruntergeladen. Das passiert zum Glück nicht jedes Mal und wenn man Maven schon öfter mal genutzt hat, sieht man nun folgende Ausgaben auf der Konsole.
[INFO] Scanning for projects… [INFO] [INFO] ———————————————————————— [INFO] Building Maven Stub Project (No POM) 1 [INFO] ———————————————————————— [INFO] [INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>> [INFO] [INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<< [INFO] [INFO] — maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom — [INFO] Generating project in Batch mode [INFO] —————————————————————————- [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0 [INFO] —————————————————————————- [INFO] Parameter: groupId, Value: de.msoftware [INFO] Parameter: packageName, Value: de.msoftware [INFO] Parameter: package, Value: de.msoftware [INFO] Parameter: artifactId, Value: Example1 [INFO] Parameter: basedir, Value: /home/user [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] project created from Old (1.x) Archetype in dir: /home/user/Example1 [INFO] ———————————————————————— [INFO] BUILD SUCCESS [INFO] ———————————————————————— [INFO] Total time: 1.552s [INFO] Finished at: Mon Oct 08 16:40:58 CEST 2012 [INFO] Final Memory: 8M/23M [INFO] ————————————————————————
Maven erstellt hier das sogenannte “Maven Standard Directory Layout” für das neue Java-Projekt. Dabei wählt Maven für den Name des Verzeichnisses den Namen, den man als “artifactId” Parameter beim Maven Aufruf mitgegeben hat.
Maven Standard Directory Layout
http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
Nun ist ein neuer Ordner mit dem Namen „Example1“ mit allen benötigten Projektdateien angelegt worden, der folgende Dateien enthält:
./pom.xml ./src ./src/test ./src/test/java ./src/test/java/de ./src/test/java/de/msoftware ./src/test/java/de/msoftware/AppTest.java ./src/main ./src/main/java ./src/main/java/de ./src/main/java/de/msoftware ./src/main/java/de/msoftware/App.java
Der Aufbau der Verzeichnisstruktur und die darin enthaltenen Dateien sollten dem geübten Java Entwickler nicht unbekannt sein. Einzig die Datei pom.xml ist neu. Die Datei enthält einige maven spezifisch Informationen, auf die ich später noch eingehen werde.
Für den Impot des Projektes in Eclipse hat Maven auch eine Lösung parat. Mit dem Aufruf mvn eclipse:eclipse kann man ein Projekt ganz einfach in Eclipse importieren. Wichtig ist, dass man sich beim Aufruf in dem Order befindet, in dem auch die pom.xml Datei liegt. In diesem Beispiel ist es der Ordner Example1.
Auch hier werden beim ersten Aufruf wieder eine ganze Menge Downloads gestartet. Spätestens beim 2ten Aufruf des Kommandos sollte auf der Konsole folgende Ausgabe erscheinen.
[INFO] Scanning for projects… [INFO] [INFO] ———————————————————————— [INFO] Building Example1 1.0-SNAPSHOT [INFO] ———————————————————————— [INFO] [INFO] >>> maven-eclipse-plugin:2.9:eclipse (default-cli) @ Example1 >>> [INFO] [INFO] <<< maven-eclipse-plugin:2.9:eclipse (default-cli) @ Example1 <<< [INFO] [INFO] — maven-eclipse-plugin:2.9:eclipse (default-cli) @ Example1 — [INFO] Using Eclipse Workspace: null [INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER [INFO] Not writing settings – defaults suffice [INFO] File /home/user/Example1/.project already exists. Additional settings will be preserved, run mvn eclipse:clean if you want old settings to be removed. [INFO] Wrote Eclipse project for “Example1″ to /home/user/Example1. [INFO] [INFO] ———————————————————————— [INFO] BUILD SUCCESS [INFO] ———————————————————————— [INFO] Total time: 1.021s [INFO] Finished at: Mon Oct 08 16:54:48 CEST 2012 [INFO] Final Memory: 5M/13M [INFO] ————————————————————————
Nun hat sich die Verzeichnisstruktur etwas verändert. Hinzugekommen sind die beiden Eclipse typischen Dateien:
./.project ./.classpathNun kann man Eclipse öffnen und das Projekt über den Menüpunkt File -> Import -> „Existing Projects into Workspace“ importieren und schon erscheint in der Liste der Projekt, sofern man den Example1 Order im Workspace liegen hat. Wenn nicht, ist es jetzt der richtige Moment, den Ordner dorthin zu verschieben. Alternativ kann man auch Eclipse dazu nutzen, das Projekt in den Workspace zu kopieren. Dazu setzt man einfach das Häckchen „Copy projects into workspace“.
Nach dem Import erscheint direkt ein Fehler, der daher kommt, dass es Probleme mit jUnit gibt. Sieht man sich die Projekteigenschaften mal genauer an, kommt man schnell darauf. Die Bibliothek junit-3.8.1.jar konnte nicht geladen werden. Das hat den einfachen Hintergrund, dass die junit Dateien nicht Teil des Projektes im Workspace sind, sondern direkt aus dem M2_REPO geladen werden. Daher muss Eclipse den Pfad des lokalen Maven Repositorys kennen. Um den Classpath so zu erweitern, dass auch die Dateien des M2_REPO Repositorys gefunden werden führt man einfach den folgenden Befehl aus:
mvn -Declipse.workspace=/home/user/workspace eclipse:add-maven-repoDanach muss Eclipse einman neu gestartet warden und schon sind die Fehler Vergangenheit. Der Aufruf erzeugt dabei auf der Konsole folgende Ausgaben.
[INFO] Scanning for projects… [INFO] [INFO] ———————————————————————— [INFO] Building Example1 1.0-SNAPSHOT [INFO] ———————————————————————— [INFO] [INFO] — maven-eclipse-plugin:2.9:add-maven-repo (default-cli) @ Example1 — [INFO] ———————————————————————— [INFO] BUILD SUCCESS [INFO] ———————————————————————— [INFO] Total time: 1.492s [INFO] Finished at: Tue Oct 09 08:07:47 CEST 2012 [INFO] Final Memory: 5M/13M [INFO] ————————————————————————
Im Hintergrund passiert eigentlich nicht viel. Es wird nur in der Datei Example1/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs der Eintrag org.eclipse.jdt.core.classpathVariable.M2_REPO=/home/user/.m2/repository hinzugefügt. Damit hat Eclipse nun den Hinweis bekommen, die ClasspathVariable M2_REPO durch /home/user/.m2/repository zu ersetzen. Sieht man sich nun in den Projekteigenschaften den Java Build Path an, kann man bei der junit Bibliothek gut erkennen, dass Eclipse die Variable nun durch den Pfad ersetzt.
Die ersten 3 Schritte haben nun ein fertiges, compilierbares, testbares und ausführbares „Hello Word“ Projekt erzeugt, das aber noch keinerlei Funktionalität enthält. Führt man in Eclipse die Funktion „Run“ aus, erhält man bei der Klasse App.java die Ausgabe „Hello World“ und bei AppTest.java wird eine jUnit Test ausgeführt, der einen Test enthält, der erfolgreich beendet wird.
So weit so gut. Nun soll die Anwendung aber ein wenig mehr tun, als nur ein ödes „Hello World“ auf den Montor zu zaubern. Daher ist es nun nötig, sich über die verwendeten Bibliotheken Gedanken zu machen. Je nachdem, welche Anforderungen an ein Projekt gestellt werden, sollte man sich überlegen, was man davon selber programmiert oder ob es möglich ist, hier oder da eine Bibliothek zu verwenden. In diesem Beispiel werden folgende Bibliotheken verwendet:
- junit (junit)
http://mvnrepository.com/artifact/junit/junit/4.10
- mysql (mysql-connector-java)
http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.6
- org.hibernate (hibernate-core)
http://mvnrepository.com/artifact/org.hibernate/hibernate-core/4.1.2
Da ich nun aber keine Lust habe, mich um die Bibliotheken und die Abhängigkeiten und das ganze Drumherum kümmern möchte, trage ich einfach die beiden Dependencies in meine pom.xml Datei ein. So entgehe ich der Dependency-Hell und kann mich ganz in Zukunft ganz auf meine Programmlogik konzentrieren. Eine gute Hilfe bietet mir hier die Seite http://mvnrepository.com. Hier kann ich einfach meine benötigte Bibliothek auswählen und kann dann den Dependency Block einfach per Drag and Drop in mein pom.xml File kopieren. Nach dem Kopieren der Textblöcke in den XML Source, empfiehlt es sich, einmal die Tastenkombination „Strg“ + „Shift“ + „F“ zu drücken. Damit wird der Sourcecode sauber formatiert und entspricht dann wieder den üblichen Formatierungs-Konventionen einer XML Datei.
Ob die Änderungen an der pom.xml Datei eine Auswirkung haben, kann man leicht testen, indem man auf der Konsole den Befehl „mvn package“ aufruft.Der Aufruf sollte mindestens folgende Aufrufe enthalten und einen Ordner target anlegen.
[INFO] Scanning for projects… [INFO] [INFO] ———————————————————————— [INFO] Building Example1 1.0-SNAPSHOT [INFO] ———————————————————————— [INFO] [INFO] — maven-resources-plugin:2.5:resources (default-resources) @ Example1 — [debug] execute contextualize [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory /home/user/workspace/Example1/src/main/resources [INFO] [INFO] — maven-compiler-plugin:2.3.2:compile (default-compile) @ Example1 — [INFO] Nothing to compile – all classes are up to date [INFO] [INFO] — maven-resources-plugin:2.5:testResources (default-testResources) @ Example1 — [debug] execute contextualize [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory /home/user/workspace/Example1/src/test/resources [INFO] [INFO] — maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ Example1 — [INFO] Nothing to compile – all classes are up to date [INFO] [INFO] — maven-surefire-plugin:2.10:test (default-test) @ Example1 — [INFO] Surefire report directory: /home/user/workspace/Example1/target/surefire-reports ——————————————————- T E S T S ——————————————————- Running de.msoftware.AppTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.062 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] — maven-jar-plugin:2.3.2:jar (default-jar) @ Example1 — [INFO] ———————————————————————— [INFO] BUILD SUCCESS [INFO] ———————————————————————— [INFO] Total time: 1.537s [INFO] Finished at: Tue Oct 09 08:42:02 CEST 2012 [INFO] Final Memory: 4M/11M [INFO] ————————————————————————
Wie man sieht, wird hier nicht nur das Jar File gebaut, sondern auch die junit Tests ausgeführt. Ist alles erfolgreich verlaufen, findet man man im Ordner target folgende Struktur vor:
target/ target/test-classes target/test-classes/de target/test-classes/de/msoftware target/test-classes/de/msoftware/AppTest.class target/classes target/classes/de target/classes/de/msoftware target/classes/de/msoftware/App.class target/surefire-reports target/surefire-reports/TEST-de.msoftware.AppTest.xml target/surefire-reports/de.msoftware.AppTest.txt target/Example1-1.0-SNAPSHOT.jar target/surefire target/maven-archiver target/maven-archiver/pom.properties
Ein Aufruf der Klasse App mit dem Aufruf „java -cp target/Example1-1.0-SNAPSHOT.jar de.msoftware.App“ erzeugt die folgende Ausgabe auf der Konsole.
Hello World!
Ein weiterer interessanter Aufruf von Maven ist „mvn site“. Mit dem Aufruf kann man unter target/site eine Reihe von html Dateien erzeugen lassen, die umfangreiche Informationen zu dem Projekt enthalten. Darunter auch die Dependencies, die in der Datei dependencies.html zu finden sind. In dem Dokument wird schnell deutlich, welche Abhängigkeiten man schon jetzt im Projekt hat.
Sehr interessant ist auch der Dependency Tree. In dem Tree werden noch einmal die Abhängigkeiten als Tree dargestellt. Zu jedem abhängigen Projekt wird hier auch die Projekt Lizenz angezeigt. So lässt sich auf einen Blick überschauen, ob Lizenzen dabei sind, die evtl. untereinander nicht kompatibel oder aus anderen Gründen nicht eingesetzt werden dürfen.
Ein Hello Word zu erzeugen, ohne eine Zeile Programmcode schreiben zu müssen ist toll, aber jeder Entwickler weiß, dass heute zutage kaum eine Anwendung ohne eine Datenbank auskommt. Daher muss als nächstes die Konfiguration der Datenbank folgen.
In Schritt 1 wurde die Tabelle „DBUSER“ angelegt, die nun in unserem Java Projekt bekannt gemacht werden muss. Dazu wird eine Datei „DBUser.hbm.xml“ im Ordner src/main/resources/de/msoftware/user mit folgendem Inhalt angelegt:
<?xml version=“1.0″ encoding=“utf-8″?> <!DOCTYPE hibernate-mapping PUBLIC “-//Hibernate/Hibernate Mapping DTD 3.0//EN” ”http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd”> <hibernate-mapping> <class name=“de.msoftware.user.DBUser” table=“DBUSER”> <id name=“userId” type=“int”> <column name=“USER_ID” precision=“5″ scale=“0″ /> <generator class=“assigned” /> </id> <property name=“username” type=“string”> <column name=“USERNAME” length=“20″ not-null=“true” /> </property> <property name=“createdBy” type=“string”> <column name=“CREATED_BY” length=“20″ not-null=“true” /> </property> <property name=“createdDate” type=“date”> <column name=“CREATED_DATE” length=“7″ not-null=“true” /> </property> </class> </hibernate-mapping>In dieser Datei wird die Tabelle DBUSER über das Hibernate Mapping mit der Klasse com.msoftware.user.DBUser verbunden, die Id der DBUSER Tabelle festgelegt und die benötigen Spalten mit ihren Eigenschaften veröffentlicht. Dank des Mappings ist es nun sehr einfach, die zugehörige Klasse in Eclipse anzulegen. Im Ordner src/main/java/de/msoftware/user/ wird die Klasse DBUser mit folgendem Inhalt angelegt:
package de.msoftware.user; import java.io.Serializable; import java.util.Date; public class DBUser implements Serializable { private static final long serialVersionUID = -7859213880449722708L; private int userId; private String username; private String createdBy; private Date createdDate; public DBUser() { } public DBUser(int userId, String username, String createdBy, Date createdDate) { this.userId = userId; this.username = username; this.createdBy = createdBy; this.createdDate = createdDate; } }Zum Anlegen der Getter und Setter für die Variablen verwenden wir eine der vielen hilfreichen Eclipse Werkzeuge. Dazu einfach im Sourcecode mit der rechten Maustaste (Sorry Mac-Users J ) das Kontextmenü öffnen und dort unter dem Menüpunkt „Source -> Generate Getters and Setters“ den Dialog zum Erzeugen von Gettern und Settern für die privaten Variablen aufrufen.
Nach der Auswahl der privaten Variablen kann man auf OK klicken und schon sind die get und set Methoden für die 4 Variablen erstellt.
Damit existiert nun eine Klasse, die per Hibernate Mapping mit einer Datenbank Tabelle verknüpft ist. Was nun noch fehlt ist die Datenbank Konfiguration, denn noch weiß die Anwendung noch nichts darüber, welche Datenbank verwendet werden soll. Hibernate benötigt also noch eine Konfigurationsdatei, in der die Eigenschaften der Datenbank eingetragen werden. Diese Datei wird im Ordern src/main/resources mit dem Namen hibernate.cfg.xml angelegt und hat folgenden Inhalt:
<?xml version=“1.0″ encoding=“utf-8″?> <!DOCTYPE hibernate-configuration SYSTEM “classpath://org/hibernate/hibernate-configuration-3.0.dtd”> <hibernate-configuration> <session-factory> <property name=“hibernate.connection.driver_class”>org.gjt.mm.mysql.Driver</property> <property name=“hibernate.connection.url”>jdbc:mysql://localhost:3306/example_1</property> <property name=“hibernate.connection.username”>root</property> <property name=“hibernate.connection.password”>password</property> <property name=“hibernate.dialect”>org.hibernate.dialect.MySQLDialect</property> <property name=“hibernate.default_schema”>example_1</property> <property name=“show_sql”>true</property> <mapping resource=“de/msoftware/user/DBUser.hbm.xml”></mapping> </session-factory> </hibernate-configuration>Damit nun in der Anwendung auch ein Datenbank Verbindung hergestellt werden kann, muss auch noch eine Java Klasse erstellt werden, die einen einfachen Zugriff auf die Hibernate Sessions ermöglicht. Dazu wird unter src/main/java/de/msoftware/util eine neue Java Klasse mit dem Namen HibernateUtil mit dem folgenden Inhalt angelegt.
package de.msoftware.util; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder; public class HibernateUtil { private static SessionFactory sessionFactory = buildSessionFactory(); private static ServiceRegistry serviceRegistry; private static SessionFactory buildSessionFactory() { try { // Create the SessionFactory from hibernate.cfg.xml Configuration configuration = new Configuration(); configuration.configure(); serviceRegistry = new ServiceRegistryBuilder().applySettings( configuration.getProperties()).buildServiceRegistry(); sessionFactory = configuration.buildSessionFactory(serviceRegistry); return sessionFactory; } catch (Throwable ex) { // Make sure you log the exception, as it might be swallowed System.err.println(“Initial SessionFactory creation failed.” + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } public static void shutdown() { // Close caches and connection pools getSessionFactory().close(); } }
Die frisch erzeugte Klasse hat nun eine Menge Fehler, da Eclipse bisher nicht darüber informiert wurde, dass nun die hibernate jar Files benötigt werden. Dies kann man nun auf unterschiedliche Art und Weise lösen.
Nun wird also mit dem Aufruf „mvn eclipse:eclipse“ die .classpath Datei des Eclipse Projektes auf Basis der pom.xml angepasst und während die Datei vorher fast leer war, hat die Datei nach dem Maven Aufruf nun folgenden Inhalt:
<?xml version=”1.0″ encoding=”UTF-8″?> <classpath> <classpathentry kind=”src” path=”src/test/java” output=”target/test-classes” including=”**/*.java”/> <classpathentry kind=”src” path=”src/main/java” including=”**/*.java”/> <classpathentry kind=”src” path=”src/main/resources” excluding=”**/*.java”/> <classpathentry kind=”output” path=”target/classes”/> <classpathentry kind=”con” path=”org.eclipse.jdt.launching.JRE_CONTAINER”/> <classpathentry kind=”var” path=”M2_REPO/junit/junit/4.10/junit-4.10.jar”/> <classpathentry kind=”var” path=”M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar”/> <classpathentry kind=”var” path=”M2_REPO/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar”/> <classpathentry kind=”var” path=”M2_REPO/org/hibernate/hibernate-core/4.1.2/hibernate-core-4.1.2.jar”/> <classpathentry kind=”var” path=”M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar”/> <classpathentry kind=”var” path=”M2_REPO/org/jboss/logging/jboss-logging/3.1.0.GA/jboss-logging-3.1.0.GA.jar”/> <classpathentry kind=”var” path=”M2_REPO/org/jboss/spec/javax/transaction/jboss-transaction-api_1.1_spec/1.0.0.Final/jboss-transaction-api_1.1_spec-1.0.0.Final.jar”/> <classpathentry kind=”var” path=”M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar”/> <classpathentry kind=”var” path=”M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.1.Final/hibernate-jpa-2.0-api-1.0.1.Final.jar”/> <classpathentry kind=”var” path=”M2_REPO/org/javassist/javassist/3.15.0-GA/javassist-3.15.0-GA.jar”/> <classpathentry kind=”var” path=”M2_REPO/org/hibernate/common/hibernate-commons-annotations/4.0.1.Final/hibernate-commons-annotations-4.0.1.Final.jar”/> </classpath>
Alle Einträge die mit der ClasspathVariable M2_REPO beginnen, wurden von Maven hinzugefügt und sind nach einem Neustart von Eclipse im Java Build Path verfügbar. Damit steht nun eine Datenbankverbindung zur Verfügung und die Nutzung der Tabelle DBUSERS über die Klasse DBUsers aus der Anwendung heraus kann realisiert werden.
Jetzt folgt der letzte Schritt, bei dem die Anwendung über die Anwendungslogik mit der Datenbank verbunden werden muss. Dazu wird die main Methode der App Klasse wie folgt ergänzt und die benötigten Imports mit Hilfe der Eclipse „Quick fixes“ ergänzt.
package de.msoftware; import java.util.Date; import org.hibernate.Session; import de.msoftware.user.DBUser; import de.msoftware.util.HibernateUtil; public class App { public static void main(String[] args) { System.out.println(“Maven + Hibernate + MySQL”); App app = new App(); app.execute (); } private void execute() { Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); DBUser user = new DBUser(); user.setUserId(1); user.setUsername(“michael”); user.setCreatedBy(“App”); user.setCreatedDate(new Date()); session.save(user); session.getTransaction().commit(); } }
Das Ausführen der App erzeugt nun in der Datenbank einen neuen Eintrag in der Tabelle DBUSER mit der ID = 1. Spätestens beim Zweiten Aufruf bekommt man dann aber den folgenden Fehler.
Exception in thread “main” org.hibernate.exception.ConstraintViolationException: Duplicate entry ’1′ for key ‘PRIMARY’
Das liegt einfach daran, dass schon ein Eintrag in der Datenbank vorhanden ist, der die ID 1 besitzt und die Spalte in der Datenbank als Primary Key gekennzeichnet ist. Daher kann man die execute Methode so wie sie ist nicht in den JUnit Test einfügen. Um einen sinnvollen Test der App Methode machen zu können, benötigt man im Idealfall als erstes also eine leere Datenbank, fügt dann einen Datensatz in die Datenbank ein und prüft zum Schluss, ob der Eintrag wirklich vorhanden ist.
Um der Anwendung ein wenig mehr Logik zu geben, wird die Klasse App noch einmal refactored und die Methoden getUser, saveUser und deleteUser in eine Klasse User ausgelagert. In der main Methode der App Klasse werden dann nur noch die Methoden aufgerufen.
Die Klasse User sieht dann z.B. wie folgt aus:
package de.msoftware.user; import java.util.Date; import org.hibernate.Session; import de.msoftware.util.HibernateUtil; public class User { Session session; public User () { session = HibernateUtil.getSessionFactory().openSession(); } public DBUser getUser (int id) { session.clear(); session.beginTransaction(); DBUser user = new DBUser(); session.load(user, id); session.getTransaction().commit(); return user; } public void saveUser (int id, String username, String createdBy) { session.clear(); session.beginTransaction(); DBUser user = new DBUser(); user.setUserId(id); user.setUsername(username); user.setCreatedBy(createdBy); user.setCreatedDate(new Date()); session.save(user); session.getTransaction().commit(); } public void deleteUser (int id) { session.clear(); session.beginTransaction(); DBUser user = new DBUser(); user.setUserId(id); session.delete(user); session.getTransaction().commit(); } }
Die Klasse App und den dazu gehörenden JUnit test kann man nun getrost löschen. Für den Test der Klasse User erzeugt man einen neuen JUnit Test mit der Eclipse Funktion „New JUnit Test Case“ und wählt hier für „Class under test“ die Klasse „de.msoftware.user.User“. In der Klasse UserTest wird dann ein Test mit einer Before und einer After Annotationen erstellt, der wie folgt aussieht.
package de.msoftware; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import de.msoftware.user.DBUser; import de.msoftware.user.User; public class UserTest { User user = new User (); private int id = 1; private String username = “michael”; private String createdBy = “App”; @Test public void testGetUser() { DBUser dbuser = user.getUser (id); if (!dbuser.getUsername().equals(username)) { fail(“GetUser faild”); } } @Before public void createUser() { user.saveUser (id, username, createdBy); } @After public void deleteUser() { user.deleteUser (id); } }
Der Test legt vor dem Test der Methode getUser einen neuen Datensatz an und nach dem Test wird dieser Datensatz wieder gelöscht. Der Test selbst, prüft nur, ob der username des geladenen Obketes dem erwarteten username entspricht. Ist das der Fall, ist der Test erfolgreich.
Nachdem nun alle Komponenten realisiert wurden und die Tests erfolgreich abgeschlossen sind, kann das Projekt zu einem Jar File gepackt werden. Dazu wird noch einmal der Befehl mvn package auf der Konsole eingegeben. Danach ist im Ordner target ein aktuelles Release der Anwendung ohne die Tests in der Datei Example1-1.0-SNAPSHOT.jar enthalten.
Hinweis: Der Dateiname setzt sich aus 2 Tags der pom.xml Datei zusammen. Einmal die artifactId (Example1) und dann noch die Version (1.0-SNAPSHOT). Das Maven hier ein Jar File erstellt wird auch in der pom.xml Datei festgelegt. In dem Tag packaging kann man statt jar z.B. auch war (für WAR-File J ) eintragen.
Weitere Details zur pom.xml kann man unter http://maven.apache.org/pom.html nachlesen.
Jedem sollten nun die Zusammenhänge zwischen den eingesetzten Tools und Techniken klar sein. Trotzdem hier noch mal eine kurze Beschreibung der einzelnen Komponenten dieses Examples.
Java ist die Programmiersprache. Wer es geschafft hat das Beispiel durchzuarbeiten ohne Vorkenntnisse in Java zu haben verdient meinen Respekt. Alle anderen wissen was Java ist und ich brauche hier nicht weiter darauf eingehen.
Eclipse ist eine IDE zur Entwicklung von Software. Die Ursprünge von Eclipse liegen in der Programmiersprache Java. Aber Eclipse wird mittlerweile auch für viele andere Programmiersprachen und Aufgaben eingesetzt. Eclipse selbst ist in Java realisiert und kann über Plugins beliebig erweitert werden.
Maven ist ein Build-Management-Tool für Java. Mit Maven kann man Java-Programme standardisiert erstellen und verwalten. Die Konfiguration erfolgt im wesentlichen in der pom.xml und auf der Konsole hat man einige Befehle, die Abläufe automatisieren können.
Hibernate ist ein Java Framework mit dem es sehr einfach möglich ist, Objete aus einem Java Programm in einer relationalen Datenbank abzulegen. Dem Java-Programm erscheint die Datenbank dann als objektorientierte Datenbank, wodurch die Programmierung erleichtert wird.
MySQL ist sehr weit verbreitete relationalen Datenbank, die (auch) als Open-Source-Software verfügbar ist. MySQL ist heute in fast jedem Webhosting Paket verfügbar und wird oft in Zusammenhang mit PHP genannt. Es gibt aber Konrektoren für die meisten Programmiersprachen wir z.B. Java.
Related posts:
]]>Ein WordPress Blog ist schnell installiert und dank der endlosen Liste von Plugins und Themes ist so ein Blog schnell und einfach an die eigenen Bedürfnisse angepasst. Im schlimmsten Fall muss dann doch noch mal ein Webdesigner oder Programmierer ran, um die persönlichen Bedürfnisse zu befriedigen. Ist der Blog aber erst mal aufgesetzt, kann man schon mit dem Bloggen beginnen.
Ein Blog alleine ist erst mal nichts, womit man Geld verdienen kann. Ein leerer Blog lässt sich nicht vermarkten. Daher ist der nächste Schritt des Bloggers das Bloggen. Dabei ist es eigentlich egal, worüber man schreibt, wenn es nur genug Menschen gibt, die sich dafür interessieren.
Mein Blog z.B. behandelt alles Mögliche rund um meine Online-Aktivitäten. Damit hat der Blog keinen richtigen Fokus auf ein Thema, was Vor- und auch Nachteile hat. Ein Vorteil ist, dass ich hier einfach schreiben kann, was ich will. Ein Nachteil ist, dass der Blog nicht als ein themenspezifischer Blog wahrgenommen wird und ich mich natürlich auch nicht wirklich in einer Nische positionieren kann. Da es mir auf dieser Webseite aber nicht primär darum geht, möglichst viel Geld zu verdienen ist das so OK.
Anders muss man vorgehen, wenn man seinen Blog, und damit auch sich selbst mit einem bestimmten Thema in Verbindung bringen will. Dann heißt es, all sein Wissen zum Thema in Blog Posts zu verpacken, Fragen beantworten und ein Netzwerk zu anderen Bloggern zum Thema aufbauen.
Hat man einen Blog erstellt und schreibt fleißig Blog Posts, ist der Anfang schon gemacht. Aber noch fehlen die Besucher. Woher kommen aber die meisten Besucher? Genau, die meisten Besucher kommen über Google und Co. auf die Webseite und nur wer ein gutes Google Ranking hat wird genügend Besucher bekommen um später den eigenen Blog vermarkten zu können. Denn eines ist klar. Eine Webseite ohne Besucher ist in aller Regel nicht interessant für das Blog Marketing (Allerdings gibt es hier auch Ausnahmen). Daher ist es wichtig, das Google Ranking durch die bekannten SEO Maßnahmen zu verbessern und ein Netzwerk von gleichgesinnten aufzubauen. Idealerweise bloggen die zu dem gleichen oder zu ähnlichen Themen und so kann man sich gegenseitig verlinken.
Irgendwann ist der Punkt erreicht, an dem man mit dem Blog Marketing beginnen kann. Jetzt ist die Auswahl des optimalen Marketing-Instrumentes entscheidend für den Erfolg. Beim Blog Marketing denken die Meisten wohl erst mal an Google Adsense oder an die klassischen Affiliate Marketing Methoden.
Doch es gibt noch andere Möglichkeiten, ein effizientes Blog Marketing ohne aufdringliche Banner und Werbeblöcke zu realisieren. Ein sehr einfaches und komfortables System findet man unter www.teliad.de.
Bei Teliad handelt es sich um einen Online Marketing Dienstleister, der besondere Stärken im Bereich Linkaufbau und Suchmaschinenoptimierung hat. Zu diesem Zweck hat man unter teliad.de einen Marktplatz für das Linkbuilding aufgebaut, der es Bloggern erlaubt, Links zu fairen Preisen zu verkaufen. Da es für die meisten Blogger nicht so einfach ist, den Wert eines Links oder einer Presell Page festzulegen, hat man bei Teliad verschiedene Messwert für die Ranking-Qualität von Webseiten entwickelt, mit denen automatisch ein Preis ermittelt wird. Als Blogger muss man nur noch entscheiden, welches Preisniveau man wünscht.
Über den Marktplatz kommen sowohl Verkäufer als auch Käufer von Linkbuilding Maßnahmen zusammen und es ist nicht nötig, dass der Blogger sich selbst um die Kunden-Akquise kümmern muss. Besonders vorteilhaft ist auch, dass die Abwicklung der Zahlungen zwischen Verkäufer und Käufer auch über Teliad erfolgt. Dieser Vorteil ist einer der wesentlichen Gründe, warum man sich für Teliad entscheiden sollte, denn gerade für Blog Projekte, die nur wenig Umsatz machen lohnt es sich nicht, eine Rechnungsabteilung zu installieren, die Rechnungen schreibt, eingehende Zahlungen kontrolliert und im Falle von Problemen bei der Zahlung Mahnungen schreibt. Bei Teilad bekommt man jeden Monat eine Gutschrift und braucht sich dafür um nichts zu kümmern. Natürlich ist dieser Service nicht kostenlos und Teliad verdient anhand einer Provisionsstaffelung mit am Blog Marketing. Die Provision die Teliad einbehält ist für jede erfolgreich vermittelte Buchung fällig. Allerdings fallen darüber hinaus keine weiteren Kosten an, so dass nur dann Kosten entstehen, wenn auch ein Umsatz erzielt wird.
Bei Teliad hat man eine Reihe von Möglichkeiten, den Blog dezent und unauffällig zu vermarkten. Egal wofür man sich hier entscheidet, ein Blog, der gut geführt ist und viele Besucher anzieht kann hier sehr gut vermarktet werden, ohne das Fixkosten entstehen oder man das Risiko eingeht, die Besucher durch zu viele bunte Werbebanner zu vergraulen.
No related posts.
]]>Doch es gibt auch Online Shops die noch einen Schritt weiter gehen und ihren Shop noch weiter spezialisieren und sich dadurch noch besser fokussieren können. Dazu gehört auch der Leiterplatten-Shop der Micro Circuit Technology GmbH den ich hier mal etwas näher beleuchten möchte.
Bei der Micro Circuit Technology GmbH handelt es sich um einen deutschen Leiterplattenhersteller mit Sitz in Krefeld. Im Online Shop ist es möglich, eine individuell gestaltete Leiterplatte online zu bestellen. Bei der Micro Circuit Technology GmbH ist es auch möglich, Multilayer Leiterplatten zu bestellen. Diese Mehrlagenplatinen haben dann statt nur einer, zwei Außenlagen und auf der Grundplatte mehrere Löt- und Bestückungslagen. Die typische Multilayer Platine ist dann je mit einer Bestückungs-, Ground, Signal- und Lötlage bestückt.
Bei der Micro Circuit Technology GmbH unterscheidet man zwischen 4 Leiterplatten-Services.
Diese 4 Leiterplatten-Services bieten unterschiedliche Möglichkeiten bei der Bestellung von Leiterplatten. Bei der Basic Jet Line ist es möglich, eine oder verschiedenen Leiterplatten gleicher Spezifikation zu bestellen. Bei der Medium Jet Line hat man schon deutlich mehr Möglichkeiten und kann von Prototypen bis zur Serie jede Leiterplatte online bestellen. Wer mit der Medium Jet Line nicht ausreichend versorgt ist, kann mit der Premium Jet Line noch einen Schritt weiter gehen und bekommt hier noch mehr Möglichkeiten und sogar noch eine persönliche Beratung oben drauf.
Eine Sonderstellung nimmt hier der Expressdienst für Großserien in Anspruch, der für besonders eilige Projekte ein Rapid Mass Production ermöglicht.
Fazit: Bei diesem Online Shop sieht man sehr schön, dass man doch nicht alles bei Amazon und Co. bestellen kann. Denn um Leiterplatten so verkaufen zu können, bedarf es einer ganz besonderen Anpassung der Shop-Lösung die man nicht von der Stange kaufen kann und die man bei der Micro Circuit Technology GmbH mit dem LEO TOOL (Leiterplatten einfach online) einfach und elegant umgesetzt hat.
Related posts:
]]>Inhaltlich ist die dmexco aber ein voller Erfolg und neben den vielen interessanten Anbietern von Digital Industry Produkten und Dienstleistungen gibt es auch viele spannende Vorträge. Leider sind auch diese total überlaufen und wenn man keinen Sitzplatz bekommt, ist man raus. So hat es mich gerade voll erwischt, als ich zu einem Thema in, die Congress-Hall wollte. Leider alle Plätze belegt – also Raus. Na toll . Aber was soll’s. Ich habe so viele neue interessante Kontakte geknüpft und Impressionen mitgenommen, dass ist echt unglaublich und erinnert stark an die CeBIT der Neunziger. Jetzt sind die Hallen total überfüllt und in den Gängen geht es zu wie auf Crange am Familientag. Die Mitarbeiter auf den Ständen sind alle total überfordert.
Hier noch ein paar Highlights der dmexco:
1. Natürlich PayPal und die QR Shopping App. Diese wird hier groß präsentiert. Nach einem Gespräch mit dem Business Development bin ich mir sicher, dass PayPal damit noch viel vor hat und die App ein voller Erfolg ist. Es macht echt Spaß ein kleiner Teil dieser Erfolgsgeschichte zu sein.
2. EnergyX.my – Ein Energy Drink, dem ich es wohl zu verdanken habe, dass ich mich noch frisch fühle und noch voller Energie bin. Jetzt schnell bestellen und 5 Euro mit dem Gutscheincode DMEXCO sparen.
3. Rankseller – Habe endlich mal Coskuna kennengelernt und wir haben ein wenig über die Zukunft von Rankseller gequatscht. Da ist noch viel Potential und ich werde mich da in Zukunft wohl etwas intensiver mit befassen. Denn das Konzept von Rankseller ist wesentlich besser als das anderer Linkaufbau Portale und daran möchte ich auch ein wenig partizipieren .
4. Econda bietet eine sehr gelungene Kombination aus Web Analytics Software und Recommendation Engine. Die grundsätzliche Idee ist sehr gut und eigentlich ist das etwas, das so offensichtlich ist, dass ich mich darüber wundere, nich schon vorher mal von so einer Lösung gehört zu habe. Recommendation Engines gibt es ja mittlerweile wie Sand am Meer und Web Analytics Tools ja auch. Beide nutzen die gleichen Daten und eine Verschmelzung ist nur eine logische Konsequenz.
5. Hitmeister bietet Verkäufern eine Shopping Platform auf der Produkte aller Art verkauft werden können. Damit steht Hitmeister in Konkurrenz zu ebay und amazon (auch wenn hitmeister nich annähernd die Reichweite von Amazon hat). Die Platform ist trotzdem interessant und bietet eine fertige Schnittstelle zu vielen Shop Systemen was hitmeister zu einer zusätzlichen Verkaufsplattform zum eigenen E-Commerce System macht. Die Kosten halten sich auch in Grenzen und wenn man so mehr potentielle Kunden erreichen kann – warum nich?
6. Testbirds. Ich habe ja schon mal über testbirds.de geschrieben und nun auch mal mit einem Sales Mitarbeiter gesprochen. Testbirds finde ich von der Idee her einfach gut, auch wenn das Tool (nest) noch verbesserungsbedürftig ist . Allerdings bin ich doch ein wenig erstaunt über die Preise die man hier für ein Test-Projekt veranschlagt.
Ich habe ja mal das Einführungs-Test-Projekt als Crowd Tester durchgezogen. Daraufhin sind mir auch ein paar Test Projekte angeboten worden und ich habe festgestellt, das man hier als Crowd Tester eher wenig verdienen kann und sich das eher für jugendliche lohnt, die ihr Taschengeld aufbessern wollen. Allerdings ist die Idee hinter testbirds einfach nur genial. Mit dem Konzept kann man wirklich eine unglaublich Testabdeckung erreichen, die sonst kaum möglich ist. Das hat natürlich seinen Preis.
So, das soll es erst mal gewesen sein. Mein Fazit:
Sehr gelungener Event, den ich mir für nächstes Jahr schon mal vormerken werde. Evtl. gewinne ich ja sogar ein iPad auf dem ich dann noch besser mobil bloggen kann. Gefühlt habe ich heute an ca. 100 iPAD Gewinnspielen teilgenommen . Jetzt noch schnell einen Penguin Killer auf der Searchmetrics Standparty und dann ist der Tag auch rum.
Related posts:
]]>Das mehr als 400 Seiten starke PDF von ibi research an der Universität Regensburg GmbH enthält alles was man für einen erfolgreichen Start in des E-Commerce Geschäft benötigt.
Aus dem Inhalt:
1. Über den E-Commerce-Leitfaden
2. Im Internet verkaufen – aber richtig!
2.1 Was, Sie verkaufen noch nicht im Internet?
2.2 E-Commerce: ja – aber wie?
2.3 Ohne Pannen und Umwege ans Ziel – was bei der Umsetzung zu beachten ist
3. Lasst Zahlen sprechen – Konversionsraten
steigern durch Web-Controlling
3.1 Wissen Sie, wohin Sie wollen? Am Anfang stehen die Ziele
3.2 Erfolg braucht Wissen – wichtige Kennzahlen und Instrumente für Online-Händler
3.3 Wer falsch misst, misst Mist – Verfahren zur Nutzeranalyse
3.4 Den Kundenwünschen auf der Spur – aber wie?
3.5 Auf los gehts los – Auswahl und Einführung von Web-Controlling-Tools
4. Bezahlen bitte – einfach, schnell und sicher!
4.1 Zahlungsverfahren für den E-Commerce
4.2 So kommen Sie an Ihr Geld – Auswahl und Integration von Zahlungsverfahren
4.3 Schluss mit Papier und Zettelwirtschaft – Rechnungen elektronisch abwickeln
5. Keine Chance ohne Risikomanagement –
schützen Sie sich vor Zahlungsstörungen
5.1 Lug und Trug im Online-Handel – was da alles schiefgehen kann
5.2 Vorbeugen ist besser als Heilen – Risikomanagement im E-Commerce
5.3 Was passiert, wenns kracht – so kommen Sie zu Ihrem Recht
6. Versand – vom Shop zum Kunden
6.1 Verkauft ist noch nicht geliefert
6.2 Der Versandprozess – das ganze Paket im Überblick
7. Geschäfte ohne Grenzen – im Ausland verkaufen
7.1 Neue Umsätze durch Internationalisierung – über das Internet!
7.2 Alles anders, oder wie? Was bei der Expansion ins Ausland zu beachten ist
7.3 Der einheitliche Euro-Zahlungsverkehrsraum (SEPA)
Kostenloser Download:
E-COMMERCELEITFADEN
NOCH ERFOLGREICHER IM ELEKTRONISCHEN HANDEL
Related posts:
]]>Jeder Entwickler kennt das Problem. Man hat die Anforderungen vorliegen, realisiert die Lösung und ist irgendwann fertig. Nun kommt die Testphase. In der Testphase muss die Lösung den Anforderungen genügen und das Programm muss stabil laufen. Klingt einfach, ist es aber nicht. Als Entwickler steht man erst mal da und testet. Der Entwickler testet dann so, wie er entwickelt hat. Mit dem gleichen Endgerät, mit dem gleichen Browser und man testet die gleichen Abläufe wie man sie während der Entwickler-Tests durchgeführt hat. Das liegt einfach daran, dass man sich als Programmierer mit den Anforderungen sehr intensiv befasst hat und seine persönliche Sicht entstanden ist. Dieser Workflow wird nun also getestet und für gut befunden. Damit ist die Testphase abgeschlossen und es sind keine Fehler mehr im Programmcode enthalten.
Allerdings sagt eine Programmierer-Weisheit, dass es Software ohne Fehler nicht gibt (mal abgesehen von einem Hello World ). Also ist die Wahrscheinlichkeit eines Fehlers im SourceCode nicht gerade gering. Daher ist es sehr sinnvoll mindestens noch eine zweite Person hinzuzuziehen, die auch noch mal das Programm testet und noch den einen oder anderen Fehler findet. Diese Arbeitsweise hat sich schon vielfach bewährt und noch niemals geschadet.
Hier kommt die „Testbirds GmbH München“ ins Spiel. Denn bei Testbirds hat man dieses Problem erkannt und schafft es mit Hilfe von Crowd Testern einen völlig unabhängigen Test der App oder der Webanwendung umzusetzen.
Bei Testbirds setzt man auf die Kraft der Masse. Dank Crowdsourcing kann man als Entwickler die Anwendung von vielen unabhängigen Testern überprüfen lassen und so die Qualität der Arbeit unabhängig überprüfen lassen. Dabei kann sich bei Testbirds im Prinzip jeder als Tester registrieren und Apps und Webanwendungen schon vor der Veröffentlichung testen und bewerten. Das sogenannte „Crowd Testing“ verlagert die Softwaretests in die Crowd. Das spart Kosten und die Entwickler haben mehr Zeit, sich mit der Entwicklung statt mit dem Test der Software zu befassen.
Hat sich ein Entwickler für das Crowd Testing mit testbirds.de entschieden, verläuft das Test-Projekt immer nach einem einfachen Ablauf.
Als erstes werden die Rahmenbedingungen für den Test zwischen dem Entwickler und einem Testbirds Projektmanager vereinbart. Diese Rahmenbedingungen enthalten in aller Regel einen zeitlichen Rahmen für den Test, die Anzahl der Testwiederholungen, die Anzahl der Tester, die Endgeräte sowie die Browser bei Webanwendungen.
Nachdem die Rahmenbedingungen festgelegt wurden, machen sich die ausgewählten Tester an die Arbeit und Testen die Arbeit es Entwicklers. Während des Tests wird von den Testern erwartet, dass eine Vorgangsbeschreibung, Positives und negatives Feedback, Screenshots und Bugs dokumentiert werden. Zusätzlich dazu wird von dem Tester auch erwartet, dass eine Liste von Fragen zu der App/Webanwendung beantwortet (z.B. Haben Dir Informationen gefehlt?) oder Bewertungen abgibt (z.B. Wie ansprechend findest Du das Design?, Würdest Du die App auch privat nutzen?).
Während der Test-Durchführung wird vom Projektmanager permanent ein Controlling durchgeführt und mit Hilfe eines Dashboards kann der Entwickler jederzeit den Fortschritt verfolgen und gefundene Bugs direkt einsehen.
Zum Schluss gibt es dann noch einen Testbericht, in dem alle Einzelheiten des Projektablaufs schriftlich dokumentiert sind.
Damit ist der Crowd Test abgeschlossen. Mit Hilfe der gewonnenen Informationen ist es nun möglich, Bugs zu beheben und die App oder Webanwendung nochmals zu verbessern.
Testbirds lebt davon, dass sich unabhängige Personen dafür interessieren, einen flexiblen Nebenjob anzunehmen, bei dem man die neuesten Apps und Webanwendungen kennenlernen kann. Denn ohne die Testbirds geht das Konzept nicht auf und die Croud-Tests bleiben unerledigt.
Um also ein Testbird zu werden, kann man sich unter testbirds.de registrieren. Bei der Registrierung gibt man verschiedene Informationen (z.B. Hobbies, Ausbildung, Nutzungsverhalten, verfügbare Endgeräte/Browser und Testing-Erfahrung) an. Wird man angenommen, erfolgt ein sogenannter Einstiegstest. Dieser Test dient als erste Probe für neue Testbirds. Ziel dieses Einstiegstests ist es, den Ablauf des Tests unter realen Bedingungen kennen zu lernen. Nach erfolgreicher Absolvierung des Einstiegstests heißt es dann erst mal abwarten bis man für einen echten Croud Test ausgewählt wird.
Weitere Informationen zum Thema Crowdtesting findet man im Crowdtesting-Blog. Der Blog enthält umfangreiche Informationen rund um das Thema „Software-Tests durch Crowdsourcing“.
Testbirds.de in der Presse. In dem Presse-Artikel präsentiert sich die Testbirds GmbH und beschreibt die Vorteile der der Münchner Crowdtesting-Profis für die Erkennung von Software-Fehlern.
No related posts.
]]>So wie es scheint, ist in den Top Treffern zum SEO Contest mal wieder eine Menge Bewegung drin. Der Linkaufbau ist in vollem Gange und langsam wird es eng. Spätestens morgen müssen die SEOs ihre Top Trümpfe ziehen, damit Google die Daten am Mittwoch Abend im Index hat. Wer jetzt erst mit dem Linkaufbau beginnt, hat quasi keine Chance mehr.
SEO Kennzahlen der Top 64 Suchergebnisse zum Suchbegriff “hochgeschwindigkeitsseo” vom 10.09.2012 14:47:38 Uhr. | |||||||||||||||||
1 | Titel: hochgeschwindigkeitsSEO – der SEO Contest | Netclosing URL: http://www.netclosing.de/hochgeschwindigkeitsseo/
|
||||||||||||||||
2 | Titel: HochgeschwindigkeitsSEO Star – SEO Contest 2012 URL: http://www.hochgeschwindigkeitsseo-star.de/
|
||||||||||||||||
3 | Titel: HochgeschwindigkeitsSEO Suchmaschinenoptimierung vom … URL: http://www.hochgeschwindigkeitsseo.net/
|
||||||||||||||||
4 | Titel: HochgeschwindigkeitsSEO – Der SEO-Contest | OSG URL: http://www.online-solutions-group.de/online-marketing/seo-suchmaschinenoptimierung/hochgeschwindigkeitsseo.html
|
||||||||||||||||
5 | Titel: HochgeschwindigkeitsSEO – SEO Contest 2012 URL: http://www.hd-gbpics.de/blog/hochgeschwindigkeitsseo/
|
||||||||||||||||
6 | Titel: hochgeschwindigkeitsSEO der SEO Contest September 2012 URL: http://hochgeschwindigkeitsseo.org/
|
||||||||||||||||
7 | Titel: HochgeschwindigkeitsSEO URL: http://www.seovista.de/hochgeschwindigkeitsseo/
|
||||||||||||||||
8 | Titel: Hochgeschwindigkeitsseo – SeoBlog.net URL: http://www.seoblog.net/hochgeschwindigkeitsseo/
|
||||||||||||||||
9 | Titel: hochgeschwindigkeitsSEO – langsam wird’s spannend URL: http://www.xovi.de/hochgeschwindigkeitsseo/
|
||||||||||||||||
10 | Titel: hochgeschwindigkeitsSEO Seo Contest URL: http://www.tagseoblog.de/hochgeschwindigkeitsseo-seo-contest
|
||||||||||||||||
11 | Titel: HochgeschwindigkeitsSEO vom hochgeschwindigkeitsSEO Team URL: http://www.onm.de/hochgeschwindigkeitsseo
|
||||||||||||||||
12 | Titel: Es ist Partytime für die besten Hochgeschwindigkeitsseos – Seo.de URL: http://seo.de/7022/es-ist-partytime-fur-die-besten-hochgeschwindigkeitsseos/
|
||||||||||||||||
13 | Titel: hochgeschwindigkeitsseo – Seo.de URL: http://seo.de/6989/hochgeschwindigkeitsseo/
|
||||||||||||||||
14 | Titel: hochgeschwindigkeitsSEO – ein neuer SEO-Wettbewerb … URL: http://gerech.net/3247843-hochgeschwindigkeitsseo-ein-neuer-seo-wettbewerb/
|
||||||||||||||||
15 | Titel: hochgeschwindigkeitsSEO URL: http://gorbo.de/blog/blog-post/2012/09/03/hochgeschwindigkeitsseo/
|
||||||||||||||||
16 | Titel: hochgeschwindigkeitsSEO – dmexco SEO Wettbewerb 2012 … URL: http://www.trafficmaxx.de/blog/events-termine/hochgeschwindigkeitsseo-der-dmexco-seo-wettbewerb-2012
|
||||||||||||||||
17 | Titel: HochgeschwindigkeitsSEO – Der SEO Contest 2012 ist doof! URL: http://www.gernot-gawlik.de/2012/09/04/hochgeschwindigkeitsseo-der-seo-wettbewerb/
|
||||||||||||||||
18 | Titel: hochgeschwindigkeitsSEO wird zu “hochgeschwindigkeit seo” URL: http://www.karlkratz.de/onlinemarketing-blog/hochgeschwindigkeitsseo/
|
||||||||||||||||
19 | Titel: Web-Snippets by Christian Czech | hochgeschwindigkeitsSEO URL: http://neunzehn80.de/2012/09/03/hochgeschwindigkeitsseo/
|
||||||||||||||||
20 | Titel: Der hochgeschwindigkeitsSEO Wettbewerb der Telekom | Hurra … URL: http://www.omclub.de/2012/hochgeschwindigkeitsseo/
|
||||||||||||||||
21 | Titel: HOCHGESCHWINDIGKEITS SEO URL: http://www.pixiango.com/humint-seo/hochgeschwindigkeits-seo.html
|
||||||||||||||||
22 | Titel: Hochgeschwindigkeitsseo – ABAKUS URL: http://www.abakus-internet-marketing.de/foren/viewtopic/t-111653.html
|
||||||||||||||||
23 | Titel: HochgeschwindigkeitsSEO hier, HochgeschwindigkeitsSEO da … URL: http://weitergesagt.com/2012/09/04/hochgeschwindigkeitsseo/
|
||||||||||||||||
24 | Titel: Telekom sponsert hochgeschwindigkeitsSEO – SEO Contest 2012 URL: http://www.webmastertools.eu/1456/telekom-sponsert-hochgeschwindigkeitsseo-seo-contest-2012/
|
||||||||||||||||
25 | Titel: hochgeschwindigkeitsSEO – SEO Contest zur dmexco URL: http://m-software.de/hochgeschwindigkeitsseo-seo-contest-zur-dmexco
|
||||||||||||||||
26 | Titel: Mit OMC, OMcap und SEOkomm zum hochgeschwindigkeitsSEO werden URL: http://www.internetmarketing-news.de/2012/09/03/mit-omc-omcap-und-seokomm-zum-hochgeschwindigkeitsseo-werden/
|
||||||||||||||||
27 | Titel: Hochgeschwindigkeitsseo – highspeedseo | SEO BIO URL: http://seobio.de/hochgeschwindigkeitsseo
|
||||||||||||||||
28 | Titel: hochgeschwindigkeitsSEO und mein Senf – wiescho.de URL: http://www.wiescho.de/hochgeschwindigkeitsseo-und-mein-senf/
|
||||||||||||||||
29 | Titel: Der HochgeschwindigkeitsSEO Contest 2012 | READERS EDITION URL: http://www.readers-edition.de/2012/09/07/der-hochgeschwindigkeitsseo-contest-2012/
|
||||||||||||||||
30 | Titel: hochgeschwindigkeitsSEO von Fiebak Medien URL: http://www.fiebak-medien.de/6579-hochgeschwindigkeitsseo
|
||||||||||||||||
31 | Titel: Hochgeschwindigkeitsseo Wettbewerb das Experiment URL: http://biwa-media.com/wiki/detail/Hochgeschwindigkeitsseo-Wettbewerb-das-Experiment.php
|
||||||||||||||||
32 | Titel: SISTRIX Toolbox URL: http://www.sistrix.de/omclub
|
||||||||||||||||
33 | Titel: hochgeschwindigkeitsSEO – diese Seite hat nix damit zu tun… URL: http://www.league-of-legends-guides.de/hochgeschwindigkeitsseo-lol/
|
||||||||||||||||
34 | Titel: hochgeschwindigkeitsSEO URL: http://www.hochgeschwindigkeitsseo.name/
|
||||||||||||||||
35 | Titel: hochgeschwindigkeitsSEO – Telekom Partnerwelt URL: https://www.telekom-partnerwelt.de/blog/hochgeschwindigkeitsseo-der-seo-contest-2012-beginnt.html
|
||||||||||||||||
36 | Titel: HochgeschwindigkeitsSeo meets Week in Seach 36 – SEOnauten URL: http://www.seonauten.com/week-in-seach-36-der-seo-wochenrueckblick-hochgeschwindigkeitsseo/?utm_source=dlvr.it&utm_medium=twitter
|
||||||||||||||||
37 | Titel: HochgeschwindigkeitsSEO? Was für ein Schwachsinn! – Online … URL: http://www.mcsinn.com/news/hochgeschwindigkeitsseo-was-fur-ein-schwachsinn
|
||||||||||||||||
38 | Titel: HochgeschwindigkeitsSEO ist Trend 2012 – Netzlese.com URL: http://netzlese.com/2012/09/03/hochgeschwindigkeitsseo-ist-neuer-trend-2012/
|
||||||||||||||||
39 | Titel: Hochgeschwindigkeitsseo Star nimmt gestallt an … URL: http://www.hochgeschwindigkeitsseo-star.de/hochgeschwindigkeitsseo-star-nimmt-gestallt-an/?utm_source=rss&utm_medium=rss&utm_campaign=hochgeschwindigkeitsseo-star-nimmt-gestallt-an
|
||||||||||||||||
40 | Titel: hochgeschwindigkeitsSEO URL: http://www.hochgeschwindigkeitsseo-contest.com/
|
||||||||||||||||
41 | Titel: hochgeschwindigkeitsSEO URL: http://www.seopolice.de/hochgeschwindigkeitsseo/
|
||||||||||||||||
42 | Titel: Hochgeschwindigkeitsseo das grandiose Seo Wettrennen | Der … URL: http://derseitenmacher.de/seo/hochgeschwindigkeitsseo/
|
||||||||||||||||
43 | Titel: hochgeschwindigkeitsSEO – ich finde hubschrauberBOCKWURST … URL: http://blog.oneserv.de/hochgeschwindigkeitsseo-ich-finde-hubschrauberbockwurst-ware-besser/
|
||||||||||||||||
44 | Titel: HochgeschwindigkeitsSEO = SEOvista » Business Berlin URL: http://www.businessberlin.de/events/hochgeschwindigkeitsseo-seovista/
|
||||||||||||||||
45 | Titel: hochgeschwindigkeits-seo URL: http://3.141592653589793238462643383279502884197169399375105820974944592.eu/hochgeschwindigkeits-seo/
|
||||||||||||||||
46 | Titel: hochgeschwindigkeitsSEO | hoffmanoid.de URL: http://www.hoffmanoid.de/2012/09/03/hochgeschwindigkeitsseo/
|
||||||||||||||||
47 | Titel: hochgeschwindigkeitsSEO SEO Contest im September zur dmexco URL: http://www.pr-inside.com/de/hochgeschwindigkeitsseo-seo-contest-im-r3368695.htm
|
||||||||||||||||
48 | Titel: Hochgeschwindigkeitsseo Contest: Vom Wettbewerb in die Praxis … URL: http://www.pressemeldungen.com/2012/09/08/hochgeschwindigkeitsseo-contest-vom-wettbewerb-in-die-praxis/
|
||||||||||||||||
49 | Titel: HochgeschwindigkeitsSEO: Die OSG rollt das Feld von hinten auf … URL: http://www.online-solutions-group.de/blog/suchmaschinenoptimierung-seo/hochgeschwindigkeitsseo-die-osg-rollt-das-feld-von-hinten-auf-mit-kopfchen-und-know-how/
|
||||||||||||||||
50 | Titel: HochgeschwindigkeitsSEO – das neue Trendwort? | xeit – Agentur … URL: http://blog.xeit.ch/2012/09/hochgeschwindigkeitsseo-das-neue-trendwort/
|
||||||||||||||||
51 | Titel: Wer wird HochgeschwindigkeitsSEO 2012? URL: http://www.sitefactor.de/blog/2012/09/05/hochgeschwindigkeitsseo-wettbewerb-omclub/
|
||||||||||||||||
52 | Titel: Hochgeschwindigkeitsseo Videos Archive … URL: http://www.highspeedseo.de/hochgeschwindigkeitsseo-videos
|
||||||||||||||||
53 | Titel: HochgeschwindigkeitsSEO URL: http://www.feenders.de/hochgeschwindigkeitsseo.html
|
||||||||||||||||
54 | Titel: Hochgeschwindigkeitsseo – der OMClub SEO Contest – SEO-Diaries URL: http://www.seo-diaries.de/2012/09/hochgeschwindigkeitsseo-der-omclub-seo-contest/
|
||||||||||||||||
55 | Titel: Forbes » Member Profile » hochgeschwindigkeitsseo-blog URL: http://blogs.forbes.com/people/hochgeschwindigkeitsseoblog/
|
||||||||||||||||
56 | Titel: Pxixiango.com – Verena Gemmel – Hochgeschwindigkeitsseo: Kein … URL: http://www.firmenpresse.de/pressinfo717036.html
|
||||||||||||||||
57 | Titel: Forbes » Member Profile » hochgeschwindigkeitsseo-blog URL: http://blogs.forbes.com/people/hochgeschwindigkeitsseoblog/
|
||||||||||||||||
58 | Titel: hochgeschwindigkeitsSEO – ein SEO-Wettbewerb – YouTube URL: http://www.youtube.com/watch?v=hN1H8fgas8Y
|
||||||||||||||||
59 | Titel: hochgeschwindigkeitsSEO – von Google-Translate übersetzt … URL: http://www.youtube.com/watch?v=TkzR89BtYz8&feature=youtube_gdata
|
||||||||||||||||
60 | Titel: hochgeschwindigkeitsSEO | hochgeschwindigkeitsSEO URL: http://gerech.net/hochgeschwindigkeitsseo/
|
||||||||||||||||
61 | Titel: HochgeschwindigkeitsSEO | Das Reich der Witze URL: http://www.witze-reich.de/HochgeschwindigkeitsSEO
|
||||||||||||||||
62 | Titel: SEO-Contest hochgeschwindigkeitsSEO – SEO.at URL: http://seo.at/2012/09/seo-contest-hochgeschwindigkeitsseo
|
||||||||||||||||
63 | Titel: hochgeschwindigkeitsSEO – Search – Twitter URL: http://search.twitter.com/search?q=#hochgeschwindigkeitsSEO
|
||||||||||||||||
64 | Titel: SEO-Contest: Telekom sponsert “hochgeschwindigkeitsSEO … URL: http://www.internetworld.de/dmexco/dmexco-News/SEO-Contest-Telekom-sponsert-hochgeschwindigkeitsSEO-69327.html
|
Meine Webseite ist weiterhin in den Top 30 vertreten, aber davon kann ich mir leider nichts kaufen. Denn es kann nur einen geben und so wie es scheint bin ich es nicht. Bei dem SEO Contest zum Hochgeschwindigkeits-SEO ist eben voller Einsatz gefragt. Beim Content kann ich mir keine Vorwürfe machen. Hier habe ich auf jeden Fall genug getan. Allerdings ist das Thema Links bei mir deutlich zu kurz gekommen. Statt haufenweise eingehende Links mit dem Linktext hochgeschwindigkeitsseo aufzubauen, habe ich nur massenweise ausgehende Links mit dem Linktext auf meiner Webseite verteilt. Da ist es wohl kein Wunder, dass ich den ersten Platz nicht schaffe.
Macht aber nichts. Wenn ich mir den Aufwand ansehe, den anderer SEO Kollegen hier betreiben, kann ich nur sagen Hut ab. Hier schlagen sich einige wirklich die Nächte um die Ohren um Himmel und Hölle in Bewegung zu den hochgeschwindigkeitsseo contest zu gewinnen, dann kann ich nur hoffen, dass sich das am Ende lohnt.
Ich wünsche weiterhin allen Beteiligten viel Erfolg beim hochgeschwindigkeitsseo Contest.
Related posts:
]]>