.NET Interop

6
.NET Interop Radu Preotiuc-Pietro, BEA Systems

description

.NET Interop. Radu Preotiuc-Pietro, BEA Systems. Use Case 1. DAS Server. XML Schema. Client. XML. .NET. Java. Processing…. DAS Server. diffgram. Client. XML. ?. Java. Use Case 2. DAS Server. Change summary. diffgram. submit. Diffgram to SDO ChangeSummary translation. Java. - PowerPoint PPT Presentation

Transcript of .NET Interop

Page 1: .NET Interop

.NET Interop

Radu Preotiuc-Pietro,BEA Systems

Page 2: .NET Interop

Use Case 1

DAS

Server

XML

SchemaClient .NET

XML

Java

DAS

ServerClient

XML

Java

Processing…

diffgram?

Page 3: .NET Interop

Use Case 2

diffgramChange summary

Diffgram to SDO ChangeSummary

translation

DAS Server

Java

submit

Page 4: .NET Interop

Diffgram Format 1

<diffgr:diffgram ...>

<default_all_typesDataSet xmlns="ld-default-type-test">

<default_all_types diffgr:id="default_all_types1" msdata:rowOrder="0" msdata:hiddendefault_all_types_Id="0">

<ElementTypes diffgr:id="ElementTypes1" msdata:rowOrder="0" diffgr:hasChanges="modified" msdata:hiddendefault_all_types_Id="0">

<anyURI xmlns="">http://www.yahoo.com/</anyURI>

<boolean xmlns="">false</boolean>

<byte xmlns="">1</byte>

<datetype xmlns="">2006-01-12-08:00</datetype>

<dateTime xmlns="">2006-01-12T00:25:12.5008168-08:00</dateTime>

<decimal xmlns="">12.76</decimal>

...

</ElementTypes>

...

</default_all_types>

</default_all_typesDataSet>

<diffgr:before>

<ElementTypes diffgr:id="ElementTypes1" msdata:rowOrder="0" msdata:hiddendefault_all_types_Id="0" xmlns="ld-default-type-test">

<boolean xmlns="">true</boolean>

<decimal xmlns="">12.76</decimal>

</ElementTypes>

</diffgr:before>

</diffgr:diffgram>

<sdo:datagraph xmlns:sdo="commonj.sdo">

<changeSummary ...>

<ld:ElementTypes sdo:ref="#/sdo:datagraph/ld:default_all_types/ld:ElementTypes[1]" sdo:unset="anyURI byte datetype dateTime"><boolean>true</boolean></ld:ElementTypes>

</changeSummary>

<default_all_types xmlns="ld-default-type-test">

<ElementTypes>

<anyURI xmlns="">http://www.yahoo.com/</anyURI>

<boolean xmlns="">false</boolean>

<byte xmlns="">1</byte>

<datetype xmlns="">2006-01-12-08:00</datetype>

<dateTime xmlns="">2006-01-12T00:25:12.5008168-08:00</dateTime>

<decimal xmlns="">12.76</decimal>

</ElementTypes>

...

</default_all_types>

</sdo:datagraph>

Page 5: .NET Interop

Diffgram Format 2<diffgr:diffgram ...>

<CUSTOMER_PROFILEDataSet …>

<CUSTOMER_PROFILE diffgr:id="CUSTOMER_PROFILE1" msdata:rowOrder="0" msdata:hiddenCUSTOMER_PROFILE_Id="0">

<CustomerID xmlns="">CUST1</CustomerID>

...

<ADDRESS diffgr:id="ADDRESS1" msdata:rowOrder="0" msdata:hiddenCUSTOMER_PROFILE_Id="0" xmlns="">

<AddressID>ADDR1</AddressID>

<StreetAddress_1>1</StreetAddress_1>

<StreetAddress_2>1</StreetAddress_2>

<City>1</City>

...

</ADDRESS>

</CUSTOMER_PROFILE>

</CUSTOMER_PROFILEDataSet>

<diffgr:before>

<ADDRESS diffgr:id="ADDRESS2" diffgr:parentId="CUSTOMER_PROFILE1" msdata:rowOrder="1" msdata:hiddenCUSTOMER_PROFILE_Id="0" xmlns="">

<AddressID>ADDR1_2</AddressID>

<StreetAddress_1>1</StreetAddress_1>

<StreetAddress_2>1</StreetAddress_2>

<City>1</City>

...

</ADDRESS>

</diffgr:before>

</diffgr:diffgram>

<sdo:datagraph xmlns:sdo="commonj.sdo">

<changeSummary create="" delete="#/sdo:datagraph/changeSummary/urn:CUSTOMER_PROFILE[1]/ADDRESS[2]" ...>

<urn:CUSTOMER_PROFILE sdo:ref="#/sdo:datagraph/urn:CUSTOMER_PROFILE">

<ADDRESS sdo:ref="#/sdo:datagraph/urn:CUSTOMER_PROFILE/ADDRESS[1]"></ADDRESS>

<ADDRESS xmlns="">

<AddressID>ADDR1_2</AddressID>

<StreetAddress_1>1</StreetAddress_1>

<StreetAddress_2>1</StreetAddress_2>

<City>1</City>

...

</ADDRESS>

</urn:CUSTOMER_PROFILE>

</changeSummary>

<CUSTOMER_PROFILE ...">

<CustomerID xmlns="">CUST1</CustomerID>

...

<ADDRESS xmlns="">

<AddressID>ADDR1</AddressID>

<StreetAddress_1>1</StreetAddress_1>

<StreetAddress_2>1</StreetAddress_2>

<City>1</City>

...

</ADDRESS>

</CUSTOMER_PROFILE>

</sdo:datagraph>

Page 6: .NET Interop

Conclusion

Offers a way for the .NET programmer to use his/her familiar programming APIs

Takes advantage of the change tracking capability of ADO .NET

Leverages DAS to a new set of users