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 Robert Bazinet on May 22, 2008
Microsoft released a version of their Enterprise Library 4.0 for Visual Studio 2008 and at the same time, Unity 1.1 application block, their dependency injection container.
Grigori Melnik, Product Manager from the patterns and practices team, announced the release of both the Enterprise Library 4.0 and the Unity 1.1 refresh, describing all the new features.
The MSDN Developer Center explains what this release means to developers:
This release of Enterprise Library includes a new application block (see The Unity Application Block). Unity is a lightweight, extensible dependency injection container with support for constructor, property, and method call injection. You can use the Unity Application Block as a stand-alone dependency injection mechanism without requiring installation of Enterprise Library. However, this release of Enterprise Library incorporates integration with Unity that provides new opportunities for generating instances of Enterprise Library objects.
There are also additions in functionality to several of the existing application blocks. The following sections discuss these and other changes in the current release. In addition, this release has been adapted to work with Microsoft Visual Studio 2008, Windows Management Instrumentation (WMI) version 2.0, and the Microsoft .NET Framework 3.5.
Version 4.0 of the Enterprise Library application blocks include:
What's new in Enterprise Library 4.0?
The QuickStart for all of the application blocks are available:
The Enterprise Library 4.0 is available for download from the patterns & practices Developer Center.
Unity is described as a dependency injection container that integrates with the Enterprise Library but is not dependent on it:
The Unity Application Block (Unity) is a lightweight, extensible dependency injection container with support for constructor, property, and method call injection. You can use it with Enterprise Library to generate both Enterprise Library objects and your own custom business objects. However, the Unity Application Block differs from the other application blocks included in Enterprise Library in several fundamental ways:
- You can use the Unity Application Block as a stand-alone dependency injection mechanism without requiring installation of Enterprise Library.
- The Unity Application Block can use configuration information exposed through configuration files to prepare the container, but you can also use code to register dependencies dynamically at run time.
- The Unity Application Block has no dependency on the Enterprise Library core or the Enterprise Library configuration system. It contains its own built-in mechanism for reading configuration—although, if appropriate, this information can come from the normal Enterprise Library configuration file.
What is new in Unity 1.1?
What did not make it into this release?
Unity 1.1 is available for download from the patterns & practices Developer Center.
A screencast of the Enterprise Library 4.0 Data Access Application Block using the Unity Inversion of Control (IoC) integration is available from David Hayden and gives a good introduction to how this can be used.
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.
2 comments
Watch Thread Reply