versioning and use case demonstration pavel stoev senior solutions developer links technology...

14
Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

Upload: harry-shelton

Post on 18-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

Versioning and Use Case Demonstration

Pavel StoevSenior Solutions DeveloperLinks Technology Solutions

Page 2: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

ProvisoThe following presentation covers two important topics on the agenda for the subcommittee:

1. A discussion of why versioning is so important and how it might be done2. How we have created XML schemas in the past when faced with a similar challenge

We hope that the presented materials are relevant and spark lively discussion.

Page 3: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

Agenda Terminology and Definitions What an eForms standard might look like? How would an eForms standard evolve over time? Our workflow for creating XML schema Demonstration Q & A

Page 4: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

Terminology & Definitions

Lookup Table

Lookup Dictionary

Data Dictionary

Validations Dictionary

XSD Schema

Version

Breaking Change

Non-Breaking Change

eForms Standard

Terminology Dictionary

Page 5: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

Terminology & DefinitionsXSD Schema

A versioned .xsd document that bundles the data dictionary, validations dictionary, and lookup dictionary to XSD format. XSD schema validates content of XML documents.

Page 6: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

Terminology & DefinitionsVersion

A version is [MAJOR].[MINOR] (e.g. 0.1, 1.0, 2.15). Major component is incremented for breaking changes, minor – for non-breaking changes.

Breaking ChangeA change in one part of a software system that potentially causes other components to fail. Breaking change “breaks” backwards compatibility. Breaking changes cause MAJOR component of version to increase and MINOR to reset to 0 (e.g. 1.0 followed by 2.0).

Non-Breaking ChangeA change in one part of a software system that does not cause other components to fail. Non-breaking change “maintains” backwards compatibility. Non-breaking changes cause MINOR component of version to increase without change to MAJOR (e.g. 1.1 followed by 1.2).

Page 7: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

Terminology & DefinitionseForms Standard

A versioned collection of versioned documents that describes the schema, data and validations related a specific eForm (e.g. Form 6Q).

Page 8: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

What an eForms standard might look like?

Form 6Q eForms Standard 1.0

Form 6Q Validations Dictionary

1.0

Form 6Q Data

Dictionary 1.0

Form 6Q Lookup Values

Dictionary 1.0

Form 6Q XSD

Schema1.0

Page 9: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

How would a eForms standard evolve over time?

Form 6Q eForms Standard 1.0

Form 6Q Validatio

ns Dictionar

y 1.0

Form 6Q

Data Dictiona

ry 1.0

Form 6Q Lookup Values

Dictionary 1.0

Form 6Q eForms Standard 1.1

Form 6Q Validatio

ns Dictionar

y 1.0

Form 6Q

Data Dictiona

ry 1.0

Form 6Q Lookup Values

Dictionary 1.1

Form 6Q eForms Standard 2.0

Form 6Q Validatio

ns Dictionar

y 2.0

Form 6Q

Data Dictionary 2.0

Form 6Q Lookup Values

Dictionary 2.0

Non-breaking update to FORM 6Q lookup value (e.g. add/update/remove rows for Time Zone)

Initial Release Breaking updates to schema, lookup values and validations (e.g. new fields that require non-blank values)

Form 6Q XSD

Schema1.0

Form 6Q XSD

Schema1.0

Form 6Q XSD

Schema2.0

Page 10: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

Our workflow for creating XML schema

Documents•Form 6Q Data Dictionary•Form 6Q Lookup Values Dictionary•Form 6Q Validations Dictionary

XSD •Form 6Q XSD Schema

eForms Standard•Actual standard documents•Relevant online and offline resources

Existing Data •Form 6Q PDF Forms•Form 6Q FoxPro Database Structure

XML •Convert existing data to XML

XSD •Convert XML to XSD•Adjust XSD as necessary

Documents•Form 6Q Data Dictionary•Form 6Q Lookup Values Dictionary•Form 6Q Validations Dictionary

XSD •Form 6Q XSD Schema

eForms Standard •Actual standard documents•Relevant online and offline resources

Page 11: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

DEMONSTRATIONSample 2013 Q4 FORM 6Q submitted by Shell

Page 12: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

XML StructureFORM 6Q

id, version, isOriginal, dateReportRespondent

QuarterlyPeriod

Report SectionsReport Section(e.g. Identification)Report Section

(e.g. Corporations Controlled by Respondent)CorporationName

Parent

Voting Stock Percent Owned

CorporationName

Parent

Voting Stock Percent Owned

CorporationName

Parent

Voting Stock Percent Owned

Report Section(e.g. Officers)

Footnotes

Note 1: Unique identifiers can be used to cross-reference elements in the XML structureNote 2: Binary content (attachments, files) can be supported within XML data (e.g. in footnotes)

Page 13: Versioning and Use Case Demonstration Pavel Stoev Senior Solutions Developer Links Technology Solutions

Q & A