본문 바로가기
조회 수 661 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
대학교 2학년때 데이터베이스를 배우면서 교수님이 하신 말씀 중에 "프로그램을 짤 때 가급적 데이터베이스 서버내에서 돌리면 좋다." 라고 하신 적이 있다. 
당시에는 그게 무슨 소리인지 이해할 수가 없었다. 
 
병원 프로그래밍, 뭐 다른 SI업계도 마찬가지겠지만 환경이 모두 다르기 때문에 같은 유형의 프로그램이더라도 병원마다 환경이 다르고 사람이 다르기 때문에 어쩔 수 없이 소스코드가 달라진다. 그 중 하나가 데이터베이스 쿼리.. 쿼리가 코드안에 있게 되면 즉 하드코딩되어 있다면 당연히 이것때문에 라도 병원 별로 코드가 달라지게 된다. 
 
솔루션 내부에서 사용되는 쿼리는 달라질 것이 없으므로 본 요지에서는 병원과 솔루션 간 인터페이스에 대해서 이야기 해보자. (다른 SI업계도 마찬가지겠지? 어딜가나 이기종간의 시스템 인터페이스가 가장 솔루션화 하기가 어렵다. 솔루션화가 되지 않는다면 고객 수가 늘어날 때마다 관리포인트가 많아지고 내부유지보수 비용이 늘어난다.)
 
인터페이스 라고하면 상호간 Select(1)해서 로컬 Select(2)한 후, Insert(3) or Update(4)이다.
많아봐야 쿼리는 6개 ~ 8개
 
방안1. 하나의 트랜잭션을 프로그램에서 돌리고 이 쿼리를 밖으로 뺀다. (INI, XML 등의 파일형태로)
  장점: 젤 편하다. 
  단점: 한계가 있다. Select 컬럼개수가 달라질 경우? T_T
 
방안2. Select할 컬럼을 각각 설정이 가능하도록 하고 Insert/Update할 컬럼과 매핑하는 부분을 모두 설정할 수 있도록 프로그래밍 한다. 
  장점: 한계는 없다. 
  단점: 배보다 배꼽이 더 커진다. 프로그래밍 뿐만 아니라 설정하는 사람도 분명 복잡하다고 느낄 것이다. 
 
방안3. 스토드 프로시저 사용
  장점: 코드가 짧아진다. 같은 DB일 경우 궂이 프로그램으로 돌릴 필요도 없어진다. 
  단점: 병원 DB가 다양하기 때문에 DB별 프로시저를 죄다 만들어야 한다.
코드가 오픈이 된다. (암호화 하면 될지도)
병원에서 DB를 오픈하지 않는 경우 못한다. 가끔 보안상의 이유로 DLL만 주는 경우도 있다. 
 
필자는 방안1을 주먹구구식으로 개발할 때 사용하고 시간이 나면 방안3을 사용한다. 방안2는 비추.. 생각은 했는데 막상 그런 프로그램을 보니 이해하기가 어려웠다.  
 
인피니트에 있을 때 분당제생병원에서 LG CNS가 하는 방식을 보고 깨작깨작 조금 적용하고 1300 패키지 준비하면서 완전히 개발방식을 틀어버렸었다. 방안3을 구현하기 위해서 말이다. 그때 아마 나 때문에 고생한 사람들이 많았을 것 같다. 뭐 프로시저는 내가 어느정도 다 짜긴 했지만... 
그 결과물은 내 인피 마지막 프로젝트 였던 아주대병원이었다. 그때 예상대로 유지보수도 맺지 않고 프로시저들 수정도 거의 하지 않은채 지금까지 잘 돌고 있는 것 같다. 
 
코드에서는 프로시저만 호출하면 되기 때문에 엄청나게 가벼워지고 단순해졌다. 프로시저를 이해하지 못하고 배우기를 꺼려한다면 물론 이 방법을 원치 않는 사람도 많을 것이다. 

알림터

엔조이데브 쥔장의 알림터입니다.

List of Articles
번호 분류 제목 날짜 최근 수정일 조회 수
52 홈피소식 홈페이지 Ver.7 리뉴얼 file 2016.07.19 2016.07.19 175
» 쥔장소식 프로그램 코드 < 데이터베이스, 당신은? 2014.06.08 2016.07.19 661
50 쥔장소식 쥔장이 생각하는 객체지향(OOP) 개발방법론 2015.02.02 2016.07.19 280
49 저의 대학원 논문 디지털 승인 메일이 왔네요. file 2012.12.28 2015.07.06 2673
48 쥔장소식 이것저것 취미생활이 변경되네.. 2013.08.12 2013.08.12 2319
47 그외 웨어러블 기기에 들어갈 수 있는 센서정리 2015.02.09 2016.07.19 189
46 쥔장소식 우울한 날 ~ 여수로 달리다. file 2013.05.28 2018.07.03 2280
45 쥔장소식 우울한 날 ~ 구글에서 내이름을 검색하다 발견 2013.05.03 2013.05.03 2510
44 그외 오픈소스 CMS 2013.04.22 2013.04.23 2752
43 홈피소식 오랜만에 와서 Xe플랫폼 버전 업그레이드 하였습니다. 2018.02.21 2018.02.21 118
42 홈피소식 엔조이데브 서브 홈페이지 2020.11.12 2020.11.12 154
41 홈피소식 엔조이데브 로고 file 2020.11.11 2020.11.12 144
40 홈피소식 엔조이데브 Ver. 5 - 리뉴얼 하였습니다. file 2012.01.12 2018.07.03 3222
39 쥔장소식 악.. VS2012... file 2013.04.02 2018.07.03 2774
38 쥔장소식 아 드뎌 실마리가........ 2013.04.24 2013.04.24 2436
37 세미나 실제 사례를 통해보는 빅데이터/클라우드/HTML 세미나 소개 file 2013.04.18 2018.07.03 2489
36 그외 쉽게 PDF에서 워드로 변환해주는 사이트 2015.07.10 2015.07.10 803
35 그외 숭실대학교 정보과학대학원 2014년도 (전기) 신/편입생 모집 file 2013.10.21 2013.10.21 3265
34 그외 숭실대학교 소프트웨어 특성화대학원 ~ 2년 과정 무료 2012.10.24 2013.04.18 3000
33 쥔장소식 석사논문 학교도서관 제출 완료!! 2012.06.29 2013.04.18 2849
Board Pagination Prev 1 2 3 Next
/ 3