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 Dilip Krishnan on Sep 30, 2009
Noelios Technologies, the France-based consulting services firm, is shipping a new version of the Restlet open source project, a lightweight REST framework for Java, that includes the Restlet Extension for ADO.NET Data Services. The effort is a collaboration between Microsoft and Noelios Technologies and it makes it easier for Java developers to take advantage of ADO.NET Data Services.
ADO.net Data Services is a framework to enable creation of RESTFul services and clients that consume them. From MSDN,
The ADO.NET Data Services framework consists of a combination of patterns and libraries that enable the creation and consumption of data services for the web. The goal of the ADO.NET Data Services framework is to facilitate the creation of flexible data services that are naturally integrated with the web. As such, ADO.NET Data Services use URIs to point to pieces of data and simple, well-known formats to represent that data, such as JSON and ATOM (XML-based feed format).
Jean-Christophe Cimetiere, a Technical Evangelist at Microsoft wrote an article detailing the collaboration effort, in which he describes how the ADO.net Data Services, formerly known as “Project Astoria”, can be used to expose relational and non-relational data via RESTful services.
In order for the system to understand and leverage semantics over the data that it is surfacing, ADO.NET Data Services models the data exposed through the data service using a model called the Entity Data Model (EDM), an Entity-Relationship derivative. This organizes the data in the form of instances of "entity types", or "entities", and the associations between them.
For relational data, ADO.NET Data Services supports exposing an EDM model created using the ADO.NET Entity Framework. For all other (ie. non relational) data sources or to use additional database access technologies (ex. LINQ to SQL) a mechanism is provided which enables any data source to be modeled as entities and associations (ie. described using an EDM schema) and exposed as a data service.
More information about ADO.NET Data Services can be found here.
From the Restlet website, Restlet is a framework is a framework that helps developing RESTful client and server applications. The Restlet framework consists of a Restlet API that provides the core set of contracts to register a Restlet implementation. These implementations could be open source projects or commercial products. According to Cimetriere,
The Restlet Extension for ADO.NET Data Services provides a high-level client API that extends the Restlet Framework’s core capability by providing access to remote data services that are hosted on ASP.NET servers or the Windows Azure cloud computing platform.
Java developers use the extension’s code generator to create Java classes that correspond to data entities exposed through ADO.NET Data Services. The Java application is then able to access the data via a simple method call. The runtime components in the Restlet engine and the extension take care of the communication between the Java client application and ADO.NET Data Services.
The overall architecture can be described via the following component diagram (source)
Other java interoperability efforts lead by Microsoft include Apache Stonehenge (practical SOA/Web services interoperability across platforms), Azure .NET Services SDK for Java. More information about the Java-.net interoperability efforts can be found at www.interoperabilitybridges.com/projects/tag/Java.aspx.
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.
No comments
Watch Thread Reply