2016-07-01 1 views
1

지금 당장 JDBC를 통해 swing 및 Mysql 데이터베이스를 사용하여 작동하는 응용 프로그램을 만들었습니다. 따라서 클라이언트 - 서버 설정을 확인하는 방법은 PC1 (서버 PC)에 상주하는 .exe- 포장 스윙 프로젝트를 작성하는 것입니다. 그런 다음이 3 대의 PC가 모두 LAN을 통해 연결된 클라이언트 PC의 PC2 (클라이언트)와 PC3 (클라이언트)가 둘 이상있을 수 있습니다.MySQL 클라이언트 - 서버 LAN 설정을 사용하는 Java Swing JDBC

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 workbench, xampp입니다.

나는 단지 6 ~ 7 달 밖에 남지 않았기 때문에 소켓이나 네트워크 프로그래밍을 배워야한다면, 0 %의 지식으로 공부할 것이다. 복잡하다면 시간이 충분하지 않을 수도 있습니다.

나는 내가 모르는 RMI에 관한 것들을 읽었다. 내 문제와 관련이 있는지 알 수 없습니다.

이 질문은 길어질 수 있지만 다른 웹 서비스에 적용 할 때 클라이언트 서버 설정이 자바에서 광범위하기 때문에이 설명을 더 짧은 방법으로 생각할 수는 없습니다.

나는 어떤 제안이나 설명을 주시면 감사하겠습니다. 그러나 지식이 제한되어 있으므로 자세한 내용을 선호합니다.

미리 감사드립니다.

추가하려면 Java 웹 서비스를 스윙 응용 프로그램과 함께 사용하는 것이 좋습니다. 어떤 생각이나 제안?

+0

외부 시스템과의 인터페이스가 무엇인지 알기 전까지 조사 대상을 알 수 없습니다. 알기 쉽게 질문 할 때까지 코드로 해결할 수 없습니다. – Gimby

+0

나는 약간의 관점에서 이것이 좋은 질문이라고 생각하지만, StackOverflow에는 너무 광범위하다고 생각하지만, 누군가이 튜토리얼이나 가이드를 통해이 주제에 대해 알려줄 수 있기를 바랍니다. 아마도 [이 주제] (http://meta.stackexchange.com/questions/88303/where-can-i-ask-questions-for-networking) – Martin

+0

에서 긍정적 인 반응을 보일 것입니다. @Gimby Thanks. 실제로 클라이언트에는 많은 컴퓨터가 없습니다. 내 견적으로, 우리가 개발중인 시스템을 사용하는 데 약 5 대의 컴퓨터가 있습니다. 그래서 그들은 아마 일반 스위치 나 라우터를 사용할 것입니다. Java로하는 법을 알아야합니다. 나는 어떤 제안을 주셔서 감사합니다. 사용할 특정 패키지가 있습니까? 다시 한번 감사드립니다. – p3ace

답변

1

당신은 할 수 :

  • 이 당신의 IDE에
  • 쓰기 RMI API를 자바 프로젝트의 형태로 데이터베이스 상호 작용 (derby examples 확인) 구현
  • 쓰기 API 내장 데이터베이스와 같은 아파치 더비를 선택 (RMI tutorial을 확인) 이전 프로젝트에 의존하여 Java 프로젝트의 형태로 이전 계층을 기반으로 서버 로직을 구현하기 위해
  • RMI 클라이언트 API를 사용하여 스윙 클라이언트를 작성합니다. 그런 다음

을 수행 할 수 있습니다

  • 배포 2 우편 아카이브와 클라이언트/서버 응용 프로그램 클라이언트에 대한 박쥐 스크립트와 코드와 라이브러리 jar 파일, 서버 지퍼와 하나를 포함하는 각 , 당신은 단지 jdk가 PC에 설치되어 있어야합니다.
  • 클라이언트 기본 클래스는 서버 IP 주소를 인수로 사용합니다.
+0

답변 해 주셔서 감사합니다. 전에 Derby를 사용해 보았지만 웹 사이트에서 예제를 구할 수있는 어려움이있었습니다. 그래서 거의 완료되었으므로 mysql을 사용해야 할 수도 있습니다. MySQL을 RDBMS로 사용하고 Java 프로젝트와 함께 포장 할 수 있습니까? 나는 또한 질문이 있지만 일단 프로젝트가 끝나면 설치 프로그램을 만드는 방법에 대한 아이디어가 있습니까? 감사. – p3ace

+0

[IzPack] (http://izpack.org/)은 Java 응용 프로그램을 패키징하는 강력한 도구로 보이며 [GUI] (https://sourceforge.net/projects/devcompack/)도 있습니다. – angcap

0

이것이 도움이된다면 스윙 애플리케이션이므로 애플릿으로 만들 수 있으며 Tomcat과 같은 간단한 앱 서버를 사용하여 배포 할 수 있습니다. 거기에 튜토리얼의 톤이 this one처럼 있습니다.

이제 데이터베이스 측에서 zip 파일로 패키징하여 컴퓨터 (PC1) 중 하나에 mysql을 설치할 수 있으며 애플릿은 모든 컴퓨터에서 연결할 수 있습니다. 설치된 머신의 IP, DB 이름, 스키마, 사용자 ID, JDBC 연결을위한 비밀번호가 필요하기 때문에 모든 머신에 데이터베이스를 설치할 필요가 없습니다.

이렇게하면 기존 응용 프로그램을 클라이언트 - 서버 응용 프로그램으로 만들 수 있다고 생각합니다. 희망이 도움이됩니다.

+0

@Isiva 답변 해 주셔서 감사합니다. 애플릿으로 작업을 시도하지는 않았지만 주로 Swing에서이 옵션을 선택했습니다. 그러나 .exe 형식으로 설치 프로그램을 만들어야 할 수도 있습니다. 스윙 프로젝트를 애플릿으로 변환 할 수있는 방법이 있습니까 (나는 묻지 않고 그냥 묻습니다). – p3ace