New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Boris Lublinsky on Jun 23, 2008
SOA implementation typically requires usage of multiple technologies for implementing things like distribution, parallel processing, orchestration, etc. Although there are multiple tools supporting these requirements, including Web Services frameworks for invocations, Enterprise Service Buses (ESB) for routing, Orchestration engines for business process implementations, etc. SOA implementation remains a daunting task, requiring, at a minimum, understanding of these very different technologies their programming models, their implementation and deployment approaches, etc.
One of the possible solutions to this complexity are "SOA programming languages" - Domain Specific Languages for SOA, for example Wsper or Einstein. The motivation behind these languages is to further raise the level of abstraction to move it closer to the actual SOA development concerns. As Edsger Dijkstra Notes:
A most important, but also most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use. If the tool is a programming language this influence is, whether we like it or not, an influence on our thinking habits.
Wsper is well described in Jean-Jacque Dubray’s InfoQ book on Composite Software Construction, thus the rest of this this post will concentrate on Einstein
Einstein is a language designed for the complex environment of a distributed SOA and is built around following main principles:
Einstein’s language is based on the following concepts:
The ultra experimental release 0.1 of Einstein is available now. According to the project’s roadmap core language preview should be available on July 15th, followed by the Core Language release on September 1st.
Thanks Boris, as you mentioned it's very much early days on Einstein - if anyone digs the ideas behind it please ping me for a chat. Next week I'm doing a webinar which will include a piece on Einstein. We've got a lot going into the future design at the moment; uniting a few diverse concepts such as rules engine, design by contract, state machines and concurrency idioms into a single cohesive syntax and semantic. So I'd recommend anyone interested to pop along to the website and register to get the weekly newsletter or sign up to dev@einstein.codecauldron.org and throw in some ideas.
All the best
Neil
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
1 comment
Watch Thread Reply