flex-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dana White <danatroyme...@me.com>
Subject Re: AMF3 Serialization Benchmark (GraniteDS 3.1.0.M1 vs. BlazeDS 4.0.0)
Date Fri, 06 Jun 2014 12:35:58 GMT
What email address should I use to unsubscribe from the group?

Cheers,

Dana A. White

> On Jun 6, 2014, at 7:32 AM, Franck Wolff <frawolff@gmail.com> wrote:
> 
> Nice ! I'm looking forward to reading your post ;)
> 
> Franck.
> 
> 
> 2014-06-04 13:24 GMT+02:00 Gary Yang <flashflexpro@gmail.com>:
> 
>> Franck,
>> 
>> I will post some example usages of Stage3D, GraniteDS and Spring together
>> in July.
>> 
>> The Vector serialization is very important for 3D because the 3D data is
>> all Vector<int> and Vector<Number>, I am very surprised that after Stage3D
>> has been release 3 years, I still can't find related topics online, it
>> seems most developers are following HTML/JS bluffing!
>> 
>> Great job!
>> 
>> Thanks.
>> 
>> -Gary
>> 
>> 
>>> On Wed, Jun 4, 2014 at 5:44 AM, Franck Wolff <frawolff@gmail.com> wrote:
>>> 
>>> Gary,
>>> 
>>> Nice to know you're happy with GraniteDS!
>>> 
>>> Unfortunately, I can't see your image, something went wrong with the
>>> post... Any link outside this mailing list?
>>> 
>>> Cheers,
>>> Franck.
>>> 
>>> 
>>> 2014-06-03 22:17 GMT+02:00 Gary Yang <flashflexpro@gmail.com>:
>>> 
>>>> Franck,
>>>> 
>>>> Version 3.1.0 working perfect!
>>>> 
>>>> After overring the writingCollection( very little code change ), I have
>>>> managed to load very complex type of data from server!!!
>>>> 
>>>> Please see:
>>>> 
>>>> [image: Inline image 1]
>>>> 
>>>> Thank you very much!
>>>> 
>>>> Best,
>>>> 
>>>> -Gary
>>>> 
>>>> 
>>>> 
>>>> On Tue, Jun 3, 2014 at 6:52 AM, Franck Wolff <frawolff@gmail.com>
>> wrote:
>>>> 
>>>>> See https://github.com/fwolff/flex-vectors-example and especially
>>>>> 
>>>>> 
>>> 
>> https://github.com/fwolff/flex-vectors-example/blob/master/java/org/granite/example/vectors/java/VectorService.java
>>>>> ,
>>>>> which shows how to serialize java arrays / collections as AMF vectors
>>>>> (sorry this feature isn't well documented yet).
>>>>> 
>>>>> Franck.
>>>>> 
>>>>> 
>>>>> 2014-06-02 23:18 GMT+02:00 Gary Yang <flashflexpro@gmail.com>:
>>>>> 
>>>>>> Hi Frank,
>>>>>> 
>>>>>> I just did a little test against GraniteDS, it can parse bytes into
>>> Java
>>>>>> Object very well even for strong typed vector array.
>>>>>> 
>>>>>> But I don't see GraniteDS can convert a Java Array into Actionscript
>>>>>> Vector, could you help me please?
>>>>>> 
>>>>>> 
>>>>>> I also took a look in org.granite.messaging.amf.io.AMF3Serializer,
>> it
>>>>>> serializes all Java Collection into actionscript
>>>>>> mx.collection.ArrayCollection, does mobile app based on Flex have
>>>>>> ArrayCollection compiled in? Which is the best way to change this
>>>>> default
>>>>>> behaviour please?
>>>>>> 
>>>>>> 
>>>>>> Best,
>>>>>> 
>>>>>> -Gary
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Fri, May 30, 2014 at 12:02 PM, Gary Yang <flashflexpro@gmail.com
>>> 
>>>>>> wrote:
>>>>>> 
>>>>>>> Right, I want to try GraniteDS because
>>>>>>> 
>>>>>>> 1) Vector support is important!
>>>>>>> 
>>>>>>> 2) BlazeDS is too old, 2011 code based on JDK5! No one can
>> guarantee
>>>>> it
>>>>>>> works with JDK8/Servlet3!!
>>>>>>> 
>>>>>>> 
>>>>>>> But I am very sure BlazeDS can catch up very fast once development
>>>>> back
>>>>>> on
>>>>>>> track!
>>>>>>> 
>>>>>>> -Gary
>>>>>>> 
>>>>>>> 
>>>>>>> On Fri, May 30, 2014 at 11:50 AM, Christofer Dutz <
>>>>>>> christofer.dutz@c-ware.de> wrote:
>>>>>>> 
>>>>>>>> Or we will be able to finally start tweaking BlazeDS as soon
as
>> we
>>>>> have
>>>>>>>> the parity release out the door ;-)
>>>>>>>> 
>>>>>>>> Chris
>>>>>>>> 
>>>>>>>> -----Urspr√ľngliche Nachricht-----
>>>>>>>> Von: Gary Yang [mailto:flashflexpro@gmail.com]
>>>>>>>> Gesendet: Freitag, 30. Mai 2014 17:14
>>>>>>>> An: users@flex.apache.org
>>>>>>>> Betreff: Re: AMF3 Serialization Benchmark (GraniteDS 3.1.0.M1
vs.
>>>>>> BlazeDS
>>>>>>>> 4.0.0)
>>>>>>>> 
>>>>>>>> Franck,
>>>>>>>> 
>>>>>>>> Very impressive!
>>>>>>>> 
>>>>>>>> I guess it is time to switch to GraniteDS.
>>>>>>>> 
>>>>>>>> Thanks.
>>>>>>>> 
>>>>>>>> -Gary
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Fri, May 30, 2014 at 4:41 AM, Franck Wolff <
>> frawolff@gmail.com>
>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> Gary,
>>>>>>>>> 
>>>>>>>>> Just have a look at the link I gave you before:
>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>> https://github.com/fwolff/amf-benchmark/blob/master/src/org/granite/be
>>>>>>>>> nchmark/amf/BenchmarkGraniteDSAmf.java
>>>>>>>>> .
>>>>>>>>> It doesn't run inside a servlet container, does it?
>>>>>>>>> 
>>>>>>>>> F.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 2014-05-29 17:22 GMT+02:00 Gary Yang <flashflexpro@gmail.com>:
>>>>>>>>> 
>>>>>>>>>> Franck,
>>>>>>>>>> 
>>>>>>>>>> Does GraniteDS have to run inside a servlet container?
I only
>>>>> want
>>>>>>>>>> to AMF serialization/deserialization function which
has
>> nothing
>>>>> to
>>>>>>>>>> do with network, http or servlet.
>>>>>>>>>> 
>>>>>>>>>> thanks.
>>>>>>>>>> 
>>>>>>>>>> -Gary
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Thu, May 29, 2014 at 7:44 AM, Franck Wolff <
>>>>> frawolff@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> Gary,
>>>>>>>>>>> 
>>>>>>>>>>> See the benchmark classes:
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>> https://github.com/fwolff/amf-benchmark/blob/master/src/org/granite/be
>>>>>>>>> nchmark/amf/BenchmarkBlazeDSAmf.java
>>>>>>>>>>> vs.
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>> https://github.com/fwolff/amf-benchmark/blob/master/src/org/granite/be
>>>>>>>>> nchmark/amf/BenchmarkGraniteDSAmf.java
>>>>>>>>>>> 
>>>>>>>>>>> GraniteDS needs a bit more configuration, but
is still very
>>>>> easy
>>>>>>>>>>> to
>>>>>>>>> use.
>>>>>>>>>>> 
>>>>>>>>>>> BTW, about DTOs: you can have a look to our
>>> Converter/Reverter
>>>>>>>>>>> feature, even if it isn't meant to be used this
way in the
>>>>> first
>>>>>>>>>>> place (see documentation
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>> http://www.granitedataservices.com/public/docs/latest/docs/reference/f
>>>>>>>>> lex/graniteds-refguide-flex.html#extensibility.customtypes
>>>>>>>>>>> ).
>>>>>>>>>>> 
>>>>>>>>>>> Let's say you have a bean MyBean on your server
and you
>> want
>>> to
>>>>>>>>> serialize
>>>>>>>>>>> MyBeanDTO instead (and vice-versa). You can easily
write
>> this
>>>>> kind
>>>>>>>>>>> of
>>>>>>>>>>> converter:
>>>>>>>>>>> 
>>>>>>>>>>> public class MyBeanConverter extends Converter
implements
>>>>> Reverter
>>>>>>>>>>> {
>>>>>>>>>>> 
>>>>>>>>>>>    public MyBeanConverter(Converters converters)
{
>>>>>>>>>>>        super(converters);
>>>>>>>>>>>    }
>>>>>>>>>>> 
>>>>>>>>>>>    // AMF3Deserialization (Converter)...
>>>>>>>>>>> 
>>>>>>>>>>>    @Override
>>>>>>>>>>>    protected boolean internalCanConvert(Object
value, Type
>>>>>>>>> targetType) {
>>>>>>>>>>>    return (value instanceof MyBeanDTO);
>>>>>>>>>>>    }
>>>>>>>>>>> 
>>>>>>>>>>>    @Override
>>>>>>>>>>>    protected Object internalConvert(Object value,
Type
>>>>>> targetType)
>>>>>>>> {
>>>>>>>>>>>    MyBean bean = new MyBean();
>>>>>>>>>>>    MyBeanDTO dto = (MyBeanDTO)value;
>>>>>>>>>>>    // copy properties from dto to bean...
>>>>>>>>>>>        return bean;
>>>>>>>>>>>    }
>>>>>>>>>>> 
>>>>>>>>>>>    // AMF3Serialization (Reverter)...
>>>>>>>>>>> 
>>>>>>>>>>>    public boolean canRevert(Object value) {
>>>>>>>>>>>        return (value instanceof MyBean);
>>>>>>>>>>>    }
>>>>>>>>>>> 
>>>>>>>>>>>    public Object revert(Object value) {
>>>>>>>>>>>    MyBeanDTO dto = new MyBeanDTO();
>>>>>>>>>>>    MyBean bean = (MyBean)value;
>>>>>>>>>>>    // copy properties from bean to dto...
>>>>>>>>>>>        return dto;
>>>>>>>>>>>    }
>>>>>>>>>>> }
>>>>>>>>>>> 
>>>>>>>>>>> Then, just plug this new converter (along with
any others)
>> in
>>>>> your
>>>>>>>>>>> granite-config.xml:
>>>>>>>>>>> 
>>>>>>>>>>> <granite-config>
>>>>>>>>>>>  <converters>
>>>>>>>>>>>    <converter type="path.to.MyBeanConverter"
/>
>>>>>>>>>>>  </converters>
>>>>>>>>>>> </granite-config>
>>>>>>>>>>> 
>>>>>>>>>>> According to this configuration, all MyBean instances
will
>> be
>>>>>>>>> serialized
>>>>>>>>>> as
>>>>>>>>>>> MyBeanDTOs and all MyBeanDTOs will be deserialized
as
>> MyBeans
>>>>> (you
>>>>>>>>> don't
>>>>>>>>>>> need to anything else, your services can return
eg. a
>>>>> collection
>>>>>>>>>>> of
>>>>>>>>>> MyBeans
>>>>>>>>>>> it will be serialized as a collection of MyBeanDTOs).
Of
>>>>> course,
>>>>>>>>>>> it can
>>>>>>>>>> be
>>>>>>>>>>> a bit restrictive if you want to have different
DTOs
>> classes
>>>>> for a
>>>>>>>>>>> same bean class...
>>>>>>>>>>> 
>>>>>>>>>>> Franck.
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 2014-05-29 2:33 GMT+02:00 Gary Yang <
>> flashflexpro@gmail.com
>>>> :
>>>>>>>>>>> 
>>>>>>>>>>>> Sounds great!
>>>>>>>>>>>> 
>>>>>>>>>>>> Do you think it is possible that I can use
the
>>>>>>>>>>>> serialization/deserialization features as
simple as using
>>>>>>>>>>>> BlazeDS
>>>>>>>>> like
>>>>>>>>>>>> below?
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> in pom.xml :
>>>>>>>>>>>> 
>>>>>>>>>>>>        <dependency>
>>>>>>>>>>>>            <groupId>org.springframework.flex</groupId>
>>>>>>>>>>>>            <artifactId>spring-flex-core</artifactId>
>>>>>>>>>>>>        </dependency>
>>>>>>>>>>>> 
>>>>>>>>>>>> then in Java file:
>>>>>>>>>>>> 
>>>>>>>>>>>>        ... ...
>>>>>>>>>>>> 
>>>>>>>>>>>>        Amf3Output aOut= new Amf3Output(new
>>>>>>>> SerializationContext());
>>>>>>>>>>>>        aOut.setOutputStream( outStream );
>>>>>>>>>>>>        aOut.writeObject(data);
>>>>>>>>>>>> 
>>>>>>>>>>>>        ... ...
>>>>>>>>>>>> 
>>>>>>>>>>>>        Amf3Input aIn = new Amf3Input( new
>>>>>> SerializationContext()
>>>>>>>> );
>>>>>>>>>>>>        aIn.setInputStream( inputStream );
>>>>>>>>>>>>        data = aIn.readObject();
>>>>>>>>>>>> 
>>>>>>>>>>>> Thanks.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> - Gary
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> On Wed, May 14, 2014 at 8:51 AM, Franck Wolff
>>>>>>>>>>>> <frawolff@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi everybody,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> We have just published the benchmark
results on the
>>>>> GraniteDS
>>>>>>>> blog:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>> http://www.granitedataservices.com/2014/05/14/amf3-benchmark-graniteds
>>>>>>>>> -3-1-vs-blazeds-4-0
>>>>>>>>>>>>> .
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Feedback would be very appreciated.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Franck
>>>>>>>>>>>>> @graniteds
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>> 

Mime
View raw message