1 / 29

J2EE 기반의 웹서비스 구축을 위한 JEUS 4.0

J2EE 기반의 웹서비스 구축을 위한 JEUS 4.0. 정재웅 선임 연구원. WAS 개요 JEUS System Architecture What’s new in JEUS 4.0? Web Server Session Manager EJB JMS Transaction Manager Legacy System Connectivity Naming & Directory Service Security Manager. Agenda. Scheduler Java Management eXtension

Download Presentation

J2EE 기반의 웹서비스 구축을 위한 JEUS 4.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. J2EE 기반의 웹서비스 구축을 위한 JEUS 4.0 정재웅 선임 연구원

  2. WAS 개요 JEUS System Architecture What’s new in JEUS 4.0? Web Server Session Manager EJB JMS Transaction Manager Legacy System Connectivity Naming & Directory Service Security Manager Agenda • Scheduler • Java Management eXtension • Client-side Programming • System Clustering • Service Clustering • Dynamic Configuration • Management Tool • Web Service • Personalization, IDE • Summary

  3. Program 모델 변화 Internet 환경의 Web/WAS Program 3 tier 환경의 C/S Program 2 tier 환경의 C/S Program 메인 프레임 환경의 Program 과거 1980년대 1990년대 현재

  4. Web 환경의 출현 • Without Middleware (WAS) • With Middleware (WAS) Web Browser AP Web Server CGI • Request마다 Process생성 / 종료로 시스템 부하가중 • Transaction 관리 어려움 DB WAS Web Browser Web Server AP • 이식성/확장성 • 우수한 성능 • Component화 DB Presentation Business

  5. WAS의 기능 • Web 환경에서의 3tier architecture • Presentation (GUI)과 Business Logic의 분리 운영 • Thread 관리 • 부하조절 (Load Balancing) • 장애대책 (Fail-Over) • Transaction 지원

  6. WAS 종류 • Java 계열 - J2EE (Java 2 Enterprise Edition) 표준 - SUN의 주도 • - Tmax Soft(JEUS), BEA(Web Logic), IBM(Web Sphere), Oracle 9iAS 등 • - 이식성이 뛰어남 • Non-Java 계열 - MicroSoft의 .Net - C/C++ 계열의 WebtoB@Enterprise, Zeus, ToinB 등

  7. Presentation Layer Business Layer System Management Layer JEUS EIS Tier Client Tier Web/Business Tier JEUS Database TP-Monitor Web Server Legacy System • JEUS (Java Enterprise User Solution) • J2EE 기반 Web Application Server • 국내최초 J2EE Certification 획득 제품 • Web Server (WebtoB Light) 내장으로 속도 향상

  8. Client Application Environment HTML Java Application Applet Java Application COM / DCOM CORBA Application Web Browser JNLP Client(ex. Web Start) Applet Client Client Container Jeus COM Bridge RMI / IIOPr Web Browser WebAdmin WebtoBLight WebContainer EJB Container JMS Container JDBCConnectionPool WebContainer EJB Container JMS Container Engine Container Engine Container JDBCConnectionPool DB DB Jadmin JNDIClient SecurityClient Scheduler TransactionManager JNDIClient SecurityClient Scheduler TransactionManager CGI HTML PHP SSI Web AdminServer JNLPServer JNDIServer SecurityServer SecurityServer SessionManager ClassFTPServer WebContainer EJB Container JMS Container JDBCConnectionPool DefaultEngine Container DB Jdeploy Node Controler Jeus Manager TransactionManager Remote Security Server ManagementEnvironment Server Application Environment JEUS System Architecture

  9. J2EE 1.3 - EJB 2.0 - Connector - JMS - Servlet 2.3/ JSP 1.2 XML 기반 Web Service Personalization Server JEUS Studio Tmax, WebtoB Connectivity What’s New in JEUS 4.0

  10. Web Server • 대용량의 동시 Web Client 를 어떻게 안정적으로 받아 들일 수 있는가? • WebtoB Light • - C-coded web server with I/O multiplexing • - Clustering & Software routing • - FailStop (L7 software switch) • - Memory caching • - PIPE based communication with Web Container • - SSL / Virtual Hosting / Logging

  11. Session Manager • Servlet/JSP로 구현된 서비스를 어떻게 복수개의 CPU 또는 machine에서 cluster로 운영이 가능한가? Session Clustering Web Container 1 Web Server Session Key Client Session Key Web Container N Session Key Session Storage Backup Session Manager Session Manager JEUS Manager 2 JEUS Manager 1 Through FireWall

  12. EJB • JavaBean 또는 RMI 로도 충분한데 EJB는 언제 사용할수 있는가? • - Transaction(Programmatic, Declarative) • - Security(method-level) • - Concurrency Control • - Object Management • - Execution Environment • - Exception Handling • - Clustering(out of specification) • - Data Caching(Entity) • - Engine Monitoring(out of specification)

  13. Entity & Relationship • Session Bean은 잘 쓰겠는데 Entity Bean와 관계형 DB를 효율적으로 연동하려면 어떻게 해야 하는가? • - Entity Caching, Update Sensing, SQL Opt., Local • Method Invocation Opt. • - Relationship in EJB 2.0 Relationship in CMP(2.0) Relationship in RDBMS EMPLOYEE DEPARTMENT EMPLOYEE DEPARTMENT

  14. JMS & Message Driven Bean • 큰 업무를 여러 개의 단위 업무로 나누어 순차 진행시키거나, 일부 작업을 뒤로 미루어처리할 수 있는가? ① ② EJB bean EJB bean Client ③ ④ • 작업처리 완료까지 작업 요청한 Client가 Blocking 상태 JMS ② ① EJB bean EJB bean ②’ ①’ Client MDB passive ③ • 작업완료 전에 다른 작업 가능(not Blocking) • 다양한 Workflow 구성 가능

  15. Transaction Manager • 기존에 이미 구축되었거나 업무상 별 수 없이 써야 할 DB 또는 엔진이 있는데 이것이 XA를 지원하지 않아 transaction으로 묶을 수가 없을때, 해결방안은? • Commit Protocol Optimization • - Branch joining, ReadOnly Opt. TM RM1 RM2 LRM TM RM TM RM1 RM2 1 Phase Commit 2 Phase Commit 3 Phase Commit

  16. Legacy System Connectivity • WAS 뒷단에 묶어야 할 시스템이 있는데 어떻게 연동이 가능한가? • - CICS, IMS, SAP, Tandom, Ingres, MQ 등 •  J2EE Connector Architecture • - CORBA  RMI-IIOP • - COM/DCOM  COM Bridge • - LDAP  JNDI Bridge • - DB  JDBC Driver • - Vendor specific Connector • Tmax  WebT, Tuxedo  Jolt

  17. Naming & Directory Service • 시스템에서 사용되는 Resource 또는 서비스들을 다양한 조건으로 검색하여 runtime에 사용할 수 있는가? • - Naming • 이름을 통한 대상 객체 검색 • - Directory • 속성을 통한 대상 객체 검색 • 분산된 단위 시스템간의 dynamic binding • Faster Access on shared info. than DB

  18. Security Manager • 한번 시스템에 login 한 유저가 추가 authentication 없이 시스템 내의 여러 서비스를 사용할 수 있는가? • - Single SignOn • Authentication 된 Principal 정보의 Runtime 관리 • Servlet 단위, EJB Bean Method 단위 Auth. • - User Define Realm • 시스템 사용자 관리의 편의성 제공 • - LDAP, OS Realm • 기존에 구축된 security 정보를 기반으로 보안 체계 구성 가능

  19. Scheduler • Batch Job 형태로 할 수 있는 방법은? • - 동적인 작업등록, 해제, 자동 해제 • - 주기적 실행, JVM을 지정하여 실행 가능 [JEUS Scheduler] Local Register Job Table Batch Job 8:20 8:30 Scheduler Runtime 8:40 8:50 Remote Register Batch Job 9:00 9:10 Execute … 8:10

  20. NMS MIB SNMP Request JMX Agent JMX Agent API SNMP Replies SNMP Agent MIB SNMP Traps Java Management eXtension • JEUS 시스템상의 운영중인 서비스 또는 시스템 자체를 NMS 시스템과 연동하여 관리할 수 있는가? • - JMX Agent, SNMP Connector JEUS System MBeans

  21. Client-side Programming • 어떤 어떤 형태의 Client Programming을 지원할 수 있는가? • - Client Container • Java GUI application • Full Functionality but Installation Prob.  Intranet • - Applet Container • Web Browser 상에서 복잡한 GUI 구성가능 • Download overhead 장시간 사용되거나 서버측에서의 데이터 처리가 곤란한 경우 • - JNLP Container • Java GUI application 의 설치 및 버전 관리 문제 해결 • - JEUS COM Bridge • - RMI/IIOP

  22. System Clustering • 복수개의 machine으로 시스템을 구축하였을 때 시스템의 안전성은 어떻게 보장될 수 있는가? • - JEUS Server에 의한 엔진 fail-over • - Multi-node 감시 체계 (based on ‘Ring’ topology) • - Node fail-over (backup node 부팅) • - failed node가 다시 살아났을 때 Auto-rejoining failure Servlet Engine EJB Engine Servlet Engine EJB Engine detected Auto restarting Fail-over JEUS Server JEUS Server

  23. System Clustering Failure Rejoining ofThe failed node Periodic checkingFor resurrection Failuredetect Backup engines started Initially ring Dynamic scale-up by adding a node at runtime System scaled dynamically Changing Node information By sending join signal

  24. Service Clustering • Service 를 clustering 하여 운영하였을 때 load balancing, failover 문제는 해결되는가? • - 2 step load balancing • - WebtoB Light Cluster, Session Manager, Active Stub EJB Container 1 JNDI Server Home Stub 1 EJB Home 1 EJB service1 Home Stub N EJB Object 1 Client Home Stub 1 Remote Stub 1 EJB Container N Initialization EJB Home N EJB Home Cluster EJB Object N Remote Cluster

  25. Dynamic Configuration • System, Service, Resource 들에 대한 동적 구성 변경이 가능한가? • - System level • 노드, 서비스 엔진(Web Container, EJB Container, JMS Server) 대한 동적인 추가, 제거, 설정 변경 • - Service level • 서비스 모듈 단위, 서비스 단위의 동적 deploy, undeploy, enable, disable, 설정변경 • 각 resource의 설정 사항에 대한 동적 변경

  26. Management Tool • System 및 service들의 현 상태를 monitoring 하고 control 할 수 있는 Tool 을 지원하는가? • - GUI Tool – Jadmin , Jdeploy, WebAdmin • - Console Tool – jeusadmin, ejbadmin, webadmin 등

  27. Web Service • eBusiness 에서의 새로운 기술로 제시되는 XML 기반의 Web Service를 제공하는가? UDDIRegistry 3 2 UDDI Client UDDI Client 1 JEUS WebtoBLight SOAPEngine ServiceRouter Client-SideApplication 4 5 JEUSWeb Container SOAP Proxy WSDL Tool WSDL Tool

  28. Personalization, IDE • Personalization 기능은 지원되는가? • JEUS Personalization Server • Rule-based Engine with JSP Tag • 개발 툴은 어떤 것들이 있는가? • JEUS Studio • Jbuilder • Servlet, JSP, EJB, Client 모듈의 설계, 개발, debugging, packing, runtime deploy, profiling • Group Work, XML editing, documentation 등

  29. Summary • J2EE v1.3 의 모든 기능 지원 • JEUS 고유의 다양한 문제 해결 solution들 • 관리, 운영 및 시스템 개발의 편의성 • 미래 ITTrend에 대한 대비

More Related