$30 off During Our Annual Pro Sale. View Details »

PLATFORM OF TRUST APPLICATION DEVELOPER WORKSHOP

PLATFORM OF TRUST APPLICATION DEVELOPER WORKSHOP

Jarkko Moilanen, PhD

March 26, 2019
Tweet

More Decks by Jarkko Moilanen, PhD

Other Decks in Business

Transcript

  1. PLATFORM OF TRUST
    APPLICATION DEVELOPER
    WORKSHOP
    26th March 2019, Tampere, CrazyTown
    Platformoftrust.net
    #dataflows #dataliikkuu
    @PlatformOfTrust

    View Slide

  2. Hello!
    I am Jarkko Moilanen
    I am here because I’m the Developer Program
    Lead at Platform of Trust.
    2
    @Jarkko_moilanen,
    Phone: +358 40 535 9066,
    Email: [email protected]

    View Slide

  3. Hello!
    I am Nazia Hasan
    UX/DX engineer.
    UI - UX Designer Interest: DX design - API
    Management & Usage
    3
    @NazarahTheCat

    View Slide

  4. Platform of Trust Slack
    4
    Get invitation to Slack from
    platformoftrust.net/set-subscription

    View Slide

  5. Future Platform of Trust
    developer events
    ● 26.3.2019 Tampere - App developer workshop (now)
    ● 9.5.2019 Helsinki - Data Product Canvas workshop
    ● 9/2019 Tampere
    ● 11/2019 Helsinki
    All events can be found from platformoftrust.net/events
    Developer Portal release 10th April developers.oftrust.net
    5

    View Slide

  6. Platform of Trust is
    a data linking
    platform with
    marketplace
    to create better living environment

    View Slide

  7. INTEGRATION APPROACH?
    or
    “API-hell” “Platform to connect platforms”

    View Slide

  8. FUNDAMENTAL BENEFITS OF PLATFORM OF TRUST
    Thanks to
    Platform
    Decrease IT-integration costs
    Integrate into the platform only once
    Get rid of vendor locks
    Utilize all parties connected to the platform
    Develop applications faster
    Shared harmonized data models and application components
    Your data is yours
    Manage your data and parties connected to that thru digital twin frameworks

    View Slide

  9. ULTIMATE BENEFITS OF PLATFORM OF TRUST
    Thanks to
    data
    More consumers
    More parties, more data users, more value in the whole value network
    More data for AI, ML, VR, AR, etc
    Benefit from new technology enablers
    Convert data to revenue
    Data has value in modern economy
    Conquer new markets
    Thru global platform and market place
    to create
    better living
    environment

    View Slide

  10. For Application developers
    10
    The Platform of Trust brings you
    ● Business community of biggest real-estate owners (Senaatti,
    Kojamo…). Expanding to global 2019-2020
    ● Hundreds of thousands of end-users
    ● One API to all data - API driven developer experience
    ● End-user identity and access management in platform
    ● Market place to promote and sell your apps
    ● Easy access to harmonized data….what data?

    View Slide

  11. What data?
    Lightning, doors,
    windows, floors, heating,
    water, tenants, people,
    temperature,
    maintenance,
    construction phase,
    contracts, statistics,
    reports, sensors...
    Digital Twin of the
    building

    View Slide

  12. 12

    View Slide

  13. ROADMAP
    idea
    commu
    nity
    funding
    try &
    learn
    JUNE’19
    do
    busines
    s
    market
    place
    scale
    cross-industry
    global
    2017 2018 2019 2020

    View Slide

  14. Frictionless
    End-to-End
    Developer
    eXperience
    Developer eXperience is built together to
    maximise ease of use of platform capabilities
    14
    Almost
    Harmonised data out
    Data in

    View Slide

  15. Developer Experience
    Why you should care?
    Developers change the world - ease of use is crucial
    1

    View Slide

  16. 100 000 customers,
    handles 100 billion
    worth transactions,
    creates 1,5 billion
    revenue with 1 API
    Stripe allows individuals and businesses
    to receive payments over the Internet.
    Stripe provides the technical, fraud
    prevention, and banking infrastructure
    required to operate on-line payment
    systems
    Est. 2010

    View Slide

  17. 40 000+ customers
    create 400 million
    revenue with
    5+ APIs
    Why did they succeed?
    Twilio allows software developers to
    programmatically make and receive
    phone calls, send and receive text
    messages, and perform other
    communication functions using its web
    service APIs.
    Est. 2008

    View Slide

  18. Building a “developer-first”
    product that makes it easy for
    companies and developers to
    accept payments immediately.
    “We’ve all seen how APIs
    and developers have
    transformed entire
    industries”
    1,5 billion revenue
    with 1 API
    713 million revenue

    View Slide

  19. “ Product and
    customer-centric approach
    will take you to success, but
    developer-centric will make
    you the industry leader
    19
    Jarkko Moilanen

    View Slide

  20. Built with Developer
    centric approach
    Platform of Trust offers excellent
    Developer eXperience
    ….so you don’t need to worry about that.

    View Slide

  21. Data
    product
    End-to-end DX
    21
    Integrate and
    harmonise data
    Publish to
    market place
    Discover data
    products
    Connect app
    to data
    Test
    Sandbox, translator Production
    Test
    Sandbox
    App
    product
    Publish to
    market place
    Market place

    View Slide

  22. API-first - GUI & libraries next
    22
    Data Product
    CLI support
    App building
    CLI support
    API Product
    CLI support
    Code Libraries
    (python, JS) +
    additional CLI
    tools
    Data Product
    GUI support
    App building
    GUI support
    API Product
    GUI support
    Q1 / 2019 Q2 / 2019 Q3 / 2019 Q4 / 2019
    Additional GUI
    tools

    View Slide

  23. Developer Portal
    Your self-service one-stop-shop. Preview Release 10th April 2019
    2

    View Slide

  24. Developer tools
    24
    Sandbox
    with data
    Getting started
    guides
    API Console
    (coming Q2)
    API
    Documentation
    With code examples
    Use case
    descriptions
    Data Integration
    skeleton
    Data models
    With webapp
    ... developer.oftrust.net

    View Slide

  25. Sandbox
    25
    The Platform of Trust Sandbox environment is intended to be used by
    developers to test their applications and data product integrations,
    prior to production, in a safe and isolated manner.
    ● Contains all platform APIs - https:/
    /api-sandbox.oftrust.net/
    ● All API Documentation examples against sandbox
    ● Sample data - all data products must provide sample data
    ● Periodic environment reset
    ● No SLA

    View Slide

  26. API Docs (WIP)
    26
    All APIs with code examples in one address docs.oftrust.net
    Looking for JS, Java and Python code example contributions
    https:/
    /github.com/platformoftrust/docs/issues

    View Slide

  27. Guides - 101 (WIP)
    27
    We provide multiple simple 101 type step by step guides with code
    examples to get you started:
    ● Data Product Guide
    ● Setup Translator
    ● Manage Digital Twins
    ● Use standard data models
    ● Build Apps
    ● ….

    View Slide

  28. App Development
    Decrease time-to-market by providing easy access
    to standardized data
    2

    View Slide

  29. App development process
    29
    Decide what the
    end-user wants
    and needs?
    Find suitable data
    products, get
    access, learn, build
    logic and test
    Register and
    configure app
    Publish app to
    the market place
    1 2 3 4
    Business Technology
    58% - > 20%
    30% of your time 1% 1%
    Canvas
    User stories
    Sandbox
    Market place
    Product API
    Broker API
    Platform of Trust
    Product API
    Platform of Trust
    Product API

    View Slide

  30. Data query App requests data with
    standard endpoints and
    params. Details found from
    Data Product
    Translator
    Original source data
    App
    Data Broker
    API
    Translator converts
    original source data to
    standard format
    Ontologies defined by
    Platform of Trust
    Based on the ontologies
    expanding set of schemas are
    defined
    1
    2
    3
    Data is passed to
    application

    View Slide

  31. {
    "@context": "https://schema.org/",
    "@type": "collection",
    "ItemList": [
    {
    "@context": "https://platformoftrust.github.io/standards/contexts/product.jsonld",
    "@type": "Product",
    "@id": "https://api-sandbox.oftrust.net/product/v1/products/prh-business-identity-data-product",
    "productCode": "business-identity-test",
    "dataContext": null,
    "parameterContext": "https://platformoftrust.github.io/standards/contexts/product-parameters.jsonld",
    "translatorUrl": "http://translator-test-backend-app/business-identity",
    "name": "PRH Business Identity",
    "organizationPublicKeys": null,
    "description": "Returns business information from the PRH Open Data API",
    "imageUrl": null
    }
    ]
    }
    curl https://api-sandbox.oftrust.net/product/v1/products
    PRODUCTS API

    View Slide

  32. {
    "@context": "https://platformoftrust.github.io/standards/contexts/product.jsonld",
    "@type": "Product",
    "@id": "https://api-sandbox.oftrust.net/product/v1/products/business-identity-test",
    "productCode": "business-identity-test",
    "dataContext": "https://platformoftrust.github.io/standards/contexts/product-data.jsonld",
    "parameterContext": "https://platformoftrust.github.io/standards/contexts/product-parameters.jsonld",
    "translatorUrl": "https://translator-test-backend-app/business-identity",
    "name": "Business identity",
    "organizationPublicKeys": [
    {
    "url": "https://example.com/example.pub",
    "type": "RsaSignature2018"
    }
    ],
    "description": "Test translator business information",
    "imageUrl": null
    }
    curl https://api-sandbox.oftrust.net/product/v1/products/business-identity-test
    Available
    parameters
    PRODUCTS API

    View Slide

  33. curl -X POST https://api-sandbox.oftrust.net/broker/v0.1/fetch-data-product \
    -H "Content-Type: application/json" \
    -H "X-Pot-Signature: Ioma1gqOVFUBrXiziWSCLqBG4vFozG3YgzPzillNip0=" \
    -H "X-Pot-App: 379780e4-b511-4fa9-aef8-bda9bd58ab89" \
    -H "X-Pot-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJ...DVs5aaf" \
    -d '{
    "timestamp": "2019-02-27T14:38:00+02:00",
    "productCode": "business-identity-test",
    "parameters": {
    "businessId": "1234567-8"
    }
    }'
    Live coding example coming next time we meet...
    From the
    “parameterContext”
    BROKER API

    View Slide

  34. Lunch - back by 12:30
    Let’s go for lunch
    3

    View Slide

  35. Group work
    Let’s go start working with the apps
    4

    View Slide

  36. App development process
    36
    Decide what the
    end-user wants
    and needs?
    Find suitable data
    products, get
    access, learn, build
    logic and test
    Register and
    configure app
    Publish app to
    the market place
    1 2 3 4
    Business Technology
    58% - > 20%
    30% of your time 1% 1%
    Canvas
    User stories
    Sandbox
    Market place
    Product API
    Broker API
    Platform of Trust
    Product API
    Platform of Trust
    Product API

    View Slide

  37. Task
    37
    5-7 person groups, time until 14:45 - show and tell
    1. Describe your app development process step by step
    a. Use some realistic example
    b. How the app is designed, developed, distributed?
    2. Identify capabilities you expect from platform
    a. Is the capability API or GUI driven?
    3. Identify open questions in the process
    docs.oftrust.net

    View Slide

  38. Results
    Let’s look at the results
    5

    View Slide

  39. 39
    Thanks!
    Any questions?

    View Slide