Software Architecture for the Internet of Things

بواسطة: Coursera

Overview

This course will teach you how to design futureproof systems that meet the requirements of IoT systems: systems that are secure, interoperable, modifiable, and scalable. Moreover, you'll learn to apply best-in-class software architecture methods to help you design complex IoT and other applications. Lastly, you'll come to understand the business impact of the technical decisions that you make as an IoT system architect.

You'll learn all about software architecture in the next 5 weeks! In the first week, you'll discover why having a well-designed architecture is important and which challenges you might come across while developing your architecture. By the end of the second week, you'll already be able to write your own requirements! In the third and fourth weeks, you will learn how to correctly write quality attributes and quality attribute scenarios for a specific case. In the last week, you'll learn to describe your own patterns and tactics and see how they're used in an Android framework.

Taught by

Frank Gielen

Software Architecture for the Internet of Things
الذهاب الي الدورة

Software Architecture for the Internet of Things

بواسطة: Coursera

  • Coursera
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • الجميع
  • French, Portuguese, Russian, English, Spanish
8.1.2PHP Version256msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (161ms)
    • Application (94.41ms)
    • 1 x Booting (62.88%)
      160.99ms
      1 x Application (36.88%)
      94.41ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed6.1ms
      • select * from `courses` where `slug_ar` = 'software-architecture-for-the-internet-of-things' limit 1
        4.77ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. software-architecture-for-the-internet-of-things
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-17 02:52:58' where `id` = 2520
        520μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-17 02:52:58
        • 1. 2520
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (13)
        150μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        150μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (47) and `institutions`.`deleted_at` is null
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        150μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2511 limit 1
        190μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2511
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        uxlGYSg9cfnspqv7xETpPPHRNA0kivhxQCBIsB4Z
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/softwa...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/software-architecture-for-the-internet-of-things
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "18.119.165.5" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "9318a11e4c53132d-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "x-forwarded-for" => array:1 [ 0 => "18.119.165.5" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "18.119.165.5" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "9318a11e4c53132d-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "18.119.165.5" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "47648" "REMOTE_ADDR" => "172.69.17.19" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/software-architecture-for-the-internet-of-things" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744858378.2197 "REQUEST_TIME" => 1744858378 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 17 Apr 2025 02:52:58 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImEwZ0t6WDNhU0tEV2IyQkU1TndLQXc9PSIsInZhbHVlIjoiUW5UaVZxK2tDbmF5VGdIc2pEeXpTY0dZN1JFTU5wUk93b3o2MFhsM3pQTEdGMkJad1NwT0x6aFZPVHUweWhiQVVVUTdrRmYrSFQ0a21temdaaDIyM2E2Z0lleFk4SXpPemw0NXR4bXA5dkJOOEFCVXBOSWgyUTFtZHQ4dXBhUVkiLCJtYWMiOiI0YzRjN2E1ZGFhYmE0MzA1ZTE1NjlkYzI4NmY5NDhmOTIzMDQ5YTgxM2FiZjk3Y2FlNDYxMzA1MDgzYjM0MjIxIiwidGFnIjoiIn0%3D; expires=Thu, 17 Apr 2025 04:52:58 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6ImEwZ0t6WDNhU0tEV2IyQkU1TndLQXc9PSIsInZhbHVlIjoiUW5UaVZxK2tDbmF5VGdIc2pEeXpTY0dZN1JFTU5wUk93b3o2MFhsM3pQTEdGMkJad1NwT0x6aFZPVHUweWhiQVVVUTdrR" 1 => "laravel_session=eyJpdiI6IkFVQVZneHhhNFNoTGZ6U2VjbnBsNEE9PSIsInZhbHVlIjoiNmJ6TUgrKzUvOHFnR3RmUktoODNRL3lTTkptS3ZNNkdlRndYbU9nSDNhVWhVZ1BqZkFXdkVnK2oxb3U0TVlwVW10emJmdFltOWcxUUFTY04xQVpwa3BQdjRmZ1Z3Vy81WlhDTjNFNTk2N1JIODVJK3ZzelNSbzh4YXFSb3QvTloiLCJtYWMiOiI4ODRhZGI1YjU2M2M2NjgxMzZhYWNkMTYxOWE5NDc1Yjk2MGVjOTViNWJkZmI1ZTEwZTM2ZjI2ZGQzMWQxMmRkIiwidGFnIjoiIn0%3D; expires=Thu, 17 Apr 2025 04:52:58 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IkFVQVZneHhhNFNoTGZ6U2VjbnBsNEE9PSIsInZhbHVlIjoiNmJ6TUgrKzUvOHFnR3RmUktoODNRL3lTTkptS3ZNNkdlRndYbU9nSDNhVWhVZ1BqZkFXdkVnK2oxb3U0TVlwVW10" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImEwZ0t6WDNhU0tEV2IyQkU1TndLQXc9PSIsInZhbHVlIjoiUW5UaVZxK2tDbmF5VGdIc2pEeXpTY0dZN1JFTU5wUk93b3o2MFhsM3pQTEdGMkJad1NwT0x6aFZPVHUweWhiQVVVUTdrRmYrSFQ0a21temdaaDIyM2E2Z0lleFk4SXpPemw0NXR4bXA5dkJOOEFCVXBOSWgyUTFtZHQ4dXBhUVkiLCJtYWMiOiI0YzRjN2E1ZGFhYmE0MzA1ZTE1NjlkYzI4NmY5NDhmOTIzMDQ5YTgxM2FiZjk3Y2FlNDYxMzA1MDgzYjM0MjIxIiwidGFnIjoiIn0%3D; expires=Thu, 17-Apr-2025 04:52:58 GMT; path=/XSRF-TOKEN=eyJpdiI6ImEwZ0t6WDNhU0tEV2IyQkU1TndLQXc9PSIsInZhbHVlIjoiUW5UaVZxK2tDbmF5VGdIc2pEeXpTY0dZN1JFTU5wUk93b3o2MFhsM3pQTEdGMkJad1NwT0x6aFZPVHUweWhiQVVVUTdrR" 1 => "laravel_session=eyJpdiI6IkFVQVZneHhhNFNoTGZ6U2VjbnBsNEE9PSIsInZhbHVlIjoiNmJ6TUgrKzUvOHFnR3RmUktoODNRL3lTTkptS3ZNNkdlRndYbU9nSDNhVWhVZ1BqZkFXdkVnK2oxb3U0TVlwVW10emJmdFltOWcxUUFTY04xQVpwa3BQdjRmZ1Z3Vy81WlhDTjNFNTk2N1JIODVJK3ZzelNSbzh4YXFSb3QvTloiLCJtYWMiOiI4ODRhZGI1YjU2M2M2NjgxMzZhYWNkMTYxOWE5NDc1Yjk2MGVjOTViNWJkZmI1ZTEwZTM2ZjI2ZGQzMWQxMmRkIiwidGFnIjoiIn0%3D; expires=Thu, 17-Apr-2025 04:52:58 GMT; path=/; httponlylaravel_session=eyJpdiI6IkFVQVZneHhhNFNoTGZ6U2VjbnBsNEE9PSIsInZhbHVlIjoiNmJ6TUgrKzUvOHFnR3RmUktoODNRL3lTTkptS3ZNNkdlRndYbU9nSDNhVWhVZ1BqZkFXdkVnK2oxb3U0TVlwVW10" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "uxlGYSg9cfnspqv7xETpPPHRNA0kivhxQCBIsB4Z" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/software-architecture-for-the-internet-of-things" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]