News of a .NET-to-WebSphere link seems to occur less commonly than in the early days of Web services. But an update to IBM's WebSphere eXtreme Scale server provides just such a link. IBM's WebSphere eXtreme Scale REST data service offers ready connections to .NET as well as Ajax and PHP clients. With these data services, any HTTP client can get metadata from the eXtreme Scale data grid via a REST (REpresentational State Transfer) service, according to IBM.
To link eXtreme Scale REST data service with clients, IBM utilized a little-known Microsoft protocol known as the Open Data (OData) protocol—shades of the days when Microsoft and IBM combined with others to launch SOAP! OData came out of Microsoft work on ADO.NET and WCF Data Services. It is supported in Visual Studio 2008.
''We wanted a zero-foot print client," Billy Newport, IBM Distinguished Engineer, told SearchSOA.com. "We did not want a distinct client for each [language]." As Newport and his colleagues looked for a way to open up a RESTful interface to the eXtreme Scale data grid, they discovered that OData met their needs.
WebSphere eXtreme Scale server may sometimes be overlooked amidst the large IBM product portfolio, but it represents the type of technology that is increasingly appearing in cloud computing architectures. Among its predecessors was T-spaces technology, an implementation of a data cache based on distributed Tupple space programming paradigms akin to JavaSpaces and GigaSpaces architectures. These techniques have set the stage for in-memory data stores intended to put the "elastic" in flexible grid and cloud computing.
Programming language independence
Language independence is increasingly a hallmark of the data grid providers. GigaSpaces has long supported both .NET and Java. Arising from the .NET milieu, ScaleOut Software recently broadened its scope to support Java, too.
IBM's Newport agrees multiple languages will be important in the cloud. "If you build a data grid you need to get a return not just for the Java developers, but for the Ajax, .NET, Python, Ruby and PHP developers as well," he said.
Why will data grids have a place in cloud computing? At one time, said Newport, if you wanted to have persistent data, the only choice was a DB. Data grids and data caching have subsequently emerged as an important alternative architecture, although RDBs still likely play a role in the overall offering.
Databases are ''great for long term critical data,'' Newport said. ''They are not great for short term,'' he added.
Also databases are not designed to work in multiple data centers, he indicated.
''Data grids offer a cloud-like data model that can work well in multiple data centers,'' Newport said.
What is at work here in the concern about persistent data is the overhead of object mapping, which may prove a serious "gotcha' for many potential cloud applications. Grids typically store without converting format.
''With relational databases using POJOs [Plain Old Java Objects] and SQL, there is a mapping required,'' notes Newport. This goes right the down the line with each programming language. If you are using an RDB as part of the operation, there is a mapping required to SQL.