2021년 7월 5일 월요일

SAP PO 로그인 편하게 하는 방법(TOOL, NWA, PIMON, SLD)


SAP PO 인터페이스 프로젝트를 하다보면 여러 환경을 경험하게 되는데 특히 PO업무가 진행되는 브라우져에 로그인 아이디/패스워드를 저장못하거나 세션유지 시간이 짧거나 추가로 패스워드 생성 규칙이 복잡한경우 정말.. 하루에도 최소 몇번아니면 몇십번을 PO 개발/품질/운영에 로그인하는 경우가 있어 너무 불편한경우가 있습니다.

그래도 같이 일하시는 분이 로그인할때 좋은 아이디어로 만든걸 공유해줘서 지금은 편하게 로그인할수 있는것 같습니다.

SAP PO작업을 위해 http://<host>:<port>/dir/start/index.jsp를 접속하게 되는데 개발을 위한 ESB(Enterprise Services Builder)와 IB(Integration Builder), 인터페이스 관련 정보(Products, Software Components, Technical/Business Systems)가 있는 SLD(System Landscape Directory), 모니터링을 위한 Configuration and Monitoring Home, PO의 전체적인 시스템설정을 위한 NWA(SAP NetWeaver Administrator) 메뉴들이 있습니다.

각 메뉴마다 브라우져에서 호출가능한 URL이 존재하는데 이 URL 뒤에 예를 들어 /repository.jnlp?j_username=<id>&j_password=<password>를 넣고 호출해주면 자동로그인이 잘됩니다. 각 각의 URL를 HTML 한페이지로 만들면 보안때문에 PO로그인이 불편한곳에서 효율적으로 사용이 가능할것 같습니다.

j_username나 j_password는 예전에 스프링 시큐리티 샘플코드 만들때 html의 input 태그이름으로 넣었던적이 있었는데 SAP PO와의 관계가 있는지는 모르겠습니다.

PO Tool 실행파일인 repository.jnip이나 directory.jnip안을 보면 여러 라이브러리 파일이나 프로퍼티 설정들이 보입니다.
소스를 분석하면서 URL에 아이디/패스워드를 안넣고 다른 방법으로 자동로그인 하는 방법을 찾아보았는데요.

.jnip파일내용 하단에 아이디/패스워드를 추가가능한 argument설정이 있는데 실제로 되는지는 모르겠습니다.
<application-desc main-class="com.sap.aii.ibrep.gui.appl.ApplicationI?mpl">
<argument>webstart</argument>
<argument>-u</argument>
<argument>username</argument>
<argument>password></argument>
</application-desc>


위와 같이 설정하면
프로퍼트 설정에 셋팅된 값을 읽어서 login 메서드 호출할때 같이 전달해줍니다.
login("ibrep", loginTitle, workList, userName, password, routeString)

login에 전달해주는 파라메터중 loginTitle같은 경우 아래와 같이 .jnip 프로퍼티 속성을 수정해주면
<property name="jnlp.SAPMYNAME" value="<title name>" />
PO Tool의 타이틀을 변경할수 있습니다.

PO Tool 소스분석은 어렵지만 15년전 알았던 자바의 GUI(Graphic User Interface)를 구현하기 위한 스윙(Swing)이나 AWT(Abstract Window Toolkit)을 사용하여 만든건데 다른 EAI 솔루션인 webMethod처럼 이클립스 기반 개발 툴에서 개발이 가능하도록 해주면 좋을것 같다는 생각이 드는데요. 현재도 PO개발을 위한 NWDS(SAP NetWeaver Developer Studio) 이클립스 기반 툴이 존재하여 한 툴에서 여러 PO서버를 접속가능하지만 무거워서 노트북 메모리를 많이 차지하는 현상을 볼수 있습니다.

익숙하면 편해지긴 하지만 좀더 편하게 일을할수 있게 만든다면 자신한테 좋지 않을까 생각됩니다.

댓글 3개:

  1. 로그인 argument 설정에 성공하셨나요?

    답글삭제
  2. 설정후 로그인 되네요. 다만 .jnip파일안에 jnip.com.sap.aii.ib.slt 프로퍼티를 제거하셔야합니다.

    답글삭제
  3. 설정 완료했습니다... 도움에 감사합니다!

    답글삭제