Jump to content


Photo
- - - - -

The Story Behind


Wichtiger Hinweis für Besucher der Community!

Das Erstellungsdatum des von Dir aufgerufenen Themas liegt bereits einige Zeit zurück. Wir möchten darauf hinweisen, den Inhalt der Diskussion auf seine Aktualität hin zu prüfen. Weitere Informationen findest Du auf dieser Seite.

  • This topic is locked This topic is locked
No replies to this topic

#1 Mythos

Mythos

    TEFEx CEO

  • Moderatoren
  • 3,482 posts
  • 16713 thanks

Posted 15 February 2011 - 11:23 AM

Wie alles begann
Vor etwas längerer Zeit (weiss gar nicht mehr genau wann) ist im Rahmen eines der vielen Gespräche in meiner alten Studenten WG von einem WG Kollegen plötzlich die "blöde Idee" gekommen so eine Börse selber zu schreiben und User im kleinen Kreis gegeneinander traden zu lassen. (Genaugenommen wars als Gegenaktion zu den LAN Parties meines anderen WG Kollegen geplant ;)
Die Idee hat uns beide so fasziniert das wir das Projekt gleich angingen. Von Anfang an wars klar das es ein größeres Ding ist und wir noch viel lernen mussten, aber wir hatten ja Zeit.
Schnell war klar das mit wenigen Usern das ganze sehr fad werden würde und wir eine Art "simulierte kritische Masse" brauchen die im Hintergrund zufällig mit sich selbst handelt und dadurch einen Kursverlauf erzeugt bis genug User aktiv sind. Wir nannten das Ding MarketMaker und es war ein toller Moment als wir das erste Mal einen zuckenden Kurs unserer eigenen Börse auf dem Schirm hatten.

Exchange goes Web?

Aber mit ein paar Freunden in der WG kommt man nie auf eine kritische Masse. Also entstand der Wunsch das Ding webbasiert zu machen. Da es sowieso schon fürs Netzwerk ausgelegt und DB-basiert war, war der Schritt an sich nicht weit... Nur das keiner von uns sich mit web-programmierung auskannte. Tjo blöd.
Nach ein paar Versuchen und einem sehr primitiven, ersten, Typo3-basierten Interface das nicht wirklich unseren Vorstellungen entsprach, versuchten wir einen neuen WG Kollegen ins Boot zu holen der (angeblich) Ahnung davon hatte. Leider war er von dem Projekt nicht ganz so Feuer und Flamme und dieses Interface kam nie wirklich zustande.

Kiwee@TradeScout
(Damals gab es nur ein Symbol zu handeln, die Kiwees. Deswegen der ursprüngliche Name "Kiwee Börse")
Dann kam die Idee das ganze in TradeScout zu integrieren (die Plattform die ich damals gerade mit ein paar Freunden startete) einerseits weil hier schon die Plattform vorhanden war, es gut ins Konzept passte und unser super Admin tarator über das nötige Know How verfügte! An dieser Stelle nochmals ein großes Danke an ihn für die Mithilfe.
Kleine Anmerkung: Die Exchange ist inzwischen MultiCommunity und sowohl von TradeScout als auch von TomNext erreichbar, frei nach dem Motto "Mehr User, mehr Spaß" ;)

Hier war die Begeisterung und Motivation größer und bald ging die erste Version (html basiert) online. Nach einigen Weiterentwicklungen wurde aber bald klar das ein HTML basiertes Interface eine solche App nicht aushält da der Apache schon bei "wenigen" Usern in die Knie geht, und das ohne realtime sondern mit bis zu 3 Sek Verzögerung (also 3 Sekunden Intervall der Requests, nicht Wartezeit auf die Replys). Zusätzlich entstand bei mir der Wunsch mehr als ein Symbol handeln zu können um Abwechslung zu schaffen und sowohl erfahrenen Tradern wie auch Neulingen Interessantes zu bieten.
Also mussten wieder Alternativen her.

Exchange meets Java (nein nicht die Insel)
Schließlich entschied ich mich ein bissl Java zu lernen und zu versuchen einmal das ganze HTML Zeug in ein Applet zu packen das dann nur mehr einen Request pro Aktualisierung schickt. Aber natürlich ist auch das nicht ausreichend, denn Realtime bedeutet auch keine 1s Verzögerung, und jeder webadmin wird mit Beipflichten (hoff ich zumindest) das selbst konstante 10 Request pro Sekunde einen normalen Webserver deutlich beanspruchen.
(Selbst bei rocketscience Tom Next brauchen die Replys schnell mal 0.3 Sekunden...)

Tjo also wieder rein in die Java Bücher und Tutorials, und tata: das Einzige was bleibt ist eine ausgewachsene Client/Server App. Leider nicht die einfachen im Lehrbuch wo der Client einen Request stellt und der Server antwortet (AFAIK nennen sie das synchron) sondern der Client muss Request schicken können die beantwortet werden (zB neue Orders oder Chart/Level2 Abfragen) und unabhängig davon muss der Server jedem Client Updates schicken sobald sich was geändert hat (also asynchron). Also im so genannten Push-Verfahren. Sonst hat man wieder Unmengen Request ohne Sinn. Es ging also immer tiefer in die Materie. Ich hab viel gelernt und der Source ist gewachsen und gewachsen und gewachsen. Inzwischen schrecken mich Begriffe wie Multithreading, Threadpools, DBPools, asynchrone Kommunikation etc. weit weniger als noch vor 2 Jahren ;)

Dann kam die erste Version die lokal toll funkte aber über einen realen Server irgendwie nicht so ganz rund lief. Also wieder ran und debuggen. Als es dann endlich "rund" lief, stand Australien vor der Tür und es war erstmal Pause angesagt.
"Leider" hatte ich in Oz viel Zeit zum Nachdenken und ich bin mit einer ganzen Liste an Verbesserungsmöglichkeiten nach Hause gekommen, die jetzt alle eingebaut werden wollten. Dafür wurde das ganze Projekt jetzt immer "runder" und schöner.

Tjo und dann gings online und seither wird mehr geschraubt und verbessert als je zuvor ;)
  • 0

Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.

Einstein


Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.


Thanked by 2 Members:
Henrik , ronner

Wichtiger Hinweis für Besucher der Community!

Das Erstellungsdatum des von Dir aufgerufenen Themas liegt bereits einige Zeit zurück. Wir möchten darauf hinweisen, den Inhalt der Diskussion auf seine Aktualität hin zu prüfen. Weitere Informationen findest Du auf dieser Seite.


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users