<?xml version="1.0" encoding="Shift_JIS"?>
<!--
  Copyright 2003-2004 The Apache Software Foundation.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

  $Id: index.xml,v 1.5 2005/03/19 06:35:06 nekop Exp $
-->
<document>

    <properties>
        <title>概要</title> 
        <author email="sidler@apache.org">Gabriel Sidler</author>
        <author email="tcolson@cisco.com">Tim Colson</author>
        <author email="nbubna@apache.org">Nathan Bubna</author>
        <projectfile>xdocs-ja/struts/menu.xml</projectfile>
        <translator email="shinobu@ieee.org">Shinobu Kawai</translator>
        <translator email="nekop@programmers.jp">木村 貴由</translator>
        <original>Overview</original>
    </properties>

    <body>  

    <section name="Overview" alias="概要"> 

        <primary>
        <p>The VelocityStruts sub-project integrates Velocity with the 
        <a href="http://jakarta.apache.org/struts/">Jakarta Struts</a> 
        Web application framework and enables the use of velocity templates 
        interchangeably with JSP pages for the view layer.</p>
        </primary>
        <p>VelocityStruts サブプロジェクトは Velocity と
        <a href="http://jakarta.apache.org/struts/">Jakarta Struts</a> 
        Web アプリケーションフレームワークとを統合し、
        ビューレイヤとして JSP の代わりに Velocity
        テンプレートを使用することを可能にします。</p>
 
        <primary>
        <p>Various other 
        <a href="http://jakarta.apache.org/velocity/powered.html#Frameworks%20that%20support%20Velocity">web application frameworks</a> 
        offer built-in support for Velocity templates. This project 
        provides the minimal glue necessary to give Struts developers 
        an alternative to JSP. </p>
        </primary>
        <p>多様多種の
        <a href="http://jakarta.apache.org/velocity/powered.html#Frameworks%20that%20support%20Velocity">Web アプリケーションフレームワーク</a> 
        が Velocity テンプレートをサポートしています。
        このプロジェクトでは、 Struts 開発者に JSP の代わりとなる必要最小限のセットを提供します。</p>
        
        <p><img src="../images/velstruts_diag1.png" border="0"/></p>
        <primary>
        <p><strong>Diagram 1.</strong> Comparison of JSP and Velocity for 
        the view layer in a Struts application.</p> 
        </primary>
        <p><strong>図 1.</strong> Struts アプリケーションのビューレイヤにおける、
        JSP と Velocity の比較。</p> 

        <primary>
        <p>As we follow the typical Struts process flow in Diagram 1, 
        notice how there is relatively little change except for the addition 
        of Velocity. The velocity-struts.jar leverages a standalone Velocity 
        servlet to process template files (specifically, the jar file is 
        velocity-tools-x.x.jar) and uses some drop-in tools to provide 
        transparent access to Struts specific objects (ex. message resources, 
        form beans, errors, links). The action mapping file will simply contain 
        ActionForwards that send control to a Velocity-based View layer instead 
        of sending to a JSP. </p>
        </primary>
        <p>図1の典型的な Struts の処理フローでは、 Velocity
        が追加されることを除けば比較的小さな変更だということに気づくでしょう。
        velocity-struts.jar はテンプレートファイルを処理するスタンドアロンの
        Velocity サーブレット(具体的には、 velocity-tools-x.x.jar という JARファイルです)、
        Struts 固有のオブジェクト(例: メッセージリソース、フォームビーン、エラー、リンク)
        への透過的なアクセスを提供するいくつかのツールを使用します。
        アクションマッピングファイルは制御を JSP の代わりに Velocity
        ベースのビューレイヤへ渡す ActionForward を含んでいます。</p>

        <primary>
        <p>Also notable is that Velocity and JSP are <strong>not</strong> 
        mutually exclusive. Both technologies can be used in the same 
        application without any problems. This allows developers the option 
        of trying Velocity without heavy modification to existing applications.</p>
        </primary>
        <p>さらに、注目すべきは Velocity と JSP は排他的<strong>ではない</strong>ということです。
        何の問題も無しに、両方のテクノロジを同一アプリケーション内で使用することができます。
        既存のアプリケーションに大きな変更を入れることなく、
        開発者が Velocity を試すことが可能です。</p>

        <primary>
        <p>We're convinced that once you give Velocity a try, you'll really like it.</p>
        </primary>
        <p>一度 Velocity を試してみれば、きっと病みつきになると思いますよ!</p>
    </section>
	
    <section name="Benefits" alias="利点">
        <primary>
        <p>There are many different reasons why people are choosing Velocity 
        technology for the view layer. Here are some:</p>
        </primary>
        <p>人々がビューレイヤに Velocity を選択するのにはさまざまな理由があります。
        いくつか挙げますと:</p>
        <primary>
        <p>
        <ul>
            <li>Velocity helps enforce a clean separation between the view 
            layer and the model/control layers. This leads to clean application 
            design and a clear separation of concerns between View Designers 
            and back-end Developers.</li>

            <li><a href="http://jakarta.apache.org/velocity/vtl-reference-guide.html">Velocity Template Language (VTL)</a>
            has few directives and is simple and easy to learn. Most 
            people report being productive within a day.</li>

            <li>Velocity is easy to extend with <i>Tools</i> which are simply 
            any class which has public methods. These are typically much cleaner
            and easier to develop than JSP custom tag libraries.</li>
            
            <li>Using the new TilesTool it is now possible
            to mix Velocity and JSP tiles in the same page/layout. For those
            using Tiles, this makes gradual migration between or integration of
            the two view technologies trivially easy!</li>

            <li>Velocity 'macros' are a powerful tool for the View Designer. 
            They enable the creation of reusable snippets of markup, often 
            eliminating what would have been a need to develop a custom tag 
            library or other server-side tool.</li>

            <li>Velocity templates are <strong>not</strong> limited to HTML 
            and can be used to produce any type of text output including XML, 
            SQL, ASCII, PostScript, etc.</li>

            <li>Velocity enables easy access to dynamic data 
            that Web Designers can understand.</li>

            <li>Velocity being interpreted, enables a simple development cycle 
            where template errors can quickly be localized and debugged.</li>

            <li>Velocity, which caches templates for speed, has been reported 
            to have performance comparable or better than JSP.</li>

            <li>Velocity is <strong>supported</strong> by an active and helpful 
            community of users and developers.</li>
        </ul>
        </p>
        </primary>
        <p>
        <ul>
            <li>Velocity はモデル/コントロールレイヤから、
            ビューレイヤを明確に分離することを強制します。
            これはアプリケーションの設計をクリーンにし、
            ビューデザイナとバックエンドの開発者を明確に分離します。</li>

            <li><a href="http://jakarta.apache.org/velocity/vtl-reference-guide.html">Velocity テンプレート言語 (VTL)</a>
            は構文が少なく、シンプルで簡単に覚えられます。
            多くの人は一日で使えるようになったと言っています。</li>

            <li>Velocity は public メソッドをもつただのクラスである <i>ツール</i>
            によって簡単に拡張することができます。
            これは、 JSP のカスタムタグライブラリよりすっきりしており、
            より簡単に作ることができます。</li>
            
            <li>新しく追加された TilesTool により、Velocity と JSP
            のタイルを同じページ/レイアウトに混在させることができます。
            Tiles を使用している人にとっては、
            この二つの技術間を徐々に移行することや統合することは驚くほど簡単です!</li>

            <li>Velocity の 'マクロ' はビューデザイナのための強力なツールです。
            これは再利用可能なマークアップの断片を定義するもので、
            カスタムタグライブラリやその他のサーバサイドで利用するツールの開発の必要性を無くしてくれるものです。</li>

            <li>Velocity テンプレートの適用範囲は HTML だけに限られるものでは<strong>ありません</strong>。
            XML, SQL, ASCII, PostScript 等、
            あらゆるテキストの出力の生成に使用することが可能です。</li>

            <li>Velocity は Web デザイナが理解できる、
            動的データへの簡単なアクセス方法を提供します。</li>

            <li>Velocity はインタプリタであり、テンプレートのエラーは即座に発見・
            デバッグすることができ、シンプルな開発サイクルを可能にします。</li>

            <li>Velocity は処理速度向上のためにテンプレートをキャッシュしており、
            そのパフォーマンスは JSP を上回ると言われています。</li>

            <li>Velocity は活動的で助けになる、ユーザと開発者の
            コミュニティによって<strong>支えられています</strong>。</li>
        </ul>
        </p>
    </section>

    <section name="Success Stories" alias="成功話">
        <primary>
        <p>Comments from folks who are using Struts and Velocity:</p>
        </primary>
        <p>Struts と Velocity を使用している人たちからのコメント:</p>
        <primary>
        <p>
        <blockquote>
          <p>&quot;<i>We've been using Struts/Velocity for some time now and we find it to be
          an extremely well matched combination.  One of the main advantages of
          Velocity is that the syntax is incredibly easy.  I can explain it to a
          designer who has never seen it before and expect them to be useful
          within an hour.</i>&quot; </p>
          <p>&quot;<i>One of the nicest things it enforces is the separation of presentation
          layer and business logic.  It removes the desire to 'fix' problems by
          just putting a small change into the JSP via scriptlets.  It also makes
          the code a <strong>lot</strong> more readable which also reduces the 
          development time.</i>&quot;</p>
          <p>&quot;<i>Struts is a solid framework and Velocity makes it 
          even better.</i>&quot;</p>    
          <p>&quot;<i>I find that the Velocity Tools for Struts works as well, or better, with 
          Struts than another other presentation technology, bar none. In fact, 
          most of the tools work just as well with any other framework you might 
          care to name.</i>&quot; 
          --<a href="http://nagoya.apache.org/eyebrowse/ReadMsg?listName=velocity-user@jakarta.apache.org&amp;msgNo=11255">Ted Husted</a>
          (author of <a href="http://husted.com/struts/book.html">Struts in Action</a>)</p>
        </blockquote>
        </p>
        </primary>
        <p>
        <blockquote>
          <p>&quot;<i>私たちはもうかなりのの間、 Struts/Velocity を使用しており、
          それが相性の良い組み合わせであることを認識した。
          Velocity の主な利点のうちの1つは、文法が信じられないほどに
          簡単であるということだ。Velocity 初体験のデザイナに、
          使い方を1時間以内で説明することだって可能だろう。</i>&quot; </p>
          <p>&quot;<i>Velocity の利点の一つは、
          プレゼンテーションレイヤとビジネスロジックの分離を強制することなんだよ。
          これは、JSP にスクリプトレットを埋め込んで、
          問題を解決してしまおうという欲求を断ち切ってくれる。
          さらに、<strong>コードの可読性をより向上</strong>させ、
          開発期間を短縮してくれるんだ。</i>&quot;</p>
          <p>&quot;<i>Struts はしっかりしたフレームワークで、
          Velocity はそれをさらによりよいものにしてくれる。</i>&quot;</p>
          <p>&quot;<i>Velocity Tools は他のどんなプレゼンテーション技術と同様、
          またはよりよく Struts と統合できると思えます。例外はありません。
          実際、そのほとんどのツールは思いつくどんなフレームワークとも同様に統合できます。</i>&quot; 
          --<a href="http://nagoya.apache.org/eyebrowse/ReadMsg?listName=velocity-user@jakarta.apache.org&amp;msgNo=11255">Ted Husted</a>
          (<a href="http://husted.com/struts/book.html">Struts in Action</a>の著者)</p>
        </blockquote>
        </p>
    </section>

    <section name="License" alias="ライセンス">
        <primary>
        <p>This software is licensed under the 
        <a href="http://jakarta.apache.org/velocity/license.html">Apache Software License</a></p>
        </primary>
        <p>このソフトウェアには
        <a href="http://jakarta.apache.org/velocity/license.html">Apache Software License</a> が適用されます。</p>
    </section>
 </body>

</document>
