170

SII (Subject) / SII (Lesson)

.

This lesson was created by jakobdanel.

Learn lesson

This lesson is not released for learning.

Advertisement
  • Data Persistence: Web Browser Architecture storing and retrieving user data, such as cookies, bookmarks, preferences, cache...
  • JavaScript • Scripting language, which is commonly used to create dynamic HTML pages and Web applications –         Animating page elements –         Validating user input –         Interacting with server components (web servers, databases, …) –         …
  • DOM (Full Term) Document Object Modell
  • DOM “The Document Object Model is a platform-and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents.”
  • XML (Full Term) extensible Markup Language
  • XML Markup Language primarily used for machine-to-machine data communication. XML 1.0 Specification defined by W3C since 1998. –         XML is a software and hardware independent language for encoding data. –         XML is very important for exchanging data over the Web, but also for other applications.
  • Well formed XML files –         XML document must have ONE root. –         All elements must have closing tag: o   <book> … </book> o   Or: element is empty: <book category = “Children”/> –         XML tags are case sensitive: o   <book> … </Book> => incorrect
  • XML Schema • Describes the structure of XML documents –         elements and attributes that can appear in XML. –         XML tree structure –         data types for elements and attributes –         default values for elements and attributes –         … • can be used to formally define new languages/ models –         e.g., GML, KML, SVG etc. • Is stored in XML Schema Definition files (*.XSD)
  • XML Namespaces •namespace is defined by the xmlns attribute –         xmlns:prefix="URI" –         URI is not looked up; only used as unique identifier. •The meaning of a name is defined by the authors of the namespace –         i.e., one and the same name can have different meanings in different namespaces. –         XML documents can contain names from different namespaces.
  • Parsing of XML Documents (Three Ways) –         Document Object Model Parser (DOM-Parser) –         Simple API for XML Parser (SAX Parser) XML Binding Frameworks
  • Advertisement
  • XML DOM Parser -          W3C standard -          Builds up the entire XML tree in memory. -          Advantages o   Enables tree-based, random access to objects. -          Disadvantages o   Memory footprint o   Performance
  • Simple API for XML (SAX) • Event based parsing of XML documents –         Reads and interprets sequences of the XML document. –         Pseudo codes call back method example: startElement (elementName){ if elementName ==book then …} •Advantages of event-based parsing –         Object tree is not built up in memory. • Little memory consumption / faster processing • SAX can parse large documents –         Enables parsing of XML streams.
  • XML Binding Frameworks • Principle: –         Java/C++ classes are automatically created from XML schema. –         Automated marshalling and unmarshalling of XML docs • Advantages of XML Binding Frameworks such as XMLBeans, –         Most convenient / powerful –         No direct interaction with XML files by programmer –         Direct usage of XML instances as Java instances However, same as DOM: high memory usage
  • XSL (Full Term) extensible Stylesheet Language
  • XSL • Stands for “eXtensible Stylesheet Language” • XSL consists of 3 W3C recommendations: 1. XSL Transformation (XSLT) 2. XSL Formatting Objects (XSL FO) 3. XPath • Purpose: transforming and displaying XML documents
  • XPath –         Is a W3C recommendation: http://www.w3.org/TR/xpath/ –         cannot be used stand-alone, is always used in the context of a host language (e.g., XSLT, JavaScript, Python…) –         works on a tree representation of the XML document (i.e., the XML has been parsed already...) –         uses path expressions for accessing subsets of XML documents. –         uses many built-in functions for accessing those structures, and for calculating values (e.g., counting the number of selected nodes) –         does not change the content of the XML document.
  • XSL Transformation (XSLT) • Most important part of XSL • XSLT itself is based on XML • XSLT stylesheets are used to define the transformation of XML documents into other XML documents or other formats by: –         Annotating elements –         Adding/removing elements & attributes –         Rearranging/sorting elements • Uses XPath to navigate in XML documents
  • W3C (Classic) Web Services definition   –         A Web service is a software system designed to support interoperable machine to machine interaction over a network. –         It has an interface which is described in a machine processable format (specifically based on WSDL the Web Service Description Language).
  • Web Services   ·         Enhancing the “Web of Documents” to the “Web of Services i.e., going beyond accessing and manipulating resources (get, put, post, ...) by supporting any kind of system-to-system interaction, e.g.: o   Inform the target system about something. o   Request information from the target system o   Make the target system do something specific, e.g. §  Close a valve in a chemical production system. §  Start up a new virtual machine in a cloud environment. §  Invoke a computation process.
  • WSDL (Full Term) The Web Service Description Language
  • WSDL - The Web Service Description Language   -          A W3C recommendation since 2007. -          An XML based language describing Web service interface.
  • SOAP -          For communication between Provider and Requester -          Originally: Simple Object Access Protocol o   Today: not an acronym anymore just SOAP -          Invoking remote procedure calls XML -          Platform independent Typical used with HTTP
  • RESTful Webservice -          RESTful web services is a simple web API adhering to the REST principles. -          REST (Representational State transfer) Access and manipulation based on a set of predefined stateless operations, e.g. (http) o   Is a set of architectural design principles.
  • REST vs. SOAP -          REST is not a standardized protocol, but an architectural style based on existing standards (HTTP, URI, XML/ -          SOAP provides access to operations (remote procedure calls) REST provides direct access to resources. -          SOAP / WSDL leads to definition of new operations instead of reusing a common set of simple operations (i.e., HTTP ‘s methods -          REST is light weight and less complex. o   Advantages: simplicity, performance, scalability, but SOAP is often preferred for implementing complex transactions
  • JSON (Full Term) Java Script Object Notation
  • JSON -         Web API`s based on REST mostly used JSON instead of XML. -         JSON o   Is used to exchange data via the web – just like XML. o   Is lightweight alternative to XML. o   Uses Java Script Syntax. o   JavaScript provides functions for converting text/JSON to ready-to-use JavaScript objects, back and forth. o   BUT: JSON is language independent. -         JSON schema can be used to describe & validate a JSON document.
  • JSON vs. XML Advantages: -          Typically, a smaller footprint than XML, can be undone with GZIP. -          Native support in JavaScript: easy-to-use Disadvantages: -          XML Family is more mature and there is a bigger tool support. -          à This advantage melting rapidly.
  • Open API Stands for: –         Set of tools for creating, documenting and testing RESTful web services –         machine-readable interface descriptions Maintained by the openAPI Initiative / Linux foundation –         Formerly known as “Swagger” –         Spec donated by the company SmartBear
  • OGC (Full Term) The Open Geospatial Consrtium
  • OGC – The Open Geospatial Consortium The Open Geospatial Consortium (OGC) is an international industry consortium of more than 520 companies, government agencies and universities participating in a consensus process to develop publicly available interface standards.
  • Advertisement
  • OGC - Mission To advance the development and use of international standards and supporting services that promote geospatial interoperability.
  • Abstract Specifications - OGC Document Type o   The Abstract Specifications provide a reference model for the development of OGC Implementation Standards.
  • Implementation Standard OGC Document Type An interface specification is considered to beat the implementation level of detail if, when implemented by two different software engineers in ignorance of each other, the resulting components plug and play with each other at that interface.
  • Best Practice Document - OGC Document Type o   Official OGC position on best practices related to the use and/or implementation of an adopted OGC document or related technology and for release to the public.
  • Public Change Request - OGC Document Type o   At any time, any OGC member or non-member can submit a Change Request Proposal (CRP).
  • Interface - OGC Implementation Standard –         An IS that documents member agreement on named set of operations that characterize the behaviour of an entity. An example is the Web Map Services (WMS) specification.
  • Encoding - OGC Implementation Standard –         An IS that documents member agreement on how to encode geospatial data. An example is the Geography Markup Language (GML).
  • Profile - OGC Implementation Standard –         An IS that documents member agreement on a strict subset of an OpenGIS specification applicable to multiple Application Schemas. An example of a profile is the GML Profile for Simple Feature Exchange
  • Application Scheme - OGC Implementation Standard –         An IS that documents member agreement on a subset of an OpenGIS implementation specification and adds application specific entities, e.g., feature types. An example of an application schema is CityGML.
  • GML (Full Term) Geography Markup Language
  • GML – Geography Markup Language -         Language for modelling and encoding geographical data. -         Designed for the web and web-based services. -         GML is an OGC Implementation Specification, currently version 3.3. -         GML is also published as ISO 19136 “Geographic information – Geography Markup Language (GML)” -         Based on XML technologies. -         Support spatial and non-spatial types of object. -         Extensible: o   Definition of profiles: (proper subsets of the full GML capabilities. Definition of domain specific application schemas, such as CityGML
  • GML Core Schemas -          GML core Schemas specify the encoding of basic concepts such as coordinate reference systems, geometric primitives, topology, temporal information, etc. They are not focused on specific applications
  • CityGML – Application Schema -          Geospatial information model for urban landscapes on the ISO 191XX family. o   Buildings, roads, transport facilities, vegetation, water bodies, city furniture … o   1-3D Geometries o   Texture and material representation of object surface. o   Network topology.
  • GeoJSON GeoJSON is a facto standard for JSON encoding of simple Geographic Features, i.e. real world objects such as Points of Interest, Roads, Buildings, ... (IETF RFC Specificationhttps://tools.ietf.org/html/rfc7946) • GeoJSON Objects … –         are JSON Objects. –         represent a collection of Features, a single Feature, or a Geometry. –         may have a "bbox" object. –         may be extended by further elements, not covered by the standard (not recommended) • GeoJSON Geometries (2D/3D) –         can be of the types: Point / MultiPoint, LineString/MultiLineString, Polygon/MultiPolygon, GeometryCollection –         Use WGS84 as spatial reference system.
  • GeoJSON vs. GML -          Not as powerful o   Only simple geometries. o   Only WGS84, no further support for other Coordinate Reference Systems -          Not as complex o   Uses JSON instead of XML. o   Small and fixed set of GeoJSON types. i.e., well suited for small cases.
  • WFS (Full Term) Web Feature Service
  • Web Feature Service (WFS) -         OGC standard -         Web service for providing access to feature data (such as roads, trees, protected sites …) on the web. o   Based on HTTP and XML o   Support of GML is mandatory, other encodings (e.g., GeoJSON, KML, SHP) are optional. o   Features can be queried by feature type. o   Support stored and custom queries (Query is expressed through Filter Encoding (ISO)) o   Current Version: 2.0.2
  • WFS Operations –         GetCapabilities get an XML-File with metadata –         DescribeFeatureType Returns an XML Schema describing the structure and properties of a specific feature type. –         ListStoredQueries –         DescribeStoredQueries –         GetFeature Returns a FeatureCollection compliant to the DescribeFeatureType response. •         (onlywithstoredqueries) •         (anycustomqueries) –         GetPropertyValue –         Transaction –         GetFeatureWithLock –         LockFeature –         CreateStoredQuery –         DropStoredQuery
  • WFS Query Expressions -          Similar to SELECT & WHERE clauses in SQL. -          Based on the OGC Filter encoding standard. -          Supports many operators: o   Comparison: IsBetween, IsEqual, IsLike, IsNull o   Spatial: contains, crosses, intersection -          Filter encoding does not process WFS to create a new one!
  • WMS (Full Term) Web Map Service