Major Differences between 8.1 and 10gR3

interestsauceInternet and Web Development

Oct 31, 2013 (3 years and 10 months ago)

110 views

As a matter of work I have had this interesting opportunity to work on the migration of some ALDSP 2.5
projects to Oracle 10gR3 ones. It was painful at first since I had a lot of java code written inside my DSP
project.

Here I would talk about my
complete experience:


Major Differences between 8.1 and 10gR3



DSP Project as we have in 8.1 becomes 2 Artifacts in 10gR3



DSP Project Archive




DSP has improved web services but not much control on the WSDL (i.e. Web Service
Annotations cannot be used).




DSP generated Web Services with a .ws extension




DSP Project archive deployed using odsi console



Ear file containing the Web Services


»


WebLogic web service project

»


WebLogic Schema Project



Upgrade Basics



Out of The Box Upgrade does not work



You have to

do 2 upgrades, one with the DSP Project and One with your Web Services



For some reason, we cannot upgrade both at the same time



You have to copy Schemas as a folder inside DSP Project to resolve all references in the DSP
Project




import

schema

"http://cri
t.vzbi.com/IXPlus"
at

"ld:AccountsSchemas/IxplusAccdetails.xsd"
;



AccountsSchemas is a folder inside DSP Project



DSP Project does not have a mechanism for creating java files.



All java files have to be compiled into a jar and placed under DSP
-
INF/lib folder



DSP becomes more like ALSB following the Aqualogic family




No direct programming control (except for custom libraries through DSP
-
INF/lib)




Everything
is
done using XQuery
. There is also XQSE which is a scripting Extension to
XQuery. This allows us to wri
te complex functions and procedures. One interesting fact
is that we can convert all the complex java logic to xqse functions/procedures as it has
support for do/while, try/catch etc.


DSP Project Upgrade



After Auto upgrade is complete, copy the schemas
folder under the DSP Project




Most of the DSP compile errors will be resolved by this.




Create .ws Web Service Map for all data services that we are exposing externally




We will not use data controls in the Web Service projects instead we will use web serv
ice
controls generated by the web service map.




DSP team expects the .ws to be consumed by the Front End directly and does not expect us
to proxy with another service layer.




Where we have some logic built into our jws, we cannot avoid web services layer.




In addition, there are reasons to avoid the web service generated by DSP directly to avoid
exposing SDO to the front end (in case of update).



Delete sdo.xsdconfig from the schemas folder



Use a common Fix End Point utility to route the WS back to the sam
e server



NoNamespace Causes issues generating webservices from DS



All Schemas should have a namespace defined




If some schemas do not have a namespace, DSP will not generate a valid WSDL file and it
cannot be consumed by a client.

Some Tips for successful
migration



Remove the inline WSDL Definfition in jws



Use the WSDL and generate the types in projects that have only read functions



Using the WSDL to generate types allows you not to deal with DSP SDO Objects



DSP Controls generate SDO Objects. Hence do not

use DSP/ODSI Controls in your web
service project.



SDO Object types are different from the XMLBean Types



Major difference between 8.1 and 9.2



It is not very simple to convert SDO Objects to XMLBeans and vice versa



Please use WSDL generated from .ws funct
ions for all read services



The WSDL has a wrapper object and a types jar will be generated for each wsdl that
you import.



Please make sure your DSP WSDL’s are updated any time you change the schema that
the WSDL is dependent on.

CRUD Operations



DSP
Replaces the submit with create, update and delete operations on each DSP. Can
be easily generated.



WSDL from .ws can be used for Create and Delete



For update, the WSDL generated from .ws file does not validate!



Cannot have two schemas in the same same n
amespace in the WSDL!



For Update, use the mediator client jar file



Mediator client uses SDO Objects and the update function requires a read and set for
setting the correct objects for update.

Creating create, delete and update functions for a ds


Mediator

client jar



Web Service Control from WSDL for Read Service



Some DB2 Tips



Please use for creating DB2 connections to create or update Physical DS



COM.ibm.db2.jdbc.app.DB2Driver




However, you need to create DB2 alias to use this driver in 10gR3