'Enterprise Portal'에 해당되는 글 22

  1. 2012.08.13 [Ant] Jar Task
  2. 2012.08.08 [EP][정리] Java development methodologies
  3. 2012.07.10 Authentication for Web Applications Users on the J2EE Engine - Login Module 개발
  4. 2012.07.06 [미완][EP] How To Modify the Portal Framework Page in SAP EP 6.0
  5. 2012.06.30 [log4j] 하나의 로그 파일에 여러 프로세스에서 로그를 남기는 경우 문제점
  6. 2012.06.17 [EP] jar파일 만들기
  7. 2012.06.13 [EP] com.sapportals.portal.prt.resource.IResource
  8. 2012.06.13 SAP NetWeaver Javadocs
  9. 2012.06.11 [EP] 로그 확인하기 - 로깅 정책
  10. 2012.05.10 JCo RFC Provider Service
  11. 2012.05.09 [SAP J2EE] J2EE Engine View - NWDS
  12. 2012.05.08 [미완][SAP J2EE] Spring Integration on SAP NetWeaver
  13. 2011.11.24 [EP] JSTL(Apache Taglibs 1.0) 사용하기 1
  14. 2011.11.13 RFC 호출시 추가된 테이블을 불러오지 못함
  15. 2011.10.04 Apache Commons FileUpload
  16. 2011.09.07 cannot be resolved ...
  17. 2011.09.02 [EP] JSPDynPage에서 HttpServletRequest 사용하기
  18. 2011.09.02 [EP] JSP DynPage 실습
  19. 2011.09.01 [EP] NWDS 디플로이시 에러
  20. 2011.08.31 [EP] Portal Application 만들기
  21. 2011.08.25 [EP] PDK 개발 환경 구성 - 교육
  22. 2011.08.24 [EP] Enterprise Portal 개요

[Ant] Jar Task

- jar로 패키징하고 실행시킨다.



- EJB에서 사용할 모듈을 패키징한다.


Eclipse Export 기능에서는 dist/PORTAL-INF/classes/123.txt 를 제일 상단에 위치시키지 못한다.

(디렉토리 구조 그대로 패키징한다.)

그래서 dist/PORTAL-INF/classes/123.txt 를 프로젝트 root에 복사해 두고 패키징했는데 관리하기가 번거롭다.


Export 기능은 너무 번잡해서 Ant를 사용함.


- Zip task도 비슷함.


[EP][정리] Java development methodologies

Java development methodologies (Part I)
- NWDS의 다양한 Perspective를 소개한다.
The Java Perspective
The EP Perspective
The Web Dynpro Perspective
The J2EE Perspective
The Web Services Perspective
The Dictionary Perspective

Java development methodologies (Part II)
- NWDS에서 생성할수 있는 Portal Application을 보여준다.
AbstractPortalComponent
DynPage
JSPDynPage

Authentication for Web Applications Users on the J2EE Engine - Login Module 개발

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[미완][EP] How To Modify the Portal Framework Page in SAP EP 6.0

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[log4j] 하나의 로그 파일에 여러 프로세스에서 로그를 남기는 경우 문제점

기존의 어플리케이션(EP)에서 log4j(slf4j)를 이용해서 파일에 로그를 남기고 있었다.
DailyRollingFileAppender를 사용하고 있었음.

EJB를 추가하면서 동일한 로그 파일에 로그를 남기도록 설정을 했음.
결국은 다른 프로세스에서 동일한 로그 파일에 로그를 쌓게 되었음.

처음에는 로그가 잘 남았는데 하루? 정도 지나니깐 로그가 남지 않음.
app.log였는데 더 이상 로그가 쌓이지 않는다.
찾다가 보니 app.log.2012-06-29 파일이 계속 변하고 있다.
파일을 열어 보니 기존의 어플리케이션에서 남기는 로그가 계속 남고 있음.
그러나 EJB에서 남기는 로그는 없다.

개발시 로그를 편하게 보기 위해서 하나의 로그 파일에 남기도록 했는데 부작용이 발생한다.
EJB에서는 다른 로그 파일에 남기도록 함.

[EP] jar파일 만들기


[EP] com.sapportals.portal.prt.resource.IResource


//근데...jsp는 include()시 존재하지 않는 파일이면 에러나지 않나?
css는 에러 안남.

SAP NetWeaver Javadocs

[EP] 로그 확인하기 - 로깅 정책

로그를 확인할 수 있는 방법은 많다.

로그가 남도록 설정한 뒤 위와 같은 방법을 이용할 수 있다.
시스템 로그이기 때문에 다양한 로그가 쌓이므로 정작 디버깅하려는 어플리케이션 로그를 보기 힘들다.

개발시에는 로깅 프레임워크를 이용해서 별도의 파일에 로깅을 하고 디버깅을 한다.
운영시에는 SAP 로깅 프레임워크를 이용하도록 해서 로그 파일에 대한 관리포인트를 없애도록 한다.

일반적인 로깅 프레임워크(log4j, commons-logging)에 SAP 로깅 프레임워크를 통합할 수 있으므로 이것을 잘 활용하면 된다.

JCo RFC Provider Service

[SAP J2EE] J2EE Engine View - NWDS


[미완][SAP J2EE] Spring Integration on SAP NetWeaver

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[EP] JSTL(Apache Taglibs 1.0) 사용하기 1

- 환경
ServerInfo : SAP J2EE Engine/7.00
Servlet : 2.3
JSP : 1.2
web.xml 을 수정할 수 없음.

- JSTL (Apache Taglibs 1.0 구현체)을 사용하려고 함.
Tomcat 4, 5에서는 예제(standard-examples.war)가 잘 동작함.

- jstl.jar, standard.jar를 PORTAL-INF/lib/에 넣는다.

test.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
com.sapportals.portal.prt.servlets_jsp.server.jsp.ParseException:  Error in parsing taglib 'http://java.sun.com/jstl/core' tag in web.xml or .tld file of the taglib library.
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.JspTaglibDirective.verifyAttributes(JspTaglibDirective.java:189)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.JspDirective.parse0(JspDirective.java:162)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.JspDirective.parse(JspDirective.java:117)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.ElementCollection.parse(ElementCollection.java:86)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.ParserImpl.parse(ParserImpl.java:595)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:2170)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.compile(JSPCompiler.java:81)
        ...

tld 파일을 여기저기 넣어 보고 uri를 바꿔봐도 안됨.
(JSPCompiler를 디컴파일해서 uri를 어떻게 찾는지 보려고 했는데 어디에 있는지 찾지를 못했다.)

- htmlb를 사용하는 글을 보고 tld를 설정함.

portalapp.xml PORTAL-INF/taglib/에 c.tld를 넣는다.

test.jsp taglib 선언은 되는데 실제 사용할 때 에러가 발생한다.
com.sapportals.portal.prt.servlets_jsp.server.jsp.ParseException: java.lang.NullPointerException
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.TagBeginGenerator.init(TagBeginGenerator.java:148)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.xmlsyntax.CustomJspTag.action(CustomJspTag.java:114)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.ElementCollection.action(ElementCollection.java:47)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:2170)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.compile(JSPCompiler.java:81)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.run(JSPCompiler.java:140)
        at com.sapportals.portal.prt.core.broker.JSPComponentItem.compileJSP(JSPComponentItem.java:291)
        ...

- SAP NetWeaver 04, 7.1이 JSP 1.2를 지원하지 않는다고 함.
javax.servlet.jsp.JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion()의 리턴값은 1.2인데...

- 커스텀 태그라이브러리를 작성해 보니 JSP 1.1 형식으로는 가능
Taglibs의 c.tld를 1.1형식으로 변경하면 가능할 거 같다.

RFC 호출시 추가된 테이블을 불러오지 못함

- RFC에 테이블이 추가되어서 작업을 함.
그런데 com.sapportals.connector.metadata.functions.IParameter#getStructure()이 null을 리턴한다.
해당 테이블을 불러오지 못하는거 같다.

- 그러다 저녁에 테스트를 하니 제대로 인식을 한다.

- 누구말로는 캐시 문제일수도 있다고 하고

- 다른 프로젝트에서는 RFC가 변경되면
SAP Connector를 다시 시작시켜야 한다고 한다.
JCo RFC Provider 서비스를 이용하는 경우에는 리스터를 다시 시작시킨다.

Apache Commons FileUpload

commons-fileupload-1.2.2.jar
commons-io-1.3.2.jar

JDK 1.4에서도 잘 동작함.

http://commons.apache.org/fileupload/dependencies.html

[todo] 사용법 좀 더 추가

cannot be resolved ...


com.sapportals.connector.connection.IConnection에는 close()가 없다.
그런데 샘플코드에서는 close()를 사용하고 있음.

잘못된 클래스를 참조하는 줄 알고 라이브러리를 뒤짐.
그러나...

com.sapportals.connector.connection.IConnection
    implements javax.resource.cci.Connection

javax.resource.cci.Connection에 close()가 있고 이 클래스가 들어있는 connector.jar를 참조하지 못해서 발생한 에러임.

[EP] JSPDynPage에서 HttpServletRequest 사용하기

- JSPDynPage에서 HttpServletRequest에 데이터를 담아서 JSP로 전달해 본다.

JSP에서 request에 담긴 데이터를 가져오지 못한다.
게다가 TestComponentDynPage에서 로그가 찍히지도 않는다.

이 경우 portalapp.xml의 ComponentType을 없앤다.


- JSP로 IPortalComponentRequest를 이용해서 데이터를 전달하기
ComponentType을  없애지 않으면 이것도 되지 않는다.

[EP] JSP DynPage 실습

1.


2.


3.


4.

5.

6.


[EP] NWDS 디플로이시 에러

- 디플로이시 서버 연결이 안되는 경우가 있음


- 권한이 없거나

- 계정이 Guest로 된 경우도 있다.

#com.sap.portal.portal#sap.com/irj#com.sap.portal.portal#Guest#0##n/a##044885eed2e511e09af50000005b2692#SAPEngine_Application_Thread[impl:3]_20##0#0#Error#1#/System/Server#Java###Exception ID:05:49_30/08/11_0098_5973650
[EXCEPTION]
 {0}#1#com.sapportals.portal.prt.runtime.PortalRuntimeException: Access is denied: com.sap.portal.runtime.system.console.ArchiveUploader - user: Guest,
        at com.sapportals.portal.prt.deployment.DeploymentManager.checkPermissions(DeploymentManager.java:2005)


- 비밀번호가 잠긴 경우 ====>[todo] ep비번잠긴경우.png와 같이 다른 페이지로 이동???

{0}#1#com.sapportals.portal.pcd.gl.PermissionControlException: Access denied (Object(s): com.sap.portal.system/security/sap.com/NetWeaver.Portal/high_safety/com.sap.portal.runtime.system.console/components/ArchiveUploader)
        at com.sapportals.portal.pcd.gl.PcdFilterContext.filterLookup(PcdFilterContext.java:422)
        ...

- 디플로이를 해도 적용이 되지 않을때 par 파일이 제대로 생성되지 않은 경우다.
이클립스를 내리고 파일을 지우면 되긴된다.

- 서버 설정시 비밀번호를 저장하도록 설정하지 말것!

(특정 환경에서 비밀번호를 저장하면 디플로이시 에러 발생)


- 서버에 접속되지 않는 경우

VPN을 연결하지 않고 디플로이했음.

HTTPS protocol is not supported, please ensure this server is not using HTTPS.


sap-plugin.log

[03.05.12 / 11:20] #ERROR LEVEL# com.sap.portal.developmentTools.general.wizards.upload.DeployEngine > No Information
java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    ...
    at com.sap.portal.developmentTools.general.wizards.upload.DeployEngine.isHttp(DeployEngine.java:515)
    ...
    at com.sap.ide.eclipse.startup.Main.main(Main.java:607)

[03.05.12 / 11:20] #ERROR LEVEL# com.sap.portal.developmentTools.ideSpecific.eclipse.wizards.sapmakepar.SAPMPWizard$1 > Upload Error message: HTTPS protocol is not supported, please ensure this server is not using HTTPS.
[03.05.12 / 11:20] #ERROR LEVEL# com.sap.portal.developmentTools.ideSpecific.eclipse.wizards.sapmakepar.SAPMPWizard$1 > Upload Response: null
[03.05.12 / 11:20] #ERROR LEVEL# com.sap.portal.developmentTools.ideSpecific.eclipse.wizards.sapmakepar.SAPMPWizard$1 > Upload Target Component:



중요~~~~ep 디플로이 에러
http://scn.sap.com/thread/1010424
http://scn.sap.com/thread/808584
http://scn.sap.com/thread/382504
http://scn.sap.com/thread/1858267
http://scn.sap.com/thread/1114597
http://scn.sap.com/thread/1045872
http://scn.sap.com/thread/1114597
http://scn.sap.com/thread/152027
http://scn.sap.com/thread/259989
[미완]

[EP] Portal Application 만들기

1. 프로젝트 생성


2.


3. 생성된 프로젝트 구조


4. Portal Application 생성


5.


6.


7.


8.


9.


10.


11. http://SERVER:50000/irj/servlet/prt/portal/prtroot/NewParProject.MyPortalComponent

hi

 

[EP] PDK 개발 환경 구성 - 교육

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[EP] Enterprise Portal 개요

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.