Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Enabling Offline SOA Using SDO and ADO.NET
Extending the scope of service consumption to disconnected and occasionally connected environments

Enterprises frequently have to deal with part of their infrastructure that doesn't have the privilege of uninterrupted connectivity. Such system environments designed using Service Oriented Architecture (SOA) need a way to manage uncertain connectivity. SOA as an architectural paradigm depends on a set of services providing business functionality. These services may be distributed over different domains or geographical boundaries. SOA, characterized by independent and self-sufficient services primarily needs to handle the issue of data inconsistency that may result from a disconnect in such environments.

Some SOA business applications mandate systems or devices be in sync with the central business database even when connectivity is uncertain. "Disconnected SOA" or "Occasionally Connected SOA" are designed to deal with such SOA implementations so that they can work in offline mode and can connect to the central server whenever connectivity is available, i.e., they can work seamlessly while taking care of data discrepancies and inconsistencies. This kind of independent and self-sufficient nature of services with business integrity requirements needs intelligence to realize an offline SOA.

Unlike a connected architecture, an offline SOA (disconnected architecture or occasionally connected architecture) demands sophisticated distributed business logic wrapped over the architectural components to interchange data seamlessly while maintaining business data integrity. Such an architecture lets users use such services offline independent of any network latency or dependency or network outage thus increasing overall productivity. Enterprises can benefit from the location transparency that such an architecture provides. For example, the sales people can work when they are in transit or at a location where there is no connectivity.

Offline architectures have interesting implications for enterprise systems in creating services with non-persistent connectivity. The approach discussed in this article for dealing with common problems in these kinds of architectures is based on distributed data objects that not only carry data but also piggyback the metadata and change history details. This helps in designing distributed disconnected services and, in turn, helps maintain the integrity of the business information in an offline SOA. Invariably we're concerned with offline SOA scenarios involving enterprise services with some kind of enterprise data access. Hence the terms of service and data will be used interchangeably because the primary problem we're tackling in an offline SOA is that of data.

Scenarios for Disconnected Environments
FIELD SALES FORCE
One scenario for a disconnected SOA is a field sales force, where agents go from place to place invoking enterprise back-end services to while collecting information and passing the information to a central repository.

A typical example is the retail business, where a sales team approaches vendors to take orders. They go to geographically distant places with uncertain connectivity carrying handheld devices. A typical salesperson, at periodic intervals, will update the central repository with the data in his PDA. This opearion needs to be in sync with data collected by other members and consistent data sans redundancy.

Multi-vendor Systems
Another scenario could be an enterprise that has multiple vendors who maintain independent databases, i.e., each vendor maintains its own local data store. These vendors update the data in the enterprise's central repository every fortnight. For example, consider a drug manufacturer that takes orders are at the end of the day from all the sales outlets that use its products. (Figure 1)

Challenges Faced
Now the offline (disconnected or occasionally connected) invocation of enterprise services brings with it a few challenges likelost updates due to concurrency. In a disconnected SOA, when a client has read the data, closed the connection, and is working on it, there's only an optimistic lock on the database feeding the service. This means that the client is making an assumption that the data won't be changed by other clients working on the same source, as opposed to a locked version of events; where other clients would be denied access to the resource.

Data Validations
Having called it a disconnected environment, we also have to consider the gap between two sessions; one for when the data is being worked on by the end user and second when the updated data is being stored in the central database. Any inconsistent or insufficient information gathered during this period will be acknowledged only at the point of update. To elucidate, a field agent may collect data from all the prospective users in a certain format. Let's say he sends all his aggregated data once a week. Any data validation against the database or the central repository is known later and would be considered insufficient for the system as a whole.

Strategies/Solution Approach
The ideal solution to these challenges would be to have a technique in place to push the changes automatically or semi-automatically from the server side to the client application. Correspondingly it's also necessary to have a technique at the user end or client end to manage the unforeseen discrepancies that may arise when the updates or inserts or deletes are being carried out at the data source or a business rule kicks in. A general flow or handshake between the server and client will need to take the following steps:

  1. Data transfer from the source to end-user systems (this could mean the necessary data or metadata to operate in a disconnected environment).
  2. Business data is pushed to the server end in a consistent format when connected to the network.
  3. A process needs to be in place to update the data and remove all concurrency inconsistencies.
  4. A process needs to be in place to deal with child record conflicts or any trigger-based application conflicts.
  5. Business data goes back to the end user or client with minor updates/acknowledgement.
While it might be difficult to articulate an all-encompassing solution to these issues, any disconnected SOA implementation must address the minimum pre-requisites of the architecture like maintaining a local copy of the data and checking data integrity when updating the source to prevent lost updates. We'll discuss in detail a couple of current technologies that will facilitate business integrity in disconnected services.

Below we'll show that ADO.NET and SDO not only help in providing a mechanism for transferring data but inherently manage the key issues of concurrency and version.

ADO.NET
ADO.NET is the data access component of the .NET Framework that helps in connecting to databases and manipulating data. The ADO.NET architecture has been uniquely designed to decouple the business logic layer from the data layer by introducing a new data access layer. The core component is the DataSet object: an in-memory cache of data representing a disconnected standalone entity that holds the data. Dataset combines the data tables and data relation object. Together they serve as a miniature disconnected implementation of a data source. ADO.NET objects can play a major role in .NET-based services in solving the concurrency issues across services in a SOA. Some of the features of ADO.NET that might help in disconnected architectures are mentioned below. (Figure 2)


About Terance Dias
The authors are interning and/or working as part of the Web Services COE (Center of Excellence) for Infosys Technologies, a global IT consulting firm, and have substantial experience in publishing papers, presenting papers at conferences, and defining standards for SOA and Web services. The Web Services COE specializes in SOA, Web services, and other related technologies.

About Bijoy Majumdar
Bijoy Majumdar is a member of the Web Services COE (Center of Excellence) for Infosys Technologies, a global IT consulting firm, and has substantial experience in publishing papers, presenting papers at conferences, and defining standards for SOA and Web services. Prior to Infosys, Bijoy Majumdar worked as an IT Analyst, and had been a member of the GE Center of Excellence (e-center) under the E-Business Practice of Tata Consultancy Services.

About Kartik Sai Krishna Tadanki
Kartik Sai Krishna Tadanki is a member of the Web Services/SOA Center of Excellence in SETLabs, the research wing of Infosys Technologies Limited, India. His interests include ESBs, technologies assisting in data application development like SDO, and other technologies that enable SOA.

About Jaya Jyothi N.
Jaya Jyothi N. is a member of the Web Services/SOA Center of Excellence in SETLabs, the technology research division at Infosys Technologies Ltd., India. Her fields of interest include .Net and XML Web Services.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
Skill at computing comes naturally to those who are adept at abstraction. The best developers can instantly change focus—one moment they are orchestrating high level connections between abstract entities; the next they are sweating through the side effects of each …
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP)....
Swisscom, the Swiss telecom, is going into the cloud business. Its subsidiary Swisscom IT Services AG has signed up with Red Hat as a Certified Cloud Provider and launched a public cloud Infrastructure-as-a-Service (IaaS) cloud targeting enterprise-class customers primarily in ...
I've been working on Enterprise Cloud Strategy and in the course of this work identified some interesting and non-obvious opportunities in the Cloud. One solution I’ve examined is the well-crafted solution that is enStratus. enStratus has built a SaaS Cloud Management / Govern...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News
Wave Systems Corp. (NASDAQ: WAVX) (www.wave.com) today announced that Steven Sprague, President and ...