Frage

Ich bin neu in Java (aber ein gutes Stück von .NET Erfahrung haben).

Ich brauche schnell eine Java-Anwendung zum Laufen zu bekommen, also was ich suche hier ist die Beratung auf Komponenten, die den Schmerz von gemeinsamen Aufgaben und deren Auszahlung wird entweder sofort oder zumindest kommt mit minimalen Investitionen vereinfachen oder reduzieren in Zeit damit verbracht zu lernen, wie die Komponente zu verwenden. Ich habe nicht Wochen verbringen mit komplexen oder umfangreichen Frameworks in den Griff bekommen - ich bin auf der Suche nach Add-Ins, die einfach zu bedienen sind und einige der propblems der Verwendung von rohen APIs entfernen. Wenn jedoch die rohe API die beste Option für jede dieser Aufgaben ist, ist das in Ordnung, lassen Sie mich wissen ...

Data Layer Ich möchte bestimmten Anbieter für MySQL, MSSQL, Postgres schreiben, aber ansonsten den Datenzugriff ist ziemlich einfach Sachen. Ich werde wahrscheinlich Transaktionen benötigen. Was schlagen Sie vor? Sagt, Spring Data Access Angebot etwas wert, über JDBC? Alles andere muss ich darüber nachdenken? Meine Vermutung ist, so etwas wie Hibernate wird viel des Guten sein und zu lange dauern, um aufzustehen und läuft mit - was denken Sie

Middle Tier Lose gekoppelte, Interface-basierte Business-Schicht. Ich muß in die Lage, mit der mittleren Ebene über einen Web-App und eine Desktop-Anwendung zu interagieren - was ist der beste Weg, dies zu entlarven? Web-Service?

Desktop App Ich weiß, über Swing - gibt es andere einfache Desktop-UI-Komponenten? Ich werde eine Art von Scheduling-Komponente muß Hintergrundaufgaben ausgeführt werden.

Web App Ich werde eine Art Cache benötigen, muss ich Benutzersitzungen, ich brauche dynamische Seiten. Von dem, was ich sagen kann, JSPs ist ein Java-Äquivalent von PHP oder einer anderen serverseitige Skriptsprache (und nicht unterstützen Zustand). Ein MVC-Framework sein Overkill kann, es sei denn es einen Rahmen, die sehr einfach zu bekommen ist die Arbeit mit ?. Ich habe gehört, es ist ein Java-Äquivalent von ASP.NET Web-Formulare - ist es gut? Vielleicht wird JSPs genügen hier?

Ich suche praktische Ratschläge / Ihre Erfahrungen von Komponenten, anstatt eine Liste von Web-Links:)

Vielen Dank für jede Beratung ..

War es hilfreich?

Lösung

Ich würde überprüfen Grails für das Modell / Controller / Ansicht Mechanismus und Web-Frontend. Es werden Sie und sehr schnell mit einem ORM ausgeführt wird, ein Modell, dynamische Seiten usw. (es ist ein RoR - Ruby on Rails - Modell).

Von dort würde ich sehe mit Java RMI mit einem Desktop-Frontend zu kommunizieren. RMI ist serienmäßig mit Java und ist eine natürliche Ergänzung für eine Java-to-Java-Kommunikation erforderlich. Ich würde nicht auf Web-Service suchen, wenn Sie eine mehrsprachige / Plattform Anforderung haben. RMI ist ziemlich einfach einzurichten, mit wenig Konfiguration.

Ihr RMI-fähiger Service-Layer wird mit dem Grails-Modell zur Verfügung gestellt zu abfangen, aber das sollte trivial sein. Zur Reduzierung der möglichen Client / Server-incomaptibilities (verursacht durch Änderungen in der Benutzeroberfläche), können Sie das Java Desktop über (sagen wir) Java Web Start (Sie werden einen Web-Server courtersy von Grails haben) und es kann aus dem kommen gleichen Codebasis, dass der Server ausgeführt wird. Up-to-date-Implementierungen werden beibehalten, wie Sie das hintere Ende aktualisieren.

Andere Tipps

AppFuse ist ein Werkzeug, das Kick-Start kann und eine Vielzahl von Java-Projekten vorkonfigurieren, best Practices verwenden. Der generierte Code kann auch lernen-by-Beispiel verwendet werden.

  

AppFuse ist ein Open-Source-Projekt und die Anwendung, dass Verwendungen Open-Source-Tools auf der Java-Plattform, um Sich Web-Anwendungen schnell und effizient zu entwickeln. Es wurde ursprünglich entwickelt, um die Einarbeitungszeit gefunden zu beseitigen, wenn neue Web-Anwendungen für Kunden zu bauen. In seinem Kern ist AppFuse ein Projekt Skelett, ähnlich der, die von Ihrem IDE erstellt wird, wenn Sie durch einen Assistenten, um ein neues Web-Projekt zu erstellen.

  • Für die Datenschicht : JPA (Hibernate, oder eine andere JPA-Provider)
  • Für die Middle Tier . Spring - es extrem leistungsfähig und bietet viele Dinge wie Transaktionsunterstützung, schedulling usw. Es kann leicht zusammen mit Apache CXF verwendet werden Web-Services aussetzen
  • Für die Web App - JSF, Spring MVC, Struts
  • Für die Desktop App - Swing ist vollkommen in Ordnung. Es hat die Fähigkeit, Hintergrundaufgaben zu verarbeiten. SwingX -. Ein paar nette Komponenten

unterstützt AppFuse alle oben.

Ich werde meine Antworten auf die Webapp Teil begrenzen nur als Dinge, Ich mag würde andere Teile beantworten sind bereits von anderen beantwortet.

  

Von dem, was ich sagen kann, JSPs ist ein Java-Äquivalent von PHP

Nicht ganz richtig. JSP kann mehr als das tun. Noch mehr, (ab) JSPs die PHP-Weg (mit Inline-Java-Code als Scriptlets ) verwendet, ist eine schlechte Praxis betrachtet. JSP soll als Vorlage verwendet werden, in dem Sie die Seite fließen steuern kann dynamisch Taglibs wie JSTL und Zugriff auf die mit Backend-Daten Expression Language .

  

Ich habe gehört, es ist ein Java-Äquivalent von ASP.NET Web-Formulare

Es heißt Javaserver Faces (JSF) . Es gibt jedoch den Wettbewerb, zum Beispiel Apache Struts und Spring MVC .

  

- ist es gut? Vielleicht wird JSPs genügen hier?

JSF (wie jeder andere anständige MVC-Framework) abstrahiert alle die Dinge, die Sie brauchen, Rechnung zu tragen, mit in einem normalen MVC-Anwendung entfernt, so dass Sie mit nur einem XHTML (oder JSP-Datei) und eine Javabean Klasse enden. Auf diese Weise brauchen Sie nicht zu Steueranforderungen (custom Servlets, usw.), Prozessanforderungsparameter (request.getParameter () und so weiter), die Grund Validierung / Konvertierung (requireness, string / Anzahl / Datumseingabe Typkonvertierungen), update Modellwerte (Satz verarbeitet / konvertiert / validierten Parameter in Java Beans) usw. Das MVC-Framework wird über alle kümmern, dass die Arbeit transparent langweilig.

JSPs genügen können, wenn Sie per saldo zu entwickeln, brauchen nur ein paar Seiten. Aber wenn Sie mehrere Seiten oder Web-Applikationen entwickeln wollen, dann möchten Sie bereits einen Rahmen haben, so dass Sie nicht die übliche Arbeit immer wieder neu zu erfinden müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top