Midas Group Ware ' 마이더스그룹웨어 마이더스의손 을꿈꾸며... 마이더스(Midas) 라는단어는그리스신화에나오는미다스왕의이름에서유래되었다. 손이닿는곳마다금으로변한다하여여러분야에서성공자들을빗대어 마이더스의손 이라칭송합니다. 저또한미래의 마이더스의손 을꿈꾸는초보개발자입니다. 이전에잠깐회사생활을하면서, 조직생활에는커뮤니케이션이정말중요하다는것을느꼈습니다. 그리고그런커뮤니케이션을좀더활성화시키기위해서는 GROUP WARE SYSTEM 의편리함과중요성을알게되었습니다. 국내에유명한그룹웨어솔루션들은대게가격이비싸다는단점이있었습니다. 저는마이더스그룹웨어로양질의정보를서로주고받을수있는서비스인프라를제공해업무의효율증진에도움이되는것을목적으로하고있습니다. 또한누구나 MGW시스템을쉽게도입해쓸수있도록유저의인터페이스를단순화하여변경및수정이쉽도록만들었습니다. 월월월월주주주주주주주주주주주주
프로젝트의 Main Frame work는 Model2 MVC 패턴으로설계하고구현하였습니다. 그이유는도입하는유저들로인하여 VIEW Layer 의변경및수정이용이하고, 다소어려운 Core 구조에신경을쓰지않아도되기위함이이었습니다. 이러한규칙을지키기위하여메일서버가필요한메일기능과금융전산시스템이필요한전자결제기능을제한하였습니다. 프로젝트의주목적인커뮤니케이션기능( 지식공유, 커뮤니티게시판등) 에충실하였습니다. (1) 하드웨어환경 구 분 사 양 비 고 CPU intel core2duo 주기억장치 2 GB RAM 보조기억장치 100GB harddisk (2) 소프트웨어환경 구분내용비고 구분내용비고 운영체제 Windows 7 DBMS 개발툴 Oracle Database 10g Express Edition(Universal) Eclipse Galileo 3.5, PLSQL.Developer.v8.0.0.1470, Photoshop CS2 v.9.0, Dreamweaver CS4 운영체제 Windows Xp DBMS Oracle Database 10g Express Edition(Universal) Web Application Apache Tomcat 6.0.24 Server Server Side Language JAVA(JDK 6.0), JSP Client Side Language HTML, JavaScript MVC Model2 : 모델 - 뷰 - 컨트롤러부분으로나뉘어서작업을하게됩니다. - Model은데이터를처리하는일반 Bean 클래스 -View는 JSP - Controller는 Servlet이담당 Model : Business Logic과데이터베이스입출력을담당하는 Layer. View와는독립적입니다. View : 어플리케이션의유저인터페이스만담당, 최소한의코드를이용하여단순하게작성하였습니다. Controller : 어플리케이션의 Flow 를담당합니다. View와 Business Logic 의중재자역할을합니다. 사용자의특정서비스요청을받아서, 해당로직에연결합니다. 세션관리, 권한관리등의기능담당합니다. 각프로세서별로 Front Controller 가역할을담당합니다. FrontController를 Interface 나 AbstractClass 로추상화시킬예정입니다.
분석단계 (Context Diagram, DFD, 미니명세서, 데이터사전) 전반적인데이터의큰흐름을분석하는단계였습니다. Context Diagram - 사용자권한별로프로세스데이터의흐름분석하였습니다. DFD - 어플리케이션내부의데이터상세흐름을분석하였습니다. 미니명세서, 데이터사전 - 데이터베이스에입출력될실제값들과사용될조건이나메서드들을분석하였습니다. 설계단계( 개발환경및명명규칙, ERD, Class Diagram) 정보및자료와업무규칙을결합하여체계적으로모형화하는단계입니다. 명명규칙 - 명명규칙을정하여프로세스마다기능의일관성을유지하였습니다. ERD - 프로세스와데이터간의연관성을도식화하였습니다. Class Diagram - 실제 Core 코드의객체타입을정의하고, 객체의흐름을표현하였습니다. 프로젝트를진행하면서가장많은시간을투자하였습니다. 각각의기능을정의하고프레임웍의흐름을제대로이해하며전체적인구조를작성하였습니다.
4.1.7 다운로드후설치 ( ex: JDK경로는 C: JAVA JDK1.6.0 ) 4.1.8 설치후바탕화면의 " 내컴퓨터" 에서마우스를클릭한다음[ 속성] 을선택하고나서 [ 고급] 탭을클릭, [ 환경변수] 를클릭 4.1 JDK 6.0 설치 4.1.1 http://www.java.sun.com 접속 4.1.2 우측하단 Java SE(Standard Edition) 클릭 4.1.9 시스템변수[ 새로만들기] 클릭 4.1.10 3개의시스템변수설정 -> -> 4.1.3 Java SE Development Kit(JDK) 다운로드 4.1.11 테스트-> [ 시작]-[ 모든프로그램]-[ 보조프로그램]-[ 명령프롬프트] 나 [ 시작]-[ 실행] 에서 CMD 를입력하고, 콘솔명령프롬프트에서 java,javac,javap를입력밑에그림처럼나오면설치완료 4.1.4 좌측에보이는메뉴에서 <Continue> 클릭 4.1.5 메시지창무시후 <Skip this Step> 클릭 4.1.6 jdk-6u17-windows-i586.exe 클릭한후다운로드
4.2 Apache Tomcat 6.0.24 설치 4.2.7 설치폴더설정 4.2.8 4.2.1 아파치톰캣사이트들어가기 4.2.2 메인화면에서 Download Tomcat 6.x 선택 4.2.9 JRE경로설정 4.2.10 포트번호 8080,ID/PW설정 4.2.3 다운로드패키지선택 (Core Windows Service Installer) 4.2.11 4.2.12 4.2.13톰캣설치완료 4.2.14 톰캣실행후 Start 클릭 4.2.4 다운로드 (apache-tomcat-6.0.24.exe) 4.2.5 설치시작
4.3 Oracle Database 10g Express Edition(Universal) 설치 4.3.1 http://www.oracle.com/technology/products/database/xe/index.html 사이트이동 4.4 Eclipse galileo 3.5 설치와아파치톰캣연동 4.4.1 http://www.eclipse.org/downloads/ 에서 4.3.2 본문중 [ Download Oracle Database 10g Express Edition ] 클릭 4.3.3 [ Oracle Database 10g Express Edition for Microsoft Windows ] 클릭 4.3.4 Oracle Database 10g Express Edition (Universal) [ OracleXEUniv.exe (216,933,372 bytes) ] 다운로드후설치설치중 DBA 계정비밀번호생성 를클릭해서 eclipse 를다운받는다. 4.4.2 압축을풀고 eclipse/plugins 폴더에아파치톰캣플러그인을설치한다. 플러그인은 http://www.eclipsetotale.com/tomcatplugin.html#a3 에서 4.3.5 설치후톰캣과포트번호 8080 중복이되므로오라클포트번호변경 (sqlplus 접속시 DBA 계정로그인) 클릭후다운받은파일을 eclipse/plugins 폴더에압축을푼다. 4.4.3 eclipse 를실행하면위쪽에 이것이뜨는지확인한다. 4.4.4 메뉴에서 window->preferences->server->runtime Environments에서 Add 버튼클릭한다. 4.4.5 Apache Tomcat v6.0클릭후 Next 4.4.6.Browse 를눌러서설치된아파치톰캣폴더를지정한다. Finish 를누르면설정이끝난다.
4.5 자카르타컨넥션풀셋팅 4.5.1 JAR 파일다운로드 commons-collection-3.2.1-bin.zip commons-dbcp-1.2.3.zip commons-pool-1.5.4.zip 4.5.2 톰캣 Lib 폴더에복사 4.5.3 프로젝트폴더하위에 META-INF폴더생성 4.5.6 WEB-INF폴더하위에 web.xml 에 mapping 정보추가 <servlet-name>empcontroller</servlet-name> <servlet-class>mgw.command.emp.empcontroller</servlet-class> </servlet> <servlet-mapping> <servlet-name>controller</servlet-name> <url-pattern>*.emp</url-pattern> </servlet-mapping> 4.5.4 META-INF폴더하위에 Context.xml 파일생성 <Context> <Resource name="jdbc/mgwdb" // 리소스네임 auth="container" type="javax.sql.datasource" username="midas" // 유저네임 password="ss1234" // 패스워드 driverclassname="oracle.jdbc.driver.oracledriver" factory="org.apache.tomcat.dbcp.dbcp.basicdatasourcefactory" url="jdbc:oracle:thin:@119.200.53.32:1521:xe" //jdbc url maxactive="500" maxidle="100"/> </Context> <servlet-name>approvalcontroller</servlet-name> <servlet-class>mgw.command.approval.approvalcontroller</servlet-class> </servlet> <servlet-mapping> <servlet-name>approvalcontroller</servlet-name> <url-pattern>*.app</url-pattern> </servlet-mapping> 프로세스별 MAPPING 추가... 4.5.5 WEB-INF폴더하위에 web.xml 에 <resource-ref> 태그내용추가 <resource-ref> <description>madasgroupware</description> <res-ref-name>jdbc/mgwdb</res-ref-name> // 리소스네임 <res-type>javax.sql.datasource</res-type> <res-auth>container</res-auth> </resource-ref> 2.5.7 DB 연결테스팅 <%@ page language="java" contenttype="text/html; charset=euc-kr"%> <%@ page import="java.sql.*"%> <%@ page import="javax.sql.*" %> <%@ page import="javax.naming.*" %> <%
Connection conn = null; 로그인 지식관리 try { Context init = new InitialContext(); DataSource ds = (DataSource) init.lookup("java:comp/env/jdbc/mgwdb"); // 리소스네임 conn = ds.getconnection(); out.println(" 연결되었습니다!!"); }catch(exception e){ out.println(" 연결실패!!"); e.printstacktrace(); } %> 4.5 Midas.war Midas.war 파일을톰캣의 WeppApps폴더에넣고톰캣을재시작하면배포파일이풀리면서자동으로생성됨( 소스파일도포함되어있음) 커뮤니티 일정관리 인터넷익스플로러실행후 URL 창에아래의주소입력 사내정보 관리자 ID : adim PW : admin 일반 ID : user PW : 1111 그외의서비스준비중이거나개발제한사항에대한 POP-UP 이외에도회원가입시관리자기능을제외하고모든기능이사용이가능합니다. 일정관리기능은익스플로러팝업을해제해야실행됩니다.
Midas.war파일첨부그외의어플리케이션파일및패키지파일은작품설치방법참조