2015年08月17日

Milkcocoaのトップページリニューアルの機会に、SDKについて

Milkcocoaのトップページをリニューアルしました。


弊社のオフィスとして借りているマンションの玄関の明るさを、リアルタイムにグラフにしています。

Milkcocoaは今年5月にIoT向けということでリニューアルしました。現在のMilkcocoaがどのような特徴を持っているかについては以下のスライドも御覧ください。



さて今回はMilkcocoaに関する疑問の一つにお答えしようと思います。

MilkcocoaにはJavaScriptのSDKしかないのか?


お答えいたしますと、MilkcocoaのSDKとしては、現在以下の3つがあります。

  • ブラウザ用のJavaScript
  • NodeJS SDK
  • Java SDK

こちらの使い方はドキュメントに記載されております。

基本的にMilkcocoaの機能は、MQTT上でやりとりしています。よってこれとは別に、既存のMQTTクライアントを使ってMilkcocoaにつなぐことができます。C言語用のサンプルがGithubにございます。


PahoのMQTTクライアントのC言語、Go、JavaではMilkcocoaに接続できることを確認しています。


こちらの内容はエンジニアブログでも紹介する予定です。

では、いつもMilkcocoaをご利用下さりありがとうございます。
posted by Syuhei Hiya at 11:02| Comment(0) | TrackBack(0) | milkcocoa

2015年07月23日

MicroServiceの記事を読んで

MilkcocoaもMicroService的に(あんまりそのつもりは無かった)やっていて、数十リポジトリあるんですが。
実際アプリケーションを担保する部分だけをNodeJSからErlangに変えたときも、他の部分はほとんど変更することはありませんでした。システムが複雑になれば、それぞれの部分に必要な性能や要件が異なってくるので、必然的にこういう設計が必要になってきますね。
この記事の例は、分け方やインターフェースを間違うと大変きついってことですね。Erlangのホットデプロイが難しいって話と似てる気がします。一枚岩にして変更した方が、ある種の安心感はあるんですよね。
http://www.slideshare.net/AkiraMiki/20160722-microservice
自前でサービスを分けるだけでなく、他のいろんなサービスと組み合わせて作ることは当たり前になるでしょうね。
こんな感じに→ RoRとMilkcocoaの連携方法について
http://blog.mlkcca.com/backend/milkcocoa-for-ror/
posted by Syuhei Hiya at 18:00| Comment(0) | TrackBack(0) | 日記

2015年05月08日

サービスリニューアルのお知らせ

お疲れさまです、Technical Rockstarsの部谷です。

昨年8月よりベータ版として運営していたMilkcocoaをリニューアル致します。本日、2015年5月8日、より利用可能になる予定です。

今回、大量のコネクションに耐えること、データベースのスケールアウトを容易にすることを達成するため、全てのソースコードを1から書き直しました。また利用する言語やミドルウェアレベルでの変更を致しました。さらにベータ版提供時のユーザ様のご意見をもとに、管理画面やAPIを見直しました。

そのため今回の新バージョンで作成するアプリケーションは、ベータ版のアプリケーションとの互換性がございません。APIは8割は同じなのですが、変更が御座います。
詳しくはこちらもご覧ください。

リニューアルに伴い、新バージョンで新しくアプリを作成していただく必要がございます。作成手順については、ベータ版とほとんど変わっておりませんので、ログイン後、ダッシュボード画面で作成ください。どうぞお願い致します。

 今回のリニューアルの概要と致しましては、まずIoTの世界への対応がございます。具体的に申しますと。新Milkcocoaは基本的にMQTTプロトコルにて通信するようになります。MQTTの何がいいかと申しますと、もちろん独自の機能のretainやwill等も御座いますが、今回はこれらには対応せず、HTTPに比べて、非常に通信量が少ないというところが重要だと思っています。ご存知のようにモバイル端末に置ける消費電力のボトルネックは通信モジュールでございますから、これによりデバイスの消費電力を大きく減らせる訳です。またMQTTだけでなく、JavaScript SDKにおいてはWebSocketを用いた通信となりますので、もちろんブラウザでもご利用可能です。

 また今回認証部分にJSON Web Tokenという技術を利用しました。JSON Web Tokenといわゆる署名付きJSONです。特定の鍵(Milkcocoaにおいてはシークレットトークンと呼んでいます。)を用いて、JSONが改ざんされていないかをチェックできます。これにより他のサーバでの認証情報をMilkcocoaで利用可能になる訳です。さらにAuth0というサービスは、Identity Infrastructureといい、あらゆるサービスでの認証を実現できる上にJWTに対応しております。これと連携することで、Milkcocoaで開発する場合も、その恩恵を受けることが出来ます。

私もいくつか認証に関してのサンプルコードを作成致しましたので、リンクを貼っておきます。

https://github.com/milk-cocoa/login-chat
https://github.com/milk-cocoa/group-chat
https://github.com/milk-cocoa/document/tree/master/examples
https://github.com/milk-cocoa/nodejs-examples/tree/master/example-with-auth0

一番下のリンクはNode.JSのSDKで認証を行っている例です。今回Node.JSのSDKを正式にサポート致しまして。以下のコマンドでインストール可能ですので。ぜひご利用ください。


npm install milkcocoa


Node.JS SDKを使ってどのようなことができるのかについては、フロント開発でメチャ活躍するMilkcocoaがサーバー側(Node.js)でも活躍してくれた。もご覧ください。のびすけさんいつもありがとうございます。

最後に、2015年5月17日にスクーでMilkcocoaの入門講座がございます。以下のリンクで登録できますので、ぜひご覧ください。よろしくお願い致します。

https://schoo.jp/class/2308

以上になります。今後ともMilkcocoaをよろしくお願い致します。

https://mlkcca.com/

株式会社Technical Rockstars
代表取締役社長 部谷 修平
posted by Syuhei Hiya at 22:46| Comment(0) | TrackBack(0) | スタートアップ
Powered by さくらのブログ