開発プラットフォームとしての kintone

目次

kintone とは

kintoneは、誰でも簡単に作れて、スムーズな情報共有を可能にするクラウドサービスです。
ガートナー社のMagic Quadrantでは、aPaaS(application platform as a service)に分類されています。

他ツールとの違い

kintoneは、チームで仕事をスムーズに進めるために必要な次の3つの機能を備えています。

  • データベース
  • プロセス管理
  • コミュニケーション

チームワークを強化する kintone

先ほどの3つの機能の観点から、チームの仕事で発生しやすい問題と、それらの問題にkintoneがどう効果を発揮するかを紹介します。

データベース

仕事を進める上での最初の課題のひとつに「共通で使うデータをどこに蓄積するか」が挙げられます。
エンドユーザーからすれば重要なのはデータの内容そのもので、データの管理基盤として何を選ぶかといった堅苦しい話は、関係のない(考えたくもない)テーマです。

kintoneではドラッグ&ドロップでただアプリを作るだけで、データ管理でよくある次の悩みを抱えずに済みます。

  • 最新の情報がどれか分からない。
  • どこが更新されたか分からない。
  • 社外からアクセスできず不便
  • あとから検索しづらい。

kintoneが急速に拡大している理由は、それだけではありません。
開発者や管理者にとっても価値のある、次の特徴を持っているからです。

  • Web APIを使って外部からデータを操作できる。
  • 専門チームを設置しセキュリティ保護やインシデント対応を実施している。
    安全性への取り組み (External link)
  • さまざまなWebブラウザーに対応している。

プロセス管理

データベースを準備できたら、チーム内でのデータの共有が始まります。
利用開始した当初は上手に運用できていても、次第に次のような問題に直面します。

  • この案件はいま誰がボールを持っているんだろう。
  • 自分は次に誰へ依頼すればよいんだっけ。
  • 最近、Aさんが担当範囲の部分を入力してくれないなぁ。

実はこのあたりもkintoneの得意分野です。
kintoneアプリでは、ステータスや作業者、アクション、アクションの実行条件などを明示的に定義することで、適切なプロセスで仕事を進めていくことができます。

コミュニケーション

「必要十分なデータを集め、適切なプロセスで業務を進めていく」
文字にするのは簡単です。
一方で、そもそもビジネスプロセスでは、次のようなこと案が往々にして存在します。

  • 必要十分なデータがそろわない条件で判断しなければいけない。
  • 事前に規定されたプロセス外でのやりとりが必要になった。

このような場合の例外的なコミュニケーションは、メールや電話での遣り取りになることも多いでしょう。
得てしてこういうコミュニケーションこそ、やりとりの内容をメモしたりほかの人に共有してほしかったりします。

kintoneではデータに付随したコミュニケーションができるため、こういうケースも柔軟に対応でき、履歴として蓄積可能です。

アーキテクチャーダイアグラム

前述のとおりkintoneはWeb APIを用意しているため、外部システムとも容易に連携できます。
下図は、kintoneのアーキテクチャーダイアグラムの一例です。

kintone REST API

kintone REST APIを使うと、kintoneのデータを外部から操作できます。
サイボウズでは kintone REST API のクライアントツール コマンドラインツールを提供しているため、それらを使って外部サービスとの連携するしくみを実現できます。

また、アダプタやオプション形式でkintoneへの連携機能を用意している、パートナー企業のサービスもあります。
拡張機能 - サービスを探す (External link)

外部の API を実行する JavaScript API

kintone JavaScriptカスタマイズにおいても、外部のAPIを実行するJavaScript APIが用意されています。

これらのAPIはkintoneのJavaScriptカスタマイズから使用可能なHTTPクライアントの1つです。
kintone マッシュアップのための豆知識(curl コマンドと kintone.proxy() の対応)

kintone を試してみたいと思った方へ

cybozu developer networkでは、5ユーザー、1年間無償の開発者ライセンス環境を提供しています。
kintone 開発者ライセンス(開発環境)