2004年07月05日

【システム開発日記】Excel と Java Webサービスの連携を考える2

とりあえず,以前作成した‘Hello, World!’的なサンプル WebサービスをExcelで実行することにした。

以下のような手順。

1.Excelを立ち上げ,Visual Basic Editorの画面を表示
2.[ツール]−[Web Service References]をクリックして‘Web Service References Tool 2.0’ダイアログを表示
3.‘WebサービスURL’に,WSDL参照用URLを入力し検索
4.すると,Apache Axis 上の Webサービスが発見された。
5.Webサービスを選択して,[追加]ボタンクリック
6.すると,クラスモジュールにWebサービスと連携するクラスが追加された。
7.標準モジュール関数を作成し,6.で自動生成されたクラスを使って簡単なロジックを作成
8.セルに,関数を挿入して実行したら,正常に実行された。

次は,複雑なデータ型の連携実験かな。


posted by yashawks at 18:59| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年07月02日

【システム開発日記】Excel と Java Webサービスの連携を考える

新システム開発プロジェクトにおける,Excel と Java Webサービス連携の導入の可能性を探るため,Office XP ( Excel のみ)を今使ってる PC にインストールすることにした。

ただ,今使ってる PC は,クライアント企業の環境に合わせた設定になっていて,すでに Office 2000 が入ってる。
とりあえず,Office 2000 を残した状態にして Office XP をセットアップ。
次に,Office XP Web Service Toolkit,SOAP Toolkit をセットアップした。

ちなみに,Office XP Web Service Toolkit は開発ツールで,SOAP Toolkit は実行に必要なもののようだ。
そして,Office XP Web Service Toolkit は Office XP 専用だが,SOAP Toolkit は Office 2000 でもいいらしい。
なので,クライアント企業の利用ユーザ数分の Office バージョンアップは避けられて一安心。

来週あたり,サンプル VBA を作ってみよう。
posted by yashawks at 18:31| 東京 ☀| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年07月01日

【システム開発日記】.NETとJava WebサービスとExcelの連携を考える

現在,既存システムを新しくするプロジェクトがあるのだが,
既存システムがExcelとの連携をバリバリやっており,新システムでもExcelとの連携を考えねばならない。
ただ,当然クライアントの環境に依存する部分なのでなるべく避けたいんだけどね。

以下の方法が考えられる。
1.Office XP Web Services Toolkitを使って連携
2..NETとExcelの連携

1.の場合はアプリケーションがExcel VBAベースになる。しかし,クライアント企業はExcel2000を使ってるのが現状。
また,VBAベースにはあまりしたくないな。

2.の場合のアプリケーションは.NET Windowsフォームベース。ExcelともWebサービスとも連携できる。
ただ,実行ファイル+DLLファイルを配布する必要がある。DLLファイルとは別れたいんだけどね。
また,ノータッチデプロイメント実行すると,DLLファイル内のライブラリを認識できないようだ。
実行ファイルとDLLファイルをLinux上のApache Webサーバの同じ場所に保存しただけじゃだめなのかな?

あとは,Apache Jakarta POIでJavaでExcel作るか?
posted by yashawks at 18:27| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月30日

【システム開発日記】ソフトウェア検証2

今日も昨日に続き,常駐先のクライアントから依頼された,ソフトウェア製品の検証。
昨日,サンプル画面JSPをTomcatに配布してプレビューしようとしたらエラーが発生した原因を探った。
Tomcatが生成した,JSPのJavaコードでimportされているパッケージをチェック。
そして,製品のjarファイルにそのパッケージがあるかどうか見たら,無いではないか。

で,製品のCD-Rをもう一度チェック。
すると,別の場所に同じ名前のjarファイルが見つかった。
どうやら,このjarが修正したものらしく,それをWEB-INF\libに上書きコピーして実行したらうまくいった。

あきらかにインストールドキュメントが不親切。
そもそも,配布するCD-Rに同名のjarファイルがあって,バージョンが違うこと自体がおかしい。
サービス精神がないね。

私が思うに,常駐先のクライアントが求めてるものとは違う雰囲気。
ちょっと,推薦できないかな。
posted by yashawks at 17:46| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月29日

【システム開発日記】ソフトウェア検証

今日は,常駐先のクライアントから依頼された,あるソフトウェア会社の製品の検証。
個人的に営業担当の態度が気に入らなかったのだが,どうも営業担当者はエンジニアではないので技術的なことは知らなくても良いと思ってるようにみえる。
また,あまりこちらの話を聴かず,自分の言いたい事だけ言ってる感じ。
なので,モノを検証する前からマイナス評価だったりする。

で,肝心のモノの方だが,インストールドキュメントを見ると,J2SEとTomcat,そして製品のインストールの順番に書いてある。
私のPCには最新のJ2SEとTomcatが入ってるのだが,CD-R(ROMじゃない)には古いバージョンのJ2SEとTomcatが入っており,ドキュメントにも古いバージョン番号が書いてある。
これだけで,最新バージョンでの検証をやってないのはバレバレ。
とりあえず,自分のPCのJ2SEとTomcatを使うことに。

製品のインストールに関しては,インストーラが用意されてるのに,やることが多い。
どうも素人レベルのにおいがする。

で,製品は,JavaScriptがたくさん入ったHTMLを生成するJSPをドラッグ&ドロップで簡単に作れるGUIツール。
つまり,JavaScriptが使える環境でないと,まともに動かない。
当然,クライアントのブラウザのバージョンにも影響されるだろう。
また,クライアント製品とセットでサーバ製品も存在する。
このサーバ製品も購入しないと意味がないようだ。

そして,サンプル画面をプレビューするにはTomcatを起動しなければならないのだが,そこでエラー発生。
今日はここで,あきらめた。
私のこの製品に対する評価は,プラスになることはないかも。
posted by yashawks at 18:29| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月28日

【システム開発日記】.NETとJ2EEのWebサービス連携に関する資料作り2

今日は,.NETとJ2EEのWebサービス連携に関する資料作りの続き。
残りのWebサービス概要,.NETとJ2EE連携といったところをまとめた。
はっきりいって,Webサービスって「やってみなくちゃ理解できない」ものなので,資料だけで理解してもらうのは難しいかも。
ましてや,「XMLって何?」「RPCって何?」っていう人には,あらかじめ勉強しておいてもらった方が良いかな。
posted by yashawks at 17:56| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月25日

【システム開発日記】Oracle Application Server資料作成

今日は,Oracle Application Server(以下OAS)を使ったサーバ構成の資料作成。
やはり,WebSphereのクラスタ対応エディションは金額が高く,予算的に厳しいのでOASを推薦したところ,OASでいく方向になった。
それで,新システムのソフトウェア構成の最終案の提出用の資料を作成した。

そういや,Oracle JDeveloperが近々1980円(1年ライセンス)で手に入るようになるらしいね。
JDeveloperってたしか12万円くらいだったから,約60年エンドユーザに使ってもらわないと元が取れないね。
どういう意図なんだろう?他のベンダはどうする?
posted by yashawks at 18:52| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月24日

【システム開発日記】.NETとJ2EEのWebサービス連携に関する資料作り

今日は,.NETとJ2EEのWebサービス連携に関する資料作り。
新システムに適用してもらうためだ。

とりあえず,以下の3つについてまとめた。
◎Webアプリケーションの課題
Webのユーザインタフェースの使いにくさを言及
◎.NET概要
.NETに関する簡単な概要
◎ノータッチデプロイメント
従来のクライアントアプリケーションの欠点を克服するノータッチデプロイメントの説明

あとは,Webサービス概要,.NETとJ2EE連携といったところかな。
posted by yashawks at 17:51| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月23日

【システム開発日記】新システムのソフト/ハード構成案の再考

今日は,新システムのソフト/ハード構成案を再考。
負荷分散やフェイルオーバー対策を考えると,WebSphereアプリケーションサーバだと金額の高い上位バージョンか,別途ロードバランサを用意することになる。
別途ロードバランサを用意する場合は,セッションを維持するフェイルオーバー対策は自力で作らねばならない。
そこで,WebSphere以外のパッケージ製品でコストパフォーマンスの高いものを考えたら,名前が挙がったのがOracle Application Server 10g Java Edition(以下,OAS Java Edition)。

OAS Java Editionは,JSP/Servlet/EJBコンテナを持ち,Webサービスをサポートし,負荷分散やフェイルオーバー対策機能も備わっている。
金額は,同等の性能を持ったWebSphereのエディションの約1/4。
クラスタ構成になるので,1CPUライセンスは安いに越したことはないからね。
こっちを推薦した方が良いかな?
posted by yashawks at 18:23| 東京 ☀| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月21日

【システム開発日記】新システムの負荷分散&フェイルオーバー対策に関する資料作成

今日は,新システムの負荷分散&フェイルオーバー対策に関する資料作成。
基本的には,ロードバランスサーバを立てる感じになるだろう。
問題は,そのロードバランスを行うソフトウェアをどうするか。
商用にするか,オープンソースにするか・・・
とりあえず明日,Java World Day 2004に参加するので,IBMさんに意見を聞いてみようかな。
posted by yashawks at 22:15| 東京 ☔| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月18日

【システム開発日記】新システムのハードウェア構成

今日は,新システムのハードウェア構成に関する資料を作成した。
ハードウェア構成自体はハードウェアベンダが決めており,そのベンダから送られてきた資料を元に作成。
基本的には,24UラックにAPサーバ,DBサーバをマウントする。
ただ,負荷分散用のサーバがまだ含まれてないので,将来的には構成に変更が発生するかな。
posted by yashawks at 18:00| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月17日

【システム開発日記】新システムの負荷分散&フェ−ルオーバー対策調査

今日は,新システムのソフトウェア構成における,負荷分散&フェ−ルオーバー対策をどうするかを検討。
WebSphereアプリケーションサーバで,負荷分散&フェ−ルオーバー対策機能を持ったエディションは金額が高く,新システム開発の予算では厳しいので,別の方法を考えた。
オープンソースの‘Ultra Monkey’が良さそう。
そうなると,負荷分散用サーバが必要になるな・・・

Ultra Monkey日本語ページ
http://ultramonkey.jp/
posted by yashawks at 18:26| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月16日

【システム開発日記】新システムのソフトウェア構成

今日は,新システムのソフトウェア構成を決定するための会議が午前中に行われた。
OS:Linux
アプリケーションサーバ:WebSphere
DB:Oracle
てな感じでいくことになった。
で,この新システムに,今まで実験していた.NETとJavaベースのWebサービス連携が活かせないか,今検討中。
基本的に,この新システムは旧システムを新しい技術で置き換えようとしているのだが,旧システムには,Visual Basicで作られたインターフェースのものがある。
このVBベースのインターフェースをHTMLに完全に置き換えてしまうと,操作性に違いが出てしまい,クレームの原因になるので,.NETとJava Webサービス連携技術を使って,.NETクライアントでVBの操作性を実現したい。
そのためには,実践的なサンプルを作らねば!
posted by yashawks at 18:24| 東京 ☀| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月15日

【システム開発日記】.NETとApache Axis Webサービスの連携実験その5

昨日から作成を始めたログイン認証サービス‘LoginService’が,試行錯誤の末ようやく完成。
そして,Visual Studio.NETでスタブを作成。
次に,メインのフォームのメニューを,‘ログイン前’と‘ログイン後’の2つ作成し,ログインが成功したら‘ログイン後’メニューに切り替わるようにして,ローカル上で実験。
LoginServiceは,ユーザ管理データベースにアクセスして認証するのだが,そのデータベースに登録されているユーザ,パスワードを入力したところ,ちゃんと認証され,メニューが切り替わった。
次は,データベースへのデータ登録かな。
入力データが入ったクラスを,Axis Webサービスに渡す感じ。
posted by yashawks at 18:11| 東京 ☀| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月14日

【システム開発日記】.NETとApache Axis Webサービスの連携実験その4

単純データ型,配列,JavaBeansによる連携が確認できたので,実践を想定したサンプルを作るべくあれこれ考えた。

以下の要件を満たすものを作成する。

1.クライアントは.NET Windows Formsアプリケーションで,実行形態はノータッチデプロイメント。
2.開発標準の策定も視野に入れる。
3.作成するサービスは,以下の2つ。
◎ログイン認証サービス(シングルサインオンを視野に入れる)
◎データベースアクセス系サービス

とりあえず今日は,LoginServiceを作り始めた。
以前,StrutsベースのWebアプリケーションでもLoginActionという名前のActionクラスを作成したが,そのとき,Strutsに依存しないユーザ認証用ビジネスロジックを作成し,それをLoginActionから呼び出すようにしていたので,そのユーザ認証用ビジネスロジックを流用することにした。

ただ,LoginActionはActionクラスを継承してるのでServlet APIを利用できたが,LoginServiceは特別なクラスを何も継承してないので,Servlet APIを利用できない。
要するにAxisサーブレットが呼び出すJavaクラスは,Strutsのように「Actionを継承していなければならない」というような制約はないのだ。

なので,LoginActionでServlet APIを使ってた部分をどうしようか悩んでしまって,結局LoginServiceは完成しなかった。
ちなみにServlet APIを使ってた部分とは,コンテキストパスを取得する部分。このパスをユーザ認証用ビジネスロジックに渡してたのだ。
posted by yashawks at 18:20| 東京 ☀| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月10日

【システム開発日記】.NETとApache Axis Webサービスの連携実験その3

単純型(文字列型)データによる.NETとApache Axis Webサービスとの連携実験はうまくいったので,次は,より実践的な複合型データによる実験をする。

参考書籍:「図解標準 最新Webサービスマスタリングハンドブック」
http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-0706-4

Webサービス部分については,基本的には上記書籍に従った。

まずは,Eclipseで新規プロジェクトを作成。
次に,3つのプロパティを持ったJavaBeansを作成。
次に,JavaBeansの配列を返すWebサービスを作成。
Antビルドファイルは,最初のサンプルとほぼ同じ内容。

そして,.wsddファイルで,戻り値のデータ型であるJavaBeansのクラス名を指定。
そして,Antでコンパイル,FTP転送,デプロイを実行した。

次に,Visual Studio.NETでスタブを生成してコンパイル。
そして,.NETクライアント実行ファイルをLinux上のApache Webサーバに配布して,ノータッチデプロイメント実行。
すると,Linux上のAxis Webサービスから返されたJavaBeansの内容が,
Windows上のダイアログボックスに表示された。

JavaBeansおよび配列のやり取りができることが分かったので,そろそろ実用的な業務アプリケーションサンプルを考えてみたい。
posted by yashawks at 10:53| 東京 🌁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月08日

【システム開発日記】.NETとApache Axis Webサービスの連携実験その2

ローカル上のサンプルWebサービスをAntでLinuxサーバに配布する件だが,結局,ファイル転送用とデプロイ実行用の2つのビルドファイルを作成。
まず,ファイル転送用ビルドファイルで以下のファイルをLinuxサーバに転送。
1..classファイル
2.デプロイ実行用ビルドファイル
3..wsddファイル
そして,Telnetでサーバにログインし,サーバ上でデプロイ実行用ビルドファイルを指定してAntを実行したら,デプロイ成功。

次に,Visual Studio.NETでスタブを生成してコンパイル,そして実行したら成功した。

さらに,.NETクライアントをLinux上のApache Webサーバに配布して,ノータッチデプロイメント実行して,Linux上のAxis Webサービスとの連携を試したら,これも成功。

次は,複合データ型での連携テストをする予定。
posted by yashawks at 18:27| 東京 ☔| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月07日

【システム開発日記】Apache Axis Webサービスのリモートデプロイ

先日作成した,ローカル上のサンプルWebサービスをAntでLinuxサーバに配布することにした。
まず,一度も使ったことがないFTPオプショナルタスクの使い方を調べ,FTP転送テストを行った。
そして,サーバデプロイ用ビルドファイルを作り始めた。
コンパイル,FTP転送,デプロイターゲットを作成。
で,Eclipse上で実行してみたところ,FTP転送まではうまくいくが,デプロイで失敗。
エラーメッセージは,(401)Unauthorized。
サーバ上のデプロイ用Webサービスにアクセスするには,認証がいるのか?
ローカル上のデプロイ用Webサービスにはすんなりアクセスできたけど,別マシンからのアクセスに対してはセキュリティ制限がかけられてる感じ。
確かに,誰でも制限なしにWebサービスがデプロイできてしまうのは良くないね。
デプロイコマンドのみ実行するビルドファイル作って,それをサーバに送ってサーバ上で実行しようかな。
FTP転送ターゲットで,.classファイルとデプロイ用ビルドファイルと.wsddファイルを送って,サーバ上でデプロイ実行。
ってことは,ビルドファイルは,
1.ローカルテスト用
2.ファイル転送用
3.デプロイ実行用
の3つ必要になるのか。
もっと,うまい方法はないのかな?
posted by yashawks at 18:24| 東京 ☔| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月04日

【システム開発日記】.NETとApache Axis Webサービスの連携実験その1

いよいよ,Visual Studio.NETで作った.NETクライアントと,Apache Axisで作ったWebサービスとの連携実験を始める。

今日はとりあえず,ローカル環境上での連携実験を行った。

◎Axis Webサービス側のロジック
昨日,Eclipseで作ったものを使う。内容は,以下のような簡単なもの。
public class HelloService {
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
要するに,Hello,World!
っていうか,下記参考書籍のまま。

◎.NETクライアントGUIの作成
テキストボックス,ボタン,ラベルそれぞれ1つずつのシンプルなGUIを作成。
テキストボックスに入力した文字列が,上記 Axis Webサービス側の sayHelloメソッドの引数に渡され,sayHelloメソッドから返ってきた文字列をラベルに表示する,という実行イメージ。
っていうかこれも,下記参考書籍のまま。

◎スタブの作成
スタブとは,Webサービスに依存するロジックをラッピングしたクラスのこと。
スタブクラスを使うことによって,Webサービスを利用するクライアント側のロジックは,ローカルのクラスを呼び出すのと同様のロジックでWebサービスを呼び出せる。
Visual Studio.NETは,Webサービスが提供するWSDLを解析してスタブを生成する。

[Web参照の追加]ダイアログボックスを開き,Axis WebサービスのWSDL参照先URLを指定。
すると,WSDLの解析が始まる。
解析が終ると,Webサービス名と利用可能メソッドが表示される。
そして[参照の追加]ボタンをクリックすると,スタブが生成される。

◎.NETクライアント側のロジックを作成
.NETクライアント側のロジックをC#で作成。
HelloServiceService stubHello = new HelloServiceService();
this.label1.Text = stubHello.sayHello(this.textBox1.Text);
上記の,HelloServiceServiceがスタブクラス。
Webサービスを使ってるとは思えないロジックだ。

そして実行したら,正常に動作した。
ちなみに,動作確認環境は以下の通り。

Windows 2000 Pro
.NET Framework 1.1
J2SE 1.4.2
Tomcat 5.0.25
Axis 1.1

次は,AxisをLinuxサーバに配布してやってみよう。

参考書籍:「図解標準 最新Webサービスマスタリングハンドブック」
http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-0706-4
posted by yashawks at 19:30| 東京 ☀| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

2004年06月03日

【システム開発日記】Apache Axis + EclipseによるWebサービス開発の習得

今日は,Eclipseを使って Apache Axis上で動作するWebサービスのサンプルを作り始めた。

参考書籍は以下の通り。
「図解標準 最新Webサービスマスタリングハンドブック」
http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-0706-4

とりあえず,ローカル環境で開発,テストをするための環境を構築した。

◎新規プロジェクト作成
まずは,Webサービス側の新規プロジェクトを作成。
プロジェクト作成ウィザードで外部jarファイルをビルドパスに追加したのだが,
プロジェクト作成ウィザード終了後に外部jarファイルのパスを変更しようとしたら,方法が分からなかった。できないのかな?
結局,一度プロジェクトを削除し,もう一度プロジェクト作成ウィザードで指定し直した。

◎Webサービス側のビジネスロジックの作成
次に,ビジネスロジックの記述。受け取った文字列を含めた文字列を返すだけの簡単なもの。

◎Antビルドファイルの作成
次に,Antのビルドファイルの記述。これが結構面倒。ビルドファイル作成支援機能が付いてはいるが,メンドくささは同じかな。
まあ,ビルドファイルはプロジェクト開始時に1回作ったら,手を加えることはあまりないので良いんだけどね。
ビルドファイルでは,コンパイル,ファイル配布,デプロイ,WSDL生成といったターゲットを作成。

◎WSDDファイルの作成
Axisサーブレットに,作成したWebサービスを実行してもらうには,.classファイルをコピーした後,それを認識させねばならない。
そのための処理が「デプロイ」なのだが,デプロイするには配布したWebサービスの情報を記述したWSDDファイルを作成せねばならない。
このWSDDファイルって自動生成できないのかな?WSDLは自動生成できるのに・・・

◎Antでビルド
デプロイは,Axisサーブレットが立ち上がってないとできないので,まずはTomcatプラグインでTomcatを起動。
そして,build.xmlを右クリックしてAntを実行した。
コンパイル,.classファイルコピー,デプロイ,WSDL生成すべてうまくいった。

明日は,クライアント側だ。
posted by yashawks at 18:27| 東京 ☁| Comment(0) | TrackBack(0) | システム開発日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。