T:echnology技術は世界を救う。8とMicroprofile〜」に参加した際のメモ書きです。気が向いたら内容を整理するかも。AsyncInvoker(.async())に加えて、RxInvoker(.rx())が追加された。priceの結果とwheatherの結果を受けて次の処理を行う。EEの方向が違ってくる可能性はある。MicroProfileのメンバーはJCPにも参画しているので、方向性を合わせるような動きがあるのではないか。Calendarの18日目ですJavaに組み込めるミドルウェアを調べてみました。それぞれ解説リンクを掲載していますので、参考にご覧ください。埋め込みEJBコンテナメッセージブローカーActiveMQ6.ActiveMQについてJavaだといろんなミドルウェアがあるのが”当たり前”みたいな感じがして、本格的な入門にもハードルが高いのが現状だと思います。Calendarの17日目です前提バックエンドはJavaで構築することが前提です。今Javaプログラマなので。DBそれぞれのサーバはスケールアウト出来る物とします。そのためにはセッションはDBに格納する必要がありますね。CubeのDBセッションみたいな管理方法をイメージしています。特定のプロダクトに依存しない書き方をしています。プロダクト間の差異を吸収するのはフレームワークの仕事ですしね。基本的にはAPIを通じてアプリケーションを利用することになります。そのため、クライアントがWebブラウザだろうがSwingアプリだろうがSWTアプリだろうが全く気にしません。Webサーバにプログラムと一緒にビューをデプロイするのはあまり好みではないです。Appの影響を大いに受けています。従ってWeb/APそれぞれのサーバに特別なミドルウェアはインストールしない想定です。Webは組み込みTomcatかJettyを使えば良いですし、ActiveMQならアプリケーションに埋め込めるのでメッセージブローカーをインストールする必要はありません。RabbitMQはどうなのかな?まとめ「なんていうか・・・すごく言葉にしづらいんだけど・・・・・・あんまりまとまっていませんね!」タイトルに「2014.12」って付けてしまったので、またそのうちやるかも。世の中に公開されているOSSのJavaライブラリは、大抵MavenやGradle等の構成管理ツールで管理できます。自分で作ったライブラリや会社の都合で公開できないライブラリを使う場合、自分でJarファイルを追加したり、依存関係を管理しなければなりません。Javaは1個のライブラリが大量の依存ライブラリを必要とすることもよくあるので、これは非常に面倒です。OSS”にライブラリを登録する手順の1例を(かなりざっくりと)紹介します。NEXUSのUIからデプロイ※ソースが用意できる場合、pom.xmlを作ればビルド・デプロイをmvnコマンドでやれます。Jarを用意するバイナリのJarを調達します。ソースやJavadocのJarを追加で調達すればEclipseやNetbeansなどのIDEで便利になりますが、今回はとりあえずバイナリだけ登録しますpom.xmlを作る追加したいライブラリのためのpom.xmlを作ります。Central等でホスティングされていれば、その依存関係も記載します。デプロイNEXUSにログインし、repositoriesを開きます。party」というリポジトリが用意されているので、これを選択します。Upload」タブからデプロイできます。POM」を選択するとファイルアップロード用のフィールドが表示されるので、先ほど作ったpom.xmlをここで指定します。Artifact」ボタンを押すと、その下のグリッドに表示されます。Artifact(s)」ボタンをクリックすることで、アップロードが完了します。デプロイした物の利用デプロイした物を利用するには、pom.xmlにNEXUSのリポジトリを設定して参照できるようにします。初期状態のNEXUSには{NEXUSのURL}/content/groups/public/というリポジトリが有り、これを指定すると色々と幸せになれる層ですよ。Fallの参加レポート3本目です。アプリケーションを止めて動く。GCは安定していない。markでマーキングされたオブジェクトからたどれる全オブジェクトをマーキング。jarではない)をMavenリポジトリにデプロイしておけば何かと便利な気がしたのと、ExCellaをMavenで管理できないのはやっぱり不便なので、自前のMavenリポジトリを用意してみました。startで良いんじゃないでしょうかフォアグラウンドで実行するなら、startの部分をconsoleにすれば良かったはず。POIが有名ですが、決まったテンプレートに値を設定して出力するような使い方をする場合に必要なコード量が多いと思います。出力する項目は変えずに値を設定するセルをかえるだけでもプログラムを書き換える必要があり、とても扱いやすいとは言えません。ExCellaは、そんな扱いづらいPOIのラッパーとして利用できるOSSのライブラリです。ExCellaのコンポーネントExCellaは3つのコンポーネントで構成されており、それぞれのJarと、一緒にダウンロードできる依存ライブラリのJarをクラスパスに追加することで利用できます。※現状Mavenで管理することはできませんが、GitHubのリポジトリを見る限りでは今後対応する方針のようです。CoreExCellaのコアとなるコンポーネント。他のコンポーネントから共通で利用される。Transデータ移行の為のコンポーネント。ExcelファイルやCSVファイルからSQLやJavaオブジェクトを生成できる。ReportsExcelの帳票を出力する際に用いるコンポーネント。テンプレートに埋め込まれたタグを置換して、ファイルに出力できる。Reportsを使った帳票出力のサンプルコードです。単純にタグと値を一対一で置換する場合、これだけのコードで出力できます。Reportsは単純な1対1の置換だけでなく、指定範囲の繰り返し置換にも対応しています。詳しくは、公式のドキュメントをご覧ください。最後にExCellaはOSSのプロダクトとしてはコミュニティがあまり活発ではありませんが、帳票文化が根付いている日本ではかなり便利に使えると思います。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。