Autor Thema: Börsenspiel  (Gelesen 3648 mal)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Börsenspiel
« am: 18.06.07 - 11:39:19 »
Hi,

mein Börsenspiel erreicht langsam soweit feature-completness für ein 0.6 Release, dass ich es in google code hochladen will (ca. 2 Wochen)
Für mich ist das eine Spielwiese für kontrollierte Beschäftigung mit JSF/Spring/Hibernate Entwicklung.
Inhaltlich handelt es sich um eine Art Handelsplattform als Börsenspiel.

Server: Tomcat. Datenbank: PosgreSQL (ich werd für das 0.6 Release keine weitere Datenbank unterstützen, die neueste DB2 Version ist sicher in der Pipeline).
Mittelfristigere Arbeit benötigt vor allem noch die Skallierbarkeit auf größere Anwenderpopulationen. Vor allem die Transaktions-Isolierung ist vorsichtig gesprochen mehr als optimistisch. Egal. Zur Not zieh ich da später einen Messaging Server wie ActiveMQ dazwischen.
Caching gehört auch unter das Skallierbarkeitsthema.
Sowie Security und ein Webinterface für einen Spielleiter.

Kurzfristige Arbeit vor dem upload besteht in gewissen Aufräum- und Konsolidierungsarbeiten sowie ein paar Antskripte und kurzen Doku-Texten, die es Interessierten einfach machen sollen, das Zeug zu installieren (direkt auf Betriebssystemebene und von Eclipse aus).

Was hat das mit Lotus Domino zu tun?
Spring/Hibernate ist quasi eins von zwei Lotus Domino unseres Jahrzehnts  ;D Kontrolliertes Rapid Application Development. Für den, der tiefer in die neuen Themen wie Integration von Websphere Portal Server, DB2, Expeditor, SOA, etc. einsteigen will, mag es hilfreich sein, sich mal mit einer konsequent geschichteten, transaktionalen Java Server Anwendung auseinandergesetzt zu haben. Ausserdem sollte man die Anwendung auf Websphere 6.0 deployen können. Vielleicht kann damit mit dem alten Vorurteil aufgeräumt werden, Java-Anwendungen wären "kompliziert". Das ist nicht (mehr) wahr (s. #1 hier -> http://peteryared.blogspot.com/2007/05/what-happened-to-lamp.html).

Pluspunkte:
- klar geschichtet in Schichten: Webfrontend, Service Layer, Data Access Layer
- find die Spring- und Hibernate-Sachen sind streckenweise echt ziemlich sauber implementiert, find ich jedenfalls. Jeder, der was anderes behauptet, ist fies.
- Unit und Integrationstests für Service und Data Access Schicht
- JSF als Webframework, weil das gewinnt definitiv an Boden und ist nicht schlecht (trotz gewisser nicht wegzudiskutierender nerviger Nachteile von JSF).
- komplette Anwendung, die zwar keinen Business Wert hab, aber vielleicht Spaß macht. Da ich auf der Lohnliste von manchmal wechselnden Softwarehäusern stehe, ist es für mich problematisch, Anwendungen mit Business Wert openSource zu stellen.
- Handelsplattformen sind vom transaktionalen Standpunkt von ihrer Natur aus herausfordernd.
- zumindest für links-nach-rechts-und-oben-nach-unten Sprachen ist die Internationalisierung/Lokalisierung komplett vorbereitet und sehr einfach durchführbar.
- für das Hobbyprodukt eines Entwicklers find ich die Optik goutierbar. 
- über weite Strecken übersichtlich und leicht erweiterbar.

needs-work-Punkte:
- Security (warte auf angekündigte Releases von Acegi-Security, das in Spring-Security umbenannt wird)
- die Zuordnung der JSF Backing Beans auf die einzelnen JSF Seiten ist leider zur Zeit ziemlich chaotisch.
- langsam wirds wirklich Zeit stärker Java 5 Annotations zu benutzen anstatt alles in xml-Konfigurationsdateien zu schreiben.
- anemic domain model. Eine typische Schwäche vieler serverseitiger Java Anwendungen. Nach hoher OO-Schule sollten die zentralen Domain Objekte nicht nur aus Eigenschaften, sondern auch aus Methoden bestehen. Die Frameworks und verwendeten Pattern wirken aber faktisch (noch) in die Gegenrichtung. Der verbesserte Support für Aspekt-Orientierung wird interessanterweise dazu führen, dass der alten OO-Forderung besser entsprochen werden kann. Das war mir erstmal zu bleeding edge.
- Lasttests und vor allem Test von konkurrierenden Transaktionen.
- Caching zur Zeit nicht vorhanden
- hippere JSF Tagsammlungen wie Trinidad aka. Oracle ADF Faces oder sogar ICEFaces.
- das übliche: Kleinigkeiten

Gruß Axel
« Letzte Änderung: 18.06.07 - 12:07:37 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
gespielter Witz
« Antwort #1 am: 18.06.07 - 23:43:27 »
hier direkt ein - wie es bei Didi Halervorden (spell?) in den 70ern hiess großartiger gespielter Witz über das, was ich hier mache:
http://www.youtube.com/watch?v=PQbuyKUaKFo  ;D
« Letzte Änderung: 19.06.07 - 00:22:56 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Elliot74

  • Frischling
  • *
  • Beiträge: 1
Re: Börsenspiel
« Antwort #2 am: 18.11.07 - 16:53:04 »
Hallo Axel !
Arbeite mich momentan in die Spring-Architektur ein. Die Gutenberg-Tipps (Spring & Hibernate) haben mir geholfen. Mein Frage: Kann man den Sourcecode von deinem Börsenspiel irgendwo herunterladen ? Ein etwas größeres Projekt vermittelt die Zusammenhänge der einzelnen Komponenten immer besser als die "Hello World"-Beispiele.
Danke

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Börsenspiel
« Antwort #3 am: 20.11.07 - 08:24:36 »
Leider nicht. Er ist auf einem kaputten Computer auf einer möglicherweise kaputten Festplatte. Ich werd vermutlich um Weihnachten herum Zeit finden, zu versuchen da irgendwie ranzukommen (auch aus anderen Gründen).
Für Spring gibts aber auf der anderen Seite genug Beispiele.
Spring ist wirklich eine gute Wahl.
Hab gestern den Zuschlag für externe Mitarbeit in einem Springprojekt erhalten:
- guter Stundensatz
- interessantes Projekt
- Weblogic-und-ich-hab-diesen-AppServer nie benutzt. Da ich Spring kann und Weblogic das mittlerweile stark nutzt, ist das nicht so wichtig
- in der Ausschreibung waren Hibernate-Kenntnisse gefordert. Im Gespräch stellte sich heraus, dass dort ibatis-SQLMaps benutzt werden. Jaja, der Einkauf schreibt da manchmal Sachen. Aber ist eh nicht so wichtig. Ist eh alles Spring.
Etwas besseres kann Entwicklern nicht passieren.

 8)
« Letzte Änderung: 20.11.07 - 11:29:35 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Börsenspiel
« Antwort #4 am: 21.11.07 - 08:07:47 »
falls du dein Börsenspiel nochmal wiederbeleben möchtest:
Ich schlage vor, als konsequente Fortsetzung deiner Wahl von Hibernate, Spring etc. dann JBoss SEAM zu nehmen. Wenn du die Datenbank noch hast, dann hast du die Skeleton-Anwendung in 10min generiert. Die JBoss Tools (Eclipse-Plugins dafür) sind mittlerweile so weit, dass sich damit einigermassen arbeiten lässt.

Und die meisten Sachen in SEAM dürftest du schon gut beherrschen (Hibernate, EJB3, JSF,...). Das ist dann echtes RAD. Falls du dann wirklich mal was nach Google Code hochladen würdest, wäre der Code dort auch nicht bei jedem Crash weg  ;D

Ich arbeite momentan ja noch parallel mit einerseits Domino im Web und andererseits SEAM. Für Webanwendungen ist die Entwicklung in SEAM viel schneller als in Domino und bringt auch noch mehr Spaß O0 All die kleinen Dinge, die in Domino so umständlich sind (Ajax-Integration, Feldvalidierung etc), sind in SEAM einfach automatisch da.
sagt Mark.



slowfood.de

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Börsenspiel
« Antwort #5 am: 21.11.07 - 09:05:34 »
Hallo Mark,

die Erstellung des Datenbankschemas ist an sich auch kein Problem.
Schau mal. Hab aber viel zu tun. WAS Portal Zertifizierung, viel Projekt-für-Geld, Mock Framework für Domino Java Api, mein internes politisches Bewußtsein angesichts der beiden externen Schocks (Theorien von Stiglitz und aktuelles Geschehen in Venezuela) wieder in ein neues Gleichgewicht bekommen.

Gruß Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Börsenspiel
« Antwort #6 am: 29.12.07 - 22:16:08 »
Schau mal im neuen Jahr, ob ich an die Festplatten-Daten überhaupt noch rankomme.
Ansonsten will ich aber für die EURO 2008 selbstverständlich die entsprechende Plattform am Start haben. Nunca me rindo.
Bin da oben schon relativ weit gekommen, muß aber konzeptionell umdenken.
Wir brauchen alle Verkaufs- und Kaufsgebote SERIALISIERT. Dh. hintereinander, einer nach dem anderen. Nix Multi-Threading. Ansonsten bekommt man nämlich die Transaktionslog in einer Relationalen DB imho nicht in den Griff.
Ist aber kein Problem.
Muss halt so eine Messaging Middleware zwischengeschaltet werden. ActiveMQ ist ein Kandidat, den ich mir genauer anschauen will. Oder ich mach das ganze direkt zum JBoss Projekt. Der hat das dabei.
Die Anwendung ist dann zweigeteilt.
Eine Webanwendung, die lesend auf die DB zugreifen kann, aber alle schreibenden, d.h. zumindest die besonder transaktions-log intensiven, Operationen werden aus der Webanwendung an den Messaging Endpoint gesendet, der die Operationen schön sauber einer nach der anderen durchführt und asynchron an die Webanwendung zurückmeldet.
Ich fürchte, dass es anders nicht geht.
Ist aber auch gut. Und sowieso irgendwie SOA mässig.
Ich glaub BEIDE Anwendungen können in EINEM Applikations-Server laufen.

Gruß Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz