728x90
근래 몇 년간 웹서비스로 개발된 API 들은 항상 웹폼에서만 호출했었습니다. 이번에 개인적으로 사용할 서버 모니터링 프로그램을 만들면서 웹서비스를 사용하고 있었는데, 윈폼에서 호출이 1회 이상 되지 않는 문제가 발생하더군요.

처음 프로그램이 웹서비스를 호출하면 값을 잘 받아오지만, 이후부터는 값을 받아오지 못하는 문제더군요. 에러 메시지는 "기본 연결이 닫혔습니다" (영어로는 The Underlying Connection was Closed 더군요. 번역이 괜찮게 된건지 모르겠군요) 개발자의 친구, 구글신에게 물어보니 역시 좋은 해결 방안들이 있었습니다.


웹서비스 Proxy 를 생성하면 reference.cs 파일이 생기는데요, 일단 이 파일을 열어서 아래의 코드를 추가해 줍니다. 환경에 따라 다른 것인지 모르겠으나, keepalive 를 true 로 해서 해결이 된다는 이야기도 있었는데 제 경우에는 해당사항이 없었습니다.


해결 방법이 조금 꽁수이긴 하나 (ConnectionGroup 이름을 계속 새로운 GUID 로 할당해주는 -_-;;) 일단 해결이 되었고 크게 누군가에게 부담을 주는 방식이 아니라 일단 사용하기로 했습니다. 유경상님의 블로그에 이 에러와 관련하여 WCF와 Fiddler의 문제를 언급한 글도 한번 읽어 보시면 유사한 상황에서 도움이 되실 것 같습니다.

 
- NoPD -
728x90
728x90
닷넷용 차트 솔루션의 대표격인 둔다스 차트(Dundas Chart) 에서 실버라이트 버전 베타 테스트를 시작했습니다. 기존 둔다스 차트 시리즈들은 JPG 등의 일반 이미지 형태의 출력과 함께 동적인 차트 구성을 위한 AJAX, Flash Exprot 등을 지원했었는데 여기에 실버라이트(SilverLight)가 새롭게 지원 가능한 항목으로 추가가 되었습니다.

둔다스 차트를 사용하면서도 참 쉽지 않았던 것이 디자이너의 감성(?)이 담긴 차트 구성을 하는 것이었는데, 실버라이트의 지원이 시작되면서 닷넷 환경에서 보다 Interactive한 차트 활용이 가능해지지 않을까 싶습니다. 일반적인 실버라이트 프로젝트를 진행하는 것처럼 디자이너와 개발자가 역할을 나누어서 작업하면 보다 아름다운 웹사이트, 어플리케이션 개발이 가능해지지 않을까 싶습니다.


둔다스 차트 실버라이트 데모는 여기를 누르시면 감상하실 수 있습니다.

- NoPD -
728x90
728x90
SAP 은 기간 시스템이기 때문에 대부분의 사업장 / 업체에서 내부 네트워크 존에 위치하게 된다. 따라서 웹 어플리케이션이나 IDC 외부의 네트워크에서 해당 서버들을 액세스 하기 위해서는 방화벽을 적절하게 개방해 줘야 하는데 아이러니하게도 많은 사업장의 SAP 개발자들은 "당연히" 그런 포트가 열려있는 상황에서 일을 하고 있기 때문에 무슨 포트가 필요한지 모르는 경우가 꽤나 많다. 간단하게 SAP 연결을 위한 포트정보 / 방화벽 설정 정보를 정리해 봤다.

기본적으로 SAP 의 모든 포트 설정은 SAP 이 설치된 서버의 /etc/services 파일의 내용을 확인하면 된다. 혹시나 사업장에 따라 이 파일을 희안하게(?) 설정하고 사용할 가능성도 있으나 대부분 표준적인 포트를 사용하고 있을 것이므로 아래의 내용을 참고하되 문제가 있는 경우 SAP 서버 관리자에게 해당 파일 내용을 확인하면 될 것 같다.

sapdp##    32##/tcp    # SAP Dispatcher.          3200 + System Number
sapgw##    33##/tcp    # SAP Gateway.             3300 + System Number
sapsp##    34##/tcp    #                          3400 + System Number
sapms##    36##/tcp    # SAP Message Server.      3600 + System Number
sapdp##s   47##/tcp    # SAP Secure Dispatcher.   4700 + System Number
sapgw##s   48##/tcp    # SAP Secure Gateway.      4800 + System Number

SAP 시스템은 System Number를 통해서 여러개의 시스템을 하나의 SAP 서버에 올려두는 것으로 보인다. 특히 개발장비의 경우 이런식의 구성이 꽤나 많은 편인데 Client Number, System Number로 구분을 하는 것 같은데 자세한 내용은 다음 포스팅에서 한번 연구후에 정리해 보도록 하겠다.

SAP GUI 를 이용해서 SAP 서버를 액세스 하기 위해서는 32## 포트를 개방해야 한다. 접속하려는 시스템의 System Number가 00 이라면 3200 번 포트를 개방하면 된다. RFC 를 이용해서 SAP 서버를 액세스 하기 위해서는 33## 포트를 개방하면 된다. 마찬가지로 System Number에 따라 3300 혹은 3301 따위가 포트번호가 되는 것이다.

닷넷 개발자들이 SAP .NET Connecter 를 이용해서 개발하는데는 33## 포트만 있으면 될까? 개인적으로 32## 포트도 같이 열고 SAP GUI 어플리케이션을 인스톨 하는 것을 권장한다. RFC 를 호출하다보면 제대로된 값이 나오기는 하는 것인지, 혹은 RFC 가 제대로 코딩이 된 것인지 소스코드를 확인 할 필요도 간혹 생긴다.

32## 포트를 미리 열어두면 ABAP 개발자가 만들어둔 RFC 펑션들을 소스코드까지 까보면서 오류도 찾아낼 수 있는 좋은 기회가 될 것이다. 동시에 RFC 의 허무함도 금새 알 수 있을 것이다. RFC 테스트를 위한 화면 T-Code 가 se37 이라는 것 정도도 머릿속에 넣어두도록 하자.

- NoPD -
728x90
728x90
사용자 삽입 이미지
개인적인 실험 프로젝트로 me2day 관련 매쉬업 서비스를 개발하다가 기존에 공개된 C# 버전의 닷넷 미투데이 OpenAPI 라이브러리를 업데이트 했습니다. 큰 변경을 가한 것은 아니지만, 기존에 공개된 라이브러리에 빠져있는 메소드와 필드를 추가해서 보다 다양한 활용이 가능하도록 변경해 봤습니다.

me2api 스프링노트에 원저작자가 기술되어 있지 않아서 일단 허락을 받지 않고 배포를 합니다만, 모든 코드의 저작권은 미투데이(http://www.me2day.net)가 가지고 있으며 문제가 될 경우 배포를 중단하도록 하겠습니다. 소스코드는 VIsual Studio 2008 로 컴파일 되어 있어 코드를 수정하실 분들은 사용하시는 VS 버전에 맞추셔야 합니다.

그 외 일반적으로 사용하실 분들은 첨부파일의 Release 폴더에서 DLL 을 참고하셔서 사용하시면 됩니다. 표준 me2day API 의 룰을 따르므로 자세한 메소드별 사용법은 첨부파일의 프로젝트에 같이 포함된 샘플을 참고하시기 바립니다.

This is redistribution of OpenAPI library for micro blogging service named `me2DAY` which is familiar in South Korea. Attached project file has been built under Visual Studio 2008 environment. So if you want to use previous version of Visual Studio IDE, you should migrate it.

All rights are reserved and me2DAY.net has authorities for this library. If this distribution has any problem, I will stop to distribute it. To get API definition document, kindly go to the me2API SpringNote page linked below.

Thanks.

* me2API 스프링노트 : http://codian.springnote.com
* me2day OpenAPI 닷넷 라이브러리 :

- NoPD -
728x90

+ Recent posts