Implementation of a Serializer to Represent PHP Objects in the Extensible Markup Language

Interoperability in distributed systems is an important feature that refers to the communication of two applications written in different programming languages. This paper presents a serializer and a de-serializer of PHP objects to and from XML, which is an independent library written in the PHP programming language. The XML generated by this serializer is independent of the programming language, and can be used by other existing Web Objects in XML (WOX) serializers and de-serializers, which allow interoperability with other object-oriented programming languages.

Ensuring Consistency under the Snapshot Isolation

By running transactions under the SNAPSHOT isolation we can achieve a good level of concurrency, specially in databases with high-intensive read workloads. However, SNAPSHOT is not immune to all the problems that arise from competing transactions and therefore no serialization warranty exists. We propose in this paper a technique to obtain data consistency with SNAPSHOT by using some special triggers that we named DAEMON TRIGGERS. Besides keeping the benefits of the SNAPSHOT isolation, the technique is specially useful for those database systems that do not have an isolation level that ensures serializability, like Firebird and Oracle. We describe all the anomalies that might arise when using the SNAPSHOT isolation and show how to preclude them with DAEMON TRIGGERS. Based on the methodology presented here, it is also proposed the creation of a new isolation level: DAEMON SNAPSHOT.

Comparative Survey of Object Serialization Techniques and the Programming Supports

This paper compares six approaches of object serialization from qualitative and quantitative aspects. Those are object serialization in Java, IDL, XStream, Protocol Buffers, Apache Avro, and MessagePack. Using each approach, a common example is serialized to a file and the size of the file is measured. The qualitative comparison works are investigated in the way of checking whether schema definition is required or not, whether schema compiler is required or not, whether serialization is based on ascii or binary, and which programming languages are supported. It is clear that there is no best solution. Each solution makes good in the context it was developed.