You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by R J Scheuerle Jr <sc...@us.ibm.com> on 2002/01/25 18:31:01 UTC

Nearing Completion of TypeMapping/Serialization Re-Arch

Here is the new code and interfaces for the encoding package (typemapping
and serialization).
This new code is necessary for JAX-RPC compliance, and improves
customization.

(See attached file: newarch.zip)

I have tested this package in my sandbox and it has passed all of the Axis
tests.

I am ready to commit the code into Axis, but I want to put it up for a vote
first.

(I will work on the user guide/documentation changes after I commit the
code.)

Thanks,

Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115)
----- Forwarded by R J Scheuerle Jr/Austin/IBM on 01/25/2002 11:24 AM -----

                                                                                                                                  
                      R J Scheuerle Jr                                                                                            
                                               To:       gdaniels@macromedia.com, Sam Ruby/Raleigh/IBM@IBMUS,                     
                      01/25/2002 10:30          tomj@macromedia.com, Doug Davis/Raleigh/IBM@IBMUS, Glyn Normington/UK/IBM@IBMGB,  
                      AM                        Russell Butek/Austin/IBM@IBMUS, Kim Rochat/Austin/IBM@IBMUS, Greg                 
                                                Truty/Austin/IBM@IBMUS, Jeff Barrett/Austin/IBM@IBMUS, Bertrand                   
                                                Chiu/Austin/IBM@IBMUS, Donavon Johnson/Austin/IBM@IBMUS, Randy                    
                                                Fox/Austin/IBM@IBMUS, R J Scheuerle Jr/Austin/IBM@IBMUS                           
                                               cc:                                                                                
                                               From:     R J Scheuerle Jr/Austin/IBM@IBMUS                                        
                                               Subject:  Nearing Completion of TypeMapping/Serialization Re-Arch                  
                                                                                                                                  
                                                                                                                                  
                                                                                                                                  



I have completed and tested the typemapping/serialization changes
in my sandbox.
I am in the process of merging in all changes from Axis over
the last 10 days.

Here is the code in my sandbox for your inspection.


I would like to merge this into Axis early next week.
Would you like me to merge it in when I am ready?  Or
would you like to discuss this at the next chat.





Top Ten Improvements
====================

1) All of the type mapping/serialization framework component pieces
are now represented as interfaces (with substantial comments).  For
example,
there is now both a SerializationContext interface and
SerializationContextImpl
implementation class.

2) The typemapping/serialization framework components all implement
the JAX-RPC counterparts.

3) During serialization the SerializationContext now knows the original
java type of the value.  It can determine if java.lang.Integer value
was originally a primitive int or a java.lang.Integer.
Thus the value is properly serialized as an xsd:int or a (perhaps mult-ref)
soapenc:int.

4) The type mapping piece of the framework is now represented as the
JAX-RPC TypeMappingRegistry/TypeMapping objects.

5) The TypeMappingRegistry/TypeMapping classes have been stripped of
unnecessary function.  For example the TypeMappingRegistry used to have
a serialize(...) method, which has been appropriately moved to
SerializationContextImpl. The TypeMappingRegistry was starting
to become a dumping ground for miscellaneous methods.

6) The WSDD deployment code now properly builds TypeMapping objects.

7) The Axis serializers/deserializers/factories are now contained
in the package org.apache.axis.encoding.ser.
The serializers/deserializers/factories are now separate classes,
which will make them easier to understand and extend.  All of the
other framework pieces are in org.apache.axis.encoding.

8) SerializerFactories are now used to construct Serializers, per JAX-RPC.
See the comments in the serializer/deserializer/factory classes for
information
on how instances are created.

9) The QName constants that used to be in SOAPEncoding have been
appropriately
moved to org.apache.axis.Constants.  I also updated all of the code in AXIS
to use the current soap encoding namespace (URI_CURRENT_SOAP_ENC).

10) All of the tests still work.

Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115)
**** Attachment newarch.zip has been removed from this note on 25 January
2002 by R J Scheuerle Jr ****