Copyright © 2002 Sean C. Sullivan XML case study: SyncML Sean C. Sullivan at.

Slides:



Advertisements
Similar presentations
1/7 ITApplications XML Module Session 8: Introduction to Programming with XML.
Advertisements

Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
SOAP & Security IEEE Computer Society Utah Chapter Hilarie Orman - Purple Streak Development Tolga Acar - Novell, Inc. October 24, 2002.
SOAP.
SOAP: Simple Object Access Protocol CS 795/895. Reference links Video: 2-M.
1 An Introduction to Web Services. 2 Outline What is a Web service Background Standards –XML & XML Namespaces, XML Schema,WSDL, SOAP Tools & APIs –DOM/SAX,JAX-RPC/JAX-M.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
XML Parsing Using Java APIs AIP Independence project Fall 2010.
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
SOAP CPSC 315 – Programming Studio Spring 2008 Project 3, Lecture 2.
1 WS Technologies II API Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT- Institutions.
COS 381 Day 16. Agenda Assignment 4 posted Due April 1 There was no resubmits of Assignment Capstone Progress report Due March 24 Today we will discuss.
Coypright (c) Ning Chen, Ph.D CPSC 425 Java Enterprise Application Programming Presented by Ning Chen, Ph.D. Chair/Professor Department of Computer.
XML Introduction By Hongming Yu Feb 6 th, Index Markup Language: SGML, HTML, XML An XML example Why is XML important XML introduction XML applications.
Jennifer Widom XML Data XML Schema. Jennifer Widom XML Schema “Valid” XML Adheres to basic structural requirements  Also adheres to content-specific.
Copyright © 2001 Sean C. Sullivan* Third party trademarks are property of their respective owners Data Synchronization with SyncML * and sync4j Sean C.
1 Simple Object Access Protocol (SOAP) by Kazi Huque.
TP2653 Adv Web Programming SOAP and WSDL. SOAP Simple Object Access Protocol – Lightweight XML-based messaging protocol – A protocol for accessing a Web.
1 CS 483 Enterprise and Web Application Programming Week 7 Web Services.
Chapter 9 Web Services Architecture and XML. Objectives By study in the chapter, you will be able to: Describe what is the goal of the Web services architecture.
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
XML: Overview MIS 181.9: Service Oriented Architecture 2 nd Semester,
XML eXtensible Markup Language w3c standard Why? Store and transport data Easy data exchange Create more languages WSDL (Web Service Description Language)
Java API for XML Processing (JAXP) توسط : محمّدمهدي حامد استاد راهنما : دكتر مسعود رهگذر.
XML and Web Services November 21, 2005 Leo Putra Mardjuki Christopher William Lee Corey Fung Chan.
© 2002 by Prentice Hall 1 David M. Kroenke Database Processing Eighth Edition Chapter 14 Networks, Multi-Tier Architectures, and XML.
XML What is XML? XML v.s. HTML XML Components Well-formed and Valid Document Type Definition (DTD) Extensible Style Language (XSL) SAX and DOM.
Xavier Lawrence March X. Lawrence - Synchronization of Calendars with a Calendar Server - 2 / 20 Presentation Overview Introduction Project Objectives.
XML 1 Enterprise Applications CE00465-M XML. 2 Enterprise Applications CE00465-M XML Overview Extensible Mark-up Language (XML) is a meta-language that.
Web Services An introduction for eWiSACWIS May 2008.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
Lecture 15 Introduction to Web Services Web Service Applications.
XML Parsers Overview  Types of parsers  Using XML parsers  SAX  DOM  DOM versus SAX  Products  Conclusion.
Google’s Web Service January 4, 2004 Shuying Wang.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
XML – An Introduction Structured Data Mark-up James McCartney CSCE 590, Cluster and Grid Computing.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Web Services Standards. Introduction A web service is a type of component that is available on the web and can be incorporated in applications or used.
1 Web Service Description Language (WSDL) 大葉大學資工系.
Internet Technologies Review Week 1 How does Jigsaw differ from EchoServer.java? What abstractions are made available to the servlet writer (under.
XML and Web Services (II/2546)
CS 157B: Database Management Systems II February 11 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
1 “Universal Data-Speak”: The eXtensible Markup Language Zack Ives CSE 590DB, Winter 2000 University of Washington 3 January 2000.
Web Services, SOAP and Java Derek Munneke AJUG / ACS Java SIG November 2001.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
What is XML? eXtensible Markup Language eXtensible Markup Language A subset of SGML (Standard Generalized Markup Language) A subset of SGML (Standard Generalized.
Martin Kruliš by Martin Kruliš (v1.1)1.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
1/30/20161 Introduction to Web Services Bina Ramamurthy
XML Tools (Chapter 4 of XML Book). What tools are needed for a complete XML application? n Fundamental components n Web infrasructure n XML development.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Web Services. XML Namespaces, Schemas XML processing. Week 2.
SOAP, Web Service, WSDL Week 14 Web site:
Session # Copyright 2002 Sean C. Sullivan Data Synchronization with SyncML and Sync4j Sean C. Sullivan Software Architect Sync4j project.
Java High level programming language ◦ Sun Microsystems ◦ ORACLE acquired Java Development Kit – JDK Java Runtime Environment – JRE Java Virtual Machine.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
1 Seminar: Pervasive Computing 2004 Automatic mobile device configuration: Status & open challenges Stefan Hoferer Supervisor: Andreas Fasbender.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
XML in Web Technologies
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
XML Introduction By Hongming Yu Feb 6th, 2002.
JAXB 2.0 (Very short lecture) 4-Jun-19.
Extensible Markup Language (XML)
Presentation transcript:

Copyright © 2002 Sean C. Sullivan XML case study: SyncML Sean C. Sullivan at

Copyright © 2002 Sean C. Sullivan Agenda l XML and SyncML l Sync4j project l Q & A

Copyright © 2002 Sean C. Sullivan XML basics l “well-formed” documents l DTD –Document Type Definition l “valid” documents

Copyright © 2002 Sean C. Sullivan Simple XML document Portland, Oregon Rainy 47

Copyright © 2002 Sean C. Sullivan How are XML and SyncML related? l XML is a language for defining application-specific markup languages l SyncML is an XML-based markup language

Copyright © 2002 Sean C. Sullivan Simple SyncML document 1.0 SyncML/1.0 … …

Copyright © 2002 Sean C. Sullivan SyncML defined… “SyncML is a new industry initiative to develop and promote a single, common data synchronization protocol that can be used industry-wide.” (syncml.org) “SyncML is a specification for a common data synchronization framework and XML-based format […] for synchronizing data on networked devices.” (syncml.org) “SyncML is a […] protocol for conveying data synchronization operations.” (syncml.org)

Copyright © 2002 Sean C. Sullivan SyncML sponsors

Copyright © 2002 Sean C. Sullivan What is data synchronization? Data synchronization “is the process of making two sets of data look identical” (syncml.org whitepaper)

Copyright © 2002 Sean C. Sullivan Data Synchronization l Resolve conflicts Datastore1 l Exchange data modifications Datastore2 ACBCABACB

Copyright © 2002 Sean C. Sullivan What is a “data synchronization protocol”? l Method of communication for a data synchronization session l Protocol includes: –naming and identification of records –common protocol commands –identification and resolution of synchronization conflicts

Copyright © 2002 Sean C. Sullivan SyncML features l Synchronize any type of data l Multiple transport protocol bindings –HTTP, WSP, OBEX l Security l Interoperability

Copyright © 2002 Sean C. Sullivan SyncML: clients & servers SyncML server server modifications client modifications

Copyright © 2002 Sean C. Sullivan SyncML & XML l Abbreviated naming convention –Ex: ”protocol version” is l XML prolog is not required l WBXML – WAP Binary XML

Copyright © 2002 Sean C. Sullivan SyncML documents l DTD l Meta info DTD l Device info DTD

Copyright © 2002 Sean C. Sullivan document … … l “A SyncML Message is a well-formed, but not necessarily valid, XML document.” (syncml.org) l Contains data synchronization commands (operations)

Copyright © 2002 Sean C. Sullivan element 1.0 SyncML/1.0 session41 msg80386 …

Copyright © 2002 Sean C. Sullivan element cmd80486 …

Copyright © 2002 Sean C. Sullivan SyncML commands l

Copyright © 2002 Sean C. Sullivan Meta Info document l Contains sync session parameters … 586 …

Copyright © 2002 Sean C. Sullivan Device Info document l Describes device capabilities l For both client and server … … pda …

Copyright © 2002 Sean C. Sullivan Sync4j project l Java implementation of SyncML protocol l sync4j client & sync4j server l open source l

Copyright © 2002 Sean C. Sullivan XML parsing l SAX –“Simple API for XML” l DOM –document object model

Copyright © 2002 Sean C. Sullivan Choosing an XML parser l support for SAX 1.0? SAX 2.0? l support for DOM? l support for XML Namespaces? l validating or non-validating parser? l validation with DTD’s? l validation with XML Schema?

Copyright © 2002 Sean C. Sullivan XML parsers for Java l Apache Xerces-J l Apache Crimson l Sun JAXP –“Java API for XML Parsing” l JDOM l Also: –DOM4J, Oracle XML Parser for Java, ElectricXML, kxml, …

Copyright © 2002 Sean C. Sullivan sync4j key classes l Message l DeviceInfo l MetaInfo l Command classes: –AddCommand –DeleteCommand –ReplaceCommand

Copyright © 2002 Sean C. Sullivan Sync4j Message example 1 String strXML = “ … ”; Message msg; try { msg = new Message(strXML); } catch (InvalidMarkupException ex) { } catch (XMLSyntaxException ex) { }

Copyright © 2002 Sean C. Sullivan Sync4j Message example 2 SyncHeader header = new SyncHeader(...); SyncBody body = new SyncBody(...); Message msg; msg = new Message(header, body); String strXML = msg.toXML();

Copyright © 2002 Sean C. Sullivan XML data binding tools l Castor – l Zeus – l Sun JAXB –

Copyright © 2002 Sean C. Sullivan Summary l SyncML is an XML-based data synchronization protocol l Choose your XML parser carefully l Consider using an XML data-binding tool l l

Copyright © 2002 Sean C. Sullivan XML case study: SyncML Sean C. Sullivan at