“I see web services in our architecture as classes are used traditionally, or maybe better, as components of the traditional framework”end of lousy paraphrase :). So, if we take Zend Framework for example: imagine that instead of having Zend_Auth, Zend_Session, Zend_Log, Zend_Mail … and sending messages to their objects, you have web services that expose interfaces over HTTP. On the slides Patrice provided can be seen in smaller detail way their architecture is broken into smallest possible web services that communicate among each other. Web services are based on wsgiservice (Python WSGI framework to create REST web service) library that is open sourced by Patrice. One thing I was interested is what is the performance loss in HTTP communication overhead between components. In current state of the load they do not see it as problem and they see using HTTP features as e.g. caching more valuable than performance loss introduced. Here are some links, if you are more interested to find out about local.ch, webtuesday or memonic.com.
Webtuesday at local.ch Offices
Every first Tuesday of a month, Zürich oriented web community gather for an evening of tech talks and some beer for, so called, webtuesday. Yesterday, we had pleasure to host event at local.ch for the first time as unofficial opening for the community after movement to new offices. As Harry tweeted already during the event, it was pretty packed. I was personally happy to see lot of people coming since this was only my second webtuesday since I started working for local.ch 6 months ago.
This time Patrice and Chris from memonic.com gave great talk on the current state of the architecture and tools that are behind their startup. Since both of them worked for local.ch before (Patrice as Lead of Frontend Development, Chris as backend Java developer) it was interesting to see how much they kept and where they improved along the way.
Interesting point was the choice of the language for their startup. At local.ch, we are kind of separated on frontend and backend development, before all, by the languages we use. Shortly, PHP on the frontend and Java in backend with HTTP communication in between, XML result got from backend parsed by XSL to produce HTML. At Memonic they decided to bring that together and make gap between backend and frontend development smaller by choosing Python as common language. Having experience with the Scrum and challenges which this kind of separation between frontend and backend carries, I see this as reasonable decision. I was surprised to hear that none of them had professional experience with Python before founding Memonic.
Their architecture is highly web service oriented. The way Patrice conceptually sees the architecture can be paraphrased like this:
