Derzeit baue ich meine Java-Webanwendung auf Google AppEngine (GAE), aber aufgrund der vielen Einschränkungen habe ich Angst, dass ich von GAE wechseln muss auf meinem eigenen Server, auf dem Glassfish läuft (oder ich kann bei Bedarf einen anderen Server einrichten). Außerdem plane ich, Oracle oder MySql Datenbanken laufen zu lassen. Was muss ich tun, um von GAE zu meinem Server zu wechseln? Muss ich meinen Code neu schreiben? Sollte ich weiterhin Datanucleus verwenden oder zu etwas anderem wechseln? Noch etwas?Wechsel von Google AppEngine zu einem anderen Server
Antwort
Wir können Ihnen keinen guten Rat geben, ohne zu wissen, wie Sie Ihre App geschrieben haben. Haben Sie eine Datenzugriffsebene erstellt, die den Datenspeicherzugriff von Ihrer Geschäftslogik trennt? Oder übergeben Sie App-Engine-spezifische Objekte überall? Verwenden Sie den gae Benutzerservice? oder memcache?
Die erste Sache, die Sie tun sollten, ist, alle Ihre Importaussagen anzusehen. Immer wenn du ein com.google.etwas dort siehst, weißt du, dass du das ändern musst. Sie haben nicht viele Details darüber angegeben, wie Sie Ihre App geschrieben haben, aber wenn Sie nach Datanucleus fragen, haben Sie wahrscheinlich JDO oder JPA verwendet, was bedeutet, dass Sie möglicherweise den Großteil Ihrer Datenebene wiederverwenden können. Sie haben möglicherweise eine Reihe von Schlüsselfeldern, die Sie ändern müssen, und vielleicht ein paar gae-spezifische Anmerkungen. Wahrscheinlich müssen Sie überprüfen, wie Sie mit Transaktionen umgehen, da dies wahrscheinlich in einer SQL-Datenbank anders ist, die keine Entitätsgruppen wie GAE verwenden.
Warum nicht den Informationen im ursprünglichen Google Lagerfeuer folgen? Es gab eine Präsentation von IBM zum Ausführen einer AppEngine-App mit DB2. Sie löschten einfach das Datanucleus-Rdbms-JAR im CLASSPATH, änderten die Verbindungs-URL usw. und führten es aus. Wie in diesem PDF http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/GAE_Java_Interoperability.pdf
--Andy (Datanucleus)
Wow. Das ist cool. Sie haben die Benutzer- und UrlFetch-Dienste implementiert. Neben Config-Stuffs sind die einzigen echten Codeänderungen Refactoring bestimmter Schlüsseltypen und Ändern von Importanweisungen. –
habe ich nicht ausprobiert, aber es ist eine Open-Source-Implementierung von GAE AppScale genannt http://code.google.com/p/appscale/
nur aus Neugier, was der Major war Begrenzung Faktor von gae, der für dich nicht funktioniert hat? –
1) Dateigrößenbeschränkung 2) Einige JEE5-Funktionen 3) Datenbank (möchte Oracle oder MySql verwenden) 4) Kontrolle über meine Server-Infrastruktur Dies sind vier große. Ich habe mich noch nicht entschieden, wenn ich wechseln will, nur Informationen sammeln und das Testament entscheiden. – Maksim