SlideShare a Scribd company logo
1 of 41
© 2020 Hiromitsu Jin All Right Reserved.
IoTプロ・コミュニティ福岡 リーダー
陣 宏充
© 2020 Hiromitsu Jin All Right Reserved. 1
Contents
1. 自己紹介
2. 主催団体 FITCO & IoTプロ・コミュニティの紹介
3. IoT検定の概要
4. セミナー 「セキュリティ」の説明
5. アンケートのお願い
6. 最後に
© 2020 Hiromitsu Jin All Right Reserved. 2
1. 自己紹介
© 2020 Hiromitsu Jin All Right Reserved. 3
2. 主催団体 FITCO & IoTプロ・コミュニティの紹介
© 2020 Hiromitsu Jin All Right Reserved. 4
3. IoT試験の概要
© 2020 Hiromitsu Jin All Right Reserved. 5
4. ミニセミナー IoTの教科書 第6章
「プラットフォーム」
© 2020 Hiromitsu Jin All Right Reserved. 6
4-1. クラウドとは
© 2020 Hiromitsu Jin All Right Reserved. 7
4-1-1.クラウドとは
<クラウドとは>
クラウドは、ユーザーがインターネットなどのネットワークを経由して利用する
コンピューターシステムで、クラウドコンピューティングやクラウドサービスと
呼ばれることもあります。企業システムは、オンプレミス(自社内にコンピュー
ターやネットワークの機器を用意し、企業自らで構築、運用する形態)が主流で
したが、2010年前後からクラウドが普及してきました。ユーザーは、インター
ネットなどのネットワークに接続する環境を用意するだけでよく、目的に合った
サービスを提供するクラウドベンダーとの間で契約して使用します。ユーザーに
とっては、クラウドベンダー側の設備がどのように構成されているかなどは意識
する必要がないことから、あたかも雲(クラウド)の向こう側に隠れたシステム
を利用することからクラウドと呼ばれています。IoTにおいても、センサー等で収
集したデータを蓄積、分析するなどの用途でクラウドがよく利用されます。
© 2020 Hiromitsu Jin All Right Reserved. 8
4-1-2.フォグ、エッジコンピューティングとは
<フォグコンピューティング、エッジコンピューティング>
クラウドコンピューティングは、インターネット上のコンピュータ資源を利用す
るシステム形態ですが、IoTの普及もあり、接続するデバイス(端末)数も増大し
ています。また、それらのデバイスからのデータがクラウドに送信されることで、
ネットワーク内のトラフィック量(送受信されるデータ量)が増え、クラウド上
のコンピュータ資源への負荷が増大しています。これにより、デバイスから送信
したデータをクラウドで処理し、その結果を再び返してくるまでの時間が長くな
り、遅延が発生する可能性が高まっています。特に、自動運転などリアルタイム
性が必要とされるシステムにおいては、このような遅延はシステムの要件を満た
すことができなくなる要因となります。そこで、これらの課題を解決するために、
フォグコンピューティングやエッジコンピューティングが注目されています。
© 2020 Hiromitsu Jin All Right Reserved. 9
4-1-2.フォグ、エッジコンピューティングとは
ç
© 2020 Hiromitsu Jin All Right Reserved. 10
4-1-2.フォグ、エッジコンピューティングとは
■フォグコンピューティング
インターネット上のコンピューター資源で実行していた処理を、IoTデバイスと同
じネットワーク(LAN)内で処理することで、遅延を解消し、リアルタイム性を
確保するシステム形態をフォグコンピューティングと呼びます。IoTデバイスと同
じネットワーク内のIoTゲートウェイやフォグノードと呼ばれるコンピューター資
源で、データを蓄積、処理し、結果を必要とするIoTデバイスに送信します。フォ
グコンピューティングは、クラウド上で処理していたものをすべて実行するわけ
ではなく、その一部をフォグノード側で実行することで、インターネットを介し
たクラウドへのトラフィック量は削減でき、クラウド側の負荷軽減にもつながり
ます。クラウド(雲)よりも、デバイスに近い箇所で動作することから、フォグ
(霧)という名称が利用されています。
■エッジコンピューティング
フォグコンピューティングでは、IoTデバイスと同じネットワーク内のIoTゲート
ウェイやフォグノードがデータ処理を実行していたのに対し、IoTデバイス自体で
データ処理を実行するシステム形態をエッジコンピューティングと呼びます。各
IoTデバイスがそれぞれ独立して処理を実行することで、フォグコンピューティン
グ同様、クラウド側に送受信するデータ量を削減し、クラウドの負荷軽減につな
がります。また、よりリアルタイム性を発揮することができるようになります。
© 2020 Hiromitsu Jin All Right Reserved. 11
4-2. クラウド技術
© 2020 Hiromitsu Jin All Right Reserved. 12
4-2-1.仮想化技術
<仮想化技術>
クラウドベンダーは、多くのユーザーに対し、安定したサービスを提供するため
には、コンピューター資源も潤沢に用意する必要があります。しかし、IaaSでコ
ンピューターをユーザーに提供する際に、1人のユーザーに1台の物理的なコン
ピューターを割り当てていくと、膨大な台数のを必要とし、設置する場所や電源
の確保が難しくなります。また、コンピューターに格納しているデータが運用と
ともに増加し、コンピューターに接続されているディスクストレージに収まらな
くなった場合、その都度より大容量のディスクに交換し、データを移行すること
は効率的ではありません。コンピューターやストレージ装置など物理的なリソー
ス(資源)を、一つに集約したり、複数に分割して、ユーザーが必要とするリ
ソース分(論理的リソース)だけにまとめて利用する仕組みを仮想化と呼びます。
対象となる物理的なリソースがコンピューターそのものの場合はサーバー仮想化、
ディスク装置などストレージが対象となる場合はストレージ仮想化、ネットワー
ク装置が対象となる場合はネットワーク仮想化と呼びます。
© 2020 Hiromitsu Jin All Right Reserved. 13
4-2-1.仮想化技術
たとえば、サーバー仮想化
であれば、運用中にサー
バーの負荷が高くなり、性
能が悪化したときに、CPU
やメモリを追加するといっ
たことが、物理的にCPUや
メモリとコンピューターに
追加するのではなく、設定
で割り当ての変更が容易に
行えるため、柔軟な対応が
可能となります。
© 2020 Hiromitsu Jin All Right Reserved.
4-2-2.クラウドサービスの分類
<クラウドサービスの分類>
クラウドは、クラウドベンダーが提供するサービス範囲に応じて、いくつかに分
類することができます。代表的なものは以下のとおりです。
・SaaS(Software as a Service:読み方「サース」)
クラウドベンダー側で、システムに必要なすべての要素(ハードウェア、OS、ミドルウェア[*1]、アプリケーショ
ン)を提供するサービス形態です。ユーザーは、提供されたアプリケーションをエンドユーザーとして利用します。
Google社のG Suite、Salesforce.com社のSales Cloud、Microsoft社のOffice 365などが代表例です。
・PaaS(Platform as a Service:読み方「パース」)
クラウドベンダー側で、アプリケーションを動作させるための環境(ハードウェア、OS、ミドルウェア[*1])を提供
するサービス形態です。ユーザーは、目的に合ったアプリケーションを開発し、クラウド上で実行して利用します。
Google社のGoogle App Engine、Salesforce.com社のSalesforce Platform、Microsoft社のMicrosoft Azureが代表例
です。
・IaaS(Infrastructure as a Service:読み方「イアース」)
クラウドベンダー側で、バードウェアやOSを搭載したコンピュータを提供するサービス形態です。ユーザーは、目的に
合ったソフトウェアを自由にインストールしてWebサーバーとして利用したり、データを蓄積するストレージとして利
用します。Google社のGoogle Compute Engine、Amazon.com社のAmazon EC2やAmazon S3が代表例です。
[*1]ミドルウェア : OS上にインストールして使用するソフトウェアで、アプリケーションの汎用的な仕組みをミドル
ウェアとして切り離すことで、開発するアプリケーションの規模を減らすことができます。DBMS(データベース管理シス
テム)やWebサーバーなどがミドルウェアにあたります。
© 2020 Hiromitsu Jin All Right Reserved. 15
4-3. 各社のクラウドサービス
© 2020 Hiromitsu Jin All Right Reserved. 16
4-3-1.主要なクラウドサービス
<主要なクラウドサービス>
・Amazon Web Services(AWS)
アマゾンウェブサービス(AWS)は、2019年時点で世界の22の地域(リージョン)
にデータセンターを用意して、165以上のフル機能をサービスとして運用してい
ます。機械学習、IoT、人口知能などの分野で、新しいサービスが数多くリリース
されています。
AWSで提供されている主なサービスとして、クラウド内の仮想サーバーを提供す
る「Amazon Elastic Compute Cloud (EC2)」、クラウド内のストレージを提供
する「Amazon Simple Storage Service(S3)」があります。
また、IoTに関連するサービスとして、「AWS IoT サービス」を提供しています。
エッジデバイス向けの「デバイスソフトウェア」、デバイスとクラウドを安全に
接続してデータのやり取りを行う「コントロールサービス」、IoTデータを分析・
解析して状況に応じた処理を行う「データサービス」から構成されています。
・Google Cloud Platform(GCP)
Google Cloud Platform(GCP)は、2019年時点で世界の20の地域(リージョン)に
データセンターを用意して、160を超えるサービスを運用しています。
GCPで提供されている主なサービスとして、高性能な仮想マシンを提供する
「Google Compute Engine」、クラウド内でオブジェクトストレージを提供する
「Google Cloud Storage」、アプリケーションのプラットフォーム(実行環境)
としてPaaSの代表例である「Google App Engine」があります。
© 2020 Hiromitsu Jin All Right Reserved. 17
4-3-1.主要なクラウドサービス
また、IoTに関するサービスとしては、IoTデバイスを安全に接続し、データの取
り込みまでを管理する「Google Cloud IoT Core」、エッジデバイスでAIを実行
する集積回路(ASIC)を提供する「Edge TPU」から構成されています。
・Microsoft Azure
Microsoft Azureは、2019年時点で世界の54の地域(リージョン)にデータセン
ターを用意して、230を超えるサービスを運用しています。
Microsoft Azureで提供されている主なサービスとして、仮想マシンを提供する
「Virtual Machines」、クラウド内でストレージを提供する「Storage」、画像や
音声などをAIを活用して認知する「Cognitive Services」があります。
また、IoTに関するサービスとしては、エッジデバイスのOSを提供する
「Windows 10 IoT Core Services」、大量なIoTデバイスとクラウドとの双方向
通信を管理する「Azure IoT Hub」などで構成されています。
© 2020 Hiromitsu Jin All Right Reserved. 18
4-3-1.主要なクラウドサービス
図(未完成)
© 2020 Hiromitsu Jin All Right Reserved. 19
4-4. 分散処理とは
© 2020 Hiromitsu Jin All Right Reserved. 20
4-4-1.分散処理とは
<分散処理とは>
クラウドでは、大量なデータがビッグデータとして蓄積され、IoT活用によりさらに
そのデータ量が増大する一方です。コンピュータでは、データの格納はストレージ装
置(ディスクなど)に対して行うことになりますが、このディスクの読み書きが非常
に遅いため、全体の処理時間が遅くなり、性能劣化につながります。クラウド上では、
大量のデータを扱うため、処理時間が非常にかかってしまうと使い物になりません。
従来どおり、1台のコンピュータでそれぞれが管理するディスクにデータを読み書き
する処理方式には限界があります。そこで、大量なデータを複数に分割し、複数台の
コンピュータで同時並行に処理することで、全体の処理時間を減らそうとする分散処
理がクラウドでは用いられるようになりました。特に、Googleが独自に考案した
MapReduceは、分散処理フレームワークとして有名です。
<Apache Hadoopとは>
Googleは、分散処理フレームワークのMapReduceに加え、分散処理ファイルシステ
ムのGFS(Google File System)、分散データべースのBig tableを取り入れた分散処
理基盤Hadoopを作り出しました。その後、オープンソース化され、Apache
Hadoopとして提供され、一気に分散処理が世の中に浸透していきました。Apache
Hadoopは、以下の3つの構成要素を中心に構成されています。
・分散処理フレームワーク : Hadoop MapReduce
このフレームワークに従い、MapperとReducerというプログラムを作成することで、
並列分散処理を実現します。
© 2020 Hiromitsu Jin All Right Reserved. 21
4-4-1.分散処理とは
図(未完成)
© 2020 Hiromitsu Jin All Right Reserved. 22
4-4-1.分散処理とは
・分散処理ファイルシステム : HDFS(Hadoop Distributed File System)
ファイルの読み書きを高速化するために、複数台のストレージにデータを分散して格
納し、並列して読み書きができるように管理した仕組みです。
・列指向分散データベース : HBase
HDFS上に構築した分散データベースで、書き込み性能を劣化させない特徴を持って
います。
<分散処理フレームワーク Hadoop MapReduce>
分散処理フレームワークのHadoop MapReduceでは、Map、Shuffle、Reduceの3
つのフェーズで処理が実行されます。Map処理では、処理するデータをKeyとValue
のペアを抽出していきます。Shuffle処理では、Keyが同じもの同士を集めるなどし
て、データの入れ替えを行います。そして、Reduce処理では、目的に応じた計算や
処理を実行し、最終的に1つの結果として取りまとめられます。このフレームワーク
を利用すれば、Map処理をMapper、Reduce処理をReducerというプログラムを作
成するだけで、簡単に分散処理を実現することが可能です。
© 2020 Hiromitsu Jin All Right Reserved. 23
4-5. 分散処理とストリーム処理
© 2020 Hiromitsu Jin All Right Reserved. 24
4-5-1.分散処理技術とストリーム処理
<Apache Sparkとは>
Apache Sparkは、カリフォルニア大学バークレー校で開発された後、2014年に
Apache Software Foundationへ寄贈されたオープンソースの分散処理フレームワー
クです。
前述のApache Hadoopでは、ストレージから繰り返しデータを読み書きする必要があ
り、処理効率に課題がありました。Sparkでは、ストレージから呼び出されたデータ
は、メモリ上で処理、保持されます。一連の処理が終了した後、ストレージに書き込
むことで、処理性能を向上させています。つまり、Hadoopが持つ特徴である分散処
理ファイルシステムに対し、Sparkは分散共有メモリの仕組みが用意されています。
これは、RDD(Resilient Distributed Datasets)と呼ばれ、データをいくつかの塊に分
割(パーティション化)し、それらが複数台のコンピュータのメモリ上に配置されま
す。
SparkはHadoopを完全に置き換えて利用するのではなく、共存することが可能であり、
それぞれのメリットを活かすことで、安価で、高速で、耐障害性にも優れたシステム
を構築できます。Hadoopが持つ分散処理フレームワークのMapReduce部分を、
Sparkのフレームワークを利用してアプリケーションを開発して、分散並列処理を実
現させることができます。なお、HadoopはJava言語で開発されているのに対し、
SparkはScala言語で開発されています。
© 2020 Hiromitsu Jin All Right Reserved. 25
4-5-2.ストリーム処理とは
<ストリーム処理とは>
ストリーム処理とは、大量発生するデータを逐次リアルタイムに処理することです。
継続的に処理され、低遅延である特徴を持っています。Twitterでのつぶやきのように、
連続的に発生する大規模データ分析を高速に実施したり、異常値や不正値の検出や、
クラウド課金などに用いられています。
一方、データストアに格納されたデータを一括処理するHadoop MapReduceや
Apache Sparkはバッチ処理として定期的に実行されます。
ストリーム処理は、世の中にいくつかの実装が存在しますが、その中の1つにApache
Stormがあります。Stormでは、データの生成元となるノードとしてSpout(スパウ
ト)があり、ここからデータを受けとり、随時処理を実行するBolt(ボルト)があり
ます。Boltで処理されたアウトプットデータは、また後続のBoltへと引き渡されてい
きます。Apache Stormでは、このSpoutとBoltの箇所を、Java言語などでアプリ
ケーション開発して使用します。
© 2020 Hiromitsu Jin All Right Reserved. 26
4-5-3.分散処理技術とストリーム処理
© 2020 Hiromitsu Jin All Right Reserved. 27
4-6. データ処理
© 2020 Hiromitsu Jin All Right Reserved. 28
4-6-1.データ処理
<データフォーマット>
IoTでは、センサで収集されたデータは、クラウドなどに送られ、分析、格納されます。
IoTに限らず、システムでデータを扱う際には、あらかじめデータのフォーマットを定
めておく必要があります。システム相互で異なるデータフォーマットと認識している
と、正しくデータを伝えることができません。実際にシステムで利用されるフォー
マットは、以下の3つが代表的であり、それぞれに特徴があります。
・CSV(Comma Separated Values)
・XML(Extensible Markup Language)
・JSON(JavaScript Object Notation)
<CSVとは>
CSV形式は、カンマ形式とも呼ばれ、古くから利用されているデータフォーマットの
一つです。
各データをカンマで区切って表現し、1行が1件分のデータを表します。シンプルな
データ構造であり、データサイズも少なく済むケースが多いです。
カンマで区切った各項目の順番がとても重要で、あらかじめ1つ目の項目は測定日時,
2つ目の項目は測定場所などどのような順序で各データ項目が並んでいるかを決定して
おく必要があります。そのため、送信側と受信側で、このデータ項目の並び順が合っ
ていないと、正しくデータを渡すことができません。
© 2020 Hiromitsu Jin All Right Reserved. 29
4-6-1.データ処理
運用後にデータ項目を途中に追加したり、項目順を入れ替えると、お互いのデータ送
受信のプログラムを修正する必要がでてきます。
また、途中のデータ項目が存在しない場合でも、必ずカンマを記述して該当の位置ま
で認識させる必要があるため、IoTのようにたくさんの種類のセンサーから、様々な
データを収集する場合は非効率なデータとなります。
図(未完成)
© 2020 Hiromitsu Jin All Right Reserved. 30
4-6-1.データ処理
あらかじめ、データ項目を決定できる定型的なデータで、全体のデータ項目数があま
り多くない場合には向きますが、データ項目の変更が多かったり、扱うデータの種類
が多い場面では向きません。
<XMLとは>
XML形式は、共通の基本構文を用い、言語拡張を容易にしたマークアップ言語です。
< >記号で囲まれたタグと呼ばれる情報を表記することで、データに何らかの意味を
付加して利用します。これにより、CSV形式の課題であった、データ項目の並び順に
関しては、タグにつける項目名を送受信する双方で決めておけば特に意識する必要が
なくなります。たくさんのデータの種類の中から、ごく一部のデータだけ含める場合
であっても、CSVのように無駄にカンマで位置合わせする必要はありません。
ただし、すべてのデータ項目の前後をタグで囲む必要があり、CSV形式のようにカン
マで区切る方式と比べると多少なりともデータサイズが大きくなってしまいます。
© 2020 Hiromitsu Jin All Right Reserved. 31
4-6-1.データ処理
<JSONとは>
JSON形式は、Webで利用されるスクリプト言語であるJavaScriptのオブジェクト表
記をベースとし、システム間やプログラム間でデータの受け渡しを行うための軽量な
データ記述言語です。実際のデータとキーと呼ばれる項目をセットにして表記します。
このキーがXML形式のタグと同様の働きをしますので、データの表記順は特に意識す
る必要はなく、位置合わせのための無駄なカンマも必要ありません。また、XML形式
ではデータの終了部分にタグで項目名をもう一度表記しますが、JSON形式ではカンマ
を用いてデータの区切りを表しています。そのため、XML形式に比べてデータサイズ
を少なくすることができ、より軽量なデータ表記方法となります。
© 2020 Hiromitsu Jin All Right Reserved. 32
4-7. データ処理技術
© 2020 Hiromitsu Jin All Right Reserved. 33
4-7-1.データ処理技術
IoTでは、センサで収集したデータをクラウド上に送受信し、データ処理する機能を利
用してシステムを構成しますが、このときに、あらかじめ取り決めた方法で依頼した
り、取り決めた項目のデータを渡す必要があります。このように、提供する機能に対
する利用の仕方を仕様として取りまとめているものをAPI(Application
Programming Interface)とよび、特にインターネットを介してWebの仕組みとして
公開されているものをWeb APIと呼びます。Web APIでは、インターネットで利用さ
れているHTTPの仕組みにしたがって、HTTPリクエストとして処理を依頼を行うと、
HTTPレスポンスとして処理結果を受け取ることができます。このWeb APIの代表的
なものとして以下の3種類を紹介します。
<SOAP(Simple Object Access Protocol)>
SOAPはXML形式で表現されたSOAPメッセージを用いて情報交換する仕組みです。異
なるプラットフォーム上で動作するように構築されたシステム間を連携させ、それぞ
れのソフトウェアが相互運用できることを目的としたWebサービスに欠かすことがで
きない仕組みです。どのようなWebサービスがどこにあり、どのようにアクセスすれ
ばいいかなどをWSDL(Web Services Description Language)という記述言語で記し、
UDDI(Universal Description, Discovery and Integration)と呼ばれるWebサービス
の検索システムに登録して公開します。このUDDIを検索することで、目的のWeb
サービスを探し出し、システム連携させることができたが、現在はこの形式はほとん
ど利用されていません。
© 2020 Hiromitsu Jin All Right Reserved. 34
4-7-1.データ処理技術
<REST(REpresentational StateTransfer)>
RESTは元々、システムの設計原則を集めたもので、「アドレス指定可能なURIが公開
されている」、「統一されたインタフェースを持つ」、「ステートレス」、「別のリ
ソースとの関連を表すリンクを持つ」といった4つの設計原則が提言されていました。
特に、リソースという情報に着目し、すべてのリソースはURIと呼ばれる識別子(固
有なアドレス)で表現することができます。そのリソースに対して、どのような操作
を実施するかは、原則HTTPが持つメソッド(GET、POSTなど)に統一することで、既
存の仕組みで連携できるようにしています。
AWS、Google、Azureなどクラウドベンダーが提供するクラウドサービスでは、
REST APIが提供されており、プログラムからこれらのクラウドベンダーの機能を呼び
出して利用することができます。また、TwitterもREST APIを提供しており、プログ
ラムからツイートデータにアクセスし、データの読み書きを行うことができ、現在の
インターネット上の各サイトで広く利用されています。
<RPC(Remote Procedure Call)>
RPCは、あるコンピュータで実行されているプログラムから、ネットワーク経由で接
続された他のコンピュータ上のプログラムを遠隔から呼び出し、実行する仕組みです。
古くから存在する仕組みですが、最近では、インターネットで利用されるHTTPなどの
通信の仕組みを利用し、データを送受信することで連携させています。送受信する
データ形式の違いにより、XML-RPCやJSON-RPCなどが存在する。
© 2020 Hiromitsu Jin All Right Reserved. 35
4-7-1.データ処理技術
図(未完成)
© 2020 Hiromitsu Jin All Right Reserved. 36
4-8. データ処理プラットフォーム
© 2020 Hiromitsu Jin All Right Reserved. 37
4-8-1.データ処理プラットフォーム
IoTシステムを構築するにあたり、センサから情報を収集したり、収集したデータをク
ラウドに送受信したり、溜まったデータを分析する機能が必要となります。これらは、
コンピュータ上であらかじめそれぞれの機能に対応したプログラムを作成し、実行す
ることで実現します。これらのデータ処理を行うためのプログラムは様々な方法で開
発することができます。ここでは、主な開発プログラムの例として以下の3つを紹介し
ます。
<Python>
Pythonは1991年に登場したプログラム言語で、スクリプト言語の特徴を持ち、ソー
スコードを事前にコンパイルすることなく実行できるインタープリタ型の開発言語で
す。現在よく利用されているJavaやC#といったプログラム言語で用いられているオブ
ジェクト指向に加え、古くから利用されているC言語やCOBOLといった手続き型にも
対応しているため、幅広い開発者がスムーズに対応できるプログラム言語です。ソー
スコードの可読性を高めるような文法となっており、プログラムが作りやすく、読み
やすいというのが特徴でもあります。
また、Pythonにはプログラムを開発する際に便利なライブラリ(プログラム集)が豊
富にあり、インターネットを介して、これらのライブラリが共有されています。特に、
NumPyやSciPyなど数値計算に関するライブラリなどが充実しているため、データサ
イエンスや機械学習、AIなど、現在注目の分野に活用できるため、ここ数年で一気に
注目を浴びているプログラム言語といえます。
© 2020 Hiromitsu Jin All Right Reserved. 38
4-8-1.データ処理プラットフォーム
<JavaScript>
JavaScriptは1995年に登場したオブジェクト指向型のスクリプト言語で、Webブラウ
ザ上で動作することが特徴です。Pythonと同様、スクリプト言語であるため、ソース
コードを事前にコンパイルする必要はなく、Webサーバ上にJavaScriptのソースコー
ドをファイルとして格納しておくか、HTMLの中にソースコードを記述することで、
Webブラウザ上にダウンロードされた後に実行されます。そのため、Webブラウザを
利用しているユーザに対し、クライアント側でプログラムを実行することで、レスポ
ンスを速くしたり、HTMLでは表現できない動きのあるコンテンツを提供することが
できます。例えば、Googleなどの検索サイトで、検索キーワードの頭文字を何文字か
入力すると、自動的に候補となる言葉が一覧で表示するキーワードサジェスト機能は、
JavaScriptを用いたAjax(Asynchronous JavaScript + XML)という仕組みでできてい
ます。Webアプリケーションが主流となった現在では、クライアント側の動作につい
ては、JavaScriptが重要な位置づけとなっています。
<Node.js>
Node.jsは2009年に登場したサーバサイドJavaScript環境です。Webアプリケーショ
ンが主流となり、クライアント側であるWebブラウザ上で動作するプログラムが
JavaScriptで開発するため、サーバ側も同じJavaScriptで開発できれば効率化が図れ
ます。Node.jsで開発したプログラムはメモリ消費量が少なく、非同期処理が実行で
きることから、リアルタイム処理に向き、同時にたくさんのクライアントが接続する
環境でも対応できるという特徴があります。
© 2020 Hiromitsu Jin All Right Reserved. 39
4-8-1.データ処理プラットフォーム
図(未完成)
© 2020 Hiromitsu Jin All Right Reserved. 40
END

More Related Content

What's hot

IoT 導入を簡単に実現する“つなぐ”技術 ​~デンソーウェーブの IoT製品と Microsoft Azure 連携~
IoT 導入を簡単に実現する“つなぐ”技術 ​~デンソーウェーブの IoT製品と Microsoft Azure 連携~IoT 導入を簡単に実現する“つなぐ”技術 ​~デンソーウェーブの IoT製品と Microsoft Azure 連携~
IoT 導入を簡単に実現する“つなぐ”技術 ​~デンソーウェーブの IoT製品と Microsoft Azure 連携~IoTビジネス共創ラボ
 
ゼロトラスト セキュリティ モデル を IoT に - Microsoft の考える IoT セキュリティ -
ゼロトラスト セキュリティ モデル を IoT に - Microsoft の考える IoT セキュリティ -ゼロトラスト セキュリティ モデル を IoT に - Microsoft の考える IoT セキュリティ -
ゼロトラスト セキュリティ モデル を IoT に - Microsoft の考える IoT セキュリティ -IoTビジネス共創ラボ
 
IoTビジネス共創ラボ 第16回オンライン勉強会 オープニング
IoTビジネス共創ラボ 第16回オンライン勉強会 オープニングIoTビジネス共創ラボ 第16回オンライン勉強会 オープニング
IoTビジネス共創ラボ 第16回オンライン勉強会 オープニングIoTビジネス共創ラボ
 
HPCへの期待(NCAトップガンセミナー自己紹介)
HPCへの期待(NCAトップガンセミナー自己紹介)HPCへの期待(NCAトップガンセミナー自己紹介)
HPCへの期待(NCAトップガンセミナー自己紹介)Miki Yutani
 
Azure Digital Twins 最新事例紹介 ( IoTビジネス共創ラボ 第16回勉強会 )
Azure Digital Twins 最新事例紹介 ( IoTビジネス共創ラボ 第16回勉強会 )Azure Digital Twins 最新事例紹介 ( IoTビジネス共創ラボ 第16回勉強会 )
Azure Digital Twins 最新事例紹介 ( IoTビジネス共創ラボ 第16回勉強会 )Takeshi Fukuhara
 
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明Akira Tateishi
 
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待Hyperleger Tokyo Meetup
 
AIベンチャー企業のパフォーマンス
AIベンチャー企業のパフォーマンスAIベンチャー企業のパフォーマンス
AIベンチャー企業のパフォーマンスCore Concept Technologies
 
Azureを活用した未来型無人化店舗(AI STORE LAB)への挑戦
Azureを活用した未来型無人化店舗(AI STORE LAB)への挑戦Azureを活用した未来型無人化店舗(AI STORE LAB)への挑戦
Azureを活用した未来型無人化店舗(AI STORE LAB)への挑戦IoTビジネス共創ラボ
 
医療器・医薬品の保管・配送環境管理をMicrosoft Azureで包括管理 ー冨木医療機器様へのご採用事例紹介ー
医療器・医薬品の保管・配送環境管理をMicrosoft Azureで包括管理 ー冨木医療機器様へのご採用事例紹介ー医療器・医薬品の保管・配送環境管理をMicrosoft Azureで包括管理 ー冨木医療機器様へのご採用事例紹介ー
医療器・医薬品の保管・配送環境管理をMicrosoft Azureで包括管理 ー冨木医療機器様へのご採用事例紹介ーIoTビジネス共創ラボ
 
OpenID ConnectとSCIMのエンタープライズ利用ガイドについて - OpenID Foundation Japan EIWG発表会 2016
OpenID ConnectとSCIMのエンタープライズ利用ガイドについて - OpenID Foundation Japan EIWG発表会 2016OpenID ConnectとSCIMのエンタープライズ利用ガイドについて - OpenID Foundation Japan EIWG発表会 2016
OpenID ConnectとSCIMのエンタープライズ利用ガイドについて - OpenID Foundation Japan EIWG発表会 2016OpenID Foundation Japan
 
企業情報システムにおける先進的な技術の活用
企業情報システムにおける先進的な技術の活用企業情報システムにおける先進的な技術の活用
企業情報システムにおける先進的な技術の活用Miki Yutani
 
Data × AI でどんな業務が改善できる? ​製造業様向け Data × AI 活用ユースケース & 製造MVPソリューションのご紹介
Data × AI でどんな業務が改善できる? ​製造業様向け Data × AI 活用ユースケース & 製造MVPソリューションのご紹介Data × AI でどんな業務が改善できる? ​製造業様向け Data × AI 活用ユースケース & 製造MVPソリューションのご紹介
Data × AI でどんな業務が改善できる? ​製造業様向け Data × AI 活用ユースケース & 製造MVPソリューションのご紹介IoTビジネス共創ラボ
 
2020 08-01 ALGYAN AI&ロボティクス (1)
2020 08-01 ALGYAN AI&ロボティクス (1)2020 08-01 ALGYAN AI&ロボティクス (1)
2020 08-01 ALGYAN AI&ロボティクス (1)Akira Tateishi
 
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾 ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾 blockchainexe
 

What's hot (20)

IoT 導入を簡単に実現する“つなぐ”技術 ​~デンソーウェーブの IoT製品と Microsoft Azure 連携~
IoT 導入を簡単に実現する“つなぐ”技術 ​~デンソーウェーブの IoT製品と Microsoft Azure 連携~IoT 導入を簡単に実現する“つなぐ”技術 ​~デンソーウェーブの IoT製品と Microsoft Azure 連携~
IoT 導入を簡単に実現する“つなぐ”技術 ​~デンソーウェーブの IoT製品と Microsoft Azure 連携~
 
20170703_05 IoTビジネス共創ラボ
20170703_05 IoTビジネス共創ラボ20170703_05 IoTビジネス共創ラボ
20170703_05 IoTビジネス共創ラボ
 
Azure上のIoT Solution、WeDXのご紹介
Azure上のIoT Solution、WeDXのご紹介Azure上のIoT Solution、WeDXのご紹介
Azure上のIoT Solution、WeDXのご紹介
 
ゼロトラスト セキュリティ モデル を IoT に - Microsoft の考える IoT セキュリティ -
ゼロトラスト セキュリティ モデル を IoT に - Microsoft の考える IoT セキュリティ -ゼロトラスト セキュリティ モデル を IoT に - Microsoft の考える IoT セキュリティ -
ゼロトラスト セキュリティ モデル を IoT に - Microsoft の考える IoT セキュリティ -
 
IoTビジネス共創ラボ 第16回オンライン勉強会 オープニング
IoTビジネス共創ラボ 第16回オンライン勉強会 オープニングIoTビジネス共創ラボ 第16回オンライン勉強会 オープニング
IoTビジネス共創ラボ 第16回オンライン勉強会 オープニング
 
オープニング
オープニングオープニング
オープニング
 
【第20回】オープニング
【第20回】オープニング【第20回】オープニング
【第20回】オープニング
 
HPCへの期待(NCAトップガンセミナー自己紹介)
HPCへの期待(NCAトップガンセミナー自己紹介)HPCへの期待(NCAトップガンセミナー自己紹介)
HPCへの期待(NCAトップガンセミナー自己紹介)
 
Azure Digital Twins 最新事例紹介 ( IoTビジネス共創ラボ 第16回勉強会 )
Azure Digital Twins 最新事例紹介 ( IoTビジネス共創ラボ 第16回勉強会 )Azure Digital Twins 最新事例紹介 ( IoTビジネス共創ラボ 第16回勉強会 )
Azure Digital Twins 最新事例紹介 ( IoTビジネス共創ラボ 第16回勉強会 )
 
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
 
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
 
AIベンチャー企業のパフォーマンス
AIベンチャー企業のパフォーマンスAIベンチャー企業のパフォーマンス
AIベンチャー企業のパフォーマンス
 
Azureを活用した未来型無人化店舗(AI STORE LAB)への挑戦
Azureを活用した未来型無人化店舗(AI STORE LAB)への挑戦Azureを活用した未来型無人化店舗(AI STORE LAB)への挑戦
Azureを活用した未来型無人化店舗(AI STORE LAB)への挑戦
 
医療器・医薬品の保管・配送環境管理をMicrosoft Azureで包括管理 ー冨木医療機器様へのご採用事例紹介ー
医療器・医薬品の保管・配送環境管理をMicrosoft Azureで包括管理 ー冨木医療機器様へのご採用事例紹介ー医療器・医薬品の保管・配送環境管理をMicrosoft Azureで包括管理 ー冨木医療機器様へのご採用事例紹介ー
医療器・医薬品の保管・配送環境管理をMicrosoft Azureで包括管理 ー冨木医療機器様へのご採用事例紹介ー
 
OpenID ConnectとSCIMのエンタープライズ利用ガイドについて - OpenID Foundation Japan EIWG発表会 2016
OpenID ConnectとSCIMのエンタープライズ利用ガイドについて - OpenID Foundation Japan EIWG発表会 2016OpenID ConnectとSCIMのエンタープライズ利用ガイドについて - OpenID Foundation Japan EIWG発表会 2016
OpenID ConnectとSCIMのエンタープライズ利用ガイドについて - OpenID Foundation Japan EIWG発表会 2016
 
企業情報システムにおける先進的な技術の活用
企業情報システムにおける先進的な技術の活用企業情報システムにおける先進的な技術の活用
企業情報システムにおける先進的な技術の活用
 
Azure IoT Edge入門
Azure IoT Edge入門Azure IoT Edge入門
Azure IoT Edge入門
 
Data × AI でどんな業務が改善できる? ​製造業様向け Data × AI 活用ユースケース & 製造MVPソリューションのご紹介
Data × AI でどんな業務が改善できる? ​製造業様向け Data × AI 活用ユースケース & 製造MVPソリューションのご紹介Data × AI でどんな業務が改善できる? ​製造業様向け Data × AI 活用ユースケース & 製造MVPソリューションのご紹介
Data × AI でどんな業務が改善できる? ​製造業様向け Data × AI 活用ユースケース & 製造MVPソリューションのご紹介
 
2020 08-01 ALGYAN AI&ロボティクス (1)
2020 08-01 ALGYAN AI&ロボティクス (1)2020 08-01 ALGYAN AI&ロボティクス (1)
2020 08-01 ALGYAN AI&ロボティクス (1)
 
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾 ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾
 

Similar to Iotlitercy wg no7

Azure IoT 関連最新情報 (Microsoft Build 2020版)
Azure IoT 関連最新情報 (Microsoft Build 2020版)Azure IoT 関連最新情報 (Microsoft Build 2020版)
Azure IoT 関連最新情報 (Microsoft Build 2020版)Takeshi Fukuhara
 
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020SORACOM,INC
 
要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議Atsushi Takayasu
 
Cloudian presentation at idc japan sv2016
Cloudian presentation at idc japan sv2016Cloudian presentation at idc japan sv2016
Cloudian presentation at idc japan sv2016CLOUDIAN KK
 
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)appliedelectronics
 
IoTビジネス共創ラボ 第4回勉強会(2017 07-03)
IoTビジネス共創ラボ 第4回勉強会(2017 07-03)IoTビジネス共創ラボ 第4回勉強会(2017 07-03)
IoTビジネス共創ラボ 第4回勉強会(2017 07-03)博宣 今村
 
Microsoft Azure IoT Overview 2020/12/18
Microsoft Azure IoT Overview 2020/12/18Microsoft Azure IoT Overview 2020/12/18
Microsoft Azure IoT Overview 2020/12/18Knowledge & Experience
 
非金融分野のブロックチェーン/分散台帳技術と IoTセキュリティ
非金融分野のブロックチェーン/分散台帳技術と IoTセキュリティ非金融分野のブロックチェーン/分散台帳技術と IoTセキュリティ
非金融分野のブロックチェーン/分散台帳技術と IoTセキュリティEiji Sasahara, Ph.D., MBA 笹原英司
 
インフラ管理者に送る あらためての IoT Edge / IoT Hub
インフラ管理者に送る あらためての IoT Edge / IoT Hubインフラ管理者に送る あらためての IoT Edge / IoT Hub
インフラ管理者に送る あらためての IoT Edge / IoT HubMasahiko Ebisuda
 
IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事Koichi Sasaki
 
IoT概論: AITCオープンラボ IoT勉強会
IoT概論: AITCオープンラボ IoT勉強会IoT概論: AITCオープンラボ IoT勉強会
IoT概論: AITCオープンラボ IoT勉強会dsuke Takaoka
 
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)SORACOM,INC
 
JPC2016: MTA-01: デジタル トランスフォーメーションを支えるクラウド選定の新基準 –インテリジェント クラウドへの道–
JPC2016: MTA-01: デジタル トランスフォーメーションを支えるクラウド選定の新基準  –インテリジェント クラウドへの道–JPC2016: MTA-01: デジタル トランスフォーメーションを支えるクラウド選定の新基準  –インテリジェント クラウドへの道–
JPC2016: MTA-01: デジタル トランスフォーメーションを支えるクラウド選定の新基準 –インテリジェント クラウドへの道–MPN Japan
 
Talk about Internet of Things
Talk about Internet of ThingsTalk about Internet of Things
Talk about Internet of ThingsNaoji Taniguchi
 
先進事例に見るIoT活用の事始め~データサイエンスの観点から~
先進事例に見るIoT活用の事始め~データサイエンスの観点から~先進事例に見るIoT活用の事始め~データサイエンスの観点から~
先進事例に見るIoT活用の事始め~データサイエンスの観点から~Daiki Kato
 
Azure IoT Plug and Play, the overview and practice
Azure IoT Plug and Play, the overview and practiceAzure IoT Plug and Play, the overview and practice
Azure IoT Plug and Play, the overview and practiceAtomu Hidaka
 

Similar to Iotlitercy wg no7 (20)

Azure IoT 関連最新情報 (Microsoft Build 2020版)
Azure IoT 関連最新情報 (Microsoft Build 2020版)Azure IoT 関連最新情報 (Microsoft Build 2020版)
Azure IoT 関連最新情報 (Microsoft Build 2020版)
 
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
 
要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議
 
Cloudian presentation at idc japan sv2016
Cloudian presentation at idc japan sv2016Cloudian presentation at idc japan sv2016
Cloudian presentation at idc japan sv2016
 
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
 
IoTビジネス共創ラボ 第4回勉強会(2017 07-03)
IoTビジネス共創ラボ 第4回勉強会(2017 07-03)IoTビジネス共創ラボ 第4回勉強会(2017 07-03)
IoTビジネス共創ラボ 第4回勉強会(2017 07-03)
 
Microsoft Azure IoT Overview 2020/12/18
Microsoft Azure IoT Overview 2020/12/18Microsoft Azure IoT Overview 2020/12/18
Microsoft Azure IoT Overview 2020/12/18
 
非金融分野のブロックチェーン/分散台帳技術と IoTセキュリティ
非金融分野のブロックチェーン/分散台帳技術と IoTセキュリティ非金融分野のブロックチェーン/分散台帳技術と IoTセキュリティ
非金融分野のブロックチェーン/分散台帳技術と IoTセキュリティ
 
インフラ管理者に送る あらためての IoT Edge / IoT Hub
インフラ管理者に送る あらためての IoT Edge / IoT Hubインフラ管理者に送る あらためての IoT Edge / IoT Hub
インフラ管理者に送る あらためての IoT Edge / IoT Hub
 
IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事
 
ゼロから学ぶIoT
ゼロから学ぶIoTゼロから学ぶIoT
ゼロから学ぶIoT
 
オープニング
オープニングオープニング
オープニング
 
IoT概論: AITCオープンラボ IoT勉強会
IoT概論: AITCオープンラボ IoT勉強会IoT概論: AITCオープンラボ IoT勉強会
IoT概論: AITCオープンラボ IoT勉強会
 
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
 
JPC2016: MTA-01: デジタル トランスフォーメーションを支えるクラウド選定の新基準 –インテリジェント クラウドへの道–
JPC2016: MTA-01: デジタル トランスフォーメーションを支えるクラウド選定の新基準  –インテリジェント クラウドへの道–JPC2016: MTA-01: デジタル トランスフォーメーションを支えるクラウド選定の新基準  –インテリジェント クラウドへの道–
JPC2016: MTA-01: デジタル トランスフォーメーションを支えるクラウド選定の新基準 –インテリジェント クラウドへの道–
 
Talk about Internet of Things
Talk about Internet of ThingsTalk about Internet of Things
Talk about Internet of Things
 
Iot literacy no.5
Iot literacy no.5Iot literacy no.5
Iot literacy no.5
 
先進事例に見るIoT活用の事始め~データサイエンスの観点から~
先進事例に見るIoT活用の事始め~データサイエンスの観点から~先進事例に見るIoT活用の事始め~データサイエンスの観点から~
先進事例に見るIoT活用の事始め~データサイエンスの観点から~
 
オープニング
オープニングオープニング
オープニング
 
Azure IoT Plug and Play, the overview and practice
Azure IoT Plug and Play, the overview and practiceAzure IoT Plug and Play, the overview and practice
Azure IoT Plug and Play, the overview and practice
 

More from Hiromitsu Jin

More from Hiromitsu Jin (7)

Iot literacy extra_share
Iot literacy extra_shareIot literacy extra_share
Iot literacy extra_share
 
Iotlitercy wg no8
Iotlitercy wg no8Iotlitercy wg no8
Iotlitercy wg no8
 
Iotliteracy wg no6
Iotliteracy wg no6Iotliteracy wg no6
Iotliteracy wg no6
 
Iot literacy wg no.4
Iot literacy wg no.4Iot literacy wg no.4
Iot literacy wg no.4
 
Iotliteracy wg no.3
Iotliteracy wg no.3Iotliteracy wg no.3
Iotliteracy wg no.3
 
Iotliteracy wg no.2
Iotliteracy wg no.2Iotliteracy wg no.2
Iotliteracy wg no.2
 
Iotliteracy wg no.1
Iotliteracy wg no.1Iotliteracy wg no.1
Iotliteracy wg no.1
 

Iotlitercy wg no7

  • 1. © 2020 Hiromitsu Jin All Right Reserved. IoTプロ・コミュニティ福岡 リーダー 陣 宏充
  • 2. © 2020 Hiromitsu Jin All Right Reserved. 1 Contents 1. 自己紹介 2. 主催団体 FITCO & IoTプロ・コミュニティの紹介 3. IoT検定の概要 4. セミナー 「セキュリティ」の説明 5. アンケートのお願い 6. 最後に
  • 3. © 2020 Hiromitsu Jin All Right Reserved. 2 1. 自己紹介
  • 4. © 2020 Hiromitsu Jin All Right Reserved. 3 2. 主催団体 FITCO & IoTプロ・コミュニティの紹介
  • 5. © 2020 Hiromitsu Jin All Right Reserved. 4 3. IoT試験の概要
  • 6. © 2020 Hiromitsu Jin All Right Reserved. 5 4. ミニセミナー IoTの教科書 第6章 「プラットフォーム」
  • 7. © 2020 Hiromitsu Jin All Right Reserved. 6 4-1. クラウドとは
  • 8. © 2020 Hiromitsu Jin All Right Reserved. 7 4-1-1.クラウドとは <クラウドとは> クラウドは、ユーザーがインターネットなどのネットワークを経由して利用する コンピューターシステムで、クラウドコンピューティングやクラウドサービスと 呼ばれることもあります。企業システムは、オンプレミス(自社内にコンピュー ターやネットワークの機器を用意し、企業自らで構築、運用する形態)が主流で したが、2010年前後からクラウドが普及してきました。ユーザーは、インター ネットなどのネットワークに接続する環境を用意するだけでよく、目的に合った サービスを提供するクラウドベンダーとの間で契約して使用します。ユーザーに とっては、クラウドベンダー側の設備がどのように構成されているかなどは意識 する必要がないことから、あたかも雲(クラウド)の向こう側に隠れたシステム を利用することからクラウドと呼ばれています。IoTにおいても、センサー等で収 集したデータを蓄積、分析するなどの用途でクラウドがよく利用されます。
  • 9. © 2020 Hiromitsu Jin All Right Reserved. 8 4-1-2.フォグ、エッジコンピューティングとは <フォグコンピューティング、エッジコンピューティング> クラウドコンピューティングは、インターネット上のコンピュータ資源を利用す るシステム形態ですが、IoTの普及もあり、接続するデバイス(端末)数も増大し ています。また、それらのデバイスからのデータがクラウドに送信されることで、 ネットワーク内のトラフィック量(送受信されるデータ量)が増え、クラウド上 のコンピュータ資源への負荷が増大しています。これにより、デバイスから送信 したデータをクラウドで処理し、その結果を再び返してくるまでの時間が長くな り、遅延が発生する可能性が高まっています。特に、自動運転などリアルタイム 性が必要とされるシステムにおいては、このような遅延はシステムの要件を満た すことができなくなる要因となります。そこで、これらの課題を解決するために、 フォグコンピューティングやエッジコンピューティングが注目されています。
  • 10. © 2020 Hiromitsu Jin All Right Reserved. 9 4-1-2.フォグ、エッジコンピューティングとは ç
  • 11. © 2020 Hiromitsu Jin All Right Reserved. 10 4-1-2.フォグ、エッジコンピューティングとは ■フォグコンピューティング インターネット上のコンピューター資源で実行していた処理を、IoTデバイスと同 じネットワーク(LAN)内で処理することで、遅延を解消し、リアルタイム性を 確保するシステム形態をフォグコンピューティングと呼びます。IoTデバイスと同 じネットワーク内のIoTゲートウェイやフォグノードと呼ばれるコンピューター資 源で、データを蓄積、処理し、結果を必要とするIoTデバイスに送信します。フォ グコンピューティングは、クラウド上で処理していたものをすべて実行するわけ ではなく、その一部をフォグノード側で実行することで、インターネットを介し たクラウドへのトラフィック量は削減でき、クラウド側の負荷軽減にもつながり ます。クラウド(雲)よりも、デバイスに近い箇所で動作することから、フォグ (霧)という名称が利用されています。 ■エッジコンピューティング フォグコンピューティングでは、IoTデバイスと同じネットワーク内のIoTゲート ウェイやフォグノードがデータ処理を実行していたのに対し、IoTデバイス自体で データ処理を実行するシステム形態をエッジコンピューティングと呼びます。各 IoTデバイスがそれぞれ独立して処理を実行することで、フォグコンピューティン グ同様、クラウド側に送受信するデータ量を削減し、クラウドの負荷軽減につな がります。また、よりリアルタイム性を発揮することができるようになります。
  • 12. © 2020 Hiromitsu Jin All Right Reserved. 11 4-2. クラウド技術
  • 13. © 2020 Hiromitsu Jin All Right Reserved. 12 4-2-1.仮想化技術 <仮想化技術> クラウドベンダーは、多くのユーザーに対し、安定したサービスを提供するため には、コンピューター資源も潤沢に用意する必要があります。しかし、IaaSでコ ンピューターをユーザーに提供する際に、1人のユーザーに1台の物理的なコン ピューターを割り当てていくと、膨大な台数のを必要とし、設置する場所や電源 の確保が難しくなります。また、コンピューターに格納しているデータが運用と ともに増加し、コンピューターに接続されているディスクストレージに収まらな くなった場合、その都度より大容量のディスクに交換し、データを移行すること は効率的ではありません。コンピューターやストレージ装置など物理的なリソー ス(資源)を、一つに集約したり、複数に分割して、ユーザーが必要とするリ ソース分(論理的リソース)だけにまとめて利用する仕組みを仮想化と呼びます。 対象となる物理的なリソースがコンピューターそのものの場合はサーバー仮想化、 ディスク装置などストレージが対象となる場合はストレージ仮想化、ネットワー ク装置が対象となる場合はネットワーク仮想化と呼びます。
  • 14. © 2020 Hiromitsu Jin All Right Reserved. 13 4-2-1.仮想化技術 たとえば、サーバー仮想化 であれば、運用中にサー バーの負荷が高くなり、性 能が悪化したときに、CPU やメモリを追加するといっ たことが、物理的にCPUや メモリとコンピューターに 追加するのではなく、設定 で割り当ての変更が容易に 行えるため、柔軟な対応が 可能となります。
  • 15. © 2020 Hiromitsu Jin All Right Reserved. 4-2-2.クラウドサービスの分類 <クラウドサービスの分類> クラウドは、クラウドベンダーが提供するサービス範囲に応じて、いくつかに分 類することができます。代表的なものは以下のとおりです。 ・SaaS(Software as a Service:読み方「サース」) クラウドベンダー側で、システムに必要なすべての要素(ハードウェア、OS、ミドルウェア[*1]、アプリケーショ ン)を提供するサービス形態です。ユーザーは、提供されたアプリケーションをエンドユーザーとして利用します。 Google社のG Suite、Salesforce.com社のSales Cloud、Microsoft社のOffice 365などが代表例です。 ・PaaS(Platform as a Service:読み方「パース」) クラウドベンダー側で、アプリケーションを動作させるための環境(ハードウェア、OS、ミドルウェア[*1])を提供 するサービス形態です。ユーザーは、目的に合ったアプリケーションを開発し、クラウド上で実行して利用します。 Google社のGoogle App Engine、Salesforce.com社のSalesforce Platform、Microsoft社のMicrosoft Azureが代表例 です。 ・IaaS(Infrastructure as a Service:読み方「イアース」) クラウドベンダー側で、バードウェアやOSを搭載したコンピュータを提供するサービス形態です。ユーザーは、目的に 合ったソフトウェアを自由にインストールしてWebサーバーとして利用したり、データを蓄積するストレージとして利 用します。Google社のGoogle Compute Engine、Amazon.com社のAmazon EC2やAmazon S3が代表例です。 [*1]ミドルウェア : OS上にインストールして使用するソフトウェアで、アプリケーションの汎用的な仕組みをミドル ウェアとして切り離すことで、開発するアプリケーションの規模を減らすことができます。DBMS(データベース管理シス テム)やWebサーバーなどがミドルウェアにあたります。
  • 16. © 2020 Hiromitsu Jin All Right Reserved. 15 4-3. 各社のクラウドサービス
  • 17. © 2020 Hiromitsu Jin All Right Reserved. 16 4-3-1.主要なクラウドサービス <主要なクラウドサービス> ・Amazon Web Services(AWS) アマゾンウェブサービス(AWS)は、2019年時点で世界の22の地域(リージョン) にデータセンターを用意して、165以上のフル機能をサービスとして運用してい ます。機械学習、IoT、人口知能などの分野で、新しいサービスが数多くリリース されています。 AWSで提供されている主なサービスとして、クラウド内の仮想サーバーを提供す る「Amazon Elastic Compute Cloud (EC2)」、クラウド内のストレージを提供 する「Amazon Simple Storage Service(S3)」があります。 また、IoTに関連するサービスとして、「AWS IoT サービス」を提供しています。 エッジデバイス向けの「デバイスソフトウェア」、デバイスとクラウドを安全に 接続してデータのやり取りを行う「コントロールサービス」、IoTデータを分析・ 解析して状況に応じた処理を行う「データサービス」から構成されています。 ・Google Cloud Platform(GCP) Google Cloud Platform(GCP)は、2019年時点で世界の20の地域(リージョン)に データセンターを用意して、160を超えるサービスを運用しています。 GCPで提供されている主なサービスとして、高性能な仮想マシンを提供する 「Google Compute Engine」、クラウド内でオブジェクトストレージを提供する 「Google Cloud Storage」、アプリケーションのプラットフォーム(実行環境) としてPaaSの代表例である「Google App Engine」があります。
  • 18. © 2020 Hiromitsu Jin All Right Reserved. 17 4-3-1.主要なクラウドサービス また、IoTに関するサービスとしては、IoTデバイスを安全に接続し、データの取 り込みまでを管理する「Google Cloud IoT Core」、エッジデバイスでAIを実行 する集積回路(ASIC)を提供する「Edge TPU」から構成されています。 ・Microsoft Azure Microsoft Azureは、2019年時点で世界の54の地域(リージョン)にデータセン ターを用意して、230を超えるサービスを運用しています。 Microsoft Azureで提供されている主なサービスとして、仮想マシンを提供する 「Virtual Machines」、クラウド内でストレージを提供する「Storage」、画像や 音声などをAIを活用して認知する「Cognitive Services」があります。 また、IoTに関するサービスとしては、エッジデバイスのOSを提供する 「Windows 10 IoT Core Services」、大量なIoTデバイスとクラウドとの双方向 通信を管理する「Azure IoT Hub」などで構成されています。
  • 19. © 2020 Hiromitsu Jin All Right Reserved. 18 4-3-1.主要なクラウドサービス 図(未完成)
  • 20. © 2020 Hiromitsu Jin All Right Reserved. 19 4-4. 分散処理とは
  • 21. © 2020 Hiromitsu Jin All Right Reserved. 20 4-4-1.分散処理とは <分散処理とは> クラウドでは、大量なデータがビッグデータとして蓄積され、IoT活用によりさらに そのデータ量が増大する一方です。コンピュータでは、データの格納はストレージ装 置(ディスクなど)に対して行うことになりますが、このディスクの読み書きが非常 に遅いため、全体の処理時間が遅くなり、性能劣化につながります。クラウド上では、 大量のデータを扱うため、処理時間が非常にかかってしまうと使い物になりません。 従来どおり、1台のコンピュータでそれぞれが管理するディスクにデータを読み書き する処理方式には限界があります。そこで、大量なデータを複数に分割し、複数台の コンピュータで同時並行に処理することで、全体の処理時間を減らそうとする分散処 理がクラウドでは用いられるようになりました。特に、Googleが独自に考案した MapReduceは、分散処理フレームワークとして有名です。 <Apache Hadoopとは> Googleは、分散処理フレームワークのMapReduceに加え、分散処理ファイルシステ ムのGFS(Google File System)、分散データべースのBig tableを取り入れた分散処 理基盤Hadoopを作り出しました。その後、オープンソース化され、Apache Hadoopとして提供され、一気に分散処理が世の中に浸透していきました。Apache Hadoopは、以下の3つの構成要素を中心に構成されています。 ・分散処理フレームワーク : Hadoop MapReduce このフレームワークに従い、MapperとReducerというプログラムを作成することで、 並列分散処理を実現します。
  • 22. © 2020 Hiromitsu Jin All Right Reserved. 21 4-4-1.分散処理とは 図(未完成)
  • 23. © 2020 Hiromitsu Jin All Right Reserved. 22 4-4-1.分散処理とは ・分散処理ファイルシステム : HDFS(Hadoop Distributed File System) ファイルの読み書きを高速化するために、複数台のストレージにデータを分散して格 納し、並列して読み書きができるように管理した仕組みです。 ・列指向分散データベース : HBase HDFS上に構築した分散データベースで、書き込み性能を劣化させない特徴を持って います。 <分散処理フレームワーク Hadoop MapReduce> 分散処理フレームワークのHadoop MapReduceでは、Map、Shuffle、Reduceの3 つのフェーズで処理が実行されます。Map処理では、処理するデータをKeyとValue のペアを抽出していきます。Shuffle処理では、Keyが同じもの同士を集めるなどし て、データの入れ替えを行います。そして、Reduce処理では、目的に応じた計算や 処理を実行し、最終的に1つの結果として取りまとめられます。このフレームワーク を利用すれば、Map処理をMapper、Reduce処理をReducerというプログラムを作 成するだけで、簡単に分散処理を実現することが可能です。
  • 24. © 2020 Hiromitsu Jin All Right Reserved. 23 4-5. 分散処理とストリーム処理
  • 25. © 2020 Hiromitsu Jin All Right Reserved. 24 4-5-1.分散処理技術とストリーム処理 <Apache Sparkとは> Apache Sparkは、カリフォルニア大学バークレー校で開発された後、2014年に Apache Software Foundationへ寄贈されたオープンソースの分散処理フレームワー クです。 前述のApache Hadoopでは、ストレージから繰り返しデータを読み書きする必要があ り、処理効率に課題がありました。Sparkでは、ストレージから呼び出されたデータ は、メモリ上で処理、保持されます。一連の処理が終了した後、ストレージに書き込 むことで、処理性能を向上させています。つまり、Hadoopが持つ特徴である分散処 理ファイルシステムに対し、Sparkは分散共有メモリの仕組みが用意されています。 これは、RDD(Resilient Distributed Datasets)と呼ばれ、データをいくつかの塊に分 割(パーティション化)し、それらが複数台のコンピュータのメモリ上に配置されま す。 SparkはHadoopを完全に置き換えて利用するのではなく、共存することが可能であり、 それぞれのメリットを活かすことで、安価で、高速で、耐障害性にも優れたシステム を構築できます。Hadoopが持つ分散処理フレームワークのMapReduce部分を、 Sparkのフレームワークを利用してアプリケーションを開発して、分散並列処理を実 現させることができます。なお、HadoopはJava言語で開発されているのに対し、 SparkはScala言語で開発されています。
  • 26. © 2020 Hiromitsu Jin All Right Reserved. 25 4-5-2.ストリーム処理とは <ストリーム処理とは> ストリーム処理とは、大量発生するデータを逐次リアルタイムに処理することです。 継続的に処理され、低遅延である特徴を持っています。Twitterでのつぶやきのように、 連続的に発生する大規模データ分析を高速に実施したり、異常値や不正値の検出や、 クラウド課金などに用いられています。 一方、データストアに格納されたデータを一括処理するHadoop MapReduceや Apache Sparkはバッチ処理として定期的に実行されます。 ストリーム処理は、世の中にいくつかの実装が存在しますが、その中の1つにApache Stormがあります。Stormでは、データの生成元となるノードとしてSpout(スパウ ト)があり、ここからデータを受けとり、随時処理を実行するBolt(ボルト)があり ます。Boltで処理されたアウトプットデータは、また後続のBoltへと引き渡されてい きます。Apache Stormでは、このSpoutとBoltの箇所を、Java言語などでアプリ ケーション開発して使用します。
  • 27. © 2020 Hiromitsu Jin All Right Reserved. 26 4-5-3.分散処理技術とストリーム処理
  • 28. © 2020 Hiromitsu Jin All Right Reserved. 27 4-6. データ処理
  • 29. © 2020 Hiromitsu Jin All Right Reserved. 28 4-6-1.データ処理 <データフォーマット> IoTでは、センサで収集されたデータは、クラウドなどに送られ、分析、格納されます。 IoTに限らず、システムでデータを扱う際には、あらかじめデータのフォーマットを定 めておく必要があります。システム相互で異なるデータフォーマットと認識している と、正しくデータを伝えることができません。実際にシステムで利用されるフォー マットは、以下の3つが代表的であり、それぞれに特徴があります。 ・CSV(Comma Separated Values) ・XML(Extensible Markup Language) ・JSON(JavaScript Object Notation) <CSVとは> CSV形式は、カンマ形式とも呼ばれ、古くから利用されているデータフォーマットの 一つです。 各データをカンマで区切って表現し、1行が1件分のデータを表します。シンプルな データ構造であり、データサイズも少なく済むケースが多いです。 カンマで区切った各項目の順番がとても重要で、あらかじめ1つ目の項目は測定日時, 2つ目の項目は測定場所などどのような順序で各データ項目が並んでいるかを決定して おく必要があります。そのため、送信側と受信側で、このデータ項目の並び順が合っ ていないと、正しくデータを渡すことができません。
  • 30. © 2020 Hiromitsu Jin All Right Reserved. 29 4-6-1.データ処理 運用後にデータ項目を途中に追加したり、項目順を入れ替えると、お互いのデータ送 受信のプログラムを修正する必要がでてきます。 また、途中のデータ項目が存在しない場合でも、必ずカンマを記述して該当の位置ま で認識させる必要があるため、IoTのようにたくさんの種類のセンサーから、様々な データを収集する場合は非効率なデータとなります。 図(未完成)
  • 31. © 2020 Hiromitsu Jin All Right Reserved. 30 4-6-1.データ処理 あらかじめ、データ項目を決定できる定型的なデータで、全体のデータ項目数があま り多くない場合には向きますが、データ項目の変更が多かったり、扱うデータの種類 が多い場面では向きません。 <XMLとは> XML形式は、共通の基本構文を用い、言語拡張を容易にしたマークアップ言語です。 < >記号で囲まれたタグと呼ばれる情報を表記することで、データに何らかの意味を 付加して利用します。これにより、CSV形式の課題であった、データ項目の並び順に 関しては、タグにつける項目名を送受信する双方で決めておけば特に意識する必要が なくなります。たくさんのデータの種類の中から、ごく一部のデータだけ含める場合 であっても、CSVのように無駄にカンマで位置合わせする必要はありません。 ただし、すべてのデータ項目の前後をタグで囲む必要があり、CSV形式のようにカン マで区切る方式と比べると多少なりともデータサイズが大きくなってしまいます。
  • 32. © 2020 Hiromitsu Jin All Right Reserved. 31 4-6-1.データ処理 <JSONとは> JSON形式は、Webで利用されるスクリプト言語であるJavaScriptのオブジェクト表 記をベースとし、システム間やプログラム間でデータの受け渡しを行うための軽量な データ記述言語です。実際のデータとキーと呼ばれる項目をセットにして表記します。 このキーがXML形式のタグと同様の働きをしますので、データの表記順は特に意識す る必要はなく、位置合わせのための無駄なカンマも必要ありません。また、XML形式 ではデータの終了部分にタグで項目名をもう一度表記しますが、JSON形式ではカンマ を用いてデータの区切りを表しています。そのため、XML形式に比べてデータサイズ を少なくすることができ、より軽量なデータ表記方法となります。
  • 33. © 2020 Hiromitsu Jin All Right Reserved. 32 4-7. データ処理技術
  • 34. © 2020 Hiromitsu Jin All Right Reserved. 33 4-7-1.データ処理技術 IoTでは、センサで収集したデータをクラウド上に送受信し、データ処理する機能を利 用してシステムを構成しますが、このときに、あらかじめ取り決めた方法で依頼した り、取り決めた項目のデータを渡す必要があります。このように、提供する機能に対 する利用の仕方を仕様として取りまとめているものをAPI(Application Programming Interface)とよび、特にインターネットを介してWebの仕組みとして 公開されているものをWeb APIと呼びます。Web APIでは、インターネットで利用さ れているHTTPの仕組みにしたがって、HTTPリクエストとして処理を依頼を行うと、 HTTPレスポンスとして処理結果を受け取ることができます。このWeb APIの代表的 なものとして以下の3種類を紹介します。 <SOAP(Simple Object Access Protocol)> SOAPはXML形式で表現されたSOAPメッセージを用いて情報交換する仕組みです。異 なるプラットフォーム上で動作するように構築されたシステム間を連携させ、それぞ れのソフトウェアが相互運用できることを目的としたWebサービスに欠かすことがで きない仕組みです。どのようなWebサービスがどこにあり、どのようにアクセスすれ ばいいかなどをWSDL(Web Services Description Language)という記述言語で記し、 UDDI(Universal Description, Discovery and Integration)と呼ばれるWebサービス の検索システムに登録して公開します。このUDDIを検索することで、目的のWeb サービスを探し出し、システム連携させることができたが、現在はこの形式はほとん ど利用されていません。
  • 35. © 2020 Hiromitsu Jin All Right Reserved. 34 4-7-1.データ処理技術 <REST(REpresentational StateTransfer)> RESTは元々、システムの設計原則を集めたもので、「アドレス指定可能なURIが公開 されている」、「統一されたインタフェースを持つ」、「ステートレス」、「別のリ ソースとの関連を表すリンクを持つ」といった4つの設計原則が提言されていました。 特に、リソースという情報に着目し、すべてのリソースはURIと呼ばれる識別子(固 有なアドレス)で表現することができます。そのリソースに対して、どのような操作 を実施するかは、原則HTTPが持つメソッド(GET、POSTなど)に統一することで、既 存の仕組みで連携できるようにしています。 AWS、Google、Azureなどクラウドベンダーが提供するクラウドサービスでは、 REST APIが提供されており、プログラムからこれらのクラウドベンダーの機能を呼び 出して利用することができます。また、TwitterもREST APIを提供しており、プログ ラムからツイートデータにアクセスし、データの読み書きを行うことができ、現在の インターネット上の各サイトで広く利用されています。 <RPC(Remote Procedure Call)> RPCは、あるコンピュータで実行されているプログラムから、ネットワーク経由で接 続された他のコンピュータ上のプログラムを遠隔から呼び出し、実行する仕組みです。 古くから存在する仕組みですが、最近では、インターネットで利用されるHTTPなどの 通信の仕組みを利用し、データを送受信することで連携させています。送受信する データ形式の違いにより、XML-RPCやJSON-RPCなどが存在する。
  • 36. © 2020 Hiromitsu Jin All Right Reserved. 35 4-7-1.データ処理技術 図(未完成)
  • 37. © 2020 Hiromitsu Jin All Right Reserved. 36 4-8. データ処理プラットフォーム
  • 38. © 2020 Hiromitsu Jin All Right Reserved. 37 4-8-1.データ処理プラットフォーム IoTシステムを構築するにあたり、センサから情報を収集したり、収集したデータをク ラウドに送受信したり、溜まったデータを分析する機能が必要となります。これらは、 コンピュータ上であらかじめそれぞれの機能に対応したプログラムを作成し、実行す ることで実現します。これらのデータ処理を行うためのプログラムは様々な方法で開 発することができます。ここでは、主な開発プログラムの例として以下の3つを紹介し ます。 <Python> Pythonは1991年に登場したプログラム言語で、スクリプト言語の特徴を持ち、ソー スコードを事前にコンパイルすることなく実行できるインタープリタ型の開発言語で す。現在よく利用されているJavaやC#といったプログラム言語で用いられているオブ ジェクト指向に加え、古くから利用されているC言語やCOBOLといった手続き型にも 対応しているため、幅広い開発者がスムーズに対応できるプログラム言語です。ソー スコードの可読性を高めるような文法となっており、プログラムが作りやすく、読み やすいというのが特徴でもあります。 また、Pythonにはプログラムを開発する際に便利なライブラリ(プログラム集)が豊 富にあり、インターネットを介して、これらのライブラリが共有されています。特に、 NumPyやSciPyなど数値計算に関するライブラリなどが充実しているため、データサ イエンスや機械学習、AIなど、現在注目の分野に活用できるため、ここ数年で一気に 注目を浴びているプログラム言語といえます。
  • 39. © 2020 Hiromitsu Jin All Right Reserved. 38 4-8-1.データ処理プラットフォーム <JavaScript> JavaScriptは1995年に登場したオブジェクト指向型のスクリプト言語で、Webブラウ ザ上で動作することが特徴です。Pythonと同様、スクリプト言語であるため、ソース コードを事前にコンパイルする必要はなく、Webサーバ上にJavaScriptのソースコー ドをファイルとして格納しておくか、HTMLの中にソースコードを記述することで、 Webブラウザ上にダウンロードされた後に実行されます。そのため、Webブラウザを 利用しているユーザに対し、クライアント側でプログラムを実行することで、レスポ ンスを速くしたり、HTMLでは表現できない動きのあるコンテンツを提供することが できます。例えば、Googleなどの検索サイトで、検索キーワードの頭文字を何文字か 入力すると、自動的に候補となる言葉が一覧で表示するキーワードサジェスト機能は、 JavaScriptを用いたAjax(Asynchronous JavaScript + XML)という仕組みでできてい ます。Webアプリケーションが主流となった現在では、クライアント側の動作につい ては、JavaScriptが重要な位置づけとなっています。 <Node.js> Node.jsは2009年に登場したサーバサイドJavaScript環境です。Webアプリケーショ ンが主流となり、クライアント側であるWebブラウザ上で動作するプログラムが JavaScriptで開発するため、サーバ側も同じJavaScriptで開発できれば効率化が図れ ます。Node.jsで開発したプログラムはメモリ消費量が少なく、非同期処理が実行で きることから、リアルタイム処理に向き、同時にたくさんのクライアントが接続する 環境でも対応できるという特徴があります。
  • 40. © 2020 Hiromitsu Jin All Right Reserved. 39 4-8-1.データ処理プラットフォーム 図(未完成)
  • 41. © 2020 Hiromitsu Jin All Right Reserved. 40 END