Sunday, May 09, 2010

EMC Students Projects: Content Addressable Storages and XAM DSL

As student projects initiated in EMC St. Petersburg Center of Excellence evolve, I will write about these projects one by one. The first project to tell about is XAM XReplicator.

We have various ways to choose directions and technologies for student projects. In this case an area - eXtensible Access Method (XAM) to play with was recommended by Steve Todd, EMC's Distinguished Engineer. XAM is an open specification developing by Storage Network Association. Wikipedia defines XAM as:
an API for fixed content aware storage devices. XAM replaces the various proprietary interfaces that have been used for this purpose in the past. Content generating applications now have a standard means of saving and finding their content across a broad array of storage devices.
For a really good XAM overview pls refer to
a ComputerWorld article by Russell Kay.

Steve works a lot with XAM (see e.g. his thesis: 'Comparing the XAM API with File System Programming' or the latest article in the the International Journal of Digital Curation) and proposed it as one of the promising technology to study and research (because its about object storage and storage management - the two areas of adjacent technologies with a market potential, see slide #18 in his talk on intrapreneurship).

Three students Alexander Burmak, Yury Mirov and Igor Kovalev (they study at different departments in the National Research University of Information Technologies, Mechanics and Optics) with Petr Alekseev as a team's curator working together for the last five months learned and discovered XAM and then implemented XReplicator a java tool set, consisted of:
  • Library to enable XAM (eXtensible Access Method) storages replication
  • Utility that provides console user interface for replication (XUtility)
  • DSL (Domain-Specific Language) XOnce, that makes query to storages much easier
From my perspective one of the most interesting part of the project is that students applied the technology they are also fond of - Domain Specific Languages. And especially it's great because to create XOnce (XAM DSL) they work with the Meta Programming System by JetBrains, that is a free product with developers' team located in St. Petersburg.

For more details see the slides below and Igor's blog post.

No comments: