SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Packaging
Your data:
 Accessible, Manageable, and Secure

   Start 12:10
                                 Jack Davis
                                                PM
                        Windows/DevX/AppX/Packaging
Managing Application Content
 Applications today commonly work
 using multiple content streams:
   Text and markup
   Images, pictures, audio, and video
   User settings
   Application states

 App developer’s dilemma:
   “How do I store, access, and manage app data
    that’s contained in multiple content steams?”
Organizing Content and Resources
                         - previously -

        “Flat file”                       Binary
       Organization                   “container” files
  Web browser:                     Client applications:
   • HTML pages – .html              • Word – .doc
   • Image files – .jpg, .png        • Excel – .xls
   • Style Sheets – .css             • PowerPoint – .ppt
   • Video, Audio – .mpeg, .wmv      • Acrobat – .pdf.

  Flat files:                      Binary container files:
    Simple to access                 Easy to move.
    Difficult to move.               Harder to access.
                                     (each format unique, need
                                      special APIs and tools)
“Packaging”
An ISO and ECMA industry-standard
for creating new file formats.
   Open Packaging Conventions (OPC)
   A standalone component of Office Open XML
    ISO 29500-2 Open Packaging Conventions (2008)
    ECMA 376-2 Open Packaging Conventions (2006 & 2008)


         OPC
           ZIP-based container
           Web-accessible content
           Relational organization (optional)
Organizing Content and Resources
 – Open Packaging Conventions –
Current OPC Products and Formats

  Word & Win7 WordPad                         .docx
  Excel                                       .xlsx
  PowerPoint                                  .pptx
  Windows Vista & Windows 7 print pipeline
                                               .xps
  XML Paper Specification
  Visual Studio                               .vsix
  Semblio                                    .semblio
  Forefront Security                           .gfp
  Autodesk AutoCAD                             .jtx
  Siemens/UGS                                  .jtx
  Windows Azure                              .cspkg
  SQL Analysis Services                         ?
Demo

 Packaging provides:
  •   Robustness
  •   Compact Size
  •   Zip functionality
  •   Web accessibility
  •   ISO & ECMA industry-standard acceptance
Packaging “Min Bar”
  Every OPC-based format is a ZIP file!

 The reverse is not necessarily true:
  Not every ZIP file is an OPC package.

 OPC adds two min requirements to Zip:
   All parts (files) in a package must be
   web-accessible:
       Names of all stored parts (files) must be URI/URL-compliant.

   Packages must contain a [Content_Types].xml
Web-Accessible Part Names

All parts (files) stored in a package must be
Web-accessible.
  The names of all stored parts must be
  URI/URL-compliant:
    Example:
          File name:       “my file.txt”
           (space characters are not allowed in URIs/URLs)

          Part name: “my%20file.txt”
           (space characters percent-encoded)
[Content_Types].xml
Every part (file) stored in a package has a
MIME-style media type.
[Content_Types].xml markup is simple:
   Default: associates a generic file "Extension" to a specified
   "ContentType".
   Override: associates a specific "PartName" to a specified
   "ContentType" (overrides any Default extension association).

<?xml version="1.0" encoding="utf-8" ?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
 <Default Extension="htm" ContentType="text/html" />
 <Default Extension="css" ContentType="text/css" />
 <Default Extension="png" ContentType="image/png" />
 <Default Extension="jpg" ContentType="image/jpeg" />
 <Default Extension="mp3" ContentType="audio/mpeg3" />
 <Default Extension="xml" ContentType="application/xml" />
 <Override PartName="/docProps/core.xml"
    ContentType="application/vnd.openxmlformats-package.core-properties+xml" />
</Types>
Packaging Content and Resources

                                   Package

                     PartX
 FileX               ContentType



             FileY                     PartY          Application
                                       ContentType
                                                        Access
                                                     Parts, ContentTypes
     FileZ                PartZ
                         ContentType
Optional Services
 Data compression           Storage and access to
                            “core properties”
 Relational content         metadata.
 associations.
                            Storage and access of
 Digital Signatures         “thumbnail” images.
   Authenticate the         pack:// scheme for
   signing individual
                            web access (managed-code)
   or organization
   Validate that signed     Interleaved content for
   content has not been     streaming consumption.
   altered after signing.
Hierarchical Organization
Conventional file systems, including Zip,
provide a simple hierarchical organization.
OPC Relationships
Relationships allow file formats to organize
content through directed-graph associations.
Relationship Attributes
Relationships are composed of four items:
  Source (part or package root) – implied by reference
  Target (internal part or external resource)
  ID
  Relationship-Type                  T
                                        Target="/images/logo.png"
                  ID="rId1"                 (ContentType="image/png")



                      Type="http://...#required-resource"

        S
Relationships Markup
Example “_rels.rels” file
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
  <Relationship Id="rId3" Type="http://.../extended-properties" Target="docProps/app.xml" />
  <Relationship Id="rId2“ Type="http://.../core-properties" Target="docProps/core.xml" />
  <Relationship Id="rId1" Type="http://.../officeDocument" Target="word/document.xml" />
</Relationships>


Example “word_relsdocument.xml.rels” file
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
 <Relationship Id="rId8" Type="http://.../header" Target="header1.xml" />
 <Relationship Id="rId3" Type="http://.../styles" Target="styles.xml" />
 <Relationship Id="rId7" Type="http://.../endnotes" Target="endnotes.xml" />
 <Relationship Id="rId2" Type="http://.../numbering" Target="numbering.xml" />
 <Relationship Id="rId1" Type="http://.../customXml" Target="../customXml/item1.xml" />
 <Relationship Id="rId6" Type="http://.../footnotes" Target="footnotes.xml" />
 <Relationship Id="rId5" Type="http://.../webSettings" Target="webSettings.xml" />
 <Relationship Id="rId4" Type="http://.../settings" Target="settings.xml" />
</Relationships>
Digital Signatures
         Identifies the content originator.
         Validates that the content has not been altered.

                                              Signing Policy

                                                  List .
                                               of Parts and
                    Package                   Relationships                             Package
                                                 to sign.                                                  Authenticate
                      Relationship                                                Relationship
PartX                                                           PartX                                       & Validate
 MIME=…
ContentType                                                      MIME=…
                                                                ContentType
                                                                                                Digital
                                                                                              Signature
                                                                                                             Content
                                                Sign
                Relationship                                             Relationship



  PartY                                                         PartY
  ContentType                  Relationship
                                                                ContentType                                 Application
                                                                                                              Access
                                                                               Relationship


      PartZ                                                     PartZ                                     Parts, Relationships,
     ContentType                                                ContentType
                                                    X.509                                                    ContentTypes
                                                  Certificate
Optional Services
 Data compression           Storage and access to
                            “core properties”
 Relational content         metadata.
 associations.
                            Storage and access of
 Digital Signatures         “thumbnail” images.
   Authenticate the         pack:// scheme for
   signing individual
                            web access (managed-code)
   or organization
   Validate that signed     Interleaved content for
   content has not been     streaming consumption.
   altered after signing.
Win8 Investigations
 AppModel container (native pack:// scheme)
 Data Protection (encryption / rights management)
 XML Advanced Electronic Signatures (XAdES)
 Enterprise Sign Tool (XML-based signing policies)
 WinVerifyTrust extensions
 Developer APIs for ZIP and Silverlight
 Windows Shell handlers
   IProperties, IThumbnail, IFilter, IPreview

 ISO 29500-2 OPC (2008) updates
 SMPTE Media Package
Designing a File Format
1. Use a package-level relationship to identify a “starting” part.

2. For parts that reference other parts, create a part-level
   relationship to each target resource.
3. Consider using relationship IDs for content references in
   markup to resources.

4. Avoid relative references to resources outside of a Package.
5. For security, consider how the presence of unknown parts or
   relationships should be handled.
      Allow none, allow any, allowed defined extensibility.

6. If the content of the package is not to be edited or modified,
   consider signing parts & relationships with a digital signature.
Open Packaging Conventions
          ISO 29500-2 / ECMA 376-2
 For more information see Wikipedia “OPC” or go to
         http://en.wikipedia.org/wiki/Open_Packaging_Conventions
Open Packaging Conventions - Your Data: Accessible, Manageable, and Secure

Contenu connexe

En vedette

14 spazio associazioni_doron
14 spazio associazioni_doron14 spazio associazioni_doron
14 spazio associazioni_doronCarmen Giordano
 
01 specchio specchio delle mie brame atelofobia-maggio2013
01   specchio specchio delle mie brame atelofobia-maggio201301   specchio specchio delle mie brame atelofobia-maggio2013
01 specchio specchio delle mie brame atelofobia-maggio2013Carmen Giordano
 
01 tra il dire e il fare
01  tra il dire e il fare01  tra il dire e il fare
01 tra il dire e il fareCarmen Giordano
 
08 aprile professione_doula
08 aprile professione_doula08 aprile professione_doula
08 aprile professione_doulaCarmen Giordano
 
12 spazio associazioni_spazio_per_noi
12 spazio associazioni_spazio_per_noi12 spazio associazioni_spazio_per_noi
12 spazio associazioni_spazio_per_noiCarmen Giordano
 
Life after campus mtangoo
Life after campus   mtangooLife after campus   mtangoo
Life after campus mtangooStefano Mtangoo
 
Sms English version
Sms English versionSms English version
Sms English versionjojoharsono
 
My seven questions
My seven questionsMy seven questions
My seven questionsfatzbaby
 
Advanced-farm-management-software-farmNXT
Advanced-farm-management-software-farmNXTAdvanced-farm-management-software-farmNXT
Advanced-farm-management-software-farmNXTRazvan Maximiuc
 
Undead计划书
Undead计划书Undead计划书
Undead计划书PandoVince
 
09 spazio associazioni_aibws
09 spazio associazioni_aibws09 spazio associazioni_aibws
09 spazio associazioni_aibwsCarmen Giordano
 
Evaluation question 1[1]
Evaluation question 1[1]Evaluation question 1[1]
Evaluation question 1[1]melvCooalge
 

En vedette (19)

14 spazio associazioni_doron
14 spazio associazioni_doron14 spazio associazioni_doron
14 spazio associazioni_doron
 
01 specchio specchio delle mie brame atelofobia-maggio2013
01   specchio specchio delle mie brame atelofobia-maggio201301   specchio specchio delle mie brame atelofobia-maggio2013
01 specchio specchio delle mie brame atelofobia-maggio2013
 
01 tra il dire e il fare
01  tra il dire e il fare01  tra il dire e il fare
01 tra il dire e il fare
 
Just For Kids Game
Just For Kids GameJust For Kids Game
Just For Kids Game
 
Just For Kids Game
Just For Kids GameJust For Kids Game
Just For Kids Game
 
08 aprile professione_doula
08 aprile professione_doula08 aprile professione_doula
08 aprile professione_doula
 
12 spazio associazioni_spazio_per_noi
12 spazio associazioni_spazio_per_noi12 spazio associazioni_spazio_per_noi
12 spazio associazioni_spazio_per_noi
 
Life after campus mtangoo
Life after campus   mtangooLife after campus   mtangoo
Life after campus mtangoo
 
Australia (1)
Australia (1)Australia (1)
Australia (1)
 
Sms English version
Sms English versionSms English version
Sms English version
 
Just For Kids Game
Just For Kids GameJust For Kids Game
Just For Kids Game
 
How to get your kids back
How to get your kids backHow to get your kids back
How to get your kids back
 
My seven questions
My seven questionsMy seven questions
My seven questions
 
Advanced-farm-management-software-farmNXT
Advanced-farm-management-software-farmNXTAdvanced-farm-management-software-farmNXT
Advanced-farm-management-software-farmNXT
 
Undead计划书
Undead计划书Undead计划书
Undead计划书
 
09 spazio associazioni_aibws
09 spazio associazioni_aibws09 spazio associazioni_aibws
09 spazio associazioni_aibws
 
Naturally diamond
Naturally diamondNaturally diamond
Naturally diamond
 
Evaluation question 1[1]
Evaluation question 1[1]Evaluation question 1[1]
Evaluation question 1[1]
 
La caramellabuona
La caramellabuonaLa caramellabuona
La caramellabuona
 

Similaire à Open Packaging Conventions - Your Data: Accessible, Manageable, and Secure

Gilbane SF - Content Convergence Strategies
Gilbane SF - Content Convergence StrategiesGilbane SF - Content Convergence Strategies
Gilbane SF - Content Convergence StrategiesEric Barroca
 
Aras PLM Software Solutions
Aras PLM Software SolutionsAras PLM Software Solutions
Aras PLM Software SolutionsAras
 
The current architecture of TYPO3 5.0
The current architecture of TYPO3 5.0The current architecture of TYPO3 5.0
The current architecture of TYPO3 5.0Robert Lemke
 
Switch to Alfresco with Seed in Australia and New Zealand
Switch to Alfresco with Seed in Australia and New ZealandSwitch to Alfresco with Seed in Australia and New Zealand
Switch to Alfresco with Seed in Australia and New ZealandAlfresco Software
 
Nuxeo Semantic ECM: from Scribo and Stanbol to valuable applications
Nuxeo Semantic ECM: from Scribo and Stanbol to valuable applicationsNuxeo Semantic ECM: from Scribo and Stanbol to valuable applications
Nuxeo Semantic ECM: from Scribo and Stanbol to valuable applicationsNuxeo
 
Papyrus Digital Asset Management
Papyrus Digital Asset ManagementPapyrus Digital Asset Management
Papyrus Digital Asset Managementmjpucher
 
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...Ryo Jin
 
Switch to alfresco with wasaaiq [compatibility mode]
Switch to alfresco with wasaaiq [compatibility mode]Switch to alfresco with wasaaiq [compatibility mode]
Switch to alfresco with wasaaiq [compatibility mode]Alfresco Software
 
2010 Glossary of E-Publishing Terms
2010 Glossary of E-Publishing Terms2010 Glossary of E-Publishing Terms
2010 Glossary of E-Publishing TermsKrista Coulson
 
AAUP 2011 Ebook Basics Introduction/Handout
AAUP 2011 Ebook Basics Introduction/HandoutAAUP 2011 Ebook Basics Introduction/Handout
AAUP 2011 Ebook Basics Introduction/Handoutearkin
 
CMIS and Interoperability - AIIM 2009
CMIS and Interoperability - AIIM 2009CMIS and Interoperability - AIIM 2009
CMIS and Interoperability - AIIM 2009johnnewton
 
Content extraction with apache tika
Content extraction with apache tikaContent extraction with apache tika
Content extraction with apache tikaJukka Zitting
 
Architecture as Linked Data
Architecture as Linked DataArchitecture as Linked Data
Architecture as Linked DataDanny Greefhorst
 
Presentation kaushal
Presentation kaushalPresentation kaushal
Presentation kaushalAjay Yadav
 
Documentum introduction
Documentum introductionDocumentum introduction
Documentum introductionotnawrup
 
Trekk cross media series using xml to create once - distribute everywhere - e...
Trekk cross media series using xml to create once - distribute everywhere - e...Trekk cross media series using xml to create once - distribute everywhere - e...
Trekk cross media series using xml to create once - distribute everywhere - e...Jeffrey Stewart
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?ukdpe
 
Android application structure
Android application structureAndroid application structure
Android application structureAlexey Ustenko
 
Aras Role Based Clients
Aras Role Based ClientsAras Role Based Clients
Aras Role Based ClientsProdeos
 
Special Purpose Role-Based Clients for PLM using Aras
Special Purpose Role-Based Clients for PLM using ArasSpecial Purpose Role-Based Clients for PLM using Aras
Special Purpose Role-Based Clients for PLM using ArasAras
 

Similaire à Open Packaging Conventions - Your Data: Accessible, Manageable, and Secure (20)

Gilbane SF - Content Convergence Strategies
Gilbane SF - Content Convergence StrategiesGilbane SF - Content Convergence Strategies
Gilbane SF - Content Convergence Strategies
 
Aras PLM Software Solutions
Aras PLM Software SolutionsAras PLM Software Solutions
Aras PLM Software Solutions
 
The current architecture of TYPO3 5.0
The current architecture of TYPO3 5.0The current architecture of TYPO3 5.0
The current architecture of TYPO3 5.0
 
Switch to Alfresco with Seed in Australia and New Zealand
Switch to Alfresco with Seed in Australia and New ZealandSwitch to Alfresco with Seed in Australia and New Zealand
Switch to Alfresco with Seed in Australia and New Zealand
 
Nuxeo Semantic ECM: from Scribo and Stanbol to valuable applications
Nuxeo Semantic ECM: from Scribo and Stanbol to valuable applicationsNuxeo Semantic ECM: from Scribo and Stanbol to valuable applications
Nuxeo Semantic ECM: from Scribo and Stanbol to valuable applications
 
Papyrus Digital Asset Management
Papyrus Digital Asset ManagementPapyrus Digital Asset Management
Papyrus Digital Asset Management
 
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...
 
Switch to alfresco with wasaaiq [compatibility mode]
Switch to alfresco with wasaaiq [compatibility mode]Switch to alfresco with wasaaiq [compatibility mode]
Switch to alfresco with wasaaiq [compatibility mode]
 
2010 Glossary of E-Publishing Terms
2010 Glossary of E-Publishing Terms2010 Glossary of E-Publishing Terms
2010 Glossary of E-Publishing Terms
 
AAUP 2011 Ebook Basics Introduction/Handout
AAUP 2011 Ebook Basics Introduction/HandoutAAUP 2011 Ebook Basics Introduction/Handout
AAUP 2011 Ebook Basics Introduction/Handout
 
CMIS and Interoperability - AIIM 2009
CMIS and Interoperability - AIIM 2009CMIS and Interoperability - AIIM 2009
CMIS and Interoperability - AIIM 2009
 
Content extraction with apache tika
Content extraction with apache tikaContent extraction with apache tika
Content extraction with apache tika
 
Architecture as Linked Data
Architecture as Linked DataArchitecture as Linked Data
Architecture as Linked Data
 
Presentation kaushal
Presentation kaushalPresentation kaushal
Presentation kaushal
 
Documentum introduction
Documentum introductionDocumentum introduction
Documentum introduction
 
Trekk cross media series using xml to create once - distribute everywhere - e...
Trekk cross media series using xml to create once - distribute everywhere - e...Trekk cross media series using xml to create once - distribute everywhere - e...
Trekk cross media series using xml to create once - distribute everywhere - e...
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
 
Android application structure
Android application structureAndroid application structure
Android application structure
 
Aras Role Based Clients
Aras Role Based ClientsAras Role Based Clients
Aras Role Based Clients
 
Special Purpose Role-Based Clients for PLM using Aras
Special Purpose Role-Based Clients for PLM using ArasSpecial Purpose Role-Based Clients for PLM using Aras
Special Purpose Role-Based Clients for PLM using Aras
 

Dernier

UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 

Dernier (20)

UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 

Open Packaging Conventions - Your Data: Accessible, Manageable, and Secure

  • 1. Packaging Your data: Accessible, Manageable, and Secure Start 12:10 Jack Davis PM Windows/DevX/AppX/Packaging
  • 2. Managing Application Content Applications today commonly work using multiple content streams: Text and markup Images, pictures, audio, and video User settings Application states App developer’s dilemma: “How do I store, access, and manage app data that’s contained in multiple content steams?”
  • 3. Organizing Content and Resources - previously - “Flat file” Binary Organization “container” files Web browser: Client applications: • HTML pages – .html • Word – .doc • Image files – .jpg, .png • Excel – .xls • Style Sheets – .css • PowerPoint – .ppt • Video, Audio – .mpeg, .wmv • Acrobat – .pdf. Flat files: Binary container files: Simple to access Easy to move. Difficult to move. Harder to access. (each format unique, need special APIs and tools)
  • 4. “Packaging” An ISO and ECMA industry-standard for creating new file formats. Open Packaging Conventions (OPC) A standalone component of Office Open XML  ISO 29500-2 Open Packaging Conventions (2008)  ECMA 376-2 Open Packaging Conventions (2006 & 2008)  OPC  ZIP-based container  Web-accessible content  Relational organization (optional)
  • 5. Organizing Content and Resources – Open Packaging Conventions –
  • 6. Current OPC Products and Formats Word & Win7 WordPad .docx Excel .xlsx PowerPoint .pptx Windows Vista & Windows 7 print pipeline .xps XML Paper Specification Visual Studio .vsix Semblio .semblio Forefront Security .gfp Autodesk AutoCAD .jtx Siemens/UGS .jtx Windows Azure .cspkg SQL Analysis Services ?
  • 7. Demo Packaging provides: • Robustness • Compact Size • Zip functionality • Web accessibility • ISO & ECMA industry-standard acceptance
  • 8. Packaging “Min Bar” Every OPC-based format is a ZIP file! The reverse is not necessarily true: Not every ZIP file is an OPC package.  OPC adds two min requirements to Zip: All parts (files) in a package must be web-accessible:  Names of all stored parts (files) must be URI/URL-compliant. Packages must contain a [Content_Types].xml
  • 9. Web-Accessible Part Names All parts (files) stored in a package must be Web-accessible. The names of all stored parts must be URI/URL-compliant: Example:  File name: “my file.txt” (space characters are not allowed in URIs/URLs)  Part name: “my%20file.txt” (space characters percent-encoded)
  • 10. [Content_Types].xml Every part (file) stored in a package has a MIME-style media type. [Content_Types].xml markup is simple: Default: associates a generic file "Extension" to a specified "ContentType". Override: associates a specific "PartName" to a specified "ContentType" (overrides any Default extension association). <?xml version="1.0" encoding="utf-8" ?> <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"> <Default Extension="htm" ContentType="text/html" /> <Default Extension="css" ContentType="text/css" /> <Default Extension="png" ContentType="image/png" /> <Default Extension="jpg" ContentType="image/jpeg" /> <Default Extension="mp3" ContentType="audio/mpeg3" /> <Default Extension="xml" ContentType="application/xml" /> <Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml" /> </Types>
  • 11. Packaging Content and Resources Package PartX FileX ContentType FileY PartY Application ContentType Access Parts, ContentTypes FileZ PartZ ContentType
  • 12. Optional Services Data compression Storage and access to “core properties” Relational content metadata. associations. Storage and access of Digital Signatures “thumbnail” images. Authenticate the pack:// scheme for signing individual web access (managed-code) or organization Validate that signed Interleaved content for content has not been streaming consumption. altered after signing.
  • 13. Hierarchical Organization Conventional file systems, including Zip, provide a simple hierarchical organization.
  • 14. OPC Relationships Relationships allow file formats to organize content through directed-graph associations.
  • 15. Relationship Attributes Relationships are composed of four items: Source (part or package root) – implied by reference Target (internal part or external resource) ID Relationship-Type T Target="/images/logo.png" ID="rId1" (ContentType="image/png") Type="http://...#required-resource" S
  • 16. Relationships Markup Example “_rels.rels” file <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> <Relationship Id="rId3" Type="http://.../extended-properties" Target="docProps/app.xml" /> <Relationship Id="rId2“ Type="http://.../core-properties" Target="docProps/core.xml" /> <Relationship Id="rId1" Type="http://.../officeDocument" Target="word/document.xml" /> </Relationships> Example “word_relsdocument.xml.rels” file <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> <Relationship Id="rId8" Type="http://.../header" Target="header1.xml" /> <Relationship Id="rId3" Type="http://.../styles" Target="styles.xml" /> <Relationship Id="rId7" Type="http://.../endnotes" Target="endnotes.xml" /> <Relationship Id="rId2" Type="http://.../numbering" Target="numbering.xml" /> <Relationship Id="rId1" Type="http://.../customXml" Target="../customXml/item1.xml" /> <Relationship Id="rId6" Type="http://.../footnotes" Target="footnotes.xml" /> <Relationship Id="rId5" Type="http://.../webSettings" Target="webSettings.xml" /> <Relationship Id="rId4" Type="http://.../settings" Target="settings.xml" /> </Relationships>
  • 17. Digital Signatures Identifies the content originator. Validates that the content has not been altered. Signing Policy List . of Parts and Package Relationships Package to sign. Authenticate Relationship Relationship PartX PartX & Validate MIME=… ContentType MIME=… ContentType Digital Signature Content Sign Relationship Relationship PartY PartY ContentType Relationship ContentType Application Access Relationship PartZ PartZ Parts, Relationships, ContentType ContentType X.509 ContentTypes Certificate
  • 18. Optional Services Data compression Storage and access to “core properties” Relational content metadata. associations. Storage and access of Digital Signatures “thumbnail” images. Authenticate the pack:// scheme for signing individual web access (managed-code) or organization Validate that signed Interleaved content for content has not been streaming consumption. altered after signing.
  • 19. Win8 Investigations AppModel container (native pack:// scheme) Data Protection (encryption / rights management) XML Advanced Electronic Signatures (XAdES) Enterprise Sign Tool (XML-based signing policies) WinVerifyTrust extensions Developer APIs for ZIP and Silverlight Windows Shell handlers IProperties, IThumbnail, IFilter, IPreview ISO 29500-2 OPC (2008) updates SMPTE Media Package
  • 20. Designing a File Format 1. Use a package-level relationship to identify a “starting” part. 2. For parts that reference other parts, create a part-level relationship to each target resource. 3. Consider using relationship IDs for content references in markup to resources. 4. Avoid relative references to resources outside of a Package. 5. For security, consider how the presence of unknown parts or relationships should be handled.  Allow none, allow any, allowed defined extensibility. 6. If the content of the package is not to be edited or modified, consider signing parts & relationships with a digital signature.
  • 21. Open Packaging Conventions ISO 29500-2 / ECMA 376-2 For more information see Wikipedia “OPC” or go to http://en.wikipedia.org/wiki/Open_Packaging_Conventions

Notes de l'éditeur

  1. Other types of binary container files Java - .jarOpenDocument - .odf
  2. OPC is not a file format in itself – it is a technology for creating new file formats that share a common foundation.
  3. IANA MIME media typeshttp://www.iana.org/assignments/media-types/ The MIME-style media content type identifies the type of data the part contains.MIME media types reduce ambiguities associated with duplications in 2-, 3-, and 4-character filename extensions.
  4. Values for the Relationship “Type”s are defined by the file format and typically express “how” the relationship used. OPC Relationships XML schema is basically simple and easily human-readable: o Only two element types □ A Relationships element that nests one or more Relationship elements. o Each Relationship has three basic attributes: □ “Id” - A unique identifier that can be used to reference the relationship from the XML of the source part. □ “Type” - Expresses the intent of &quot;how&quot; the relationship &quot;target&quot; is used (e.g. &quot;settings&quot;, &quot;styles&quot;, etc.) - Commonly expressed in a form similar to a schema namespace. □ “Target” - URI to the target part or external resource that&apos;s associated with the relationship.
  5. “\\_rels\\.rels” file contains the relationships markup for package-level relationships.“\\word\\_rels\\document.xml.rels” contains the relationships markup for the part “\\word\\document.xml”.OPC Relationships XML schema is basically simple and easily human-readable: o Only two element types □ A “Relationships” (plural) element that nests one or more “Relationship” elements. o Each Relationship has three basic attributes: □ &quot;Id“ - A unique identifier that can be used to reference the relationship from the XML of the source part. □ &quot;Type“ - Expresses the intent of &quot;how&quot; the relationship &quot;target&quot; is used (e.g. &quot;required-resource&quot;, &quot;settings&quot;, &quot;styles&quot;, etc.) - Commonly expressed in a form similar to a schema namespace. □ &quot;Target“ - URI to the target part or external resource that&apos;s associated with the relationship.