ラベル Titanium の投稿を表示しています。 すべての投稿を表示
ラベル Titanium の投稿を表示しています。 すべての投稿を表示

2012年11月24日土曜日

S3互換ストレージ用clientを作成してみた その4

前回のiPhoneアプリでは、URLの作成およびレスポンスの取得まで行いました。
今回、取得したレスポンスを整形し、簡単なViwerを作成します。
Titanium Mobileのtable viewテンプレート(Master/Detail Application)を利用しました。

Bucket内のファイルの一覧。

選択したファイルの詳細画面。
ファイル名、最終更新日時、サイズを表示します。


今回は、Bucket内のファイルの一覧および詳細情報を表示するだけの簡単なviwerを作成しました。

S3互換ストレージを操作するポイントは、専用URLの作成(もっというとsignatureの生成)ですが、今回は、S3用のモジュールを利用する事で、signature生成手順を特に意識することなく、実装することができました。

前回作成したアプリの仕組みを利用すると、複数ストレージサービスの切り替え、ファイル管理などもできそうです。
(iPhone上でのファイルのupload/downloadは、やった事ないので調べないといけない。。。)

簡単ですが、今日はここまで。
===
<追記>
2012/11/25 まとめを追記しました。

このエントリーをはてなブックマークに追加

2012年11月23日金曜日

S3互換ストレージ用clientを作成してみた その3

前々回前回に続き、今回はiPhoneアプリ作成に挑戦します。
開発環境はTitanium Mobileを利用します。使用verは2.1.xです。
(ver3.0はかなりエラーでたので、今回はver2.1で作成することにしました)

モジュールとしては、下記を利用しました。

TitaniumMobileを使用するのは久しぶりなので、取り急ぎ下記を実装しました。
  • S3互換ストレージ用URLを作成
  • レスポンスを取得
  • レスポンスをXMLからJSONに変換

実行結果は下記の通りです。
自分のBucket内のファイル一覧を取得しています。















ここまでできれば、fileのget,putも同様の手順で実装可能です。

アプリとしては、UIを作り込む必要がありますが、TitaniumはVer3.0で、alloyというフレームワークが導入されたりと、いろいろと環境変化が激しいようなので、そのあたりを見極めた上で、どのように実装するか考えたいと思っています。
(要は、今はUIの実装までしません)

ソースコード整理できたら、githubで公開したいと思います。

今回はここまで。。。
このエントリーをはてなブックマークに追加

2012年3月31日土曜日

CloudStack API対応iPhoneアプリ作成に挑戦 その2

前回から少し間が空きましたが、やっとアプリらしくなりましたので、githubで公開しました。
https://github.com/snumano/CloudStack-API-iPhone-App

現時点の機能は主に2点。
・CloudStack APIに対応している複数のクラウドサービスに対応
現時点ではTata、Ninefoldの動作確認済。
Datapipeは個人では申込できなさそうなのです。その他は順次確認予定
・コマンドは、VMとVolumeのlist表示に対応
追加/削除ボタンは表示のみで、まだ機能しません。。。

本アプリは、CloudStackの利点である「複数クラウドサービスをシームレスに管理可能」を実感いただくデモ用アプリになればいいなと考えています。

I released iPhone app at github.It helps for a demonstration of CloudStack API.
https://github.com/snumano/CloudStack-API-iPhone-App

Current version has following functions,
*supports multi cloud services which supoprt CloudStack API.
  Tata,Ninefold and more.
*supports a fewcommand
  listvirtualmachines,listvolumes
  It doesn't support deploy and destroy them.

アプリのスクリーンショットをいくつか紹介します。
Followings are some screenshots of the iPhone app.

赤枠のアイコンのアプリを起動させます。
Click the app icon.


起動時の画面です。右下の設定ボタンをクリックし、API Keyの登録を行います。
Home window.At the first,click the setting button.




TataのAPI KEY、SECRET KEYの登録画面です。
各情報は、各サービスのアカウント情報に表示されているので確認してください。
また、API用のURL(BASE URL、API PATH)は事前に設定してあります。

Setting window.Please submit API KEY,SECRET KEY.

URL(BASE URL、API PATH) is pre-configured.



TataのVMのlist表示(listVirtualMachinesの結果)です。1台しか起動していないので、寂しいですが、正常に表示されています。
右上に「+」ボタンが表示されていますが、現時点では追加(deploy)機能は、未対応なのでクリックしても動作しません。同様に当該VMをスワイプすると、「Delete」ボタンが表示されますが、こちらも未対応です。雰囲気だけでもつかんでいただければ。

Please click 'Tata' and 'VM'.You can see the response of listVirtualMachines.
'Add button' and 'Delete button' are not working now,just dsiplayed.



先のVMをクリックして詳細表示したところです。zonenameが「India」と表示され、しみじみします。
VM detail information window.


いかがでしたでしょうか。
iPhoneにアプリをinstallして各国のクラウドをポケットにいれるもよし、開発環境のMac上で各サービスの生responseを確認するもよし、対応コマンドを増やすもよし。いろいろな楽しみ方ができると思います。
プログラム自体きれいに書けていないところがありますので、ご勘弁いただけたらと思います。

まずは「今年の目標」の1つを完了。

-----
2012/4/1
英語対応しました。
このエントリーをはてなブックマークに追加

2012年3月5日月曜日

CloudStack API対応iPhoneアプリ作成に挑戦 その1

最近JavaScriptを勉強の一環でTitanium Mobileを触っています。そしてせっかくなので、何らかのoutputを考えています。
で、CloudStack API対応のiPhoneアプリ作成に挑戦することにしました。

CloudStack API用のPerlライブラリを作成した事がある程度で、それ以外は、ほぼ初心者です。
下記stepでの対応を想定しています。
  1. CloudStack API入門
  2. JavaScript入門
  3. Titanium Mobile入門
  4. iPhoneアプリ作成
    1. JavaScriptでCloudStack APIのURL生成機能を実装
    2. TitaniumのHTTP Client APIにて上記4-1のURLのレスポンスを取得
    3. TitaniumにてGUIの実装 
    4. AppStoreで公開
それでは、すすめていきます。1,2は過去の学習のまとめとなります。
  1. CloudStack API入門
    CloudStack API情報まとめ
    をご参照ください。
    この時のoutputとして、CloudStack API用Perlライブラリを公開しました。
    今回、CloudStack API対応クラウドとしてTata Communicationのクラウドサービスを利用しています。
  2. JavaScript入門
    参考資料はこちらをご参照ください。
  3. Titanium Mobile入門
    Chapter1-5の途中まで読み、Titanium Mobileの使い方、アプリ作成方法の概要を学習しました。必要な機能は主にJavaScriptで実装することになりそうですが、一部機能についてはTitanium Mobileで提供しているものがありました。楽できます。
    <Titanium Mobileで利用した機能>
    • HTTPClient
    • JSON parse
    <JavaScriptで実装>
    • convert Lower case
    • URI encode
    • Base64 encode          #ライブラリを利用
    • HMAC SHA-1 hash     #同上
       
  4.  iPhoneアプリ作成
    現在作成中です。4-1,4-2のURLの作成およびレスポンスの取得までできました。
    現時点の、iOSシミュレータの画面は下記になります。

    Tataのクラウドサービスに対して、listVirtualMachinesのレスポンスです。
    今のところ、jsonで取得したレスポンスをそのまま表示しているだけです。GUIはTitanium Mobileのテンプレートのままですね。
    今後、VM,Volume,NW等主要なコンポーネントのlist系コマンドの実装および、GUIの実装をすすめたいと思います。

今日はここまでです。
GUIの実装ができたらまた紹介したいと思います。
このエントリーをはてなブックマークに追加

2012年2月17日金曜日

Titanium Mobile アプリを実機にinstallの際のハマりポイント

Titanium Mobile勉強中です。
アプリを実機にinstallの際のハマりポイントを備忘録として残しておきます。


  1. tiapp.xmlのApplication ID入力
    iOS Dev Centerの[iOS Provisioning Portal][App IDs]では、App IDは「Bundle Seed ID」と「Bundle Identifier(ドメインを逆にしたもの)」で構成されます。
    しかし、 tiapp.xmlのApplication IDでは 「Bundle Identifier」のみを指定します。(もし、App IDのBundle Identifierの最後の部分をワイルドカード*で指定した場合、アプリ名を付与する必要があります。)

  2. iTunesのversion up
    日頃使わないMACだったので。。。



下記の本で勉強中です。
このエントリーをはてなブックマークに追加