SlideShare a Scribd company logo
Extbase
Object to XML Mapping
      Thomas Maroschik
Agenda

• XML basics
• Current state of EXT:palm
• Fail of EXT:palm
• Vision and the future
• Discussion
XML Basics
Key Technologies
• XML
• Schema
 • DTD
 • XSD
 • RelaxNG
• XPath / XQuery
• XSLT
XML Document
XML Namespace
XML Namespaces
XML Schema (DTD)
Deprecated, W3C Recommendation
XML Schema (XSD)
 Popular, W3C Recommendation
XML Schema (RelaxNG)
    Popular, Oasis/ISO Standard
XPath




      /bookshelf/book/title
    /bookshelf/book[1]/title
 /bookshelf/book/author/text()
/bookshelf/book[price<37]/title
XSLT
Current State of EXT:palm
Features
•   Generate XML schema (XSD) from annotated
    Domain Models
•   Serialize instances of Domain Models to XML
    document
•   Unserialize XML document to instances of
    Domain Models
•   merging of XML data with existing data from
    repositories by rules
•   Backend module
•   Scheduler task
•   No XML Namespaces yet
Example Domain Model
Example Palm Usage
Example Palm Merger Usage
Live Demo
Fail of EXT:palm
Inner Concept

• uses annotations for binding
• uses reflection for mapping
• serializing and unserializing is configurable
  by typoscript
• uses DOM for XML access
Serializer Concept

• iterates recursively over object
• builds DOMDocument directly
  => 2 in memory representations of data
Unserializer Concept

• iterates recursively over DOMDocument
• maps the data to an array
• array is mapped to object by property
  mapper
  => 3 in memory representations of data
Merger Concept
• can import/merge external data by
  unserializing xml to object
• fetches domain object from repository
• compares objects and applies changes by
  rules
  => 4 in memory representations of data
But why does this fail?
Reasons for Fail

• everything is defined global
• domain object cannot be serialized to
  different xml outputs
• configuration via TS in Extbase is flawed
• massive memory consumption
• reflection is quite slow
Conclusion



• currently just usable for limited usecases
Hacks to get it work
• import/merge all of a 2,2MB XML file takes
  of up to 2,5GB of memory
• 2 scheduler tasks
   • one that populates a jobqueue
   • one that does just a single import/merge
     at a time (import of 60 aggregate roots
     takes 60 Minutes)
Vision and the future
Concept
                             XML Schema


                         generate             use

            serialize                                     serialize

XML Data                            Binding                            Object
           unserialize                                   unserialize

                             use              generate



                                    Classes
Implementation Concept
 • binding will be done by a binding document instead
   of annotations
 => xml and objects may have very different
 structure
 => custom un-/serializers for data types
 => no global configuration anymore
 • compile binding to php
 => no reflection at runtime anymore
 • use xml reader/writer instead DOM
 => save memory and gain speed
How could the binding look like?




            Example from jibx.sourceforge.net
What do you think?
Thanks!
            Contact me via:
         tmaroschik@dfau.de
             @tom_noise

            Contribute via:
forge.typo3.org/projects/extension-palm/

More Related Content

What's hot (20)

PDF
Starting with MongoDB
Cesar Martinez
 
PPTX
MongoDB
Rony Gregory
 
PPTX
Unit 2
team11vgnt
 
PPTX
Xml processors
Saurav Mawandia
 
PPT
IWMW 2001: “XML and XSLT report
IWMW
 
PPTX
XML - SAX
SaraswathiRamalingam
 
KEY
QueryPath, Mash-ups, and Web Services
Matt Butcher
 
PDF
Rust is for "Big Data"
Andy Grove
 
PPTX
AngularJS
Yogesh L
 
PDF
NoSQL
Radu Potop
 
PDF
Why CouchDB
BigBlueHat
 
KEY
An introduction to Pincaster
Frank Denis
 
PPTX
NoSQL
Radu Vunvulea
 
PDF
Persisting Value Objects
The Software House
 
PPTX
mule introduction to dataweave
Paolo Mojica
 
PPT
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
David Horvath
 
PPTX
Serialization and performance by Sergey Morenets
Alex Tumanoff
 
PPTX
XSL - XML STYLE SHEET
SaraswathiRamalingam
 
PDF
NoSQL in Perspective
Jeff Smith
 
Starting with MongoDB
Cesar Martinez
 
MongoDB
Rony Gregory
 
Unit 2
team11vgnt
 
Xml processors
Saurav Mawandia
 
IWMW 2001: “XML and XSLT report
IWMW
 
QueryPath, Mash-ups, and Web Services
Matt Butcher
 
Rust is for "Big Data"
Andy Grove
 
AngularJS
Yogesh L
 
NoSQL
Radu Potop
 
Why CouchDB
BigBlueHat
 
An introduction to Pincaster
Frank Denis
 
Persisting Value Objects
The Software House
 
mule introduction to dataweave
Paolo Mojica
 
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
David Horvath
 
Serialization and performance by Sergey Morenets
Alex Tumanoff
 
XSL - XML STYLE SHEET
SaraswathiRamalingam
 
NoSQL in Perspective
Jeff Smith
 

Viewers also liked (20)

KEY
Jacob och lenny golf!!! ;)
jaco97
 
PPT
Tommy’s first baseball game
tinatorello
 
PPT
AUA AGM 2011 Highlights
christopherhallas
 
PPT
Question 2
jessicaalecci
 
PPTX
chiapas
davis9595
 
PPTX
Fitness, fun and friends
oxleytl
 
PPTX
Strategy presentation
oxleytl
 
PPTX
F e r n a n d o
Maibe Montano
 
PDF
T bm
maatbk
 
PDF
Carta servicio reparacion de boom
Benjamin Vasquez Cabrera
 
PPT
Question 6
jessicaalecci
 
PPT
Question 7
jessicaalecci
 
ODP
Pawerpoint wp
joanfuster
 
PDF
E kit (chi)
maatbk
 
PPT
AUA AGM 2012 Highlights
christopherhallas
 
PPT
Question 1
jessicaalecci
 
KEY
Jacob och lenny golf!!! ;)
jaco97
 
PPT
Vi-rút máy vi tính
linhlantrang15
 
PPTX
Trabajo de ingles
lyliandlylu
 
PDF
July sep2011
Santosh Padhy
 
Jacob och lenny golf!!! ;)
jaco97
 
Tommy’s first baseball game
tinatorello
 
AUA AGM 2011 Highlights
christopherhallas
 
Question 2
jessicaalecci
 
chiapas
davis9595
 
Fitness, fun and friends
oxleytl
 
Strategy presentation
oxleytl
 
F e r n a n d o
Maibe Montano
 
T bm
maatbk
 
Carta servicio reparacion de boom
Benjamin Vasquez Cabrera
 
Question 6
jessicaalecci
 
Question 7
jessicaalecci
 
Pawerpoint wp
joanfuster
 
E kit (chi)
maatbk
 
AUA AGM 2012 Highlights
christopherhallas
 
Question 1
jessicaalecci
 
Jacob och lenny golf!!! ;)
jaco97
 
Vi-rút máy vi tính
linhlantrang15
 
Trabajo de ingles
lyliandlylu
 
July sep2011
Santosh Padhy
 
Ad

Similar to Extbase object to xml mapping (20)

PPTX
Hibernate tutorial
Mumbai Academisc
 
PPTX
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
Marco Gralike
 
PPTX
Unit iv xml dom
smitha273566
 
PPTX
Data interchange integration, HTML XML Biological XML DTD
AnushaMahmood
 
PDF
MT_LinqXml _Introduce Linq to XML and Application.pdf
daihiepvl80
 
PPTX
DSpace 4.2 XMLUI Theming
DuraSpace
 
PDF
Service Oriented Architecture -Unit II - Modeling databases in xml
Roselin Mary S
 
PPT
XML and XPath details
DSK Chakravarthy
 
PPTX
Hotsos 2013 - Creating Structure in Unstructured Data
Marco Gralike
 
PPTX
Ajax xml json
Andrii Siusko
 
PPTX
XML-Extensible Markup Language
Ann Joseph
 
PPT
Object Oriented PHP Overview
Larry Ball
 
PDF
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
Nicolaescu Petru
 
PPTX
Wpf-Xaml And Layout Basics
Robin Aggarwal
 
PPTX
Xml serialization
Raghu nath
 
PDF
Xml parsing
Malintha Adikari
 
Hibernate tutorial
Mumbai Academisc
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
Marco Gralike
 
Unit iv xml dom
smitha273566
 
Data interchange integration, HTML XML Biological XML DTD
AnushaMahmood
 
MT_LinqXml _Introduce Linq to XML and Application.pdf
daihiepvl80
 
DSpace 4.2 XMLUI Theming
DuraSpace
 
Service Oriented Architecture -Unit II - Modeling databases in xml
Roselin Mary S
 
XML and XPath details
DSK Chakravarthy
 
Hotsos 2013 - Creating Structure in Unstructured Data
Marco Gralike
 
Ajax xml json
Andrii Siusko
 
XML-Extensible Markup Language
Ann Joseph
 
Object Oriented PHP Overview
Larry Ball
 
Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data T...
Nicolaescu Petru
 
Wpf-Xaml And Layout Basics
Robin Aggarwal
 
Xml serialization
Raghu nath
 
Xml parsing
Malintha Adikari
 
Ad

Recently uploaded (20)

PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Python basic programing language for automation
DanialHabibi2
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 

Extbase object to xml mapping