SlideShare a Scribd company logo
1 of 20
Download to read offline
The Fat-Free Alternative
               Marwa Gamal
Fat ?? Free ?? Alternative !!



                       Fast !!

                                 Three ??
XML everywhere
‫‪Even CAT become XML‬‬




‫اى حاجة فاى حتة فاى وقت !!‬
‫هل فى حاجة كاملة فى الدنيا‬
                      ‫؟!!!‬
XML  Really BAD !!
  •   Character Encoding
  •   Embedding binary data
  •   Indentation Characters Mixed With Data
  •   Textual Representation of Numeric Data

               <int>1234567890</int>
  • Human un-readability
  • A single XML root element
Alternatives ??


           Not Used !!
XML alternatives
   CSV
   YAML
   JSON
   DL
   Property Lists
   GroovyMarkup
   …..


                    XML Alternatives
CSV “ Comma Separated Value”

EX :-

           Year,Make,Model,Length
           1997,Ford,E350,2.34
           2000,Mercury,Cougar,2.38

Cons : -

           homemade parser is required to convert the CSV data into a
           native data structure.
YAML
EX :-
      receipt: Oz-Ware Purchase Invoice
       date: 2007-08-06
      customer:
            given: Dorothy
            family: Gale
cons :-
      very immature API , Not commonly used.
JSON
                 JavaScript Object Notation



FAT ?? FREE ??



      ideal data-interchange language
XML vs. JSON
XML


•   Good namespace support
•   Widely Supported
•   Less memory usage to decode
•   “ DRY or DIE “
JSON


• Simple API
• Very good support by all browsers
• Concise format thanks to name/value pair -based
  approach
• Fully automated way of de-serializing/serializing
  JavaScript object
• Supported by many AJAX toolkits and JavaScript
  libraries
Using JSON !!

   Yahoo! Web Services
   Google Data Protocol
   Delicious data feeds
   Flickr services
‫شوية احصائيات ...‬
number of JSON APIs

      During 2009 : 191 JSON APIs registered.

     August 2010 : 223 APIs
     April 2011 : 1262 JSON APIs registered
growth rate : 565% in the past eight months
For more

           http://www.json.org/

More Related Content

Viewers also liked

Simple Jackson with DropWizard
Simple Jackson with DropWizardSimple Jackson with DropWizard
Simple Jackson with DropWizardTatu Saloranta
 
Jackson beyond JSON: XML, CSV
Jackson beyond JSON: XML, CSVJackson beyond JSON: XML, CSV
Jackson beyond JSON: XML, CSVTatu Saloranta
 
Cómo enfrentarse a los medios de comunicación
Cómo enfrentarse a los medios de comunicaciónCómo enfrentarse a los medios de comunicación
Cómo enfrentarse a los medios de comunicaciónhayenuma
 
Open APIs: State of the Market, May 2010
Open APIs: State of the Market, May 2010Open APIs: State of the Market, May 2010
Open APIs: State of the Market, May 2010John Musser
 
Open APIs and the Semantic Web 2011
Open APIs and the Semantic Web 2011Open APIs and the Semantic Web 2011
Open APIs and the Semantic Web 2011John Musser
 
Infinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineInfinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineMarian Borca
 
YAML is the new Eval
YAML is the new EvalYAML is the new Eval
YAML is the new Evalarnebrasseur
 
Open API Ecosystem Overview: December 2010
Open API Ecosystem Overview: December 2010Open API Ecosystem Overview: December 2010
Open API Ecosystem Overview: December 2010John Musser
 
Trabajo de reconocimiento general y de actores
Trabajo de reconocimiento general y de actoresTrabajo de reconocimiento general y de actores
Trabajo de reconocimiento general y de actoresmlpalaciose
 
Fastest Growing Web API Categories: Last 6 Months
Fastest Growing Web API Categories: Last 6 MonthsFastest Growing Web API Categories: Last 6 Months
Fastest Growing Web API Categories: Last 6 MonthsProgrammableWeb
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb
 
What Makes a Great Open API?
What Makes a Great Open API?What Makes a Great Open API?
What Makes a Great Open API?John Musser
 

Viewers also liked (14)

json
jsonjson
json
 
Simple Jackson with DropWizard
Simple Jackson with DropWizardSimple Jackson with DropWizard
Simple Jackson with DropWizard
 
Jackson beyond JSON: XML, CSV
Jackson beyond JSON: XML, CSVJackson beyond JSON: XML, CSV
Jackson beyond JSON: XML, CSV
 
Cómo enfrentarse a los medios de comunicación
Cómo enfrentarse a los medios de comunicaciónCómo enfrentarse a los medios de comunicación
Cómo enfrentarse a los medios de comunicación
 
Open APIs: State of the Market, May 2010
Open APIs: State of the Market, May 2010Open APIs: State of the Market, May 2010
Open APIs: State of the Market, May 2010
 
Open APIs and the Semantic Web 2011
Open APIs and the Semantic Web 2011Open APIs and the Semantic Web 2011
Open APIs and the Semantic Web 2011
 
Infinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineInfinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App Engine
 
Yaml
YamlYaml
Yaml
 
YAML is the new Eval
YAML is the new EvalYAML is the new Eval
YAML is the new Eval
 
Open API Ecosystem Overview: December 2010
Open API Ecosystem Overview: December 2010Open API Ecosystem Overview: December 2010
Open API Ecosystem Overview: December 2010
 
Trabajo de reconocimiento general y de actores
Trabajo de reconocimiento general y de actoresTrabajo de reconocimiento general y de actores
Trabajo de reconocimiento general y de actores
 
Fastest Growing Web API Categories: Last 6 Months
Fastest Growing Web API Categories: Last 6 MonthsFastest Growing Web API Categories: Last 6 Months
Fastest Growing Web API Categories: Last 6 Months
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research ReportProgrammableWeb's eSignature API Research Report
ProgrammableWeb's eSignature API Research Report
 
What Makes a Great Open API?
What Makes a Great Open API?What Makes a Great Open API?
What Makes a Great Open API?
 

Similar to The fat free alternative

Games for the Masses (Jax)
Games for the Masses (Jax)Games for the Masses (Jax)
Games for the Masses (Jax)Wooga
 
VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012Eonblast
 
Lag Sucks! GDC 2012
Lag Sucks! GDC 2012Lag Sucks! GDC 2012
Lag Sucks! GDC 2012realjenius
 
Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012Lance Ball
 
Sharded By Business Line: Migrating to a Core Database using MongoDB and Solr
Sharded By Business Line: Migrating to a Core Database using MongoDB and SolrSharded By Business Line: Migrating to a Core Database using MongoDB and Solr
Sharded By Business Line: Migrating to a Core Database using MongoDB and SolrMongoDB
 
Mongo la search platform - january 2013
Mongo la   search platform - january 2013Mongo la   search platform - january 2013
Mongo la search platform - january 2013MongoDB
 
MongoDB and Ecommerce : A perfect combination
MongoDB and Ecommerce : A perfect combinationMongoDB and Ecommerce : A perfect combination
MongoDB and Ecommerce : A perfect combinationSteven Francia
 
Beyond JSON - An Introduction to FlatBuffers
Beyond JSON - An Introduction to FlatBuffersBeyond JSON - An Introduction to FlatBuffers
Beyond JSON - An Introduction to FlatBuffersMaxim Zaks
 
Yahoo Pipes Middleware In The Cloud
Yahoo Pipes Middleware In The CloudYahoo Pipes Middleware In The Cloud
Yahoo Pipes Middleware In The CloudConSanFrancisco123
 
WordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress WebappsWordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress Webappstjasko
 
Mashups with Drupal and QueryPath
Mashups with Drupal and QueryPathMashups with Drupal and QueryPath
Mashups with Drupal and QueryPathMatt Butcher
 
Messaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new frameworkMessaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new frameworkTomas Doran
 
Message:Passing - lpw 2012
Message:Passing - lpw 2012Message:Passing - lpw 2012
Message:Passing - lpw 2012Tomas Doran
 
NoSql-YesSQL mickey alon
NoSql-YesSQL mickey alon NoSql-YesSQL mickey alon
NoSql-YesSQL mickey alon Mickey Alon
 
PG Day Us: Animations for Web & Hybrid
PG Day Us: Animations for Web & HybridPG Day Us: Animations for Web & Hybrid
PG Day Us: Animations for Web & HybridAlex Blom
 
Flickr and PHP - Cal Henderson
Flickr and PHP - Cal HendersonFlickr and PHP - Cal Henderson
Flickr and PHP - Cal Hendersonkangaro10a
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swaggerTony Tam
 
ODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XMLODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XMLMarco Gralike
 

Similar to The fat free alternative (20)

Games for the Masses (Jax)
Games for the Masses (Jax)Games for the Masses (Jax)
Games for the Masses (Jax)
 
VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012
 
Lag Sucks! GDC 2012
Lag Sucks! GDC 2012Lag Sucks! GDC 2012
Lag Sucks! GDC 2012
 
Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012
 
Sharded By Business Line: Migrating to a Core Database using MongoDB and Solr
Sharded By Business Line: Migrating to a Core Database using MongoDB and SolrSharded By Business Line: Migrating to a Core Database using MongoDB and Solr
Sharded By Business Line: Migrating to a Core Database using MongoDB and Solr
 
Mongo la search platform - january 2013
Mongo la   search platform - january 2013Mongo la   search platform - january 2013
Mongo la search platform - january 2013
 
MongoDB and Ecommerce : A perfect combination
MongoDB and Ecommerce : A perfect combinationMongoDB and Ecommerce : A perfect combination
MongoDB and Ecommerce : A perfect combination
 
Beyond JSON - An Introduction to FlatBuffers
Beyond JSON - An Introduction to FlatBuffersBeyond JSON - An Introduction to FlatBuffers
Beyond JSON - An Introduction to FlatBuffers
 
Yahoo Pipes Middleware In The Cloud
Yahoo Pipes Middleware In The CloudYahoo Pipes Middleware In The Cloud
Yahoo Pipes Middleware In The Cloud
 
WordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress WebappsWordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress Webapps
 
Mashups with Drupal and QueryPath
Mashups with Drupal and QueryPathMashups with Drupal and QueryPath
Mashups with Drupal and QueryPath
 
Messaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new frameworkMessaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new framework
 
仙台Ruby会議02 LT
仙台Ruby会議02 LT仙台Ruby会議02 LT
仙台Ruby会議02 LT
 
Message:Passing - lpw 2012
Message:Passing - lpw 2012Message:Passing - lpw 2012
Message:Passing - lpw 2012
 
NoSql-YesSQL mickey alon
NoSql-YesSQL mickey alon NoSql-YesSQL mickey alon
NoSql-YesSQL mickey alon
 
PG Day Us: Animations for Web & Hybrid
PG Day Us: Animations for Web & HybridPG Day Us: Animations for Web & Hybrid
PG Day Us: Animations for Web & Hybrid
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
 
Flickr and PHP - Cal Henderson
Flickr and PHP - Cal HendersonFlickr and PHP - Cal Henderson
Flickr and PHP - Cal Henderson
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
ODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XMLODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XML
 

The fat free alternative

  • 2. Fat ?? Free ?? Alternative !! Fast !! Three ??
  • 3.
  • 5. ‫‪Even CAT become XML‬‬ ‫اى حاجة فاى حتة فاى وقت !!‬
  • 6. ‫هل فى حاجة كاملة فى الدنيا‬ ‫؟!!!‬
  • 7. XML  Really BAD !! • Character Encoding • Embedding binary data • Indentation Characters Mixed With Data • Textual Representation of Numeric Data <int>1234567890</int> • Human un-readability • A single XML root element
  • 8. Alternatives ?? Not Used !!
  • 9. XML alternatives CSV YAML JSON DL Property Lists GroovyMarkup ….. XML Alternatives
  • 10. CSV “ Comma Separated Value” EX :- Year,Make,Model,Length 1997,Ford,E350,2.34 2000,Mercury,Cougar,2.38 Cons : - homemade parser is required to convert the CSV data into a native data structure.
  • 11. YAML EX :- receipt: Oz-Ware Purchase Invoice date: 2007-08-06 customer: given: Dorothy family: Gale cons :- very immature API , Not commonly used.
  • 12. JSON JavaScript Object Notation FAT ?? FREE ?? ideal data-interchange language
  • 14. XML • Good namespace support • Widely Supported • Less memory usage to decode • “ DRY or DIE “
  • 15. JSON • Simple API • Very good support by all browsers • Concise format thanks to name/value pair -based approach • Fully automated way of de-serializing/serializing JavaScript object • Supported by many AJAX toolkits and JavaScript libraries
  • 16. Using JSON !! Yahoo! Web Services Google Data Protocol Delicious data feeds Flickr services
  • 18. number of JSON APIs During 2009 : 191 JSON APIs registered. August 2010 : 223 APIs April 2011 : 1262 JSON APIs registered
  • 19. growth rate : 565% in the past eight months
  • 20. For more http://www.json.org/