xml usage in my work
TRANSCRIPT
Xml usage in my work
Joni Kettunen
1.12.2015
General descriptionOne skill a developer needs to know. Some others are HTML(5), SQL, programming languages like C#, Java, JavaScript, VB.NET or Ruby.
It is used quite often
● Information transfer in standardized packages/form
● Configuration files
● User Interface (WPF, HTML5, Silverlight)
Essential skill or almost useless, depending on your work. Like foreign language studies.
Examples● Electricity meter, WebServices
● Data transfer between library system and web front end.
● Alert location (Datex)
● UI
● Tools
Electricity meter● IP, grid or GSM
● Commands defined in the meter type specific interface documentation
● Tariffs and data
Implementing SOAP interfaceTCP/IP monitor : SOAP Message Tracer
Implementing driver for the interface using mock data.
Test driven development and unit tests (TDD)
SOAP messageDebug with Tracer
Test with SOAP UI
Delivery of a SOAP message
meterMeter
readingsoftware
Message trafficS
OA
P
SO
AP
meterMeter
readingsoftware
Msg traffic
SO
AP
SO
APMsg traffic
SOAPMessage
Tracer
Data transfer example<Catalogue> <CatalogueId>12345678</CatalogueId> <CatalogueAuthor>J. K. Rowling</Cat... <CatalogueItem> <CatalogueItemBorrower>11223344</C... <CatalogueItemMaterialType>Book</C... </CatalogueItem>…
Readability, size, redundant repeating
Good xml messageCompact size might be hard to read. Should you use variables, strings or boolean flags?
<Email>true</EMail><SMS>false</SMS><Mail>true</Mail>
<Delivery>1,0,1<Delivery>
<Delivery>5</Delivery> <= Bit sum
Number of tags, length of a tag and hierarchy
File size vs. readability, and standards. When does bandwidth matter?
XML toolsWikipedia: Comparison of XML editors
Full featured tools (XML Spy etc.) vs. highlight (Notepad+, ConText, Emacs etc.)
Silverlight and WPF● Library management system, Aurora and areena.yle.fi
● Windows Phone apps
● Finnish transport agency Häti
● Finnish transport agency TLOIK
WPFVector based, easy to scale up/down
Element anchoring and placing is challenging
Restricted framework compared to Forms
WPF UI exampleNo loss of detail when scaling
Resizing to fill empty space, just few calculations or good layout plan
Easy themes and eye candy
XAML toolsVS and Blend
Coding vs. StoryboardAdditional components (AddIn = Plugin)
657 eur – 3383 eur
Code, editor
Community, free
Professional, version control
Enterprise, testing and IDE improvements
BlendUI desing
Component customization
Animations
VS IDE
Demo
Few demo elements<Label Name="OneIfResult" Content="0" Grid.Row="2" Grid.Column="1"
HorizontalContentAlignment="Right"/>
<Label Content="StringBuilder" Grid.Row="4" Grid.Column="0"/>
<Label Name="StringBuilderResult" Content="0" Grid.Row="4" Grid.Column="1"
HorizontalContentAlignment="Right"/>
<Button Name="StringBuilderOnly" Grid.Column="1" Grid.Row="6"
Content="StringBuilder only" Click="StringBuilderOnly_Click"/>
<Button Name="StartAllButton" Grid.Column="2" Grid.Row="6"
Content="Start all" Click="StartAllButton_Click"/>
ConclusionUnderstanding is more important than the technical term: HTML5, XML, XAML, SOAP, WebService
Choosing right tools
Meaning of the xml depends on your role
specialist, project manager or (tech) leader
Theory and practice
Questions?
Thank You!Joni Kettunen, Senior Software Developer
[email protected] | www.digia.com