人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

いわゆる「Web API」を備えた情報配信サーバを、仕事で、構築する事を考えていま
す。
(条件)
・企業の社内イントラ利用のみ
・LAMPか、WAMP構成で
・テキストデータと、いろんな種類のファイルデータをAPI経由で叩くとレスポンス
として得られる、という仕組み(検索とダウンロード機能)
・大元のデータのアップロードは、なんでもよい(APIでなくても、手動で直接コ
ピーでも)ので個別に実装
・1部門1台、くらいぽこぽこと複数台独立でお手軽に構築して回りたい
・1人の担当者が順番に構築、できるだけ同じパターンでお手軽に構築したい

ここまで考えて、で質問の本題です。
例えばLAMPであれば、PのPHPが気になります。Perl、Ruby、Pythonとか、他にも手段
ありますよね。今からだとお勧めは何なんでしょう?パフォーマンスよりは、開発効
率重視ですね。自分がこう動いて欲しい、というWebAPIの動きをコツコツ機能アップ
していくというイメージで。
MySQLの操作にPHPは入れておくのは構わない(XAMPPとか考えてますし)んですが、
サービス周りは別言語でもいいかなと・・・
JavaよりはLL言語の方が良いんじゃないかと勝手に思ってます。


●質問者: katow
●カテゴリ:コンピュータ インターネット
✍キーワード:API Java Lamp LL言語 MySQL
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● paraizo
●19ポイント

Ruby on Railsはどうですか?

XMLRPCは標準装備ですし、MySQLだけでなく大抵のDBに対応しています

スケーラビリティがちょっと難点ですが部門サーバとのことなので問題ないと思います

◎質問者からの返答

なるほど。ActiveRubyってあったんですね。

ちょっと探したらXAMPPのようなのもありました。

http://instantrails.rubyforge.org/wiki/wiki.pl?Instant_Rails

この辺は、確かに候補にしたいですねー。

スケーラビリティというのは確かに今回特に問題にならないと思うのですが、問題になるとすれば、パフォーマンスを求められた際に

1)根本的にリソース&CPU食いなので1台のサーバを強化してもあまり早くならない

2)複数サーバで分散型の構築が難しい仕組みになっている

とか、どの辺が不利ですかね?

まあ、LL言語だから、というニュアンスも感じますが…


2 ● hayashi4
●19ポイント

しろうと向けならphp、開発者向けならrubyもいるでしょう。http://www


3 ● kent0608
●18ポイント

言語というより、開発効率向上のためのフレームワークの導入を検討されているのでしょうか?

個人的にですが、PHPならばSymfony、RubyならばRuby on Railsをオススメします。

ただし、Rubyの場合はPHPほど技術者の数が豊富ではなく、教育コストなどがかかってしまうのが難点ですが・・・

しかしながらRuby on Railsは本当によく考えて設計されています。教育に関してもOOPの基本さえ分かっていれば、すんなり吸収できると思います。一度お試しになってはいかがでしょうか?

http://www.ruby-lang.org/ja/

◎質問者からの返答

その昔にPerl5.2なら結構いじってました。

最近はVB.NETでWebAPIを利用するWinクライアントソフトを作ってたりしまして、OOPは便利だなあ(開発環境と相性が良いなあ)と思え始めていたので、そう考えるとRubyは良い選択肢のような気がします。


4 ● KUROX
●18ポイント

Ruby on Railsは、よく効くので、お勧めなのかもしれませんね

----------------------------------------------------

Java使って、市販のアプリケーションサーバーを使って、

ロードバランサーも使い出したら、分散化もそう難しい

ことではないかも。

そこまでやりならDBもOeacleあたりがいいでしょうね。

UNIXはLinuxでも良いと思いますがHP-UXも候補には

あがってくるだろうと思います。


Linux、Apache、MySQL、PHPの組み合わせが

トータルコストが安そうなのでお勧めします。

Linux、Apache、Tomcat、Oracle、Javaとかは

経験ありますが・・。

Windowsサーバーも使うところ増えてきましたよ。

Oracleはほぼ確実。

http://q.hatena.ne.jp/answer

◎質問者からの返答

会社の遊休PCを利用して立ち上げようと考えてまして、Oracleは今回は避けとこうかなーと。

(どんどん低価格ライセンスのパッケージも出て来ているのは噂で聞いてますが)

で、遊休PCだとWindowsサーバにはたしかになりそうです。

若干違う話ですが、VB.NETの開発環境(VB2005Express)のデータベースエクスプローラから便利に使おうとする(私が使い慣れている)と、本当はSQLServerExpressとかが使えるとありがたいんですけどね。LL言語と連携したフレームワークはなさげなので。


5 ● garyo
●18ポイント

http://ruby.g.hatena.ne.jp/garyo/20061129/1164774653

Rubyを使うとXMLRPCも簡単に使えますよ。

client

require 'xmlrpc/client'

client = XMLRPC::Client.new2("http://localhost:8080/XMLRPCserver.rb")
result = client.call("sample.sumAndDifference", 5, 3)
sum = result["sum"]
difference = result["difference"]
puts "Sum: #{sum}, Difference: #{difference}"

server

#!/usr/local/bin/ruby

require "xmlrpc/server"
s = XMLRPC::CGIServer.new
s.add_handler("sample.sumAndDifference") do |a,b|
 { "sum" => a + b, "difference" => a - b }
end
s.serve
◎質問者からの返答

ほおおお。

今日本屋で若干Ruby本を読んできたおかげで若干文法がわかりますが、これだけで2引数に対して2個レスポンスを返すというWebAPIができあがり、ということですね。

やっぱりよさそうです。ありがとうございます。はてなグループの方もまた後で詳しく拝見させて頂きます。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ