개발 환경

Flex +Wily (APM 솔루션)+WebLogic
Flex 에서 서블릿 호출(JSP), 서블릿은 Wily의 필요한 데이터를 끌어오는 구조.

오류: [strict] Content-Type이 누락되어 http://ip:포트넘버/crossdomain.xml의 정책 파일이 무시됩니다. 이 문제를 해결하려면 http://www.adobe.com/go/strict_policy_files_kr을 참조하십시오.

해결은 서블릿을 아래처럼 수정했다
<%@ page contentType="text/html; charset=euc-kr" %> 을 아래처럼 바꾼다.

<%@ page contentType="text/xml; charset=euc-kr" %>


해결책을 찾고나면 아주 간단한 거지만, 그 사이 많은 일들이 있었다, WebLogic 에서 해당 컨피그를 설정해주면 간단히 끝나리라 생각했는데, 위 방식으로 해결을 했다.

"그거 하나 호출하는데 무슨 보안문제냐" 라는 타 개발영역에서 개발자들의 불만섞인 말을 이해한다.

Flash Player 자체의 보안정책을 설명해도 그다지 신통찮은 표정이다.어쨋든 덕분에 하나 배웠다.

별개로 앞단 개발자가 일일이 서버관리자부터 해당 솔루션 개발자를 찾아다니면서 아쉬운 소리를 해야 하는게 번거롭고,그다지 즐거운 일은 아니다.그 덕에 몇몇 사람들에게 고맙다는 말만 건넸다.

'취미' 카테고리의 다른 글

IE 7 속도 개선 == Flex 속도 개선  (1) 2009.10.06
세가지 질문  (0) 2009.08.18
Flex WebService 호출  (0) 2009.02.23
Flight Framework  (0) 2009.01.28
MSDN  (0) 2009.01.14
Posted by iamyhs
,

Flight Framework

취미 2009. 1. 28. 13:30


Flight Framework: Another Flex Framework?

제목 그대로 또 다른 Flex Framework 인가 싶어서 포스팅된 글을 봤더니, 구미가 당긴다.

HMVC: Hierarchical-Model-View-Controller 라고 표현했던대(Flight organizes modules of behavior and data into MVC sub-systems called domains) 실전 코딩을 해보고 난 후에야 그 장단점을 말할 수 있을듯 싶다.

지금까지 써본 프레임웍은 Cairngorm,MATE,Pure MVC 정도인대,이 프레임웍은 약간 다를것 같다.

더불어 New & Improved Flex/Flash Data Binding 포스팅을 보면 새롭게 mx.binding.utils.BindingUtil 을 대체할수 있는 클래스를 만든것 같은데 이것으로 인해서 고질적인 Memory Leak 문제가 어느정도 해결될지도 기대 된다.


'취미' 카테고리의 다른 글

Missing Content-Type crossdomain.xml error  (0) 2009.02.28
Flex WebService 호출  (0) 2009.02.23
MSDN  (0) 2009.01.14
Intel, Adobe to tune up Flash for TV devices  (0) 2009.01.07
새해 첫 날  (0) 2009.01.01
Posted by iamyhs
,
NetWeaver 7.0  에 Web DynPro 와 Flex/Flash 컴포넌트와 연동되는걸 보여준다.

대단히 인상적이다. 현재 프로젝트가 SAP 쪽 데이타를 FM을 이용해 보여주는 형태인대(View) 굳이 플렉스 View를 고집할 필요는 없다.

비디오를 보면 내부적으로 분명히, Flex 쪽으로 데이타 연동시키는 엔진이 있을것 같은데, 그 부분이 무척 궁금하다.

SAP Web Dynpro + Adobe Flex/Flash = Enterprise UI 2.0


SAP 한 과정을 수료하구 마지막 시간에, 이 Web DynPro와 VC 과정은 없냐구 질문을 했었다.

간단하게 설명은 들었지만,아마도 이런건 독학해야 하지 싶다.

'취미' 카테고리의 다른 글

Hug a Developer  (0) 2008.08.29
Enterprise IDE Plugin  (0) 2008.08.27
The Mythical Man-Month  (0) 2008.07.09
SAP<->Java<->Flex 개발시 알아둘 사항들  (0) 2008.06.27
Mate Framework  (0) 2008.06.19
Posted by iamyhs
,
주의사항)
SAP 용어를 그대로 쓴다, 이런 용어마저 익숙하지 않다면 SAP 에대한 기본서를 먼저 본다.
더불어 FM(Function Module)을 디버깅할때쓰이는 SAPGui 에 관련된 내용도 SAP 용어를 그대로 쓴다.

1)JCO vs JCA
현재 참여하고 잇는 프로젝트는 위 두 환경이 공존하고 있다.
    
    1-1)로컬 테스트는 JCO
    1-2)실제 Deploy는 JCA 환경

    이유 : JCO 로 했을때, SSO(Single Sign On) 정보를 SAP의 ECC 정보가져올때(Landscape) 유지할수가 없었다.(정말 안되는지는 미 검증)
        JCA로 했을때는 SSO 문제가 해결되어있고, JCA 자체가 표준 아키텍처 이므로 이 방식으로 개발하고 있다.



2)WebService vs FDS
    SAP 쪽 데이타를 WebService 이용해서 가져오는 방식, SAP<->Flex
    SAP 쪽 데이타를 Remote Object를 이용해서 가져오는 방식, SAP<->JAVA<->Flex


3)XML용 파서, FDS용 파서

    3-1)WebService를 이용할때 : XML(텍스트) 대량의 데이타를 주고 받는 환경에서는 부적합(속도,용량)

    3-2)FDS를 이용할때 : AMF(Binary)    대량의 데이타를 주고 받을때 적합

    3-3)XML
        DataType : XML

    3-4)FDS
        DataType : AMF(Binary)
        SAP FM(RRW3_GET_QUERY_VIEW_DATA)을 이용

4)SAP GUI 디버깅
    이 게시물을 참고


5)SAP 데이타구조에 대한 Online Help
Default Variables for Web Applications
                
Datasets


6)SAPGui 사용법을 알아야 한다, 가장 기본적인 서버세팅부터, TCode 같은것들 등등

7)기본적인 Bex Query Designer 사용법을 익혀야 한다.

8)파서를 직접 제작 혹은, 업그레이드 하고 싶다면 FM 자체를 디버깅하는 방법과, SAP 데이타의 구조를 파악해야한다

9)위험요소
현재 쓰이고 있는 RRW3_GET_QUERY_VIEW_DATA이 표준 FM이 아니다.SAP 쪽에서 Max Attention 방식의 별도 관리가 필요한 부분이기도 하다.

'취미' 카테고리의 다른 글

SAP Web Dynpro + Adobe Flex/Flash  (0) 2008.08.06
The Mythical Man-Month  (0) 2008.07.09
Mate Framework  (0) 2008.06.19
Creating a Flash container component  (0) 2008.06.03
대규모 프로젝트에서의 개발 그리고 플렉스  (0) 2008.05.07
Posted by iamyhs
,
현재 진행형인 프로젝트의 총 개발리더의 입장에서,뷰단을 바라본다면 과연 이 프로젝트가 성공적으로 가는 프로세스인가,아니면 그 반대인가.

거의 900명에 육박하는 이정도 규모의 프로젝트는 앞으로도 접하기 힘든 프로젝트 일것 같다.

이런 대규모의 프로젝트의 전형적인 문제들인 커뮤케이션,의사결정,정치역학,인력관리등등의 논외로 하고, 내가 속한 뷰단에 초점을 맞춰보고 싶다.

프로젝트 초반에(현재는 중반에 접어들고 있는 시점이라 본다) 총 책임자의 골짱,몸짱,얼짱 이란 표현이 무척 와닿는다.

내 관점으로 재 해석하면 골짱의 역할은 모델링이고, 몸짱의 역할은 프로세스이고, 얼짱의 역할은 플렉스이다.


과연, 골짱과 몸짱과는 별개로 얼짱이 될수 있을까?
과연, 골짱,몸짱,얼짱이 효과적으로 분할 및 통합의 프로세스가 이뤄질수 없나?
과연, 얼짱을 위한 골짱(데이타 모델링)이 필요할까?
과연, 얼짱다운 화면이란건 뭔가?


솔직히 순서대로,

없다.
    아주 순진한 원론적인 이야기 이다.이중적이게도,현실에선 이렇게 할수 있는 방법을 찾아내야 한다.

있어야 한다.
    현실적으로,이건 기술의 문제라기 보다는 조직의 구조적인(커뮤니케이션,정치역학등) 인자에 더 영향을 받는것 같다.
    이 정도 대규모라면? 복잡다단하다.

없다.
    용어도 생소한 UI 컨설턴트중에는 뷰단을 위해 모델단의 변경을 말하는 이들이 있다, 꼬리가 머리를 흔드는 꼴이다.

시행 착오중이다.
    한도 끝도 없는 주제이다.
    이 부분은 선택한 기술과는 무관한 부분이 더 많다고 생각한다.플렉스 다운 화면이란 말에서, 플렉스를 다른 신기술 용어로 대체해보라.


다시 내가 총 결정권자이라면

과연 뷰단의 솔루션으로 선택한 플렉스가 올바른 선택인가?

개발편이성,유지보수성,비용면 등등에서 상대적 우위를 차지하고 있나? UI 가 이쁜건 알고 있으니 고만해라.

지금까지 내린 부분적 결론은 성급한 선택이었다.

현 시점에서 얼짱 역할을 맡은 뷰단은 기묘하게 성형수술을 시도한 추녀같다.수술비용도 만만치 않지만,아마 나중에는 코가 주저앉을지도 모른다.



아침에 Ryan Stewart 포스팅에 링크된  Flex Interface Guidelines 을 보다 문득 들었던 생각을 적어본다.

그리고, 다시 DATA MODELING FUNDAMENTALS A Practical Guide for IT Professionals - Paulraj Ponniah  pdf를 보고 있다.


ps
한달전쯤에 WallMart 의 GXXX 시스템의 구축의 프로젝트를 설명하면서 자사의 솔루션을 소개하러 HP 차장님 세분이 강좌를 한적이 있었다.

'EIS 같은 기보적인(?) 수준에서, IDM,EDW,DPP ' 도표를 보여주면서, 상당히 깊이있게 번갈아 가면서 진행을 했었다.

커뮤니케이션 문제를 어떻게 풀었냐는 질문에,총 리더와, 부 리더, 그리고 그 밑의 7개파트(?) 정도의 중간 리더가 프로젝트 전반에 걸쳐서 지속적으로 협력햇었다 라는

아주~ 일반적인 답변을 들었다.

대규모 프로젝트의 접근방식은 말 그대로 특화된 방법론이 필요한것 같다.수준이,차원이 틀리다.

'취미' 카테고리의 다른 글

Mate Framework  (0) 2008.06.19
Creating a Flash container component  (0) 2008.06.03
프로그래밍 격언  (0) 2008.03.08
재미로 하는 프로그래밍  (0) 2008.02.02
아키텍처에 관한 세가지 질문  (0) 2008.01.25
Posted by iamyhs
,
개발환경은 Flex,Java,SAP 이다

JCO를 이용해서 SAP 쪽 연결은 아래 여섯 단계를 거친다.

Step 1: Initialize the RFC Connection


Step 2: Create a JCo Repository


Step 3: Retrieve a Specific Function from the Repository


Step 4: Populate the Metadata Structures


Step 5: Execute the Call to SAP


Step 6: Read the SAP Return Structure


package com.sec.global.mysap;
import com.sap.mw.jco.*;
public class SAPJCOTest {
    public static void main(String[] args) {
        
        final String SAP_CLIENT ="100";
        final String USER_ID ="username";
        final String PASSWORD = "password";
        final String LANGUAGE = "en";        
        final String IP_ADDRESS = " xxx.xxx.xxx.xxx";
        final String SYSTEM_NUMBER = "00";
        
        JCO.Client aConnection;
        IRepository aRepository;

        System.out.println("JCO를 이용한 SAP 연결 테스트");
        try {
            
            aConnection = JCO.createClient(SAP_CLIENT,
                    USER_ID,
                    PASSWORD,
                    LANGUAGE,
                    IP_ADDRESS,
                    SYSTEM_NUMBER);

            aConnection.connect();
            aRepository = new JCO.Repository("SAP", aConnection);
            IFunctionTemplate functionTemplate = aRepository.getFunctionTemplate("RRW3_GET_QUERY_VIEW_DATA");
            
            JCO.Function function = functionTemplate.getFunction();            
            
            //I_INFOPROVIDER,I_QUERY,I_VIEW_ID,I_T_PARAMETER
            function.getImportParameterList().setValue("xxxxx", "I_INFOPROVIDER");
            function.getImportParameterList().setValue("xxxxx_Qxxxx", "I_QUERY");
            function.getImportParameterList().setValue("", "I_VIEW_ID");
            function.getImportParameterList().setValue("", "I_T_PARAMETER");
            
            aConnection.execute(function);
            
            System.out.println("연결 성공");            
        }
        catch (Exception ex) {
            System.out.println("연결 실패");
        }
    }
}


I_INFOPROVIDER,I_QUERY,I_VIEW_ID,I_T_PARAMETER 에 대한 세부 사항은 SAP 개발자가 명세서를 보내준다.

프로바이더 테크 네임, 쿼리 테크 네임 이런식으로 표현하고,Vairiable에 대한 세부사항은, I_T_PARAMETER(일종의 테이블 형태) 변수의 내용이다.
소스에서 I_VIEW_ID와 I_T_PARAMETER 값은 빈값인대,
이 값들은 쿼리테크 별로 다르다 I_T_PARAMETER 값은 보통 테이블 형태로 주어지고, I_VIEW_ID 는 공백인 경우가 많다.

이 예제는 연결 테스트 만이다. 실제로 Step 6 처럼 결과값을 가지고 가공을 해야한다.

이 과정에서 해당 리턴값을 어디에서 파싱할지가 아키텍처상 중요하다.

현재는,View(Flex) 단에서 파싱(다차원 구조이므로)하는 파서를 제작했지만, View단에서 파싱하는 것보다 Java 단에서 파싱하는 구조가 더 적절해 보인다.


'취미' 카테고리의 다른 글

아키텍처에 관한 세가지 질문  (0) 2008.01.25
How to solve it  (0) 2008.01.18
디버깅 FM  (0) 2007.12.21
표준  (0) 2007.12.21
유지 보수성.  (3) 2007.09.13
Posted by iamyhs
,