그럼 분산 컴퓨팅환경에서 blast를 수행하고 이를 웹 서비스를 통해서 제공한다면, 이미 많은 곳에서(일본의 XML Central of DDBJ, 유럽의 EBI에서 제공하고 있다.) 서비스를 제공하고 있지만, 나도 한번 해보자는 의미에서 차근차근 공부해 나가고 있다.
그럼 우선 첫번째로 웹서비스부터 어떻게 만드는지 알아보면, 웹서비스에 제일 중요한 것은 어떠한 서비스를 할것인지에 대한 WSDL을 생성하는 것이겠다. 물론 자동으로 WSDL을 생성해서 사용하는 방법 이게 상향식인가? 하향식인가? 암튼 이번에는 WSDL을 손수 작성하고 wsimport를 통해서 뼈대를 만든 후 이를 구현하도록 하겠다.

결과부터 보자면 현재 두개의 웹서비스를 제공하고 있는 모습을 볼 수 있을 것이다. 첫번째 Hello서비스는 입력 받은 문자열에 대해서 앞에 Hello라는 문자열을 덧붙여서 보여주는 서비스고, 두번쨰 AddNumbers는 입력받은 두개의 숫자의 합을 보여주는 서비스이다. 아주 간단한 웹 서비스이지만, 이 두개의 예제를 잘 익혀두면 blast 웹 서비스쯤이야... ^^;;

완성된 Blast Web Service
Blast를 수행할 프로그램(blastp), 데이터베이스(nr), 결과포맷(xml=7)를 입력으로 받아서 Blat를 수행하고(runPbs) 수행된 Blast가 끝나길 기다리고(checkStatus) 작업이 끝나면 결과를 받아오는(getResult) 순서로 작성된 Blast web service 다이어그램 ^^
Posted by hongiiv