.NET Interop

Post on 31-Dec-2015

23 views 0 download

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

.NET Interop

Radu Preotiuc-Pietro,BEA Systems

Use Case 1

DAS

Server

XML

SchemaClient .NET

XML

Java

DAS

ServerClient

XML

Java

Processing…

diffgram?

Use Case 2

diffgramChange summary

Diffgram to SDO ChangeSummary

translation

DAS Server

Java

submit

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>

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>

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