2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

サービスの設計思想に関する知識

Last updated at Posted at 2021-03-21

本記事について

プログラミング初心者がサービスの設計思想に関する知識を学んだので、その備忘録として載せております。

どうかお手柔らかにお願いいたしますm (- -)(_ _)ペコリ

アーキテクチャ(構造)

webサービスや設計を形作る構造や構成のこと

例) Ruby on railsで言うMVCアーキテクチャ

アーキテクチャスタイル(設計指針)

webサービスの構造や構成を決めるアーキテクチャを決める際の設計指針

お客様ユーザーがより使いやすく、アプリケーションへの負荷を低減できたり、より効率的な開発ができるうような設計方針

RESET(Representational State Transfer)

webのアーキテクチャスタイルのこと

RESETのメリット

書き方が統一化されているので他のRESETのシステムと連携し機能を広げることが可能である

入力が少ない情報配信サービスや検索サービスなどに向いている

RESETのデメリット

構成のルールが決まっているので単体では拡張性に乏しい

RESETはクライアント/サーバーから派生したもので、クライアント/サーバーに構成を加えることでRESETが成立

クライアント/サーバー

サービス提供コンピュータ(サーバ)とそのサービス利用するコンピュータ(クライアント)がネットワークでつながった構成になっているシステムのこと

サーバのコンピュータとクライアントのコンピュータがつながっている仕組みのこと

クライアント側とサーバー側で処理を分ける仕組み

クライアントとサーバー間でリソースをやり取りする時、クライアントからURLにHTTPメソッドを加えた情報でリクエストする

リソース(RESETに関連する言葉)

web上で名前を持ったあらゆる情報のこと

すなわち情報のこと

無数のリソースはURLで場所を特定できる

URLを用いることでリソースの閲覧ができる

URL

リソースがどこにあるのかを指し示すもの

RESETを使うべき理由

簡単でシンプル
すべての情報はリソース(URL)で表現されそれを4つのHTTPメソッド(GET,POST,PUT,DELETE)のみで使用するので非常にシンプルな設計になる

システムが単純なのでサーバー側の負荷が少ない

ステートレスなのでサーバーはクライアントの情報を保存しない

クライアントからの全ての情報をはじめから送信するので、複数のリクエストが集中しても別々のサーバーで処理できるなど、サーバーの負担を減らしやすくなる

RESTful

RESETの考え方や原則に従って実装されていること

RESETの構成やルールを守ることでよりシンプルで連携のしやすいWebサービスの実装が可能

ステートレスサーバー(ステートで状態 ステートレスで状態がない)
クライアントの状態を保持しないサーバー

サーバー側で状態を管理しないため、クライアントはリクエストごとに全ての情報を送信する

メリットはサーバー側の実装が簡単になること

サーバー資源をすぐに解放できるという利点があり、利用者に機能性能において恩恵を与えれるし負荷の低減も行える。

キャッシュ

一度得たリソースをクライアント側で保存し、そのリソースを使い回す仕組み

よく使うデータを取り出しやすいところに予め準備しておく仕組み

メリット
クライアントとサーバー間の通信を減らすことで処理の時間の短縮と効率化につながる

デメリット
古いキャッシュを使うことで情報の信頼度が下がる

統一インターフェース

使用するメソッドを固定すること

インターフェース

2つの物ののくっついている部分

階層化システム

システムを階層ごとに分けること

クライアントとサーバーの間に階層を分割するものを設け、負担を分散する

統一インターフェースにより受けられる恩恵

コードオンデマンド(JavaScript)

プログラムをクライアント側で実行すること

メリット
クライアントは後から新しい機能を追加していける

デメリット
クライアント側での実行が増えるので、サーバーとやり取りされるリソースの内容が明確ではなくなる

RESETに従って実行すると全体としてより良いwebサービスとなる。

RESETだけではないし、6つのうち選択的に除外しても問題ない

SOAP(Simple Object Access Protocol)

通信する上でのルールでリクエスト及びレスポンスともにコンピューターが読み取りやすいように形成されたデータでやり取りを行う

複雑な処理を必要としたりセキュリティの設定を必要とするようなサービスに向いている

高機能で拡張性がある

RESETとSOAPの簡単な違い

RESETはシンプルで簡単、SOAPは高機能で複雑

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?