Some Observations on Common Patterns in Information Technology

34
Patterns in Information Technology 1 Some Observations on Common Patterns in Information Technology Prof. Dr. Franz-Josef Behr, Stuttgart University of Applied Sciences ICTES 2014, University of Kelaniya, Sri Lanka http://en.wikipedia.org/wiki/University_of_Kelaniya#mediaviewer/ File:Unikelruki.jpg

description

Invited talk given at ICTES 2014, University of Kelaniya, Sri Lanka

Transcript of Some Observations on Common Patterns in Information Technology

Page 1: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

1

Some Observations on Common Patterns in Information Technology

Prof. Dr. Franz-Josef Behr, Stuttgart University of Applied Sciences

ICTES 2014, University of Kelaniya, Sri Lanka

http://en.wikipedia.org/wiki/University_of_Kelaniya#mediaviewer/File:Unikelruki.jpg

Page 2: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

2

Outline

• Introduction • Features and collections of them, and their Identity• Encoding

– Markup Languages, Structuring vocabularies by namespaces– Key value pairs– Separating information chunks

• Standards• Openess• Networking and Service Orientation

Page 3: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

3

• Field data collection• Surveying• Photogrammetry• Remote sensing

• Mobile Apps• Geodatabeses• Spatial Data Infrastructures• Data Harmonization• Service oriented Architectures• Web Mapping• OGC WebServices• Architectures• Reports & Presentations• 3D, 4D, …

Page 4: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

4

Complexity

Page 5: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

5

Reduction ofComplexity

Page 6: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

6

Recognition ofPattern

Page 7: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

7 Features andcollections of them

Page 8: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

8

Features

• real world: consisting of entities / phenomena (latin: ens: a being)

• Feature = an abstraction of real world phenomena‖(ISO 19101)

• geographic feature: associated with a location relative to the Earth.

• The state of a feature is defined by a set of properties, where each property may be thought of as a {name, type, value} triple.

Real worldt

Model

Entity

feature

Identity

properties

behaviour

attributes

geometry

styling properties

meta properties

Technical viewpoint,abstraction,generalization

relationships

Page 9: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

9

feature

feature

feature

feature

feature

feature

featurefeature

feature

feature

feature

feature

feature

feature

Page 10: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

10

Single features and collections: in GML

• FeatureCollection: a collection of GML Features, having own properties and an optional list of Spatial Reference System Definitions. [1]

• GML feature collections are themselves valid GML features. [2]

<complexType name="AbstractFeatureCollectionType" abstract="true"> <complexContent> <extension base="gml:AbstractFeatureType"> <sequence> <element ref="gml:featureMember" minOccurs="0" maxOccurs="unbounded"/> <element ref="gml:featureMembers" minOccurs="0"/> </sequence> </extension> </complexContent></complexType>>

<element name="AbstractFeatureCollection" type="gml:AbstractFeatureCollectionType" abstract="true" substitutionGroup="gml:AbstractFeature" />

[1] http://www.w3.org/Mobile/posdep/GMLIntroduction.html[2] OpenGIS Geography Markup Language (GML) Encoding Standard, v 3.2.1, http://portal.opengeospatial.org/files/?artifact_id=20509

Page 11: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

11

Single features and collections: in Java

Page 12: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

12

Real worldt

Model

Entity

feature

Identity

properties

behaviour

attributes

geometry

styling properties

meta properties

Technical viewpoint,abstraction,generalization

relationships

Identity of features

• Each feature must be identifiable.

• Need of identification systems – perhaps many

• Identification also needed in networking (discussed later)

Page 13: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

13

Identity of features

<gml:featureMember> <AX_Flurstueck gml:id="DEBWL0010001UiIg"> <gml:identifier codeSpace="http://www.adv-online.de/">urn:adv:oid:DEBWL0010001UiIg</gml:identifier> <zeigtAufExternes> <AA_Fachdatenverbindung> <art>urn:bw:fdv:1000</art> <fachdatenobjekt> <AA_Fachdatenobjekt><name>0680199400016V</name></AA_Fachdatenobjekt>… <position> <gml:Surface srsName="urn:adv:crs:DE_DHDN_3GK3_BW100" gml:id="Y33">… <gml:Curve gml:id="Y34"> <gml:segments> <gml:LineStringSegment> <gml:posList>515748.750 5454798.050 515758.590 5454780.310</gml:posList> </gml:LineStringSegment> </gml:segments>… </gml:polygonPatches> </gml:Surface> </position> <gemarkung> <AX_Gemarkung_Schluessel> <land>08</land> <gemarkungsnummer>680</gemarkungsnummer> </AX_Gemarkung_Schluessel>… <flurstueckskennzeichen>08068000300592____00</flurstueckskennzeichen> <amtlicheFlaeche uom="urn:adv:uom:m2">290.00</amtlicheFlaeche>cou

Page 14: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

14

Encoding Data

Page 15: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

15

Encoding Data

Principle of MarkUp

• Markup Language• Definition of structural

elements for data• Strict syntax

End-TagElement contentStart tag with attribute

Element nameAttribute nameAttribute value

<person city="Karlsruhe">Franz-Josef Behr</person>

eXtensible

Page 16: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

16

Encoding Data

Markup Languages: XML

Aft

er:

htt

p:/

/ww

bota

.fre

e.f

r/Sam

ple

s/pars

ing.h

tm

• You can have your won Markup Language

• It‘s understandable for human beings and for computer programs

Page 17: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

17

<georss:where> <gml:Point> <gml:pos>48.947534 8.482132</gml:pos> </gml:Point></georss:where>

<georss:where> <gml:Point> <gml:pos>48.947534 8.482132</gml:pos> </gml:Point></georss:where>

<georss:point>48.947534 8.482132</georss:point><georss:point>48.947534 8.482132</georss:point>

<?xml version='1.0' encoding='UTF-8'?><kml> <Placemark> <name>48° 56' 51.120623'' N, 8° 28' 55.675049' E</name> <description></description> <Point> <coordinates>8.482132, 48.947534, 0</coordinates> </Point> </Placemark></kml>

<?xml version='1.0' encoding='UTF-8'?><kml> <Placemark> <name>48° 56' 51.120623'' N, 8° 28' 55.675049' E</name> <description></description> <Point> <coordinates>8.482132, 48.947534, 0</coordinates> </Point> </Placemark></kml>

<geo:Point> <geo:lat>48.947534</geo:lat> <geo:long>8.482132</geo:long></geo:Point>

<geo:Point> <geo:lat>48.947534</geo:lat> <geo:long>8.482132</geo:long></geo:Point>

Ambiguity of names in different XML Ambiguity of names in different XML DialectsDialects

W3C Geo

KML

GeoRSS (GML)

GeoRSS (simple)

Page 18: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

18

Solution: Structuring vocabularies by namespaces

In programming languages (here: Java)

In XML

In Database technology: context for database names

Source: ISO 19101, ISO 19115

Page 19: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

19

Key value pairs

htt

ps:

//w

ww

.car2

go.c

om

/api/v2.1

/vehic

les?

loc=

stu

ttgart

&oauth

_consu

mer_

key=

car2

gow

ebsi

te&

form

at=

jso

n&

callb

ack

=jQ

uery

171

087

9229

0978

2993

11_1

36932

4710

467&

_=

136

9324

710

759

In URLs to identify resources

in JSON

Page 20: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

20

Separating information chunks

http://www.gis-news.de/cgi-bin/mapserv.exe?img.x=348&img.y=318&zoomdir=1&zoomsize=2&layer=city&layer=motorway&layer=Europe&imgext=4.296614+49.186302+7.284114+52.174938&imgxy=274.5+274.5

http://www.gis-news.de/cgi-bin/mapserv.exe?img.x=348&img.y=318&zoomdir=1&zoomsize=2&layer=city&layer=motorway&layer=Europe&imgext=4.296614+49.186302+7.284114+52.174938&imgxy=274.5+274.5

In URLs to identify resources:

In GML encodings:

?

Page 21: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

21

Separators have to be defined:

Decimal separator (.)

Decimal separator (.)

coordinate separator (,)coordinate separator (,)

tuple separator (space)tuple separator (space)

Page 22: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

22

Source

Data

Standards

Open

Page 23: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

23

Open agenda is now implemented by the UK Government and delivering huge cost savings for government

£409 million in the first half of this year

Read on: https://www.gov.uk/government/news/government-bodies-must-comply-with-open-standards-principles

Page 24: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

24

EU Digital Agenda and Open Data

Source: http://ec.europa.eu/digital-agenda/en/blog/eu-open-data-portal-here [2014-06-21]

Page 25: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

25

Source

Data

Standards

Open

Openess

• Data must be complete.• Data must be primary.• Data must be timely.• Data must be accessible.• Data must be machine-processable.• Access must be non-discriminatory.• Data formats must be non-proprietary.• Data must be under an open license or license free.• Data must have permanence and be findable over time.• Usage costs must be affordable (de minimis).

Page 26: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

26

Standards

Page 27: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

27

Organisations and their dependencies

Establish definition of and terms of engagement in *SDI

ISO

TC 211 TC 204

JTC-1

National Standards

Organizations

Provideexpertise &candidate stds.

Review &approvestds.

Adopter/Implementer Community

Adopter/Implementer Community

OpenGISConsortium

(OGC)

World WideWeb Consortium

(W3C)

Internet Engineering Task Force (IETF)

Facilitation Bodies

• GSDI• ANZLIC• PCGIAP• FGDC • PC-IDEA• INSPIRE• GeoConnections• CODI/UNECA• AGI• …

W3C: HTTP, PNG, RDF, SOAP/XMLP (Web Services Activity), XML, Xlink, Xpath, Xpointer, XSL/XSLT, XML Schema

OGC: Web Map Server, Web Feature Server, GML, Web Coverage Server, Style Layer Descriptor, Catalog Service

ISO: Ref Model, Terminology, Conformance testing, Profiles, Spatial Schema, Temporal Schema, Feature Cataloguing Methodology, Spatial Ref by Coords and Ids, Quality, Metadata, WMS, GML, LBS, Registration of Geo-information Items

Metadata Profile, Data Content Standards, etc.

Class A liaison

XML Protocol (XMLP),XML Signature, I18N

Class C Liaison:XML, I18N

Modified after: http://www.fgdc.gov/library/presentations/documents/2003-presentations/GIS_Standards_Rockies1003.ppt [2013-05-31]

• ISPRS• ICA•…

• ASPRS• DGPF• localchapters•…

Page 28: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

28 SharingInteroperability

Page 29: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

29

Networking and Service Orientation

Source: http://commons.wikimedia.org/wiki/File:Social_Network_Analysis_Visualization.png

GIS = High Complexity = Empowering a Few

Web Services:Simplicity = Empowering a Billion

Page 30: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

30

Networking

• Uniform Resource Identifier (URI). URIs can be: – Locations / adresses: Uniform Resource Locator (URL) , [RFC2396]

– Names: Uniform Resource Name (URN) [RFC 1737, RFC 2141, RFC 3061]

– IP-Adresses (IPv4, IPv6)

<gml:Point srsname=“urn:adv:crs:ETRS89_UTM32“> <gml:coordinates>369949.671 5615301.383</gml:coordinates></gml:Point>

http://www.w3.org/Provider/Style/URI

Page 31: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

31

Web Gis Architecture

InternetHTTP

Webserver

HTTP

CGI protocol

Document rootStatic resources

Server side programsDynamic Generation of resources

Client"User Agent"

PNG, JPG, …XML / SVG

DBMSServer

Data preparation, analysis

SQL

Presentation Tier

Data Tier

Communication Tier,Web Tier

Application Tier,Business Logic Tier

ApplicationServer

IP address / Server Name / Host nameIP address

DNS Server

80

HTTP-ClientHTTP-ClientHTTP-Client

Local GIS

80

Communication TierCommunication Tier

Application TierApplication Tier

Data TierData Tier

Presentation TierPresentation Tier

Page 32: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

32

InternetHTTP

Webserver

HTTP

CGI protocol

Document rootStatic resources

Server side programsDynamic Generation of resources

Client"User Agent"

PNG, JPG, …XML / SVG

DBMSServer

Data preparation, analysis

SQL

Presentation Tier

Data Tier

Communication Tier,Web Tier

Application Tier,Business Logic Tier

ApplicationServer

IP address / Server Name / Host nameIP address

DNS Server

80

HTTP-ClientHTTP-ClientHTTP-Client

Local GIS

80

Architecture: The protocols

HTTPRFC 2616

HTTPRFC 2616

CGIRFC 3875

CGIRFC 3875

SQLISO/IEC 9075

SQLISO/IEC 9075

XMLw3.org/XML/

XMLw3.org/XML/

Content-TypeRFC 2045

Content-TypeRFC 2045

URIRFC 1630

URIRFC 1630

Page 33: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

33

Publish-Find-Bind-Pattern

Client

Web Service Offer

Service RegistryCatalogue

publish

„bind“ = "cosuming" the service

Find = "discover"

OGC GetCapabilities,WSDL

OGC Web Catalogue Service,

UDDI, Discovery

Service

Service Comsumer, OpenLayers

View Services, Download Services, …

Page 34: Some Observations on Common Patterns in Information Technology

Patt

erns

in In

form

ation

Tec

hnol

ogy

34

Summary / Outlook

• Several observable patterns in ICT were shown.

• Try to figure out ALWAYS the design pattern in information technology applicable for YOUR filed of work.

• Take care of standards.

• Be open regarding data, services, collaboration – be interoperable.