Network Virtualization

Subscribe to Network Virtualization: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Network Virtualization: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


netvirt Authors: Elizabeth White, Sven Olav Lund, Larry Alton, Moshe Kranc, Doron Kolton

Related Topics: Cloud Computing, Virtualization Magazine, Datacenter Automation, Mobile Enterprise Application Platforms, Network Virtualization

Article

Accelerate Mobile & Web Application Development with Linked Data Services

Data challenges facing mobile and cloud developers

Over the past few years, the demand for applications that run on mobile devices has exploded and there is no sign of this demand decreasing anytime soon. This, coupled with the rapid growth of cloud computing, has resulted in a large number of business applications that live outside the corporate firewall but still require agile access to data in corporate data centers, partner sources and public data like social media. These applications need quick and easy access to this data if they are to evolve rapidly in response to changing user preferences and business needs.

Organizations are now discovering a new resource-oriented, web-friendly, RESTful approach to data services for mobile and cloud application development. This approach uses data virtualization to deliver what are called "linked data services."

Data Challenges Facing Mobile and Cloud Developers
Mobile and cloud applications are often built to enhance the user experience by bringing agile access to information that is often spread across the enterprise, third parties, and the internet. As a result, these new applications need to access data that resides within the firewalls as well as data sources that are in the public domain - for example, data on web sites or social media information such as Twitter streams and Facebook posts.

To make matters even more challenging, the rate of change in these new mobile and cloud applications is much more rapid than for traditional enterprise applications. New versions or updates to most mobile and cloud applications are being pushed out on a monthly basis, if not faster. This means that the application requirements - and the requirements on accessing any data - are changing at a similar pace.

To keep up with the demands of the business, development teams for these mobile and cloud applications need to be able to access a variety of data sources from inside or outside the corporate firewalls together with data from sources not previously tapped. Also, developers need to access them quickly and easily. Given the nature of the applications, the data has to be delivered in a form that is lightweight, easy to consume, and can change and adapt as quickly as the application requirements change.

Traditional data integration technologies, whether simple data access using JDBC or ODBC or more complex data consolidation using ETL and data warehouses, are not suited to supporting the data access needs of mobile and cloud applications. For starters, neither approach easily supports access to external data sources such as those outside of the corporate firewall.

In either case, both approaches require the data to be in a structured form whether it's in a relational or tabular format for SQL-style access or in a multidimensional format for data warehouses. However, neither of these formats lend themselves to rapid change and iteration, meaning they are unable to support some of the requirements that new cloud and mobile applications bring to development teams. Finally, accessing data via SQL (JDBC or ODBC) or MDX (in the case of multidimensional data warehouses) is not a lightweight and easily consumable format suitable for mobile devices that run the risk of weak connections or even dropped connections. Applications running on these devices need to use technologies that can tolerate this uneven connectivity by instead relying on something that is connectionless and stateless.

Data Virtualization: Abstract Disparate Data into Canonical Views
Recognized as a valuable asset, more and more organizations are turning to technologies such as data virtualization to support data access by mobile and cloud applications. Data virtualization platforms connect, combine, and publish the data from almost any data source to consuming applications. That is, these platforms connect to almost any data source available, whether it's located inside the corporate firewalls or is outside on the Internet. These data sources can be structured, such as relational databases or data warehouses, semi-structured, such as data on the Internet, social media, PDF files, or delimited files, or unstructured such as data in emails or documents.

The data virtualization platform creates normalized virtual views of these data sources which can then be combined to create higher-level canonical views. The canonical views can then be exposed as virtual data objects - or data services - to consuming applications. The data services can be invoked using standards-based protocols such as SOAP or RESTful web services, SQL via JDBC, ODBC, or ADO.NET, and JMS messaging. Therefore, applications running on mobile devices such as an iPhone or an Android phone can access the data services via RESTful web services; internal applications such as BI and reporting tools can continue to use SQL over JDBC or ODBC; and tools such as BPM engines or ESBs can invoke the data services via SOAP web services, and so on. The data virtualization platform creates a data services layer that allows the applications to access the data in a format and protocol that suits their needs.

Using data virtualization technology to create a data services layer within the corporate integration infrastructure, organizations can enable any application to easily and securely access data, irrespective of its location and format.

RESTful Linked Data Services - Virtualized Data as Resources

Source: Denodo Technologies

"Linked data services" take the data services layer one step forward by allowing even easier discovery, navigation, and use of data resources. Using data virtualization, IT professionals can define named associations, or relationships, between the different canonical data views. The named relationships indicate that two canonical views are related in a specified way. For example, a customer view and order view are related to specify that orders are placed by customers. This customer-order relationship can also specify that cardinality of the relationship such as a customer can have many orders, but an order is owned by one and only one customer. Similarly, an order might be composed of one or more products and as a result another association can be defined between the order view and a product view. These associations in the data virtualization platform are similar to foreign key relationships in a relational table.

When the data services are queried by an application to retrieve the underlying data, any defined associations are returned to the querying application as navigable links - hence the term ‘linked data services.' For example, if an application running on a smartphone queries a ‘customer' data service (exposed as a RESTful web service) to retrieve information about a particular customer, the returned data will also include the URL of a resource providing information about the orders placed by that customer e.g.,

{
"name":"customer",
"elements":[
{"client_id":"C001",
"first_name":"John",
"last_name":"Smith",
"client_type":"01",
"street":"1384 Joyner Court",
"city":"San Jose",
"zip":"95131",
"state":"CA",
"primary_phone":"(408) 813-9318"}],
"links":[
{"rel":"self",
"href":"http://localhost:9090/denodo-restfulws/tutorial/customer/views/customer/C001"},
{"rel":"http://localhost:9090/denodo-restfulws/tutorial/customer/views/customer/C001/orders/",
"href":"./C001/orders?$format=json"}]
}

The highlighted association URL link references a RESTful resource that can be used to retrieve order information for the given customer. If the customer has placed multiple orders, the link will return multiple order details.

By linking the data services in this way, it becomes very easy for applications to navigate the data relationships and discover related data objects. The knowledge of these relationships doesn't need to be built into the application as hard-coded logic, but is delivered dynamically in response to queries against the data services, thereby, allowing the application to navigate the underlying data model without having to understand it beforehand. The value of linked data services is not restricted to mobile and cloud applications.

Linked data services are equally as valuable to more traditional applications such as BI and reporting tools. The data services layer appears to these tools as a virtual database containing canonical data views. The associations show the relationships between these different data views and allow the tools to examine and navigate the relationships as they consume the data. For example, in a self-service BI environment, data discovery and navigation is a principal tenet on which self-service relies. Linked data services make this data discovery and data relationship navigation possible by someone, such as a business analyst, who doesn't have direct access, control, and knowledge of all of the underlying data sources.

In fact, the value of linked data services is not just limited to mobile and cloud applications. Linked data services make it easier to build these applications by providing lightweight and easily consumable access to a variety of data sources, whether these data sources are inside the corporate firewalls or external on the Internet. However, linked data services also provide data discovery and navigation capabilities that are essential for self-service BI, which we all know is the holy grail of BI initiatives. By acting as a layer on top of a data virtualization platform, linked data services serve as a layer on top of the data virtualization platform that enables users to leverage all the capabilities offered by the platform. As a result, the combination of data virtualization and linked data services has become an essential component of any agile and dynamic data integration infrastructure.

More Stories By Paul Moxon

Paul Moxon is Senior Director of Product Management at Denodo Technologies, a leader in Data Virtualization software. For more information contact him at pmoxon@denodo.com.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.