Z Grails-ów też można zrobić ESB
Uproszczona definicja ESB:
- można podłączyć się do wszystkiego za pomocą wtyczek (grails install-plugin)
- tą samą usługę możemy wystawić po wielu transportach (WebService: static expose=['cxf'])
- usługi wewnętrznie wołane są po natywnym protokole szyny (Service.metoda)
- mamy routing komunikatów (grails install-plugin camel).
Grailsy dodatkowo mają ładny webowy interfejs użytkownika i są tanie (OpenSource + Tomcat + Apache mod_proxy).
A co z szybkością? grails run-app: 29ms, grails prod run-app 25ms.
Na BEA JRockit(R) (build R27.6.5-32_o-121899-1.6.0_14-20091001-2107-windows-ia32, compiled mode) udaje się zejść do 16.5ms pod warunkiem jednej poprawki (Grailsy próbują używać metody, która nie została jeszcze skompilowana do kodu maszynowego - błąd w JVM):
Klasa org.codehaus.groovy.grails.cli.GrailsScriptRunner z grails-bootstrap-1.2.0.jar, metoda private int callPluginOrGrailsScript(String scriptName), workaround:
Project p = antBuilder.getAntProject();Przypominam, że właścicielem Grails-ów jest VMware.
try {
p.setDefaultInputStream(System.in);
}
catch (NoSuchMethodError e) {
try {
Field f = p.getClass().getDeclaredField("defaultInputStream");
f.setAccessible(true);
f.set(p, System.in);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
Update 03.03.2010: mamy naprawione Grailsy na JRockit-cie. Niestety Oracle zamierza skasować JRockita jako produkt i przenieść GC firmy BEA do SUN JVM.
0 komentarze:
Prześlij komentarz