目次
25 関係: Ajax、Apache License、Apache Tomcat、ツールチェーン、オープンソース、クロスプラットフォーム、Comet、Eclipse (統合開発環境)、Extensible HyperText Markup Language、自由ソフトウェア、FLOSS、Foursquare、IntelliJ IDEA、Java、Java Servlet、Java仮想マシン、Jetty、NetBeans、Ohloh、Ruby、Ruby on Rails、Scala、WAR (アーカイバ)、Webアプリケーションフレームワーク、Webコンテナ。
Ajax
一般的なWebアプリケーション(左)とAJAX(右)の動作の違い Ajax(エイジャックス - IT用語辞典 e-Words(インセプト)、アジャックス)は、ウェブブラウザ内で非同期通信を行いながらインターフェイスの構築を行うプログラミング手法である - IT用語辞典バイナリ(Weblio)。XMLHttpRequest(HTTP通信を行うためのJavaScript組み込みクラス)による非同期通信を利用し、通信結果に応じてダイナミックHTML (DHTML) で動的にページの一部を書き換えるというアプローチを取る - @IT(ITmedia)。 Ajax は『Asynchronous JavaScript And XML』の略で、2005年2月18日に米国のインフォメーションアーキテクトであるジェシー・ギャレットJesse James Garrettにより名付けられた - All About - 日経トレンディネット(日経BP)。
見る LiftとAjax
Apache License
Apache License(アパッチ・ライセンス)は、Apacheソフトウェア財団 (ASF) によるソフトウェア向けライセンス規定。1.1以前は、Apache Software License(ASL)と称していた。著作権表示と免責事項表示の保持を求めている。1.1以降のバージョンはOpen Source Initiativeがオープンソースライセンスと承認している。GNUプロジェクトは、1.1以前のバージョンをGPL非互換で非コピーレフトのフリーソフトウェアライセンス、バージョン2.0をGPLバージョン3互換(GPL2以前とは非互換)のフリーソフトウェアライセンスと判断している。 ASFやそのサブプロジェクトが作成するソフトウェアは、すべてApache Licenseで提供されている。ASF以外のソフトウェアでもApache Licenseを使っているものがある。2010年6月現在、SourceForge.netにある5000以上のASF以外のプロジェクトがApache Licenseでリリースされている。
Apache Tomcat
Apache Tomcat(アパッチ トムキャット)は、Java ServletやJavaServer Pages (JSP) を実行するためのWebコンテナ(サーブレットコンテナ、サーブレットエンジン)である。Apache License 2.0を採用したオープンソースソフトウェア(ITプロ)に2003年以前の状況が見える。 -->。 2005年以降、Apacheソフトウェア財団のトップレベルプロジェクトのひとつであるApache Tomcat Project 内で開発されている。それ以前はかつて存在していたJakartaプロジェクト内で開発されていた。
ツールチェーン
ソフトウェア分野におけるツールチェーン(toolchain)は、製品(典型的には他のコンピュータ用のプログラム、またはシステムプログラム)を製作するのに使われるプログラム(ツール)の集合体である。一つのツールの出力が他のツールの入力となり、連鎖的に使われることからツールチェーンと呼ばれる。 コンパイル言語におけるソースコードからバイナリを生成するツールチェーンでは、エディタ(含めないとする場合もある)、コンパイラ、アセンブラ、リンカ、ライブラリ(オペレーティング・システムへのインタフェースを提供する)、デバッガ(作成したプログラムのテストとデバッグに使用する)などで構成され、クロスコンパイルツールチェーンも利用できる。複雑な製品、例えばゲームなどでは、効果音、音楽、テクスチャ、3Dモデル、アニメーションなどを作成するためのツールも必要とされる。
見る Liftとツールチェーン
オープンソース
オープンソース(open source)は、専らを促進する目的で、コンピュータプログラムの著作権の一部を放棄し、ソースコードの自由な利用および頒布を万人に許可するソフトウェア開発モデル。この開発モデルでは、コンピュータで実行できるが人間が容易に理解・変更できないオブジェクトコードだけでなく、ソースコードも含めて自由な再頒布を許可するライセンスのもとで公開する。 オープンソースを推進するために設立されたオープンソース・イニシアティブは、ソフトウェアがオープンソースであるための要件を定めた「オープンソースの定義」を策定した。
見る Liftとオープンソース
クロスプラットフォーム
クロスプラットフォーム(cross-platform)とは、異なるプラットフォーム(例えばPC/AT互換機とMacintosh、あるいはWindows・macOS・FreeBSD・Linuxなどのように、仕様が全く異なる機械(ハードウェア)またはオペレーティングシステム)上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言う。同様の呼称にマルチプラットフォームmulti-platformがある。 また、家庭用ゲームにおいては「クロスプラットフォーム」と「マルチプラットフォーム」で意味が異なる場合がある。本項ではこのケースについても後述する。
Comet
Comet(コメット)とは、Web アプリケーションを構築する際に利用される技術で、この技術を使うと、サーバで発生したイベントをクライアントからの要請なしにクライアントに送信することができる。 Comet はこのような通信を実現するための複数の手法をまとめた概念である。これらの手法はブラウザにプラグインを追加することなく、(JavaScript のような)デフォルトの機能で実現されるものである。理論的には Comet は、ブラウザがデータを要求する形の既存のウェブのモデルとは異なっている。実際は Comet アプリケーションは Ajax と Long polling を使用してサーバ上の新規データを取得する。
見る LiftとComet
Eclipse (統合開発環境)
Eclipse(イクリプス、Eclipse)は、コンピュータプログラミングにおいて使用される統合開発環境(IDE)である。ベースとなるワークスペースと、環境をカスタマイズするための拡張可能なプラグインシステムが含まれている。Eclipseは主にJavaで書かれており、主にJavaアプリケーションの開発に使用されるが、Ada 、ABAP、C 、C ++ 、C# 、Clojure 、COBOL 、D、Erlang、Fortran 、Groovy 、Haskell、JavaScript、Julia、 Lasso、Lua、NATURAL、Perl、PHP、Prolog、Python、R、Ruby(Ruby on Railsフレームワークを含む)、Rust、Scala、Schemeなどのプラグインを介して他のプログラミング言語のアプリケーションを開発するために使用することもできる。また,LaTeX(TeXlipseプラグイン経由)やソフトウェアMathematicaのパッケージを使ったドキュメントの開発にも利用できる。開発環境としては,JavaやScala用のEclipse Java開発ツール(JDT),C/C++用のEclipse CDT,PHP用のEclipse PDTなどを含んでいる。
Extensible HyperText Markup Language
Extensible HyperText Markup Language(エクステンシブル ハイパーテキスト マークアップ ランゲージ)、略記・略称:XHTML (エックスエイチティーエムエル)は、SGMLで定義されていたHTMLをXMLの文法で定義しなおしたマークアップ言語である。その仕様はHTMLと同じくW3Cによって勧告されていた。しかし2007年にW3C HTML WGを設立するとWHATWGとの共同作業を行い、2009年、W3Cは開発を正式に中止した。HTML5はXMLの書式に従わずともMathMLやSVGなどを埋め込むことが可能である。 上述の通りXHTMLは開発が中止されており、この記事には古い内容を多分に含んでいる。しかしながら、HTMLを解釈するユーザーエージェント(Webブラウザなど)は、引き続きサポートしている。
見る LiftとExtensible HyperText Markup Language
自由ソフトウェア
自由ソフトウェア(じゆうソフトウェア、)See とは、ユーザーがどのような目的に対しても実行することを許可し、また、プログラムについて研究したり、変更したり、それを配布したりする自由も認めることを条件として配布されるコンピュータソフトウェアのことである (gnu.org)。自由ソフトウェアには、プログラムの対価として支払った価格とは無関係に、ユーザーが(個人で、あるいは、コンピュータプログラマーと協力して)ソフトウェアのコピーを用いて、自身が望むことを(自由ソフトウェアを用いて利益を獲得することを含めて)する自由が存在するということである (gnu.org)。コンピュータプログラムが自由であるとみなされる必要十分条件は、本質的には(開発者のみではなく)すべてのユーザーに第一にプログラムをコントロールする権利があるということであるとされる。したがって、ユーザーが所有する装置が「自由」であるためには、プログラムによって何が行われるのかを、ユーザーが本質的にはコントロールできなければならない。
FLOSS
FLOSSだけで構成されたデスクトップ画面 (Linux Mint+Xfce+Firefox+GIMP+VLCメディアプレーヤー) FLOSS(フロス)は、Free/Libre and Open Source Softwareの頭字語でありはフランス語で「自由な」の意。、自由ソフトウェアとオープンソースをまとめて表現する語である。Free/Open Source Software の頭字語を取ってFOSSとも呼ばれる。
見る LiftとFLOSS
Foursquare
Foursquare(フォースクエア)は、位置情報に基づいたソーシャル・ネットワーキング・サービスのウェブサイト、携帯電話用ソフトウェア、およびゲーム(位置ゲー)である。 利用者は、携帯電話のショートメッセージサービスでメッセージを送ったり(米国国内のみ)、携帯端末固有のアプリケーションを用いて、ベニューと呼ばれる特定の場所でチェックインする。フォースクエアの利用者には得点が与えられ、またバッジが与えられる時もある。フォースクエアはデニス・クローリーとによって作られた。クローリーは以前に同様のプロジェクトであるドッヂボールを設立したがドッヂボールは2005年にグーグルに買収された後2009年には凍結された。
IntelliJ IDEA
IntelliJ IDEA (インテリジェイ アイディア) は、チェコに本社を置くJetBrains社が開発した、Javaなど数多くのプログラミング言語に対応した統合開発環境である。 リファクタリング機能をJava用の統合開発環境としては初めて搭載したことでも知られる。変数に型のないプログラミング言語に対してもリファクタリングを提供している。 ZeroTurnaroundの調査によると、2016年時点ではJavaの統合開発環境としては1番人気である。
Java
Java(ジャバ、ジャヴァ)は、汎用プログラミング言語とソフトウェアプラットフォームの双方を指している総称ブランドである。オラクルおよびその関連会社の登録商標である。1996年にサン・マイクロシステムズによって市場リリースされ、2010年に同社がオラクルに吸収合併された事によりJavaの版権もそちらに移行した。 プログラミング言語Javaは、C++に類似の構文、クラスベースのオブジェクト指向、マルチスレッド、ガベージコレクション、コンポーネントベース、分散コンピューティングといった特徴を持ち、平易性重視のプログラム書式による堅牢性と、仮想マシン上での実行によるセキュリティ性およびプラットフォーム非依存性が理念とされている。
見る LiftとJava
Java Servlet
Java Servlet(ジャバ サーブレット)とは、サーバ上でウェブページなどを動的に生成したりデータ処理を行うために、Javaで作成されたプログラム及びその仕様である。単にサーブレットと呼ばれることが多い。Jakarta EEの一機能という位置づけになっている。この機能を用いてショッピングサイトやオンラインバンキングなどをはじめとする多種多様な動的なWebサイトが構築されている。
Java仮想マシン
ネイティブコードに変換されて実行される。Java APIとJVMの両者でJava実行環境(JRE)を構成する。 Java仮想マシン(ジャバかそうマシン、、Java VM、JVM)は、Javaバイトコードとして定義された命令セットを実行するスタック型の仮想マシン。APIやいくつかのツールとセットでJava実行環境(JRE)としてリリースされている。この環境を移植することで、さまざまな環境でJavaのプログラムを実行することができる。
Jetty
Jetty は、100%Javaで開発されたJava Servletコンテナ/Webサーバである。WebSocketなどの通信プロトコルもサポートする。Jetty はオープンソースプロジェクトとして開発され、Apache 2.0 License でリリースされている。JBoss、Apache Geronimoといった他のプロジェクトでも利用されている。 単純で効率的な組み込みやすいWebサーバとなるよう意図して開発されている。サイズが小さいので、組み込み型 Java アプリケーションにWebサービスを提供するのに適している。 その一方で、Apache HadoopやGoogle App Engineといった大規模でスケーラビリティが重視されるサービスにおいても採用されている。
見る LiftとJetty
NetBeans
NetBeans(ネットビーンズ)とは、オラクル(買収以前はサン・マイクロシステムズ、以下同)を中心としたコミュニティにより開発されている、オープンソースの統合開発環境 (IDE) である。Java/PHP/C言語/C++/JavaScript/Groovy等のいくつかのプログラミング言語に対応している。NetBeans Platformを利用して開発されており、様々なモジュールを組み込むことが可能である。NetBeansの特徴の一つであるGUIエディタ (Project Matisse) もその一つである。
Ohloh
Ohlohは、オープンソースソフトウェア開発を見通すことを目的とした、Webサービススイートとオンラインコミュニティプラットフォームを擁するウェブサイトである。マイクロソフトのマネージャだったジェイソン・アレン(Jason Allen)、スコット・コリソン(Scott Collison)により2004年に開設され、のちに開発者として、ロビン・ラッキー(Robin Luckey)が加わっている。2011年8月には(当サイトの検索の結果)530,000程度のプロジェクト、ソフトウェアがリストに掲載されている。 2009年5月28日、Ohlohは、有名なオープンソースプラットフォームSourceForgeを擁するGeeknetにより買収されたが、2010年10月5日にGeeknetはOhlohをオープンソース分析で有名な企業に売却した。Black Duckは、WebサイトにFLOSS開発の為の主要リソースを進出させるため、Ohlohの機能を彼らの既存の製品に統合することを計画している。
見る LiftとOhloh
Ruby
Ruby(ルビー)は、まつもとゆきひろ(通称: Matz)により開発された、簡潔な文法が特徴的なオブジェクト指向スクリプト言語。 日本で開発されたプログラミング言語としては初めて国際電気標準会議(IEC)で国際規格に認証された事例となった。
見る LiftとRuby
Ruby on Rails
Ruby on Rails(ルビーオンレイルズ)は、オープンソースのWebアプリケーションフレームワークである。単にRailsあるいはRoRと呼ばれる。その名にも示されているようにRubyで書かれている。またModel View Controller(MVC)アーキテクチャに基づいて構築されている。 実アプリケーションの開発を他のフレームワークより少ないコードで簡単に開発できるよう考慮し設計されている。Railsの公式なパッケージはRubyのライブラリやアプリケーションの流通ルートであるRubyGemsにより配布されている。
Scala
Scala(スカラ、)はオブジェクト指向言語と関数型言語の特徴を統合したマルチパラダイムのプログラミング言語である。名前の「Scala」は英語の「scalable language」に由来するものである。
見る LiftとScala
WAR (アーカイバ)
WAR は、Jakarta EEアプリケーションのパッケージ形式。 WARファイルはZIP形式で圧縮されており、ウェブアプリケーションのドキュメントルート以下が格納される。ドキュメントルートディレクトリにはWEB-INFというサブディレクトリがあり、この中にはアプリケーションのデプロイメント記述子、タグライブラリ記述子、サーバサイドクラス、JAR形式のライブラリが含まれる。 類似するアーカイブとして複数のWARファイル, EJBアプリケーションを一つのアーカイブにまとめるEARなどがある。
Webアプリケーションフレームワーク
Web アプリケーションフレームワーク(Web Application Framework)は、動的なWebサイト、Webアプリケーション、Webサービスの開発をサポートするために設計されたフレームワークである。 Webアプリケーションフレームワークの目的は、Web開発で用いられる共通した作業に伴う労力の軽減である。 たとえば、多数のフレームワークがデータベースへのアクセスのためのライブラリやテンプレートエンジン(Webテンプレートも参照)、セッション管理を提供し、コードの再利用を促進させるものもある。
Webコンテナ
Webコンテナ(ウェブコンテナ、)とは、Jakarta EE(旧・Java EE)アーキテクチャのWebコンポーネント規約を実装するソフトウェア。Java Servletの実行環境となることからServletコンテナ(サーブレットコンテナ、)とも呼ばれる。 この規約では、コンピュータセキュリティ、並列性、ライフサイクル管理、トランザクション処理、デプロイやその他のサービスを含むWebコンポーネントの実行環境を規定している。WebコンテナはJava EEプラットフォームAPIを利用したJSPコンテナとしての機能も提供する。
見る LiftとWebコンテナ

