| By Terance Dias, Bijoy Majumdar, Kartik Sai Krishna Tadanki, Jaya Jyothi N. | Article Rating: |
|
| October 16, 2007 04:15 PM EDT | Reads: |
11,441 |
Snapshots
When the data is accessed by an
application, a snapshot of the database is stored. The data is then
retrieved and stored in the dataset. When the application connects to
the database to update the data a snapshot of the database is taken
again and compared to the earlier one. If both are the same, the
updates are committed.
Time Stamping
This is similar to snapshot
isolation but here we compare timestamps instead of snapshots. When the
application connects to the database, it makes note of the timestamp.
The database maintains a record of when different applications/services
had access to, retrieved, or updated the data. Before updating the
records in the database, the last timestamp on the data and the
timestamp on the service are compared. If they're the same, the
database is updated successfully.
Metadata and Data Integrity
The dataset contains
rows, columns, and Constraints and Relations (DataRelation) that
combine to form the objects of the dataset. DataRelation allows the
service to retrieve the metadata with the data. When changes are made
to the data in the dataset, the constraints and relationships are
maintained and the data isn't flattened. When the database is updated,
the metadata gets updated too maintaining data integrity.
ADO.NET and XML
ADO.NET leverages XML to transfer
datasets over the wire. The advantage to transmitting datasets as XML
is that any endpoint that is XML-aware can receive and process the
dataset, a big advantage in a SOA world. It means that the receiving
endpoint doesn't necessarily have to be an ADO.NET component. These
days most databases have XML-in and XML-out capabilities that lets
ADO.NET to talk to them. Another advantage of XML is that it's not
proprietary like the binary protocols for data interchange.
Service Data Objects (SDO)
The concept of service
data objects (SDO), a recent standard offered by a few SOA vendors,
facilitates the abstraction of accessing data and its manipulation in
an SOA world. While ADO.NET as discussed above is meant specifically
for databases as data sources, SDO isn't restricted to any particular
data source type. SDO is essentially a disconnected architecture in
that clients aren't connected to the data source as they perform
manipulations. SDOs are already used as a standard for transmitting
data in some of the specifications used to realize a SOA-like Service
Component Architecture (SCA). They don't repeatedly hit the data
sources every time the data is changed. Instead they maintain a Data
Graph that holds the data in the form of a graph of interrelated Data
Objects. To help represent the data in the form of a graph the SDOs are
given the ability to make references to or contain other data objects
as their attributes. SDOs have a facility called Change Summary to
maintain a record of the changes that were made and so the original
state of the data is preserved. (Figure 3)
CHANGE SUMMARY
The provision of a change summary in the SDO lets the client record the
changes that were made to the data and retain the original face of the
data (as it was, when it was read) and to restore a graph of the data
objects to the state they were in when logging began.
Logging is a feature that can be disabled and the change summary no longer recorded. The change summary indicates the exact changes so, to reduce the amount of data being sent back and forth, only the change summary is sent.
This feature can help avoid the lost updates. Just before writing the data back to the database, the change summary, with its initial data state store, can be used to check to see if the data in the database has been changed while the client was disconnected. If the data hasn't changed the data in the database can be updated without any lost updates.
METADATA
SDO implementations enable services to exchange
metadata on the source and enforce a certain level of integrity . SDO
also maintains relational integrity through the validations and the
rules captured in the metadata. The metadata can be captured from the
XML Schema or the relational database or any structured representation.
So if employees and departments are related, then an employee referring
to a particular department must be updated when the department is
deleted otherwise any action will be disallowed.
SDO AND XML
When an SDO DataGraph is serialized, it is in
XML format. When two services interact via SDO they communicate in XML.
This means that any service may be sent an SDO and it should be able to
read it and make corresponding objects out of it. This is a major
advantage compared to normal Java or C# data, which would be
incomprehensible to other platforms.
OBJECT COMPARISON SUPPORT
SDO can also compare two data
objects for equality. As discussed a disconnected architecture needs to
check the new state of the data with the old state of the data to
ensure that it hasn't changed somewhere between the read and the write.
This requirement can be addressed by the support for object comparison
that SDO provides. SDO provides an Equality Helper Interface that can
make shallow or deep comparisons on the data objects. Which means that
not only can we tell if there's a difference, but which part of the
data changed . There is a Copy Helper Interface that creates shallow or
deep copies of the data objects that can save data states at different
stages in the change. This is valuable since the change summary can
only provide the first and last states of the data.
Limitations and Disadvantages
SDO and ADO.NET can
be significant in addressing the data concerns of an offline SOA.
However, a few disadvantages and limitations should be underscored.
BULKY FORMAT
The data payloads in SDO and ADO.NET are
bulkier than normal data since their format is XML. They also carry
more information than just the data. In SDO this is in XML. Such bulky
formats can affect network bandwidth and hence SOA performance.
SECURITY
In an offline SOA, distributed data objects have
to be transferred over the wire. So the security of data is a concern.
SDO and ADO.NET have no inherent features for securing the data over a
network.
Conclusion
While most of the challenges faced in
an offline SOA can be handled only at the application architecture
level, SDOs and ADO.NET provide basic features for handling some data
concerns. SDOs are already being used as a standard for transmitting
data to realize a SOA-like Service Component Architecture (SCA).
Features like change summary, timestamp, and metadata can be key
facilitators in addressing data concerns in a disconnected/occasionally
connected SOA.
References
1. Occasionally Connected Computing Architectures - http://findarticles.com/p/articles/mi_m0BRZ/is_9_23/ai_109082341
2. Occasionally Connected System Architectures - http://udidahan.weblogs.us/2007/04/04/occasionally-connected-systems-architecture/
3. Occasionally Connected Computing Profile - http://xml.coverpages.org/SOA-BlueprintsOccConnPv01.pdf
4. Service Data Objects - http://ftpna2.bea.com/pub/downloads/commonj/Commonj-SDO-Specification-v1.0.pdf
5. ADO.NET - http://msdn2.microsoft.com/en-us/library/3y0bb1zd(VS.80).aspx
6. .NET and Java: A Study in Interoperability - www.theserverside.net/tt/articles/content/Interoperability/Neward_Interoperability.pdf
7. Web Services and DataSets. MSDN Magazine. April 2003. - http://msdn.microsoft.com/msdnmag/issues/03/04/XMLFiles/default.aspx
Published October 16, 2007 Reads 11,441
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By 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.
More Stories By 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.
More Stories By 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.
More Stories By 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.
- Kindle 2 vs Nook
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Infrastructure-as-a-Service Will Mature in 2010: Microsoft's David Chou
- Windows 7 – Microsoft’s First Step to the Cloud
- Cloud Expo and the End of Tech Recession
- Jill Tummler Singer, Deputy CIO of CIA, Keynotes at GovIT Expo
- Reality Check at the Cloud Computing Expo
- Visual Studio 2010 Is Cloud Friendly
- Fired SCO CEO Fires Back
- Kindle 2 vs Nook
- The Difference Between Web Hosting and Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- Wave on Ulitzer: Confessions of a Google Wave Fanboy
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Cloud Computing Best Practices
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Infrastructure-as-a-Service Will Mature in 2010: Microsoft's David Chou
- Eval JavaScript in a Global Context
- Windows 7 – Microsoft’s First Step to the Cloud
- Google Maps and ASP.NET
- Crystal Reports XI & How It Has Changed
- Converting VB6 to VB.NET, Part I
- Creating Controls for.NET Compact Framework in Visual Studio 2005
- Where Are RIA Technologies Headed in 2008?
- How to Write High-Performance C# Code
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Implementing Tab Navigation with ASP.NET 2.0
- i-Technology Photo Exclusive: Bill Gates & Steve Jobs In "Nerds"
- .NET Archives: Getting Reacquainted with the Father of C#
- i-Technology Viewpoint: "SOA Sucks"
- Programmatically Posting Data to ASP .NET Web Applications




























