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 Abel Avram on May 01, 2008
Complex client applications containing lots of graphical interfaces need to be constructed from various component blocks, perhaps developed by separate teams, and assembled together like a giant puzzle. Such an application has what is called a "Composite UI". The building blocks, or the modules, it is made of, are developed separately, and they should work together and should be assembled into one application with as little effort as possible. A solution, a framework, for that purpose is of great help for architects and developers.
Microsoft has created several solutions over time like Composite UI Application Block (CAB):
It provides proven practices to build complex smart client user interfaces based on well known design patterns such as the Composite pattern, in which simple user interface parts can be combined to create complex solutions, but at the same time allowing these parts to be independently developed, tested, and deployed.
Another Microsoft solution is Smart Client Software Factory:
The Smart Client Software Factory provides an integrated set of guidance that assists architects and developers create composite smart client applications.
Other solutions are Mobile Client Software Factory for the Windows Mobile platform, and Web Client Software Factory for the web.
PRISM stands for PResentation Integration SysteM, and it is a project also endorsed by Microsoft specifically targeted at WPF, and hosted on CodePlex. According to Glenn Block, a Technical Product Planner for Microsoft, PRISM offers the following benefits:
Right now, PRISM "includes a reference implementation, a reusable library code and pattern guidance", but the plan is to develop a framework which composite applications can be built upon. The latest release was made available on April 15th, 2008 and it was an intermediate in-development one. The current source code depends on Castle Windsor, but the final release won't depend on that.
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
Case Study: IBM's Agile Transformation
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
Just an FYI, Caliburn does everything Prism can and much, much more. It's been used in production applications and is available as an open source framework right now.
Hi Abel
Prism does not stand for Presentation Integration System. This was just something I throughout in a blog post. For now Prism has no meaning other than relating to a prism itself :)
As far as how Prism compares to other similar offerings including those we have delivered in the past, I have a post on this here. blogs.msdn.com/gblock/archive/2008/05/08/prism-...
Also, Prism does not depend on Castle Windsor as these were our early spikes. Prism does not actually depend on any specific container. Our Reference Implementation and Quickstarts use Unity, however the core Prism libraries do not depend on Unity.
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.
3 comments
Watch Thread Reply