2013년 3월 1일 금요일

나의 이야기 2012.08 LGU+ KICS 통신사 Agent



 제목: LGU+ KICS 통신사 Agent
 기간: 2012.08-2012.12
 TOOL: VC++8.0, FLEX 빌더 4.6( KICS 시뮬레이션서버)
 OS  : Windows 2008 Server
 기술: C/C++, XML, FTP, XLS, ZIP, TCP/IP, Flex AIR, Oracle Ole DB,MagicAPI
 성격: Server/Client Agent 수집 및 연동 서버 : EXE
      1. Xml, Zip 파일 수신 및 저장
      2. Xml 파싱 및 데이터 수집
      3. CSV 파싱 및 데이터 수집
      4. Zip 파일 앞축 및 해제
      5. LGU Data DB 연결및 조회 및 등록
      6. MagicAPI 암/복호화
      7. Flex AIR 를 이용하여 KICS test Server 구현 및 테스트
      8. 통신자료 수정보완
      9. 통신사실 신규 개발완료 적용
     10. 이미지 인쇄 및 이미지 문서 발행

 역활: 분석, 설계, 개발

하나의 프로그램에서 가장 다양한 스킬이 적용된 서버 프로그램 개발 경험을
가지게 한 프로젝트 인듯 합니다.

그중의 하나는
xml 및 Zip 파일을 송수신하고 앞축을 풀고, 다시 앞축하고
Xml 데이터를 추출하고 다시 Xml 문서를 생성하기도 합니다
Xml 이용하는 곳이 많은 만큼 매우 유용한 기능의 구현입니다.

또한 미리준비한 jpg또는 tiff 이미지 문서에 데이터를 직접작성해서
인쇄 발행하고 전송해주는 기능은 FAX서버를 대신 할수 있게 합니다.
또한 워드프로세서의 기능도 대체할수 있게 해줍니다.

멀티 DB 조회및 데이터 전송 및 사고시 복구기능 과
지정한 파일서버에 Ftp를 이용해서 자동으로 파일을 수신하고
수신한파일을 앞축해서 서버로 전송하는것등은 복잡한 프로세서이지만
꼭필요로 하는 곳이 많은 기능입니다.

내용상 비밀을 요하는 업무기능이 많은 만큼 개발기능을 언급하는 정도로
마무리합니다.




나의 이야기 2011.09 IntelliVMS 프로젝트


제목: IntelliVMS
기간: 2011.09-2012.07
TOOL: FLEX 빌더 4.6
OS : Windows
기술: Flex, WSDL, SOAP, HTTP Service, XML
성격: 컴포넌트: SWF
1. 복합 VCAM 및 VCAM 그룹관리 Map Editor 개발
2. 복합 VCAM 및 VCAM 그룹관리 Map Viewer 개발
3. 라이센스 관리, VCAM 관리, Distributor 관리, Analyzer/Recorder관리
사용자관리, 역활관리, 로그조회, 기타설정관리
4. Event 정보 수신 및 관리
5. 로그인 및 로그인 사용자 정보 관리
6. HTTP Service/ SOAP 개발
역활: 분석, 설계, Web Clint 컴포넌트 개발

(화면은 데모화면입니다.)

FLEX 로 구현한 영상관리 프로그램입니다.
왭상에서 웹회면의 전부를 차지 할수도 있으며, 일부 화면으로도 사용할수 있습니다.

화면상 다양한 메뉴를 아이콘과 단선도를 이용하여 표시할수 있는 기능을
가지고 Windows 응용프로그램이 가지는 모든 기능을 구현할수 있는 Flex는
대단히 유용한 스킬입니다.

구현기능중 SOAP 2.0 은 원래 FLEX가 지원하지 않은 기능이지만
수정가능한 구성Lib를 수정하므로 SOAP2.0을 이용한 데이터 통신을 구현했습니다.

원래 HTTP Service를 이용해 구성한 플렉스 기능을 데체하였고
이것은 보안이 필요한 서버와의 통신을 안전하게 만들어주는 것이기도 합니다.

플랙스로 업무용 프로그램을 구현하였으며
원래의 화려한 그래픽 기능도 그대로 이용한 프로젝트 였습니다.



2013년 1월 1일 화요일

나의이야기 2011.08 61850 HMI Editor

2011.08 61850 HMI Editor

제목: 61850 HMI Editor
기간: 2011.07-2011.08
TOOL: FLEX 빌더 3.0/ VC++6.0/VC++8.0
OS : Windows
기술: Flex 액션 스크립트, C++ , C#
성격: 컴포넌트: SWF, ActiveX, C# Main App, Editor
1. BUS, BUS TIE, BUS STATION 및 장비 ,CB,DS,ES 등
2. 통합 기능 개발 Graphic ToolKit , HMI 프로젝트 관리
3. Drag and Drop 방식의 모든 작업
4. ICON 등록작업, 선연결 작업 및 속성 정보 수정이 간단하고 동기화 됨
5. 미니맵을 이용한 자유로은 이동 및 편집 기능
6. 자동화된 장비 연결 및 버스 단위 그룹이동
7. 자동화된 사활선 등록/수정/삭제 - 스스로 알아서 버스와 함께 연결되어
버스선처럼 보임
역활: 분석, 설계, 61850 HMI Editor 엔진 개발
이것은 단순히 엔진이 아니라 모든것을 수정가능하게 하는 에디터 입니다.
즉 엔진 + 에디터(Editor) 입니다.
FLEX 를 Base로 만들었으므로 ActiveX 를 데체할 수 있습니다. 자체 통신가능도 가지고 있으므로
ActiveX 가 막히고 있는 가운데 가장안전한 Web Tool 이 될것입니다.
Hmi 에 대한 1차 마무리 입니다.
사정상 개발을 시작한지 1.0 (4주) 개월 정도 진행한 것이지만
엔진 개발이 주 목적이 이 었으므로 마무리 지었습니다.
나머지는 UI 와 61850 API 와의 데이터 연동 입니다.
엔진도 나름이지만 61850 데이터 연동도 막대한 작업이
필요로 할것입니다.




위 그림은 버스와 버스 타이 버스 스테이지션이 모두 연결되었습니다.
각 단의 붙어 있는 DS,ES,CB 등 모두 버스와 함꼐 움직입니다.

위 그림은 속성정보를 편집해서 간단하게 버스의 색상을 변경 해줍니다.
좀더 발전한다면 각 간의 전류 전압정보 까지 DISPLAY 윈도우로 보여 줄수 있습니다.
현제 개발은 여기까지 입니다만
숨어 있는 한가지는 사활선 입니다. 색상이 바뀌는 모든 항목들은 사실은 모두 윈도우 입니다.
장비 연결에 따라 모두 자동 생성 삭제 됩니다.
전류의 흐름 방향 표시 및 고장으로 전류 공급이 중단된다면 이 선들이 표시해 줄겁니다.
물론 표시 알고리즘이 적용 되어야 겠습니다.
(*) 화면에 흰색 사각형은 영역지정 입니다. - 후에 원하는 영역만 확대해서 표시되거나 해당 위치로
자동 위치 이동을 가능하게 해줍니다.
(*) 장비의 크기가 제 각각인것은 모든 장비의 사이즈를 마음대로 수정할수 있게 한것 때문입니다.
사이즈 고정을 원하는 경우 고정하는 기능을 추가하면 되겠죠

나의이야기 2011.06 개발툴 SCL 61850 Editor Project

2011.06 개발툴 SCL 61850 Editor Project
가 이제 완료 되었습니다~
이 프로젝트의 개발자 백승기 입니다.
개발사: Nexchal
the source code created by My fingers on the keyboard. and compiling by compiler.
and execution of Software is Shows a very large interest
For example, After developing a small program, you will see the advantages and disadvantages.
It complements the weakness of the program. In addition, the program will have more features.
Such expectations is to create new software. I was making a software. The software is used to other people.
All that proud.
Software development is harder. And many debug work are also required
Such experiences help us to create software more quickly. More bug-free program, to develop more creative.
From 1992 to 2011 now, all my software has been developed
In our country, it was long-term. Personally,i know I'm standing on the other start point.
Many programmers are a lot of work in Korea. Sometimes one of the programmers are responsible for one project. It is often.
Many projects have performed,thanks. It is possible only in Korea.
61850 SCL Editor recently developed is a typical project. If necessary, Software will be sent to be tested.
기간: 2010.11-2011.06 (예상보다 빨리 완성하였습니다. )
TOOL: FLEX 빌더 3.0/ VC++6.0/VC++8.0
OS : Windows
기술: Flex 액션 스크립트, C++ , C#
성격: 컴포넌트: SWF, ActiveX, C# Main App, Editor
1. Substation/Voltage/Bay 각 Level 별 구성정보관리 그래픽 개발 TOOL
2. 통합 기능 개발 Graphic ToolKit , SCD 프로젝트를 관리
3. SSD, CID Export 기능
4. 61850 표준 기능지원 SCD 와 화면정보를 포함하는 Slf (자체파일) 관리
5. Drag and Drop 방식의 모든 작업
6. ICON 등록작업, 선연결 작업 및 속성 정보 수정이 간단하고 동기화 됨
7. 미니맵을 이용한 자유로은 이동 및 편집 기능
역활: 분석, 설계, 61850 SCL Editor 개발

지난 5월 20일 완료보고 함으로 마무리 지었습니다.
물론 보고한 사람은 다른 사람입니다 만
성공리에 완료된것이 기쁩니다.
다른 경우에는 데모버젼을 올렸지만 이프로젝트의 경우엔 데모버젼을 올릴수 없네요~
데모버젼이라도 칼키사의 SCL Editor 의 판매버젼과 거의 같은 기능을 가지고 있기 때문이지요~
이 그림은 XML Viewer 쪽입니다. (Edit 기능을 가지지만 현재 버젼에서는 Viewer만 제공합니다.)
XML 코드는 자동으로 추가 되거나 삭제 됩니다.
즉 사용자가 XML 코딩을 하지 않습니다.
XML 코드를 변경하기 위해서는 화면상에 UI 를 수정하거나 속성을 고치면 되도록 돠어 있습니다~

이 Software 는 Kalki 사의 SCL Manager 와 같거나 더 나은 기능을 가지고 있습니다.
물론 일부분에서 그런것입니다.
20년 전통의 회사를 단지 한사람이 6~8개월동안 개발한것으로 이긴다면 안돼겠지요~
여기까지의 결과물에 대하여 매우 기쁘게 생각하며
하나님꼐 감사드립니다...

나의이야기 2011.06 개발툴 SCL 61850 Editor Project

2011.06 개발툴 SCL 61850 Editor Project
가 이제 완료 되었습니다~
이 프로젝트의 개발자 백승기 입니다.
개발사: Nexchal
the source code created by My fingers on the keyboard. and compiling by compiler.
and execution of Software is Shows a very large interest
For example, After developing a small program, you will see the advantages and disadvantages.
It complements the weakness of the program. In addition, the program will have more features.
Such expectations is to create new software. I was making a software. The software is used to other people.
All that proud.
Software development is harder. And many debug work are also required
Such experiences help us to create software more quickly. More bug-free program, to develop more creative.
From 1992 to 2011 now, all my software has been developed
In our country, it was long-term. Personally,i know I'm standing on the other start point.
Many programmers are a lot of work in Korea. Sometimes one of the programmers are responsible for one project. It is often.
Many projects have performed,thanks. It is possible only in Korea.
61850 SCL Editor recently developed is a typical project. If necessary, Software will be sent to be tested.
기간: 2010.11-2011.06 (예상보다 빨리 완성하였습니다. )
TOOL: FLEX 빌더 3.0/ VC++6.0/VC++8.0
OS : Windows
기술: Flex 액션 스크립트, C++ , C#
성격: 컴포넌트: SWF, ActiveX, C# Main App, Editor
1. Substation/Voltage/Bay 각 Level 별 구성정보관리 그래픽 개발 TOOL
2. 통합 기능 개발 Graphic ToolKit , SCD 프로젝트를 관리
3. SSD, CID Export 기능
4. 61850 표준 기능지원 SCD 와 화면정보를 포함하는 Slf (자체파일) 관리
5. Drag and Drop 방식의 모든 작업
6. ICON 등록작업, 선연결 작업 및 속성 정보 수정이 간단하고 동기화 됨
7. 미니맵을 이용한 자유로은 이동 및 편집 기능
역활: 분석, 설계, 61850 SCL Editor 개발

지난 5월 20일 완료보고 함으로 마무리 지었습니다.
물론 보고한 사람은 다른 사람입니다 만
성공리에 완료된것이 기쁩니다.
다른 경우에는 데모버젼을 올렸지만 이프로젝트의 경우엔 데모버젼을 올릴수 없네요~
데모버젼이라도 칼키사의 SCL Editor 의 판매버젼과 거의 같은 기능을 가지고 있기 때문이지요~
이 그림은 XML Viewer 쪽입니다. (Edit 기능을 가지지만 현재 버젼에서는 Viewer만 제공합니다.)
XML 코드는 자동으로 추가 되거나 삭제 됩니다.
즉 사용자가 XML 코딩을 하지 않습니다.
XML 코드를 변경하기 위해서는 화면상에 UI 를 수정하거나 속성을 고치면 되도록 돠어 있습니다~

이 Software 는 Kalki 사의 SCL Manager 와 같거나 더 나은 기능을 가지고 있습니다.
물론 일부분에서 그런것입니다.
20년 전통의 회사를 단지 한사람이 6~8개월동안 개발한것으로 이긴다면 안돼겠지요~
여기까지의 결과물에 대하여 매우 기쁘게 생각하며
하나님꼐 감사드립니다...

나의이야기 2010.11.01 Flex 단선계통도 컴포넌트 프로젝트

2010.11.01 Flex 단선계통도 컴포넌트 프로젝트
BY 백승기 (haneter) and thanks to the load
개발기간 2010.09.01 ~ 2010.10.31
작업툴: FLEX 빌더 3.0
언어: Flex 액션 스크립트
구조: 계층별 Map 구성정보 관리
성격: 컴포넌트 (SWF)
데모를 직접 감상하실수 있습니다.
이것은 데모라 종종 미니맵이 뜨지 않을수 있습니다. ( 완성됀 버젼은 프로젝트에 이미 적용중입니다. )
미니맵이 퍼렇게 보이시면 미니맵 [-] 박스 바로 밑에 마우스로 사각형을 클릭하시고 이동하시면 바로 보입니다.
( 확대 축소바를 움직이면 더 쉽게 볼수 있습니다.)
원래 원격 파일을 로드하도록 만든 프로그램을 임시로 데모로 만들려고 하니 만든 버그지만 (데모이니 부디 자비를)
(*) 마우스 우클릭하시면 메뉴를 볼수 있습니다.
[ 블로그이전하면서 콘텐츠가 삭제되었습니다.]
 
<< 가능하면 다음에 Update >>

각 기능에는 각각의 노드를 추가,수정,삭제 할수 있으며
각각의 라인역시 수정 및 삭제 할수 있습니다.
각각의 노드는 Sub 페이지를 가질수 있습니다.
데모버젼에는 우클릭 메뉴의 연결맵을 통해 새로운 맵을 생성할수는 있지만 이전페이지로 복귀할수는 없습니다.
실제버젼은 페이지 상호전환뿐 아니라 페이지별로 저장기능도 지원하고 있습니다.
Flex 기반 라이브는 SpringGraph 를 사용하였습니다.
본인은 모르시겠지만 지돌스타님 블로그를 뻔질나게 들락거렸습니다.
( 지돌스타님께 감사하지만 본인은 모르실듯 ...)
미니맵을 만들때는 지돌스타님의 스타플이 모델이 되었지요( 물론 눈팅만~ 눈이 아파요 ㅜㅜ)
개인적인 소견으로 Flex는
Xml + (C/C++) + java 의 혼합된 스타일의 개발방법인것 같습니다.
겉으로 보기에는 Flash 파일이지만 내용상으로 결코 아닙니다.
이 개발툴은 java 플렛폼의 개발자들이 쓰지 않겠다고 했던 포인터를 무지막지하게 사용하게 만들었으며
재미있게도 포인터 자체가 살아있는 생명체와 같이 현재진행중에 동적으로
존재하지 않은 변수명을 만들수도 있습니다.
데모를 통해 더많은 정보를 보셔도 될듯 합니다.
이것은 특정사이트를 위해 개발된 툴이므로 데모의 기능은 여기에서 제한을 둡니다.
몰론 로딩시 버그도 픽스되지 않을 겁니다.
이제 61850 SCL 편집기를 향하여 나아가야 합니다.

나의이야기 2010.08 한전 CIS 컴포넌트 Upgrade시스템

2010.08 한전 CIS 컴포넌트 Upgrade시스템
이란 또하나의 프로젝트란 또하나의 프로젝트를 마무리 하였습니다.
작업툴: 이클립스
언어: JAVA
구조: Server/Client TCP/IP, File 관리
성격: Lib 모듈
내용은 서버쪽 과 클라이언트 쪽으로 나뉩니다.
*) 서버쪽은 Download 할목록을 대상 Client와 TCP/IP로 접속을 시도해서 Client로 전송을 해주는 것입니다.
1. 컴포넌트 Download
2. 컴포넌트 지정항목 삭제
3. 컴포넌트 지정항목 복구
4. 톰켓서버 재시작 기능
5. 기타 등등입니다.
*) Client쪽은 서버가 접속을 시도하면 언제나 응답할수 있도록 되어 있는 실제로는 서버와 같은 기능을 수행합니다.
1. 컴포넌트 Download
2. 컴포넌트 지정항목 삭제
3. 컴포넌트 지정항목 복구
4. 톰켓서버 재시작 기능
5. 백업관리
6. 이력관리
7. 기타 등등입니다.
개발기간이 1개월이 미만이었으므로 프로그램은 전부 콘솔버젼입니다.
개발된 소스와 설명서를 모두 넘겨주고 마무리 하였습니다.
저도 많은것이 변한것 같네요..
정성을 들여 개발한 소스를 그냥 넘겨주고도 아므렇지도 않으니 말이지요 ^^

나의이야기 2010.05 Agent 성능정보 수집시스템

2010.05 Agent 성능정보 수집시스템
구성:
1. 테스트서버 (APM)
2. Windows 버젼의 Agent
3. Java 버젼의 Agent
Apm 성능정보를 수집하는 Agent를 개발하는 것이 과제입니다.
한전에 들어가는 여러가지 장비에 정보를 수집하는 Agent를 심어서 수집 과 통제를
동시에 하려는 의도하에 만들어진 프로젝트 입니다.
수집정보는 윈도우스에서는 NETBIOS, WMI 를 이용하여 정보를 수집합니다.
LINUX 서버와 Window공통은 ICMP, SNMP , TELNET, SSH 를 이용하여
추가적인 정보를 수집하고 서버에 전달하는 것을 포함합니다.
이전에 배포한 ICMP를 이용한 주변의 PC정보를 수집하는 응용프로그램은
이것을 테스트 하기 위해 만든것이기도합니다
이것의 주 수집정보는 CPU, Memory, DISK, Process, 등의 정보들입니다.
작업은 CLIENT 단에서 처리하고 스케즐을 지정하면 주기작으로 시스템의 상태를검사하고
처리된 정보를 서버로 전달합니다.
그림으로는 대략 다음과 같습니다.



관련응용 APP는
이것은 서버와 CLIENT로 분리하면서 이전과는 다르게 모든 기능이 각기 다른 실행파일에서 동작하기 때문입니다.


위의 것입니다.
원래 디자인이 필요없는 Agent만을 만드는 것이므로 테스트 모듈의 그래픽디자인은 전혀 지원을 받을수 없었으므로
발로 그림을 그렸습니다. (양해를 _._)

나의이야기 2010.01 PLC-AMR정보연계시스템

2010.01 PLC-AMR정보연계시스템
- 전력량검침 연계 미들웨어 개발
- 기술: ORACLE, JAVA
- 장비: PLC 서버, 한전본사 서버
2010년 1월에 이상윤 부장님 요청을 받고 시작한 프로젝트 입니다.
이 프로젝트는 한전에 제안중인 프로젝트 였으며 요구받은 내용은 PLC지사와 본사의 데이터베이스를 중계할수 있는 서버프로그램을 개발하는 것입니다.
진행사항은 PLC지사와 본사의 데이터접근 프로그램을 만들고 PLC쪽은 일별로 매일자동으로 새로운 DB를 검색해서 필요한 정보를 파일로 생성하고 생성된 파일을 본사쪽 서버가 읽어서 본사 DB에 Update 하는 것 까지입니다.
어려운 점은 실제 본사와 지사의 DB는 방화벽으로 인해 접근할수 없습니다. 따라서 로컬PC에 본사와 지사의 DB서버를 각각 만들고 연계 미들웨어를 통해 데이터 정보가 순차적으로 연계되어 처리할수 있도록 구성했습니다.
2010년은 유난히 추운 겨울의 시작 입니다.
2009년 말도 몹시 추웠고 눈도 많이 왔군요~

나의이야기 2009.10 LMS 프로젝트

2009.10 LMS 프로젝트
- LMS 분석/설계/개발
- Local Network 기반의 TCP/IP 시스템
- 원격제어 및 파일 송수신 관련 기술개발
- VC 6.0, OCX, MDB 및 기타
지역 내트워크 기반의 원격 교육프로그램 강의 프로젝트 입니다.
지금현제도 조금씩 진행하는 프로젝트 입니다.
1. 로그인






- 로그인은 서버와 클라이언트 각각 수행합니다.
2. 메인화면




- 서버와 클라이언트 각각의 화면입니다.
학생이 등록되면 서로 확인을 할수 있도록 동기화 됩니다.
화면상의 아이콘의 움직여도 서로 동기화 되어 모든 학생이 움직이게 됩니다.
학생은 권한이없습니다.
- 메신져



체팅프로그램입니다.
상방에 대화를 주고 받는 메신져 기능입니다.
- 여기에 Voice 메신져 기능이 추가됩니다.
다음은 마지막 강의부입니다.

1. 강의할 파일을 선택
3. 선택된 문서를 열고 강의 시작
- 말씀과 함께 원하는 화면 전송
클라이언트에서는 해당화면과 목소리를 같이 듣는 구조입니다.
LMS 기초적인 내용만이 완성되었을뿐입니다.
지금은 이시스템의 처음부터 다시시작하여 모든것을 잘게 나누어 보는 것부터 시작해서 최고의
교육 시스템제작을 시작할까 합니다.