33
Manage Book Program (Client/ Server UI) Java – Swing C# - 1) WPF When : 2015-7-22 1) WPF(Windows Presentation Foundation) – 윈윈윈 윈윈 윈윈윈윈 윈윈 윈윈윈윈윈 윈윈윈 : 윈윈윈 , 윈윈윈

Manage book project

Embed Size (px)

Citation preview

Page 1: Manage book project

Manage Book Program(Client/ Server UI)

Java – SwingC# - 1)WPF

When : 2015-7-22

1) WPF(Windows Presentation Foundation) – 윈도우 응용 프로그램 개발 프레임워크

개발자 : 한정수 , 안병현

Page 2: Manage book project

목 차1. 구성

2. 구현 - User Interface - Server application(JAVA) - Client application(C#) - Linux Server Program with JAVA/C#

- Environments of Operation System(Linux, Windows) - Linux : Database(MYSQL), 방화벽 등 .

- Prototypes of function/Src - Java - C#

참고 문헌

Page 3: Manage book project

User Interface

Page 4: Manage book project

User InterfaceSwing & WPF

· Swing – 한정수 (JAVA)Java 의 UI 를 구성하는 각 패키지를 이용하여 구성

· WPF – 안병현 (C#)WinForm 의 특정 기능을 개선된 xml 을 이용하여 구성

· 실행 권유 사항Swing – JDK 설치 및 .jar 실행파일 지원C# - .NET Framework 설치 , Windows 지원하는 OS

Page 5: Manage book project

Structure구성

RDB(Mysql)

C#(WPF), C/C+

+CJAVA

< Client(Windows) >< Manager(Windows) > < Server(Linux) >

Page 6: Manage book project

Server application

서버 프로그램이 실행되지 않았을 때

입력한 아이디가 존재하지 않을 때

비밀번호를 잘못 입력했을 때

도서관리 – 프로그램 시작

Page 7: Manage book project

Server application도서관리 – 도서 현황

Page 8: Manage book project

Server application도서관리 – 도서 추가

Click !

Page 9: Manage book project

Server application도서관리 – 도서 찾기 ( 제목 )

검색어와 비슷한 이름을 가진 책 모두 검색

Page 10: Manage book project

Server application도서관리 – 신청 도서 허가

Click !

여러 개 선택 가능

Page 11: Manage book project

Server application고객관리 – 고객 현황

더블 클릭시

Page 12: Manage book project

Server application고객관리 – 고객 검색

아이디와 핸드폰으로 검색이 가능

Page 13: Manage book project

Server application고객관리 – 가입 허가

Click !

Page 14: Manage book project

Server application매출관리 – 수입 및 지출 확인

Page 15: Manage book project

Client applicationLogin

Page 16: Manage book project

Client applicationMain Interface

Page 17: Manage book project

Client application도서 신청 & 검색 에러

< 도서 신청 > < 검색 에러 >

Page 18: Manage book project

Client application실시간 검색

검색어 : a

검색어 : and

Page 19: Manage book project

Client application도서 반납

예(Y)

Page 20: Manage book project

Client application도서 대여

Page 21: Manage book project

Client application활용 예

Page 22: Manage book project

Linux server with JAVAServer program1

서버 -> 헤더 + 데이터 -> 관리자

헤더에는 찾는 정보의 row 개수와 column 개수를 담고 있다 .

Data Format

Page 23: Manage book project

Linux server with C#Server program2

< prgram_serv > < prgram_connecting >

※ 가린 부분은 IP 주소

Page 24: Manage book project

Environments of OSLinux

Page 25: Manage book project

Environments of OS - Linux환경 설정

기본 환경· Cent OS Release 6.1· Mysql(5.1.73)· GCC version-4.4.7

기타 환경· 방화벽은 ‘ iptable –F’ 로 Flash 시킴 .· VM ware 로 돌리지 않고 실제 IP 사용함 .

Page 26: Manage book project

Environments of OS - LinuxMysql tables

· proj_borrowed_book - 빌린 도서 목록

· proj_incomes_list - 수입 목록

· proj_manage_books - 현재 보유 중인 도서 목록

· proj_manage_client - 현재 가입된 고객 목록

· proj_required_books - 고객이 요청한 도서 목록

· proj_spends_list - 지출 목록

Page 27: Manage book project

Prototypes of function - JAVASource - Windows

· _Login.java 로그인 화면

· _Library.java Manage 의 UI - _PanelBook.java - 도서에 관한 UI

- BookAdd.java- BookPermission.java- BookSearch.java- BookShow.java

- _PanelClient.java - 고객에 관한 UI- ClientAdd.java- ClientInform.java- ClientPermission.java- ClientSearch.java- ClientShow.java

- _PanelMoney.java - 매출에 관한 UI- MoneyIncome.java- MoneySpend.java

· Sock_Sock.java 소켓 생성 및 데이터 교환 - Sock_Add.java - Sock_Get.java

Page 28: Manage book project

Prototypes of function/Src – C#Source - Windows

· MainWindow.xaml.cs 로그인 화면

· BooklistMain.xaml.cs Client 의 주 UI

· SendJoinForm.xaml.cs 회원 가입 신청 UI

· SendRequestBookData.xaml.cs 도서 신청 UI

· ShowBorrowedlist.xaml.cs 도서 대출 내역 UI

· OperatingMethodFromDLL.cs C/C++ 로 짠 소켓 기능을 가져온 클래스

Page 29: Manage book project

Prototypes of function/Src – C/C++Prototype - Windows

· __declspec( dllexport ) wchar_t* OperatingCommand(int menu, wchar_t* data1, wchar_t* data2);

· __declspec( dllexport ) wchar_t* AccessToServer(wchar_t* ip, wchar_t* port);

· __declspec( dllexport ) void CloseConnection();

· __declspec( dllexport ) int IsConnected();

· __declspec( dllexport ) wchar_t* IsConnected_(wchar_t* ip, wchar_t* port);

Written by C language and convert to C++ language for that interconvert with any .NET Framework language about variables. (DLL)

Page 30: Manage book project

Prototypes of function/Src – C/C++Prototype - Linux (operate with JAVA(Windows))

Server.h

void db_conn();void err_print(); void getData(); void sendData(int msgsock);int recieveData(char sbuf[]);void login(char name[]);

void addBook(char * add[]);void allShow();void nameSearch(char name[]);void authorSearch(char name[]);void publishSearch(char name[]);int total_page();void bookPermission();void requestBookDelete(char name[]);

void clientAllShow();void clientAdd(char * add[]);void clientNameSearch(char name[]);void clientPhoneSearch(char name[]);void clientPermission();void clickTable(char name[]);void clickTable2(char name[]);void deleteClient(char name[]);void requestDelete(char name[]);

void spending(int name);void showSpend();void showIncome();void showSpendMoney();void showIncomeMoney();

공통

고객

매출

Page 31: Manage book project

Prototypes of function/Src – C/C++Prototype - Linux (operate with C#(Windows))

void dbconn();void error_print();void get_result();

void put_query(char* query);void put_query_for_result(char* query);

void getBookDatas(char** temp_memory);char* act_Borrow(char* cid, char* bookid);int canBorrow(char* cid,char* bookid);void registRequiredBook(char book_data[], const char * ip);

void getBorrowedBookDatas(char** temp_memory, char* cid);void act_Return(char* cid, char* bookid);void temporaryRegistClient(char client_data[], const char * ip);

char* act_Login(char* id, char* password);

void error_handling(char* msg);void* client_thread_main(void * arg);

int clnt_cnt;int clnt_socks[MAX_CLNT];pthread_mutex_t mutx;

proj_db.h

proj_funcs.h

proj_network.h

Page 32: Manage book project

참고 문헌

Page 33: Manage book project

참고 문헌[1] Androw Troelsen, C# and the .NET 4 Platform, 지 & 선 , 2013.

[2] 윤성우 , 윤성우의 열혈 TCP/IP 소켓 프로그래밍 , 오렌지미디어 , 2009

[3] 황기태 외 1, 명품 JAVA Programming 개정판 , 생능출판사 , 2031