manage book project
TRANSCRIPT
![Page 1: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/1.jpg)
Manage Book Program(Client/ Server UI)
Java – SwingC# - 1)WPF
When : 2015-7-22
1) WPF(Windows Presentation Foundation) – 윈도우 응용 프로그램 개발 프레임워크
개발자 : 한정수 , 안병현
![Page 2: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/2.jpg)
목 차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](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/3.jpg)
User Interface
![Page 4: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/4.jpg)
User InterfaceSwing & WPF
· Swing – 한정수 (JAVA)Java 의 UI 를 구성하는 각 패키지를 이용하여 구성
· WPF – 안병현 (C#)WinForm 의 특정 기능을 개선된 xml 을 이용하여 구성
· 실행 권유 사항Swing – JDK 설치 및 .jar 실행파일 지원C# - .NET Framework 설치 , Windows 지원하는 OS
![Page 5: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/5.jpg)
Structure구성
RDB(Mysql)
C#(WPF), C/C+
+CJAVA
< Client(Windows) >< Manager(Windows) > < Server(Linux) >
![Page 6: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/6.jpg)
Server application
서버 프로그램이 실행되지 않았을 때
입력한 아이디가 존재하지 않을 때
비밀번호를 잘못 입력했을 때
도서관리 – 프로그램 시작
![Page 7: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/7.jpg)
Server application도서관리 – 도서 현황
![Page 8: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/8.jpg)
Server application도서관리 – 도서 추가
Click !
![Page 9: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/9.jpg)
Server application도서관리 – 도서 찾기 ( 제목 )
검색어와 비슷한 이름을 가진 책 모두 검색
![Page 10: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/10.jpg)
Server application도서관리 – 신청 도서 허가
Click !
여러 개 선택 가능
![Page 11: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/11.jpg)
Server application고객관리 – 고객 현황
더블 클릭시
![Page 12: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/12.jpg)
Server application고객관리 – 고객 검색
아이디와 핸드폰으로 검색이 가능
![Page 13: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/13.jpg)
Server application고객관리 – 가입 허가
Click !
![Page 14: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/14.jpg)
Server application매출관리 – 수입 및 지출 확인
![Page 15: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/15.jpg)
Client applicationLogin
![Page 16: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/16.jpg)
Client applicationMain Interface
![Page 17: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/17.jpg)
Client application도서 신청 & 검색 에러
< 도서 신청 > < 검색 에러 >
![Page 18: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/18.jpg)
Client application실시간 검색
검색어 : a
검색어 : and
![Page 19: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/19.jpg)
Client application도서 반납
예(Y)
![Page 20: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/20.jpg)
Client application도서 대여
![Page 21: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/21.jpg)
Client application활용 예
![Page 22: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/22.jpg)
Linux server with JAVAServer program1
서버 -> 헤더 + 데이터 -> 관리자
헤더에는 찾는 정보의 row 개수와 column 개수를 담고 있다 .
Data Format
![Page 23: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/23.jpg)
Linux server with C#Server program2
< prgram_serv > < prgram_connecting >
※ 가린 부분은 IP 주소
![Page 24: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/24.jpg)
Environments of OSLinux
![Page 25: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/32.jpg)
참고 문헌
![Page 33: Manage book project](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55d384f7bb61eb3f3f8b4613/html5/thumbnails/33.jpg)
참고 문헌[1] Androw Troelsen, C# and the .NET 4 Platform, 지 & 선 , 2013.
[2] 윤성우 , 윤성우의 열혈 TCP/IP 소켓 프로그래밍 , 오렌지미디어 , 2009
[3] 황기태 외 1, 명품 JAVA Programming 개정판 , 생능출판사 , 2031