2 Stimmen

Migration von Coldfusion zu Rails mit unverändertem Java-Code

Wir haben eine Webapplikation mit Coldfusion 9 (für HTML-Inhalte) und Java (für Backend-Arbeiten und die Verbindung zu WebServices) entwickelt. Wir erwarten etwa 50 000 Besucher pro Tag, mit bis zu 200 Anfragen pro Minute. Die Produktionsserver laufen unter Windows. Das Problem ist, dass wir wegen des mühsamen CF-Codes müde und wütend werden.

Unsere Idee ist es, die CF-Schicht durch Ruby on Rails zu ersetzen. Die Java-Seite sollte unangetastet bleiben, da sie gut geschrieben, zuverlässig, schnell und mit automatisierten Tests versehen ist.

Meine Frage lautet also: Wie würden Sie dieses Problem im Einzelnen angehen?

  1. Ist JRuby die einzige Option?
  2. Wird der Aufruf unseres in jar gepackten Java-Codes noch schnell genug sein?
  3. Ist Linux bei der Umstellung auf Rails erforderlich? (Ich mag Rails unter Windows nicht)
  4. Wie sieht es mit der Skalierbarkeit aus? Empfehlen Sie Sinatra, um unseren Datenverkehr zu bewältigen?
  5. Ist es möglich, diese Konfiguration in einer Cloud zu platzieren?

Vielen Dank im Voraus

4voto

Brian Punkte 51

Wenn Sie dazu bereit sind, sollten Sie das ColdFusion on Wheels-Framework einmal ausprobieren. Es ist SEHR von Rails inspiriert und Sie könnten Ihre aktuelle Anwendung einfach in das Framework einfügen und dann langsam auf MVC umstellen.

Sehen Sie es sich an: http://cfwheels.org/

1voto

Nick Sieger Punkte 3305

Ich stimme den Gedanken von Ciaran Archer größtenteils zu und möchte auf ein Projekt hinweisen, bei dem ich eine Spring-Anwendung schrittweise nach Rails konvertiere. Sie müssen Ihre Vorstellungskraft einsetzen, um herauszufinden, wie Sie Ihre chaotischen CF-Ansichten nach Rails konvertieren können, aber Sie können zumindest schauen, wie Sie Ihr Java-Backend in einer Rails-Umgebung verwenden können.

https://github.com/nicksieger/refactoring-to-rails

0voto

Ciaran Archer Punkte 12028

Ist JRuby die einzige Option?

Sprechen Sie nicht in absoluten Zahlen :) JRuby hat den Vorteil, dass es Java-Bibliotheken wie CF aufrufen kann, aber es ist immer noch eine neue Plattform, wenn auch eine mit großem Potenzial auf der JVM.

Ruft unser jar-Paket auf Code noch schnell genug sein?

Wenn Sie immer noch auf einer JVM-Sprache wie CF oder JRuby laufen, dann würde ich ja sagen.

Ist Linux allein erforderlich zu Rails? (Ich mag Rails nicht auf Windows)

Linux ist für JRuby nicht erforderlich (siehe ici ) - denken Sie daran, dass JRuby nur eine weitere JVM-Sprache ist und der Vorteil der JVM die Plattformunabhängigkeit ist. Wenn du dich für einfaches Rails entscheidest, würde ich empfehlen, auf Linux umzusteigen - ich habe schon einmal versucht, Rails unter Windows zu benutzen und es ist nicht schön. Alles, was Sie in Bezug auf Rails-Tutorials usw. lesen, setzt eine Bevorzugung von Linux voraus.

Wie sieht es mit der Skalierbarkeit aus? Empfehlen Sie Sinatra empfehlen, um unseren Verkehr zu bewältigen?

Sinatra ist ein sehr schlankes Framework, das im Wesentlichen einfache Regex-Routing-Regeln verwendet. Ich würde es für kleine Projekte verwenden, aber für eine Produktionsanwendung, die wahrscheinlich wachsen wird, dann nicht. Sie sind besser dran, wenn Sie die organisatorischen Vorteile von Rails nutzen.

Wird es möglich sein Konfiguration in einer Cloud zu platzieren?

I glauben Engine Yard übernimmt das Hosting von JRuby. Heroku bietet Rails PaaS-Hosting an. Heroku könnte nicht eine gute Übereinstimmung sein, wenn Sie JRuby verwenden oder Java von JRuby aufrufen, aber für eine einfache Rails-Anwendung ist es sehr cool.

Und wie schon andere gesagt haben - nicht der CF ist das Problem, sondern die Art und Weise, wie Ihre Bewerbung geschrieben und organisiert wurde. Sie können crap Rails Code zu schreiben, erinnern.

Hoffentlich hilft Ihnen das alles ein wenig bei Ihrer Entscheidung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X