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

2016年4月23日土曜日

[クラウド] BluemixのJavaアプリ開発ではまったところと対処方法

The programming pitfalls in Bluemix

コンソールJavaアプリとして開発した
クエリちゃんの動画投稿数をツイートするサービス
をIBMのクラウドサービス・Bluemixで実行してはまったところと対処方法をまとめてみました。

ソースはソースはGitHubにあります。
https://github.com/mtk-f/TweetNicoMovieForQuerychan


環境

  • Eclipse Mars. 2 でMavenプロジェクトとして開発したコンソールJavaアプリ


Bluemixの環境変数ではまった

このアプリはTwitter4jライブラリーを使ってツイッターに文章を投稿します。
投稿するにはツイッター用のAPI KEYを設定する必要があります。
API KEYは非公開パラメーターなのでソースに載せることができません。

Twitter4jライブラリーはAPI KEYをソースに書く以外に環境変数に設定する方法があり、Bluemixはダッシュボードから環境変数を設定できます。
Twitter4jの環境変数はピリオド(ドット)の文字を含むのですが、Bluemixはピリオドを含む変数名を設定すると実行時にエラーになります。
ピリオドを含む環境変数名はBluemixのbashでexportコマンドが失敗します。

例えば環境変数にこんな設定をすると
blog.fujiu.jp [クラウド] BluemixのJavaアプリ開発ではまったところと対処方法

こんなログが出力されます。
/bin/bash: line 20: export: `twitter4j.oauth.consumerKey=1234': not a valid identifier

対策としてピリオドを含まない環境変数を使うように対応しました。


Bluemixのログではまった

標準出力はBluemixのログに出力されるのですが、標準出力した順番とログに出力される順番は一致しないことがあります。
例えば次のJavaアプリを実行すると


Bluemixのログに次のように出力されました。


ログを読むときは時系列順に読み替える工夫が必要です。



関連ブログ

[クラウド] Bluemix にJavaアプリを実装するまで
[Java] Android StudioやEclipseのお節介な警告を消す方法
[Azure] クエリちゃんの動画投稿数をツイートするサービス をGitHubに公開するまで
C#のAzure用Webジョブ開発ではまったところ

以上、参考になれば幸いです。

2016年4月16日土曜日

[クラウド] Bluemix にJavaアプリを実装するまで

How to push java console applications for Bluemix

IBMのクラウドサービス・Bluemixを使って クエリちゃんの動画をランダムにツイート というアプリケーションを稼働させました。
blog.fujiu.jp [クラウド] Bluemix にJavaアプリを実装するまで

ソースはソースはGitHubに投稿してあります。
https://github.com/mtk-f/TweetNicoMovieForQuerychan

このアプリをBluemixで稼働させるまでの手順をまとめました。

環境

  • Windows 10
  • Eclipse Mars 2、Pleiades日本語化プラグイン


コンソールJavaアプリはjarファイルにエクスポートする必要がある

BluemixはEclipseで作ったJava EEアプリケーションをや配備するEclipse用プラグインが公開されていますが、コンソールJavaアプリはEclipseから配備することができませんでした。

今回作ったアプリケーションは、Main()メソッドから処理を開始するコンソールアプリケーションです。
BluemixにコンソールJavaアプリを配備するにはまずjarファイルにエクスポートします。
Eclipseでjarファイルにエクスポートする方法は次の通りです。

プロジェクトのプロパティーを開いてメイン・クラス項目にMainメソッドを持つクラスを設定します。

プロジェクトのエクスポートから 実行可能JARファイル をクリックしてjarファイルの保存場所とファイル名を指定するとエクスポートできます。


Bluemixにjarファイルを配備するにはcfコマンドを使う

Bluemixにjarファイルを配備するには cf.exe というコマンドラインインターフェイスをダウンロードして操作します。
コマンドプロンプトから文字入力による操作が必要なので難易度が高めです。

ダウンロードはこちら。
https://github.com/cloudfoundry/cli/releases

あらかじめWebのダッシュボードからBluemixのエンドポイントを調べておきます。
自分のエンドポイントはシドニーでした。

ここからコマンドプロンプトでcf.exeを使って操作します。

Bluemixのエンドポイントに接続します。
シドニーの場合の例:
cf api https://api.au-syd.bluemix.net

ログインします。
Bluemixにアカウント登録したメールアドレスが必要です。
例:
cf login -u メールアドレス -o メールアドレス -s dev
このあとパスワードを聞かれるので入力します。

jarファイルをアップロードします。
例:
fc push "アプリケーション名" -p "jarファイル名" -no-route

これでコンソールJavaアプリをBluemixに配備することができました。
配備したアプリケーションの開始や終了はcfコマンドからもWebのダッシュボードからも操作できます。


Bluemixを使ってみた感想

Azureに比べるとBluemixの日本人のユーザーは少ない印象ですが、丁寧に日本語翻訳された資料が公開されているので情報量には困りませんでした。
今回はコンソールアプリを試しましたが、Java EEアプリケーションを Websphere Application Server の仮想環境で運用すると威力を発揮しそうです。

なお、Azureには日本人がデザインした「クラウドガール・クラウディア窓辺」というイメージキャラクターがいてことあるごとにノベリティを配布いしていますが、Bluemixにはそのようなキャラクターはいません。


関連ブログ

[Azure] クエリちゃんの動画投稿数をツイートするサービス をGitHubに公開するまで
C#のAzure用Webジョブ開発ではまったところ
[Java] Android StudioやEclipseのお節介な警告を消す方法

以上、参考になれば幸いです。

2016年3月26日土曜日

[Azure] クエリちゃんの動画投稿数をツイートするサービス をGitHubに公開するまで

Azure app "TweetNicoCount for Querychan" has been published for GitHub

クエリちゃんの動画投稿数をツイートするサービス というアプリのソースをGitHubで公開しました。
https://github.com/mtk-f/TweetNicoCountForQuerychan

nicovideo.jpを「mmd クエリちゃん」でキーワード検索し、該当する動画の数をツイートします。
AzureのWebジョブとして動作することを確認しました。
現在は動作させてません。
 blog.fujiu.jp [Azure] クエリちゃんの動画投稿数をツイートするサービス をGitHubに公開するまで

このアプリケーションをで開発してソースを公開するにあたりVisual StudioやAzureの便利な機能をまとめました。


環境

  • Windows 10
  • Visual Studio 2015 Community

次のNuGetパッケージを使いました。
  • Newtonsoft.Json
    JSONフォーマットのテキストをパースするためのライブラリー
  • CoreTweet
    ツイッターに文章を投稿するためライブラリー


Azureのいいところ・非公開パラメーターはソースに書かずに自動スワップできる

Azureは デプロイ スロットの自動スワップ により、実行時のパラメーターを別の内容に差し替える機能があります。
開発環境とAzure環境で実行時のパラメーターを変えたい場合に便利です。
今回は公開したくないパラメーターを隠すために自動スワップを使ってみました。

このアプリはTwitter Appliication Manager で発行したAPI KEYやトークンを使うのですが、公開したくないのでソース(App.Config)に書いてません。

Azureポータルの アプリ設定 から スロットの設定 に正しいパラメーターを設定すると実行時に正しく動作するように差し替えています。

非公開パラメーターをソースに書かずにGitHubに公開し、自動スワップを使ってAzureで動作させることができました。


Visual StudioのプロジェクトをGitHubに公開する方法

あらかじめGitHubのアカウントを登録しておく必要があります。
Visual StudioのプロジェクトをGitHubに公開するため GitHub Expression for Visual Studioを追加インストールしました。

これをインストールするとチームエクスプローラーからGitHubに発行できるようになります。
接続の管理 からサインインできます。

設定でユーザー名・メールアドレスの設定、変更でコミット、同期でリモートリポジトリーへのプルとプッシュができます。

Team Foundation Server の用語で統一しているようで戸惑いました。


GitHub のリポジトリーをVisual Studioで開く方法

チームエクスプローラーでローカルGitリポジトリ の 複製 でGitHub のリポジトリーを自分のPCにクローンを保存できます。

Gitを使うまでSubversionしか使ったことありませんでしたが操作方法が分かれば違和感なく使えました。
開発者が自分だけならリポジトリーサーバーがなくてもバージョン管理できるGitの方がSubversionより手間がかかりません。


クエリちゃんのMMDモデルを公開中です

クエリちゃんのMMDモデルはOneDriveからダウンロードできます。
クエリちゃんのMMDモデルで動画を作ったらぜひ投稿してください。



関連ブログ

Visual Studio Community 2015 をISOファイルからWindows10にインストールする方法
[Android] Xamarin でアプリを作ってみました
[Windows] Subversionをインストールしたら起動が遅くなった
ツイッターAPIの検索で複数の画像URLが取得できない対策方法
Twitterの「このリンクは安全ではない」「このリクエストを保留しています」の対策 2015年版
Blogger.com (blogspot)のツイッターカードにサムネイルを設定する 2016年版

以上、参考になれば幸いです。