XML integration with ADO+Written by Pawan Bangar
One of most important design goals for ADO+ was powerful XML support. Microsoft designed ADO+ hand in hand with .NET XML framework. Both are components of a single architecture. The unification of ADO+ with XML framework happens in dataset. For beginners datasets has methods that can read and write XML. For reading XML, XML framework parser is used, either explicitly or implicitly. For writing XML out, XML framework XmlWriter is utilized. In spite of where data originated, dataset can save out its contents, both schema and data as XML. The schema is encoded as an internal W3C schema section, generally known as XSD, and data is encoded as XML that be conventional to that schema. Because dataset's native serialization format is XML, it is an tremendous medium for moving data between tiers in a disconnected fashion just like disconnected recordset. Indeed, .NET Web services make intense use of datasets to transport data in context of a schema between tiers of an application. Just like populating dataset via its object model or through managed providers, loading dataset with XML is a two stage process. 1) The schema is created, and then data is loaded. If XML document comes with a schema, that schema is used to create relational structure of dataset. If not, dataset can infer schema from containment relationships within document. In general speaking, elements that are not scalar valued are mapped to tables, whereas attributes and scalar valued elements are mapped to columns. 2) The process of inferring schema is useful when constructing an application that has to consume XML that comes with no schema. But for production applications, it is highly desirable to take inferred schema, modify it as appropriate, and load that schema in before actual data is loaded. That way, process of loading document is deterministic, so you don't have to worry about what a slight change in incoming document will do to inference heuristics.
| | Digital Signaturesin xmlWritten by Pawan Bangar
The Xml Digital Signatures provides security services of data integrity, authentication, and nonrepudiation.In a simple shorthand notation structures of DSIG signatures with its four elements. Elements appear zero or more times if followed by "*", zero or once if followed by"?", and once or more if followed by "+". When not followed by a symbol, elements appear only once. Removing attributes and contents in notation it becomes an example of signature object using three of its four elements. The signature object contains cryptographic hash of any signed information, and a reference to information itself. The signed information may be an arbitrary document. However, often, it will be an XML object. The ability to sign only specific elements of XML documents is one of most important features of DSIG. It lets unsigned parts of XML document is enhanced, modified, or removed for privacy or efficiency, keeping signature valid. DSIG signatures may contain either signed XML object contained in XML object, or detached from signed object or document. When signed XML object envelops signature, enveloped signature value itself is not included in signature calculation and validation computation. For this you use enveloped-signature transform, removing whole signature element in which it is contained from digest calculation. Public key digital signatures that provide nonrepudiation, such as RSA, are computationally intensive operations; therefore, DSIG also allows shared-key authentication that provides authentication but nonrepudiation. Collision resistant hashing of signed content is also used to save computational requirements. Generating DSIG signatures: 1. Identity resources to be signed. 2. Calculating digest value and composing reference elements for each resource. 3. Composing signed info element from all references. 4. Computing value of signature method over identity resources to be signed element by applying algorithms like DSA, RSA-SHA1, etc 5. Composing signature elements with signedInfo, signature value, identity key used to sign, and other optional objects like signature properties.
|