SSISO Community

시소당

웹스피어 6.1(1)

1. 웹스피어 교육 (1일)

 

1-1. 웹스피어 시작하기
     - 웹스피어 버전과 J2EE버전 비교
            V6 = J2EE 1.4 - 2004 / 웹서비스 표준 스팩 포함.
            V5.1 = J2EE 1.3 / JDK 1.4 --> JDK가 버전이 변경되서 .1버전으로 변경(0.x버전들은 거의 JDK의 변경으로 발생)

            V5 = J2EE 1.3 - 2003

            V5 이상은 XML에 구성정보를 저장.

            ---------------------

            V4 이하는 구성정보를 DB에 저장하고 있음.
            V4 = J2EE 1.2 - 2001
            V2

    

     1-1-1. J2EE 플랫폼

         - 웹컨테이너(JSP+Servlet) + EJB컨테이너(EJB Bean)

             = cf> JMS = Java Message Service (자바 메시지 서비스로 외부와 통신시 사용되는 스팩)

                 ex> Client (Applet! Container/Application Client Container) ------- HTTP-------- J2EE Application Server(Jsp+Servlet Container / EJB Container)

    

     1-1-2 웹스피어 소프트웨어 플랫폼

         - cf> IBM 5개의 제품군 = 웹스피어, DB2 / 인포믹스, 로터스(), Tivoli, 개발툴(National)

         - 웹스피어는 e-비지니스를 동적으로 지원하는 인프라스트럭처

         - 웹스피어 APP Server의 발전

    

     1-1-3 Application Server이란?

         - Write once, run anywhere(J2EE)

         - 웹스피어는 Enterprise고객을 대상으로 하기 때문에 성능위주로 구성되어 있어 초보자의 처음 접근이 어려움.

 

     1-1-4 Web Application Server 6.1

         - WAS 6.1 Express -> Standalon 제품

         - WAS 6.1 (Base) -> Standalon 제품

         - WAS 6.1 Network Deployment (클러스터링(여러 서버에서 하나의 어플리케이션을 동시에 작업하도록 지원) + Failover 지원)

         - Express 와 Base는 코드는 완변하게 같고 라이센스만 차이가 있음

            = cf> V5.x의 경우 Express 버전은 BASE에서 EJB 엔진을 제외함.(가벼운 WAS로 제공)

                 V6.x는 Express와 Base는 라이센스만 다름.

            = cf> WS Vs WAS

                    - 정적인 처리 Vs 트랜잭션 + 비지니스 로직 처리

                    - WS와 WAS를 분리하는 이유?

                         - WS는 외부와 커뮤티케이션을 담당하고 내부 WAS에 전달하는 역할, DMZ구간에 있음. (보안정책)

                         - IBM HTTP Server V6.1 Web Server Plug-ins = Aphach 기반의 WS(cf> 티맥스의 WEBTOB + JEUS)

         - J2EE 1.4를 완벽 지원 & Programming model extensions(J2EE 스팩에서 지원하지 않으나 필요한 사항들... J2EE 스팩에서는 지원하지 않으나 필요한 것들.)

         - 웹스피어 6.1 Network Deployment

            = scalability(추가가 필요하면 추가로 붙이기만 하면 됨) & 성능 & 클러스트링 + failover지원 & 가중치 적용 가능(서버당 처리율에 따라 가중치 부여가능)

            = Load Balancer기능 (소프트웨어로 구성한 L4 Switch 기능)

            = Caching proxy 기능

 

        1-1-4-1 Session Initiation Protocal(SIP) Servlets (웹스피어 6.1부터 지원)

             - 세션을 확장한 개념

             - SIP의 정의

                 = 인터넷 통신망에서 IP 단말기나 통신시스템, 사용자간에 VoIP 서비스 뿐만 아니라 다양한 서비스 호를 설정해주는 콜 컨트롤 프로토콜 기술 

             - SIP의 특장점

                 = 원격지에 있는 인터넷 단말기 뿐만 아니라 서비스 애플리케이션, 네트워크 장비간에 유기적으로 연동이 가능하고 궁극적으로 멀티미디어 서비스 구현이 가능

                 = 클라이언트 서버 구조로 설계돼 유지 보수 및 관리가 용이하고, 호환성, 확장성, 유연성 등에서 탁월한 효과

        

        1-1-4-2 IBM HTTP Server

             - Apache Web Server 2.0.47 기반.

             - 확장

                 = SSL 지원

                 = Static Content를 캐싱을 통해 향상

                 = Machine Translation dynamically translates HTML Files (HTML을 원하는 언어로 변환)

        

        1-1-4-3 Edge Components

             - Load Balance기능

        

        1-1-4-4 Rational products

             - 개발 도구(Tool) 모음.

             - RAD(Rational Appliocation Developer and Web Developer) > AST(WebSphere Application SErver Toolkit)(J2EE Application을 패키징해주는 툴) > WTP

 

1-2 웹스피어 아키텍처(Standalon) - Base and Exporess

     

     1-2-1 주요 테마

         - J2EE 1.4기반, 쉬운 사용

         - Enterprise class 개발

         - Service DAta Object(SDO)

 

     1-2-2 WebSphere Application Server

         - 미들웨어 서비스 제공(DB 엑세스, 트랜잭션등...)

 

     1-2-3 실행시의 아키텍처

         => Browser ------HTTP(S)------> HTTP SERVER (웹서버) /=> HTTP Server Plug-in(Request에 따른 처리방법 정의<ex> 어떤 요청은 WAP로 보내라!)

                ---------HTTP(S)---------> Application Server / => Embedded HTTP Server => Web Container(Servlets/Jsps) => EJB Container(EJBs) / ------JDBC--------> DB

         cf> Java Client 에서 바로 EJB Container로 접근 가능(RMI/IIOP사용)

              Web Servervices Client에서 바로 SOAP/JMS를 통해 WAS에 Request 가능.

     

     1-2-4 JDBC Providers

         - TYPE 4 JDBC drivers(Native protocol)를 사용.

         - XA drivers를 통해 트랜?션 관리.

          cf> XA란? 2pc(Two Phase Commit)를 통한 분산 트랜잭션을 지원하는 X-Open 표준

 

     1-2-5 DATA Sources

         - DB 작업시 Connection 연결에 시간이 오래 소요되므로 Connection pool을 사용하여 미리 Connection을 생성해 놓고 요청시 연결해서 바로 사용.

 

     1-2-6 Enhanced EAR

         - 기존의 J2EE App EAR에 리소스와 Properties를 함께 묶어서 Enhanced EAR로 만듦. (x.ear로 확장자는 같음)

         - ex> Application install시 기존의 J2EE App EAR을 설치하기 위해 JDBC 리소스나 Class Loader JAAS등의 필요한 상태를 만들고 설치해야 하지만, Enhanced EAR로 묶어서 설치하면

                 쉽게 설치 가능.

                 단, 운영환경이 아닌 개발 환경에서만 사용할 것! -> 개발 생산성을 높일 수 있음.

                 IBM 웹스피어 다른 버젼에서 설치시 제약사항이 따름. / 리소스의 scope는 Application

 

     1-2-7 Admin 아키텍처

         - 1. Admin Web Console 사용시 :

                Admin Console -> Embedded HTTP Server -> Web Container (Admin application) -> Admin Service (Admin MBeans) -> XML Configuration Files

         - 2. 명령어 기반 Console  사용시 :

                c:\> wsadmin ---- SOAP/HTTP ----> Embedded HTTP Server -> Web Container (Admin application) -> Admin Service (Admin MBeans) -> XML Configuration Files

                c:\> wsadmin ----RMI/IIOP -----> Admin MBeans -> XML Configuration Files

 

     1-2-8 WebSphere profiles

         - Product files (V6.x)

             - 공유 파일들(read only static files)

         - Configuration files (profiles)

             - 사용자마다 다른 구성 정보 data 파일

         - ex> 한 서버에 여러 개의 WAS를 설치 시, 몇 개의 WAS를 설치하여도 Product file은 1개만 사용되고 각 서버마다 고유 정보 profile들은 따로 가진다.

                 각각의 profile는 동일한 product file을 사용한다.

         - Profiles Management tool(PMT)

             - 이클립스 기반 GUI

             - Profile 생성에 사용하는 툴

         - Managementprofiles script

             - cmd창에서 사용하는 명령어 기반

 

1-3 웹스피어 ND(Network Developer) 아키텍처

     1-3-1 Network deployment 실행 흐름

        - 브라우저 --- HTTP(S) ---> Load Balancer (L4) ---- HTTP(S) -----> 여러대의 HTTP 서버(WS) ----- HTTP(S) ------> 여러대의 WAS ---- JDBC ---> DB서버

     

     1-3-2 ND의 개념

        - 노드란?

             App Server들의 논리적인 그룹(묶음). 단, 하나의 노드는 여러개의 App 서버를 가질 수 있지만 한 노드안의 여러개의 서버는 같은 물리공간에 존재해야한다.

             즉, 다른 서버에 있는 App server는 하나의 노드로 묶일 수 없다.

             

     1-3-3 Deployment Manager(DMgr) - 웹로직의 Dom과 같음?

        - Cell 개념 통해 전체의 노드를 하나의 DMgr로 중앙집중적으로 관리

        - 노드 에이젼트를 통해 각 노드에 명령을 내림.

        - DMgr은 가급적 다른 머신에 설치하기를 권장.

 

     1-3-4 Managed 노드와 Unmanaged 노드

        - 노드 에이젼트를 만들면 Managed 노드이고, 노드 에이젼트가 없으면 UnManaged 노드

        - 따라서 App Server를 가진 노드들은 당연히 Managed 노드가 되야 한다.

 

     1-3-5 Network deployement administration 흐름

         - DMgr의 MASTER 파일에 CELL에 관련된 모든 정보를 가짐.

         - 각 노드들은 MASTER의 부분파일(Subset)을 가짐.

         - 각 노드들의 Config 내용이 변경되면 DMgr의 MASTER 파일도 변경되야 함. (구성정보가 변경되면 반드시 MASTER 파일에 변경해 줘야 함.)

         - MASTER의 변경 내용은 각 노드들의 Subset에 일정 시간 후 copy된다.

         - 노드의 Config의 변경은 MASTER에 반영되지 않으므로 반드시 MASTER에 반영작업을 해 줘야 한다.

         - cf> 예를 들어 여러개의 노드중 하나의 노드를 정해 구성정보를 변경해서 테스트 해 볼때, 노드의 Config를 변경하면 MASTER는 변경되지 않으므로 해당 노드만 변경됨.

                 테스트 후, 언젠가는 MASTER의 정보가 그 노드의 Config를 바꿈.             

 

     1-3-6 File 동기화(Sync)

         - 자동

             - Start up될 때. (구동될때, DMgr의 MASTER Config와 노드의 Config가 다르면 MASTER 정보를 복사해 와 적용된다.)

         - 수동

             - Admin Console or Command line 에서 작업 가능. 

     

     1-3-7 ND에서의 Profile

         - ND에서는 노드 = profile 이다. (cf> Base & Express에서는 하나의 노드에 하나의 App만 있을 수 있다.)

             - ex> 하나의 DMgr에 2개의 노드가 있으면 총 3개의 Profile이 필요한다.(DMgr 1 + 노드 2 )

         - App Server Profile (stand-alone)

             - 노드 하나에 App server 하나가 생김.

         - Deployment Manager profile

             - Deployment Manager profile를 생성하면 DMgr이 생성됨.

         - Custom profile (managed)

             - 기본 profile로 생성하여 무조건 DMgr에 연결된 형태로 만들어 지고, 노드 안에 노드 에이전트가 생성된다. 하지만 App server는 생성되지 않는다. 추후 필요에 따라 추가한다.

         - Cell profile

             - 노드를 생성하면서 DMgr를 생성하고, DMgr에 연결하며, 노드에이전트 + App server를 생성하고 싶을때.(한꺼번에 모든 작업을 하고 싶을 때)

         - 웹스피어 6.x부터는 DMgr를 사용하여 외부의 WS(web server)를 자신의 노드로 만들 수 있다.

             - IBM HTTP Server를 제외하고 다른 모든 WS를 노드로 생성할 때는 노드 에이전트를 생성하여 Managed NODE로 만들어야 한다. 하지만 IBM HTTP Server 노드 에이전트 없이 관리 가능.

                 (IBM HTTP Server는 UnManaged 노드로 생성 가능하다.)

             - start & stop 가능.

             - http.conf 파일 edit 가능.

             - Managed Node(local) or Unmanaged Node(remote) => IBM HTTP Server는 노드 에이전트를 만들지 않으므로 remote선택 / 다른 WS는 모두 local로 선택해야 한다.

             - 즉, Managed Node = 노드 에이전트 사용// Unmanaged Node = 노드 에이전트 사용 X

 

     1-3-8 IBM HTTP Server Administration Server

         - admin.conf, httppasswd.admin 설정 해야 함. (> htpasswd -cm ..\conf/admin.passwd <user_name>)

         - <ihs_root>/bin/adminctl start

         - <ihs_root>/bin/adminctl stop    

         - Windows에서는 service에 등록.

     

     1-3-9 Web Server custom plugin-cfg.xml

         - admin console에서 설정. -> 리부팅 없이 적용 가능.

         - 새로운 web server 추가 시 plugin-cfg.xml를 admin console 에서 수정하거나 or cmd에서 수정.

         - plugin-cfg.xml files 관리

     

     1-3-10 High availability

         - High availability(HA) = WAS안의 존재하는 Container 나 service가 서로 영향을 덜 받도록 분산

            (하나의 보안 service가 죽어도 다른 서버의 service는 제공되도록 한다.)

            (자신의 보안 service는 자신이 가지고 있음-죽어도 자기만 죽어라!)

 

     1-3-11 Name service

         - 분산처리를 위해 사용.

         - JNDI name space를 제공 (DMgr용 name space, Node용 name space등 HA를 통해 필요한 정보는 필요한 곳에 분산시켜놓음)

             (자신의 name space에서 찾다가 못 찾으면 점점 상위단계를 찾으면서 결국 Cell 전체내의 name space에서 찾음.)

         - 모든 EJB와 J2EE resource(JDBC Providers, JMS J2C, URL, JAVAMAIL)를 등록한다.

 

     1-3-12 Virtual Hosts(가상 호스트)

         - 하나의 App server에 가상의 호스트를 줄 수 있음(port를 다르게 함)

         - WAS를 처음에 설치하게 되면 2개의 가상의 host가 생성된다.

            (default host(9080)-기본 applications를 엑세스하는데 사용 / admin host(9060)-admin console를 엑세스 하기 위해 사용)

            http://localhost:9080/snoop||http://localhost:9080/console

 

     1-3-13 Edge Components

         - Load balancer기능(L4 Switch기능을 소프트웨어로 구현)

         - Caching proxy => Client -----> Caching Proxy -----> Load Balancer ------> Cluster of Load Balanced Servers

 

1-4 WebSphere Application Server 설치

 

    1-4-1 하드웨어 요구사항

         - 최소 1G 메모리 요구(512M가 최소 요구사항이지만 안됨. 최소 1G필요) 

         - 설치에 필요한 CD-ROM drive필요

 

     1-4-2 소프트웨어 요구사항

         - Windows

         - AIX

         - Sun Solaris ...

         - cf> http://www.ibm.com/software/webservers/appserv/doc/latest/prereq.html

         - Database

             - IBM DB2

             - Oracle

             - Sybase

             - Microsoft SQL

             - Informix

 

     1-4-3 설치

         - product binaries 설치 후 profile 생성 필요.

         - ND 환경에서는 노드에 여러개의 서버가 있을 수 있지만, Base or Express에서는 한 노드에는  server1(이름 고정)이라는 profile가 생성된다.

            ex> 하나의 물리적 서버에 App1svr을 만들고 App2Svr를 만들면(둘 다 Base)일 때, 각각의 노드별 profile는 모두 Server1 - 각 노드간 통신 X

                    -----------------------    

                         Product binaries

                     App1 - server1 (profile)

                     App2 - server1 (profile)

 

     1-4-4 Websphere Profiles

         - Application server(default)

         - Deployment manager

         - Custom(managed) - DMgr이 있고, 노드 에이전트 있고 서로 연결된다. 단, Appserver는 없다.

         - Cell

 

     1-4-5 profile 생성 방법

         - Profile Management Tool

             - start menu(Window only)

             - CMD

 

     1-4-6 Installation 

         - Tip> Windows 에서 설치시 Program Files 하위에 설치 하지 말것!

         - cf> Silent installation

                 - responsefile.nd / base/ exporess.txt => 기본사항을 미리 등록해 놓은 파일.

         - uninstall을 사용해서 제거.

         - 해당 profile(노드)의 bin 디렉토리에 가서 >startServer 서버명 으로 살리고 죽인다.

 

     1-4-7 IBM HTTP Server

         - Apache 2.0.47기반

         - admin console는 WAS의 admin console에 포함되어 있음.

         

출처 : http://blog.daum.net/mattchang/15686394

4377 view

4.0 stars