210 likes | 344 Views
Introduction to XML. XML . e X tensible implies that users define tag content M arkup implies it is a coded document L anguage implies it is a metalanguage used to define other languages XML is a subset of the Standard Generalized Markup Language (SGML). . Why use XML?.
E N D
XML • eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage used to define other languages • XML is a subset of the Standard Generalized Markup Language (SGML).
Why use XML? • XML supports a wide variety of applications • XML is compatible with SGML, the earlier generalized markup language • XML documents are human-legible; ie., readable • XML design is formal, consistent, and concise.
Why use XML? • XML allows the user to customize tags for specific applications • XML facilitates open storage and exchange of data • XML is capable of self-documenting data and data schemas • XML can be read by humans and machines • XML is platform-independent so that data can be shipped to or read from any client application.
XML Overview (cont.) Xpath One of a set of XML technologies supporting XQuery development, locating data in XML documents XLink XML markup language for creating hypertext links XPointer Used along with Xlink for establishing hypertext links to URI references XQuery XML transformation language allowing applications to query relational databases and XML data
Sample XML Schema Schema is a record definition, analogous to the Create SQL statement, and therefore provides metadata
Sample XML Document Data XML data involves elements and attributes defined in the schema, and is analogous to inserting a record into a database
Web Services XML-based standards that define protocols for automatic communication between applications over the Web Web Service Components: Universal Description, Discovery, and Integration (UDDI) Technical specification for distributed registries of Web services and businesses open to communication on these services Web Services Description Language (WSDL) XML-based grammar for describing Web services and providing public interfaces for these services Simple Object Access Protocol (SOAP) XML-based communication protocol for sending messages between applications via the Internet
XML’s Applications • Web Services • Protocols and standards for exchanging data between diverse applications • Applications written in different programming languages and running on different platforms can exchange data through web services • XML data can be interchanged between applications using common protocols such as HTTP, SMTP, FTP, and XMPP.
Discovery - Search UDDI site(s) for the proper Web service. • Description - A description of the selected Web service is returned to the client application as a Web Services Description Language (WSDL) file. • Proxy creation - A local proxy to the remote service is created. • Soap Message Creation - a Soap/XML message is created and sent to the URL specified in the WSDL file. • Listener - A Soap listener at the host site receives the call and interprets it for the Web Service. • The Web service performs its function, and returns the result back to the client, via the listener and the proxy Source: http://www.zdnet.co.uk
Figure 10-7 Web services deployment (adapted from Newcomer, 2002)
Specific Applications • Most XML applications, at their core, thrive because of the open data interchange capabilities of XML • Really Simple Syndication (RSS) - provides data packets containing short descriptions of web content combined with links to entirety of the content. The XML file is called an RSS feed • EDI- XML provides a standard format to describe different types of data -- for example, a loan application, an invoice, healthcare claim, project status -- so that the information can be decoded, manipulated, and structured consistently • B2B - Electronic Business Orders (ebXML) are a set of specifications designed to provide open XML-based infrastructure for global use of XML for electronic business information communication • Interactive Financial Exchange (IFX) – an XML-based messaging protocol for the exchange of financial data
Service Oriented Architectures Collection of services that communicate with each other by passing data Web services, CORBA, Java, XML, SOAP, WSDL Loosely coupled Interoperable Using SOA results in increased software development efficiency (up to 40%)
SOA • SOA has the goals of • increased interoperability (information exchange, reusability, and composability) • increased federation (uniting resources and applications while maintaining their individual autonomy and self-governance) • increased business and technology domain alignment. Source: http://en.wikipedia.org/wiki/Service-oriented_architecture
SOA • SOA is an architectural approach for constructing complex software-intensive systems from a set of universally interconnected and interdependent services. • SOA realizes its business and IT benefits through utilizing an analysis and design methodology when creating services. • This methodology ensures that services remain consistent with the architectural vision and roadmap, and • that they adhere to principles of service-orientation. Source: http://en.wikipedia.org/wiki/Service-oriented_architecture
SOA • In summary: SOA defines how to integrate widely disparate applications for a world that is Web based and uses multiple implementation platforms. It usually is implemented through XML-based data interchange Source: http://en.wikipedia.org/wiki/Service-oriented_architecture
Semantic Web W3C project using Web metadata to automate collection of knowledge and storing in easily understood format Structuring based on: XML Resource Description Framework (RDF) Web Ontology Language (OWL)