61
The Ball / SOS on Azure Part 1 Kalle Launiala, Citrus Solutions Oy [email protected]

The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

The Ball / SOS on Azure Part 1 Kalle Launiala, Citrus Solutions Oy

[email protected]

Page 2: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

About the Presentation – Part 1

What is The Ball / SOS platform about?

“SOS” Design: Logical Architecture

“SOS” Design: Building Blocks, Master Information vs. Relations

Demo: Platform Executing on Azure

#td2013fi

Page 3: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

About the Presentation – Part 2

Developer getting started from scratchGit clone, build, debug, deploy

Developing HTML(5) + jQuery UI on The BallDemonstrating Web / Worker Role responsibilities

The Ball – Architecture Overview & Deep Dive

#td2013fi

Page 4: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Régis

LaurentDirector of Operations,

Global Knowledge

Competencies include:

Gold Learning

Silver System Management

What is the Platform?

The Ball, SOS – whole package running on Windows Azure

Size of the scope?

Page 5: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Digital Service & Software Factory on Azure

#td2013fi

Page 6: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Genuine, Native, Cross-Platform

#td2013fi

Page 7: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

What is it?

Publishing system for authorised informationWeb content

Digital content

Digital app/service development & integration

So is it like SharePoint or BizTalk or IIS?Yes

How do you install it?You don’t. Just deploy and run.

Page 8: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

”The Ball” / ”SOS” / WTF?

”The Ball” is fundamentalOriginated from information models for storing and processing informationContext-insensitive – shapeshifter

”SOS” = ”Service Operating System”Service model supporting incarnation of ”The Ball”Authorization boundariesContext-sensitive itself – content context insensitive

ADM = Abstraction Design MethodologyEnables mainstream developer to pull off the above...

Page 9: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 10: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 11: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 12: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 13: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 14: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 15: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 16: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 17: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 18: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 19: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 20: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 21: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class
Page 22: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Régis

LaurentDirector of Operations,

Global Knowledge

Competencies include:

Gold Learning

Silver System Management Reality Check!

How does ”The Ball” apply for today’s tech & business?

Page 23: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Seeing is believing...

”git clone git://github.com/abstractiondev/TheBallOnAzure””cd TheBallOnAzure”

”gitupdateproject.cmd”

”notepad README.txt”

Page 24: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

”The Ball” Applies & Accelerates

Core

Software

Development

Services

Information

Management

+

Collaboration

System

Integration

Services with

Master Data

Model

Business

Process + EA

Automation

Mobile

Worker

Solutions

Page 25: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Visual Studio 2012 & Azure: Powered by ADM

Semantic

Information

Models

Logical Business

Operations

Integration

Interfaces &

Contracts

Page 26: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Régis

LaurentDirector of Operations,

Global Knowledge

Competencies include:

Gold Learning

Silver System Management ”SOS” Design

”SOS” constraints on ”The Ball”

Page 27: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Logical Architecture is...

Constraints Given and designwise chosen

Reflecting real world and practices TODAY

Giving the boundaries for practical implementation

Page 28: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Generic ”App” Architecture

External Data Access Services

Internal Database Integration Synchronization

Internal Data Access Services

External Systems

External Service Access

Client To Back-End Service Layer

Business Logic Processing

Web BrowserHTML5 & jQuery

Client Application Mobile Application

Page 29: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Implicit or explicit; architecture is

External Data Access Services

Internal Database Integration Synchronization

Internal Data Access Services

External Systems

External Service Access

Client To Back-End Service Layer

Business Logic Processing

Web BrowserHTML5 & jQuery

Client Application Mobile Application

Service Interface- Information model- Logical Operations

Client To Server Proxy- Proxy class data model- Proxy class methods

Service Server- Implementation Structure

UI Layer- Page model- Layout model- Field model- Data binding model

Semantic UI Model- UI Information model- UI Operations

Semantic Business Logic- Information model- Logical Operations

Semantic Data Model- Information model- Logical Operations- Transactional behavior

Semantic Data Model- Information model- Logical Operations- Transactional behavior

Synchronization- Support for external readers and writers- Support for Service Based Data Access

Semantic Service Access- Information model- Logical Operations

Page 30: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Collaboration: Roles & Emails

People act as a role

People collaborate with other people because of their role

People trust emailsStronger trust is required for official actions

SOS enables all the above to be digitally accelerated

Page 31: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Information is Owned

Information has always owner

Owner does not mean ”copyright holder”However ”copyright holder” IS an owner

Owner authorizes the further use/distribution

Privacy aspect is CRITICAL

Page 32: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Case: Smart Traffic Privacy Issues

Where

Who + Where

Who

Separation

Where

Who

This is the problem.

Adding When makes

critical problem even more critical.

This is the only solution.

The separation MUST be

transparent, neutral party enforced and

audited.

Page 33: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

... Applies everwhere

Where

Who + Where

Who

Separation

Where

Who

Smart Phone / GPSGovernment

AuthorityProcessing

Software running on-device needs to be audited not to

leak or fabricate information.

Software running on processing needs to be distributed (to prevent points of control) and audited not to leak or fabricate information.

This person here, should be in control of where his information is stored and by whom.

Page 34: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Régis

LaurentDirector of Operations,

Global Knowledge

Competencies include:

Gold Learning

Silver System Management ”SOS” Design

Implementation Decisions

Page 35: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Collaboration: Roles & Emails

Trusted Email Address

Collaborator

Collaborating Group

Authentication throughGoogle, Windows Live, Facebook,

Twitter, LinkedIn

The BallEcosystem

Owns& Uses

PracticalTrust

Authenticates& Trusts

Strong Authentication

CollaborationProcesses

Role Authorization& Decisions

TrustedInfra

Cloud Infra

Page 36: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Authorization Contexts

Role is assigned to email(does not have to exist

in the system)

Collaborator

Collaborating Group

Manyemail

addresses

Role: Moderator,Member, Visitor

Group owns the information.

Policy clearly statedbased on group rules.

DocumentsBinary/Media

Data

DocumentsBinary/Media

Data

Publiclypublished

information

AnonymousWeb Surfer

Can accesswithout login or

registration

Can access withoutauthorization

Page 37: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Security Boundaries Recognized

Official, Legal, Contract BoundCollaboration

GroupCo-Operative Collaboration

Group

Internal Expert

Internal Expert

Partner Role(can be a customer)

External Expert /Auditor, Acceptance

Customer Product – Joined Solutions

CollaborationInformation Flow

End Product

Page 38: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Drill Down to Relevance...

Users want unified experienceBased on the interface, not on the application

Applications and services are to serveFocus on usability not on ”bling-bling”

Applications need only fraction of information to operate their partAndroid apps partially use this kind of architecture

Page 39: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Service / Service Bus Interface

Interface definition is like pseudo-language method call

<Return value><Method name><Parameter 1><Parameter 2>...

Executing code ALWAYS knows what to call and from whereExplicit semantics apply in realityMyApp.Customer != YourApp.Customer

Page 40: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Client-Server Service Interfaces

Web ServicesFor App A

Listeners for App AProxies for App B

Native MobileClient

Proxy Classes

Web/HTTP ClientProxy + JavaScript UI

Web ServicesFor App B

Listeners for App B

InteropContracts

(App A with App B)

InteropContracts (App A)

InteropContracts (App A)

OccasionallyOffline Client

Proxy + Temporary Logic Routing

Agreed logical class/message structuresRequired for communication contracts

- Can be used as-is in mapping to local data structures

Page 41: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Service Bus Distributed Architecture

The Ball Web Facing Server

Queue Storage

Consuming/Producing

Consuming/Producing

Service Call

Page 42: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Pure Distributed Architecture

The Ball Web Facing Server

Service Call Queue Supporting ArchitectureCan still use servicebus, but also queue & blob storage.

Page 43: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Auhtorized Producer - Consumer

Providing

Secure Data

Consuming

Secure Processing

Providing

Secure Data

Consuming

Secure Processing

Owner Authorized App Integration

Models and operations can be identified to be compatible pluggable .

Conversion services can provide compatibility between various models.

Page 44: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Account

Collaborating Group

Owner AuthorizedContext Trust

Providing

Secure Data

Consuming

Secure Processing

Providing

Secure Data

Consuming

Secure Processing

Owner Authorized App Integration

Providing

Secure Data

Consuming

Secure Processing

Providing

Secure Data

Consuming

Secure Processing

Owner Authorized App Integration

OwnerAuthorized App

Integration

Providing Catalogues Services

Owner Authorized App Integration

App s are independent digital services.

They use common model for defining semantic information models and semantic operations.

Models and operations can be identified to be compatible pluggable .

Conversion services can provide compatibility between various models.

Converting and publication services are services among other services. Catalogues for available services are services just like others.

Page 45: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Régis

LaurentDirector of Operations,

Global Knowledge

Competencies include:

Gold Learning

Silver System Management

Discovering Services

Matching Consumer-Provider

Page 46: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Information = Real World

Digital Automated Process

Order pizzaWhat kind of a Pizza?

Pay your order

Receive your pizza

Manual Process

Order pizzaWhat kind of a pizza?

Pay your order

Receive your pizzaWhat kind of a pizza?

There s your money

There s your pizza

Page 47: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Real World Service Discovery

Page 48: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

... ”Human Agreed Interfaces”

Page 49: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Semantic Interface Matching

Accepting the fact about implicit semanticsMyApp.Customer != YourApp.Customer

Both apps still have Class customerIntegration needs to do semantic mapping

<Return value> (semantic.namespace.included)<Method name> (semantic.ns.included)<Parameter 1> (semantic.ns.included)<Parameter 2> (semantic.ns.included)...

Hash value is used to identify matching interfacesMapping interface values as accordingly

Page 50: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Case ETLA: Real World Hospital

Bluetooth, Acceleration Meters, GPS to track down real world nurses

Real world processes != Consultant made processes

More info from:

http://blogs.etla.fi/palveluprosessi/

Page 51: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Régis

LaurentDirector of Operations,

Global Knowledge

Competencies include:

Gold Learning

Silver System Management ”SOS” Design

Building Blocks

Page 52: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Information Storage

Internet-of-Things

Queue StorageProcessing

Media Streaming ServersWeb Servers

Store/Retrieve

Retrieve

Queue

Send/ReceiveSecurity Context

Specific Execution

Page 53: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Blob Storage

Internet-of-Things

Queue,Blob Storage

Worker Roles

Media ServicesWeb Roles

Store/Retrieve

Retrieve

Queue

Send/ReceiveSecurity Context

Specific Execution

Page 54: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Building blocks...

Information ModelClass models with namespaces

Process ModelService method model with orchestration sequence

ADM module will concretize these to:Service Interface (platform agnostic; native code)Class model, serialized to storageNative code execution sequence

Explicitly defined, documented, trackable, auditable...

Page 55: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Example of Information Model

<TheBallCoreAbstraction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="TheBallCore_v1_0.xsd">

<InstanceOfTheBall semanticDomainName="TheBall.CORE">

<InformationModel>

<InformationObject name="InvoiceFiscalExportSummary" designDesc="Annual export summary of invoices">

<InformationItems>

<InformationItem name="FiscalInclusiveStartDate" logicalDataType="Time_Date"/>

<InformationItem name="FiscalInclusiveEndDate" logicalDataType="Time_Date"/>

<InformationItem name="ExportedInvoices" logicalDataType="InformationObject“

informationObjectName="InvoiceCollection"/>

</InformationItems>

</InformationObject>

...

Page 56: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Example of Process Model

<Operation name="CreateAdditionalMediaFormats">

<OperationSpec>

<Description />

</OperationSpec>

<Parameters>

<Parameter dataType="string" name="MasterRelativeLocation" designDesc="Relative location of original" state="underDesign" />

</Parameters>

<Execution>

<SequentialExecution>

<TargetDefinition dataType="Bitmap" name="BitmapData" designDesc="Bitmap image if existing" state="designApproved">

<Parameter name="MasterRelativeLocation"/>

</TargetDefinition>

<TargetDefinition dataType="object" name="VideoData" designDesc="Videodata" state="designApproved">

<Parameter name="MasterRelativeLocation"/>

</TargetDefinition>

<MethodExecute name="CreateImageMediaFormats" designDesc="Create various media formats (if bitmap is not null)" state="underDesign">

<Parameter name="MasterRelativeLocation"/>

<Target name="BitmapData"/>

</MethodExecute>

<MethodExecute name="CreateVideoMediaFormats" designDesc="Create various video media formats (if object is not null)" state="designApproved">

<Parameter name="MasterRelativeLocation"/>

<Target name="VideoData"/>

</MethodExecute>

</SequentialExecution>

</Execution>

</Operation>

Page 57: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Régis

LaurentDirector of Operations,

Global Knowledge

Competencies include:

Gold Learning

Silver System Management

Master Information Management

Relations in concrete manner

Page 58: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Master of information recognized

Updates to master firstPopulating with subscription/monitoring

Evaluation chains topology-sortedSeries of updates updated as atomic sequence

Scales well, because context size is smallSecurity context or semantic context boundaries

Replaces traditional relationsInformation is complete at every relevant stage

Page 59: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Invoice Reports

InvoiceEventDetail ID: 1

Invoice Web Pages

InvoiceEventDetail ID: 2

InvoiceEventDetailMasterCollection

InvoiceEventDetailGroup ID: 4GroupName: CPU Cycles

InvoiceEventDetailGroup ID: 5GroupName: Storage Transactions

InvoiceEventDetailGroupMasterCollection

InvoiceSummaryContainer

CollectionFiltering

From Master

ReportPDF Templates Html5 + jQuery

Web Templates

Group Contains ConcreteInvoiceEventDetail items

Invoice Contains Concrete InvoiceEventDetail Item(s)

Recognized with unique IDs

InvoiceRow ID: 1

InvoiceRow ID: 2

InvoiceRowMasterCollection

InvoiceRowGroup ID: 6GroupName: External Services

InvoiceRowGroup ID: 7GroupName: Bought Products

InvoiceRowGroupMasterCollection

InvoiceUser

InvoiceUserMasterCollection

Invoice

InvoiceMasterCollection

Invoice MobileInterface

MobileApp

Templates

InvoiceFiscalExportSummary

User Interface Focused Information.

Not served as is.

Data to be exported in digital reusable form

Page 60: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

Régis

LaurentDirector of Operations,

Global Knowledge

Competencies include:

Gold Learning

Silver System Management Demo

Platform Executing

Page 61: The Ball / SOS on Azure Part 1 - abstractiondev...Client Application Mobile Application Service Interface - Information model - Logical Operations Client To Server Proxy - Proxy class

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational

purposes only and represents the current view of Microsoft Corporation as of the date of this presentations. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft,

and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Thank you for coming!Feedback can be given via mobile or laptop through techdays.fiseminar schedule.

#td2013fi