1

Java SE を使用して開発されたシン クライアントがあります。シン クライアントは、次の目的で Web サーバーに接続する必要があります。

  1. データベースから情報を要求します。
  2. 更新、挿入、削除のリクエストを送信します。

Thin Client データベースに直接接続することはありません。インターネットで読んで議論した後、次のハイライトされたテクニックを手に入れました。

  1. データベース サーバー (MySQL) のインストールとデータベースの作成。
  2. Web サーバー (Tomcat) のインストール。
  3. SQL クエリとロジックを Web サーバーに移動します。
  4. Web サーバーには、SQL ステートメントを実行するサーブレットがあります。
  5. シン クライアントは Web サーバーから結果を要求し、Web サーバーは MySQL データベースからデータを取得し、JSON 形式を使用して結果セットをシン クライアントに返します。
  6. Thin Client は JSON から形式をデコードします。
  7. シンクライアントでデータを操作してから、データベースの更新に適した更新をWebサーバーに送り返します。

必要なもの:

  • これがより良い方法なのか、それとも別の方法があるのでしょうか。
  • これを達成するには、他のテクノロジーを使用する必要がありますか。
  • 私はいくつかの実例を得ることができます。
  • 何日もインターネットを検索する必要なく、簡単な手順で完全に機能するドキュメントを他の人に公開して、それを利用したいと考えています。
  • 皆さんが私たちを共有してくれることを願っています。

使用された技術:

  • トムキャット サーバー。
  • MySQL サーバー。
  • シン クライアント用の Java SE。
  • ロジックおよびデータベース操作用のサーブレット。
4

1 に答える 1

1

私は仕事で似たようなことに取り組んできました。これを処理するために私たちが行っていることは次のとおりです。

バックエンドデータベースからの情報を必要とする、シンクライアントに似たWebクライアントがあります。これは、データベース呼び出しを行い、JSON パッケージでクライアントに情報を返す RESTful Web サービスにアクセスすることによって行われます。

使用ツール:

  • Spring-Roo: ラピッド プロトタイピング用 ( http://projects.spring.io/spring-roo/ )
  • スプリング ツール スイート
  • メイヴン
  • トムキャット
  • SQLサーバー
  • 休止状態

これらのツールはすべて、Web サービスを開発するために非常にうまく連携します。Roo を使用すると、迅速な開発が可能になり、プロジェクトのすべての要素を簡単に結び付けることができます。また、SqlServer、hibernate、Tomcat 以外でも動作し、IDE は必要ありません (Spring Tool Suite には GUI シェルが組み込まれています) が、Maven に依存しています。私は絶対にそれが大好きです。ほとんどの魔法に AspectJ を使用していますが、AspectJ の神秘性を乗り越えると、非常に直感的なものになります。

Roo の優れたチュートリアル: http://docs.spring.io/spring-roo/reference/html/beginning.html

お役に立てれば!

編集: これは、休止状態の Roo が作成するリポジトリです。

ドメイン エンティティ:

@RooJavaBean
@RooToString
@RooJpaEntity(table = "Example")
@RooJson
public class Example {

    private String name = "default";
    public Example(String name){
        this.name = name;
    }
}

リポジトリ:

package com.example.repositories;

import org.springframework.roo.addon.layers.repository.jpa.RooJpaRepository;

@RooJpaRepository(domainType = Example.class)
public interface ExampleRepository {
}

これらを取得したら、次のように HTTP リクエストを実行できる Controller クラスを作成します。

@RooWebJson(jsonObject = Example.class)
@Controller
@RequestMapping("/example/")
public class ExampleController {
    @Resource
    ExampleRepository exampleRepo;

    @RequestMapping(method = RequestMethod.PUT, value ="/{name}")
    public void putExample(@PathVariable("name") String name) {
        exampleRepo.save(new Example(name));
    }
}

メソッドの呼び出しはputExample()、HTTP PUT リクエストを「http://{host}/example/somename」に送信することによって行われます。リクエストに含まれる特定のヘッダーなど、RequestMapping にはさらに多くのオプションがあります。メソッドで使用するために、要求からの JSON/xml をサービスに渡すこともできます。

新しいクエリを追加するには、次のようにします。

@Query("select * from Example e where e.name = ?1)
List<Example> getAllByName(String name);

このメソッドをリポジトリ クラスに追加すると、新しい Sql クエリが得られます。注: クエリは選択した言語の JPA で記述されています。これが Hibernate の方法です。

ここには、RESTful サービスに関連するいくつかの規則があります。たとえば、Http PUT および POST は Sql UPDATE または INSERT クエリを実行するためにのみ使用する必要があり、Http GET は Sql SELECT に使用し、Http DELETE は SQL DELETE に使用する必要がありますが、Web サービスの設計者次第です。

Roo は Rapid Application Development (RAD) キットであることを明確にしておく必要があります。アプリケーションのプロトタイプ作成に使用できます。プログラミングを行う必要がありますが、それは少なくなります。

これが物事を明確にするのに役立つかどうか教えてください!

于 2013-10-29T16:13:13.223 に答える