webMethods의 경우, Eclipse에서 Plugins 형태로 제공하게 됩니다.
Service Development 를 선택하면 하기와 같이 IntegrationServer 설치 시, 사용되는 Package 목록을 확인할 수 있습니다.
SoftwareAG에서는 이를 Designer라고 지칭합니다.
Eclispse 를 구동 시 사용하는 Heap의 메모리 설정방법
Disigner를 구동시키게 되면, 백그라운드에서 시스템 메모리를 지속하여 사용하게 됩니다.
물리적으로 메모리가 부족한 경우, Designer에서 개발된 코드를 실행시킬경우 멈추거나 느려지는 경우가 발생하게 됩니다.
일반적으로 기본값을 사용하지만 필요한 경우 아래 와 같은 설정파일에서 수정할 수 있습니다.
메모리 설정 방법
{Software AG_directory}\Designer\eclipse\eclipse.ini 내에서, 2번 그림의 붉은 부분을 변경한다.
메모리가 1GB보다 적을 때 : -Xmx=512m
메모리가 1GB보다 많을 때 : -Xmx=1024m
FlOW Service
서비스를 개발하기 위해서 Designer에서는 그림형태로 개발할 수 있는 화면을 지원합니다.
개발이 단순화 되면서, 다양한 연계방식과 아키텍처에 대하여 경험할 수 있습니다. 웹 개발과는 결이 많이 다르다보니 처음 접하게 된다면
괴리감을 가지는 분들이 있습니다.. 하지만 어느정도 시간이 쌓이면 일반적인 웹 개발자와 다른 경험을 가질 수 있습니다.
MAP : FlowService에서는 변수 선언 및 데이터 맵핑을 Map 을 통해서 연결해야 합니다.
또한 Transformers 을 통하여 값 계산 등을 할 수 있습니다.
BRANCH : 조건문을 사용할 때 사용 합니다.
Properties 안에 Evalutate Lables : False 인경우라면 , IF 문과 같이 사용할 수 있습니다.
아래 샘플의 경우 selectCount == 0이라면 첫번째 MAP으로 이동
그렇지 않으면 $default 인 두번째 Map으로 이동합니다.
Properties 안에 Evalutate Lables : True 인경우라면 , SWITCH 문과 같이 사용할 수 있습니다.
아래 샘플의 경우 selectCount 가 들어오는 값에 따라 어떤 MAP으로 이동할지 결정되게 됩니다.
변수의 경우 %%를 통하여 선언해주어야 합니다.
LOOP : 반복문 (Foreach 와 유사)
배열 형태의 데이터를 받아서 갯수만큼 반복을 진행합니다.
주의해야 될 점은 inArray [1,2, , 4,5,6] 일 경우, inArray[2] 가 비어있는 것을 확인 할 수 있습니다.
단순하게 inArray -> outArray 로 맵핑할 경우 outArray[2] 또한 값이 비게 됩니다.
이를 위하여 appendToList 통하여 [1,2,4,5,6] 형태로 생성할 수 있습니다.
REPEAT : 반복문(For 와 유사)
Properties 안에 Count에 따라 반복을 진행합니다. Count를 설정하지 않을 경우 While문과 같이 계속 반복하게 됩니다.
Properties > Repeat On 옵션은 SUCCESS/FAILURE로 나눠져 있습니다. 일반적으로는 SUCCESS 를 사용하지만
FAILURE를 선택할 경우, 실패할 때 반복을 하게 됩니다.
Repeat 문을 실행시키면 $retries 라는 변수가 생성되며 Null 1 2 3 .. 으로 증가됩니다.
예전 버전의 webMethods의 경우, flowService 안에 Try-Catch가 따로 존재하지 않았습니다.
그렇기 때문에 SEQUENCE 를 통하여 Try-Catch와 같이 사용하였습니다.
Properties > Exit On : SUCCESS 의 경우 : SEQUENCE 안의 Flow가 실패해도 다음 Flow를 실행시킵니다.
Properties > Exit On : FAILURE 의 경우 : SEQUENCE 안의 Flow가 실패일 경우, SEQUENCE를 빠져나옵니다.
The Lock Commands
개발된 Service는 Lock을 통하여 Object를 편집할 수 있는 권한을 얻을 수 있습니다.
Lock/Unlock States
본인이 해당 서비스의 수정 권한을 가진 경우 (오른쪽에 녹색 체크 표시)
본인만 개체를 편집할 수 있다. 타 사용자는 서비스를 수정할 수 없고 실행만 가능 합니다.
* 본인 혹은 관리자만 해지 가능
다른 사람에 의해 잠길 경우(DeveloperX): (왼쪽에 빨간색 체크 표시)
서비스를 수정할 수 없으며, 실행만 가능합니다.
Unlocked:
모든 개발자가 개체를 실행할 수 있습니다. 서비스를 수정 할 수 없습니다..
자주 사용되는 Built - in
pub.flow:savePipeline : 데이터가 해당 서비스를 거치게 되면 메모리에 데이터를 저장한다.
pub.fliw:restorePipeline : savePipeline에 저장된 데이터를 불러온다.
pub.flow:savePipelineToFile : 데이터가 해당 서비스를 거치게 되면 파일로 저장한다.
pub.flow:restorePipelineToFile : 파일에 저장된 데이터를 불러온다.
저장 경로 : {IntegrationServer Directory}\instances\default\pipeline
pub.flow:debugLog : IS Server > Logs > Server 에서 메시지를 출력 할 수 있다.
pub.flow:getLastError : 서비스가 실행되면서 에러가 발생되면 메시지를 출력 한다.
pub.flow:clearPipeline : 파이프라인에 남아있는 모든 데이터를 삭제하며, OUTPUT을 하기 위해서는 preserve에 담아 주어야 한다.
'Solution > webMethods' 카테고리의 다른 글
webMethods 10.5 설치 for Linux (1) | 2019.09.23 |
---|---|
webMethods for Integration Server (0) | 2019.07.19 |
webMethods 10.3 설치 for Windows (0) | 2019.05.24 |