2016-07-01 11 views
1

今私は、スイングとMysqlデータベースを使ってJDBCを使って作った作業用アプリケーションを持っています。だから私はクライアント - サーバーの設定を見る方法は、PC1(サーバーのPC)に常駐する.exeラップされたスイングプロジェクトを置くことです。次に、これらの3台のPCのすべてがLAN経由で接続されている2台以上のクライアントPCのPC2(クライアント)とPC3(クライアント)を持つことができます。Java Swing JDBC with MySQLクライアント - サーバLAN設定

What should I do to embed the MySql database that my swing application is using so that if I wrap the java swing project to .exe, the database will be embedded together with the exe/installer? What's the best tool to use given the specifications? 

If first question is possible and let's assume that the swing app and mysql database are wrapped together and is residing on PC1(server pc), what do i do next so that the copy of swing application on PC2(client) and PC3(client) can talk to PC1 (server)? 

Can I accomplish the client-server setup I want without any network or socket programming? (my professors who are non-java programmers said that on other programming languages such as C# that you only need the IP address which im clueless about). 

問題:私の知識は、JDBC、Java Swing、およびMySQLに限定されています。ツールはNetbeans、mysql jコネクタ、mysqlワークベンチ、xamppです。

私はそれを行うのに6〜7ヶ月しかないので、ソケットやネットワークプログラミングを学ばなければならない場合は、0%の知識から勉強します。私はそれが複雑であれば時間が足りないかもしれないことを恐れる。

私は知らないRMIについての記事を読みました。それは私の問題と関係があるかどうかは分かりません。

この質問は長くなるかもしれませんが、他のWebサービスにも適用されるように、クライアントサーバーの設定がJavaで広がっていると思われるため、説明するのが簡単ではありません。

私は何か提案や説明をお待ちしておりますが、私の知識が限られているため詳細な方が好きです。

ありがとうございます。

追加するには、私が必要とするのは、Java WebサービスをSwingアプリケーションで使用することだけです。どのような考えや提案ですか?

+0

これらの外部システムとのインターフェイスがわかるまで、何を調査するのか分かりません。あなたがするまで、あなたはコードでそれを解決することはできません。 – Gimby

+0

私はいくつかの面でこれは良い質問だと思うが、StackOverflowではそれほど広すぎると思うが、誰かがこのトピックのチュートリアルやガイドを指差してくれればうれしい。おそらくあなたは[このトピック](http://meta.stackexchange.com/questions/88303/where-can-iest-for-networking) – Martin

+0

@Gimbyありがとうからの肯定的な応答を持っています。実際、クライアントには多くのコンピュータがありません。私の見積もりでは、私たちが開発しているシステムを使用するのに約5台のコンピュータしかありません。だから彼らはたぶん普通のスイッチやルータを使うつもりだ。私はちょうどJavaでそれを行う方法を知る必要があります。私はどんな提案も感謝しています。使用する特定のパッケージはありますか?再度、感謝します。 – p3ace

答えて

1

あなたは可能性:

  • あなたのIDEでJavaプロジェクトの形で(derby examplesを確認してください)データベースとの対話を実装するために
  • 書き込みAPI組み込みデータベースなどApache Derbyのを選ぶには(RMIのAPIを書くRMI tutorialをチェック)以前のプロジェクトに依存するJavaプロジェクトの形式で前のレイヤーに基づいてサーバーロジックを実装する
  • RMIクライアントAPIを使用してスイングクライアントを作成します。その後

次のことができます。

  • 展開2 zipアーカイブを使用してクライアント/サーバアプリケーションのクライアント用の.batスクリプトとあなたのコードとライブラリのjarファイル、サーバーごとに1つのジッパーと1を含む各PCにインストールされているjdkのみ必要です。
  • クライアントのメインクラスは引数としてサーバーのIPアドレスを取得します。
+0

あなたの答えをありがとう。私はDerbyを以前に試しましたが、ウェブサイトからの例が入手できないので、現時点ではほとんど完了しているのでmysqlを使用する必要があります。私はまだRDBMSとしてMySQLに固執して、それをJavaプロジェクトと一緒にラップすることはできますか?私も質問がありますが、プロジェクトが完了したらインストーラを作成する方法はありますか?ありがとう。 – p3ace

+0

[IzPack](http://izpack.org/)は、Javaアプリケーションをパッケージ化するための強力なツールであるようですが、[GUI](https://sourceforge.net/projects/devcompack/)もあります。 – angcap

0

これはスイングアプリケーションであるため、アプレットとして作成し、Tomcatのような単純なアプリケーションサーバーを使用して展開することができます。それにはthis oneのような数多くのチュートリアルがあります。

データベース側に来ると、マシン(PC1)の1つにzipファイルとしてパッケージングすることでmysqlをインストールでき、アプレットはどのマシンからでも接続できます。インストールされているマシンのIP、DB名、スキーマ、ユーザーID、パスワードをJDBC接続に必要とするだけで、すべてのマシンにデータベースをインストールする必要はありません。

この方法で、既存のアプリケーションをクライアント/サーバーアプリケーションにすることができます。お役に立てれば。

+0

@Isivaあなたの答えをありがとう。私はアプレットで作業しようとはしませんでしたが、主にSwingについては、これはオプションに見えます。しかし、私は.exe形式でインストーラを作成する必要があるかもしれません。スイングプロジェクトをアプレットに変換する方法はありますか(私にはありませんが、ただ質問するだけです)。 – p3ace

関連する問題