j2ee 기반의 웹서비스 구축을 위한 jeus 4.0
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
J2EE J2EE 기반의 기반의 웹서비스 구축을 위한웹서비스 구축을 위한
JEUS 4.0JEUS 4.0
정재웅 선임 연구원
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
22/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Agenda
• 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
• Scheduler• Java Management
eXtension• Client-side Programming• System Clustering• Service Clustering• Dynamic Configuration• Management Tool• Web Service• Personalization, IDE• Summary
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
33/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Program 모델 변화
메인프레임환경의
Program
2 tier환경의C/S
Program
3 tier환경의C/S
Program
Internet환경의
Web/WASProgram
과거 1980 년대 1990 년대 현재
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
44/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Business
Presentation
Web 환경의 출현
• Without Middleware (WAS)
• With Middleware (WAS)
• Request 마다 Process 생성 / 종료로 시스템 부하가중
• Transaction 관리 어려움
Web Browser
Web Browser
WebServer
• 이식성 / 확장성• 우수한 성능• Component 화
DB
WAS
WebServer
CGI AP
DBAP
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
55/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
WAS 의 기능
• Web 환경에서의 3tier architecture
• Presentation (GUI) 과 Business Logic 의 분리 운영
• Thread 관리
• 부하조절 (Load Balancing)
• 장애대책 (Fail-Over)
• Transaction 지원
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
66/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
WAS 종류
• Java 계열
- J2EE (Java 2 Enterprise Edition) - J2EE (Java 2 Enterprise Edition) 표준표준
- SUN- SUN 의 주도의 주도
- Tmax Soft(JEUS), BEA(Web Logic), IBM(Web - Tmax Soft(JEUS), BEA(Web Logic), IBM(Web Sphere), Sphere), Oracle 9iAS Oracle 9iAS 등등
- - 이식성이 뛰어남이식성이 뛰어남
• Non-Java 계열
- MicroSoft- MicroSoft 의 의 ..NetNet
- C/C++ - C/C++ 계열의 계열의 WebtoB@Enterprise, Zeus, ToinB WebtoB@Enterprise, Zeus, ToinB 등등
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
77/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
JEUS
• JEUS (Java Enterprise User Solution)
• J2EE 기반 Web Application Server
• 국내최초 J2EE Certification 획득 제품
• Web Server (WebtoB Light) 내장으로 속도 향상
Client Tier Web/Business Tier EIS Tier
JEUS Database
TP-Monitor
LegacySystem
PresentationLayer
BusinessLayer
System ManagementLayer
WebServer
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
88/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
JEUS System Architecture
Web AdminServer
Web AdminServer
JNLPServerJNLP
Server
Node ControlerNode Controler
Remote Security ServerRemote Security Server
JNDIServerJNDI
ServerSecurityServer
SecurityServer
SecurityServer
SecurityServer
SessionManagerSessionManager
ClassFTPServer
ClassFTPServer
HTMLHTML
Web BrowserWeb Browser
Java ApplicationJava Application
JNLP Client(ex. Web Start)
JNLP Client(ex. Web Start)
AppletApplet
Applet ClientApplet Client
Web BrowserWeb Browser
Java ApplicationJava Application
Client ContainerClient Container
COM / DCOMCOM / DCOM
Jeus COM BridgeJeus COM Bridge
CORBA Application
CORBA Application
RMI / IIOPrRMI / IIOPr
Jeus ManagerJeus Manager DefaultEngine Container
DefaultEngine Container
WebContainer
EJB Container
JMS Container
JDBCConnection
Pool
JDBCConnection
Pool
TransactionManager
TransactionManager
DB
Engine ContainerEngine Container
WebContainer
EJB Container
JMS Container JDBC
ConnectionPool
JDBCConnection
Pool
DB
JNDIClientJNDI
ClientSecurityClient
SecurityClient SchedulerScheduler Transaction
ManagerTransaction
Manager
Engine ContainerEngine Container
WebContainer
EJB Container
JMS Container JDBC
ConnectionPool
JDBCConnection
Pool
DB
JNDIClientJNDI
ClientSecurityClient
SecurityClient SchedulerScheduler Transaction
ManagerTransaction
Manager
WebtoBLight
WebtoBLight
HTMLHTML CGICGI
SSISSI PHPPHP
Server Application Environment
Client Application Environment
WebAdminWeb
Admin
JadminJadmin
JdeployJdeploy
ManagementEnvironment
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
99/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
What’s New in JEUS 4.0
• J2EE 1.3
- EJB 2.0- EJB 2.0- Connector- Connector- JMS- JMS- Servlet 2.3/ JSP 1.2- Servlet 2.3/ JSP 1.2
• XML 기반 Web Service• Personalization Server• JEUS Studio• Tmax, WebtoB Connectivity
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
1010/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Web Server
• 대용량의 동시 Web Client 를 어떻게 안정적으로 받아 들일 수 있는가 ?
• WebtoB Light
- C-coded web server with I/O multiplexing- C-coded web server with I/O multiplexing
- Clustering & Software routing- Clustering & Software routing
- FailStop (L7 software switch)- FailStop (L7 software switch)
- Memory caching- Memory caching
- PIPE based communication with Web - PIPE based communication with Web ContainerContainer
- SSL / Virtual Hosting / Logging- SSL / Virtual Hosting / Logging
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
1111/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUSSession Manager
• Servlet/JSP 로 구현된 서비스를 어떻게 복수개의 CPU 또는 machine 에서 cluster 로 운영이 가능한가 ?
ClientWebWeb
ServerServerWebWeb
ServerServer
Web Container 1Web Container 1
Web Container NWeb Container N
JEUS Manager 1
Session ManagerSession Manager
SessionStorage
Session KeySession Key
Session Clustering
Session Key
JEUS Manager 2
Backup Backup Session ManagerSession Manager
Through FireWall
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
1212/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
EJB
• JavaBean 또는 RMI 로도 충분한데 EJB 는 언제 사용할수 있는가 ?
- Transaction(Programmatic, Declarative)- Transaction(Programmatic, Declarative)
- Security(method-level)- Security(method-level)
- Concurrency Control- Concurrency Control
- Object Management- Object Management
- Execution Environment- Execution Environment
- Exception Handling- Exception Handling
- Clustering(out of specification)- Clustering(out of specification)
- Data Caching(Entity)- Data Caching(Entity)
- Engine Monitoring(out of specification)- Engine Monitoring(out of specification)
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
1313/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Entity & Relationship
• Session Bean 은 잘 쓰겠는데 Entity Bean 와 관계형 DB 를 효율적으로 연동하려면 어떻게 해야 하는가 ?
- Entity Caching, Update Sensing, SQL Opt., Local - Entity Caching, Update Sensing, SQL Opt., Local
Method Invocation Opt.Method Invocation Opt.
- Relationship in EJB 2.0- Relationship in EJB 2.0 Relationship in RDBMSRelationship in RDBMSRelationship in CMP(2.0)Relationship in CMP(2.0)
ID NAME DEPTNO
1 KKK 123
2 JJJ 234
…
ID DEPT
123 R&D
234 SALES
… …
EMPLOYEEEMPLOYEE DEPARTMENTDEPARTMENT
EMPLOYEE DEPARTMENT
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
1414/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUSJMS & Message Driven Bean
•큰 업무를 여러 개의 단위 업무로 나누어 순차 진행시키거나 , 일부 작업을 뒤로 미루어 처리할 수 있는가 ?
MDB
無
MDB
有
Client
EJB
bean
EJB
bean
① ②
③④
ü 작업처리 완료까지 작업 요청한 Client 가 Blocking 상태
Client
EJB
bean
EJB
bean
① ②
③
ü 작업완료 전에 다른 작업 가능 (not Blocking)
ü 다양한 Workflow 구성 가능
MDB
JMS’① ’②
passive
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
1515/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Transaction Manager
• 기존에 이미 구축되었거나 업무상 별 수 없이 써야 할 DB 또는 엔진이 있는데 이것이 XA 를 지원하지 않아 transaction 으로 묶을 수가 없을때 , 해결방안은 ?
• Commit Protocol Optimization- Branch joining, ReadOnly Opt.- Branch joining, ReadOnly Opt.
TM RM1 RM2
2 Phase Commit
TM RM1 RM2 LRM
3 Phase Commit
TM RM
1 Phase Commit
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
1616/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUSLegacy System Connectivity
• WAS 뒷단에 묶어야 할 시스템이 있는데 어떻게 연동이 가능한가 ?
- CICS, IMS, SAP, Tandom, Ingres, MQ - CICS, IMS, SAP, Tandom, Ingres, MQ 등등 J2EE Connector ArchitectureJ2EE Connector Architecture
- CORBA - CORBA RMI-IIOP RMI-IIOP
- COM/DCOM - COM/DCOM COM Bridge COM Bridge
- LDAP - LDAP JNDI Bridge JNDI Bridge
- DB - DB JDBC Driver JDBC Driver
- Vendor specific Connector- Vendor specific Connector•Tmax WebT, Tuxedo Jolt
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
1717/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Naming & Directory Service
• 시스템에서 사용되는 Resource 또는 서비스들을 다양한 조건으로 검색하여 runtime 에 사용할 수 있는가 ?
- Naming- Naming • 이름을 통한 대상 객체 검색
- Directory- Directory• 속성을 통한 대상 객체 검색• 분산된 단위 시스템간의 dynamic binding•Faster Access on shared info. than DB
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
1818/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
• 한번 시스템에 login 한 유저가 추가 authentication 없이 시스템 내의 여러 서비스를 사용할 수 있는가 ?
- Single SignOn- Single SignOn•Authentication 된 Principal 정보의 Runtime
관리•Servlet 단위 , EJB Bean Method 단위 Auth.
- User Define Realm- User Define Realm• 시스템 사용자 관리의 편의성 제공
- LDAP, OS Realm- LDAP, OS Realm• 기존에 구축된 security 정보를 기반으로 보안 체계
구성 가능
Security Manager
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
1919/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUSScheduler
• Batch Job 형태로 할 수 있는 방법은 ?
- - 동적인 작업등록동적인 작업등록 , , 해제해제 , , 자동 해제자동 해제- - 주기적 실행주기적 실행 , , JVMJVM 을 지정하여 실행 가능을 지정하여 실행 가능
Scheduler Runtime
Batch JobLocal Register Job Table
8:108:10
Execute
[JEUS Scheduler]
Batch JobRemote Register
8:208:20
8:508:50
8:308:30
8:408:40
9:009:00 9:109:10
…
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
2020/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUSJava Management eXtension
• JEUS 시스템상의 운영중인 서비스 또는 시스템 자체를 NMS 시스템과 연동하여 관리할 수 있는가 ?
- JMX Agent, SNMP Connector- JMX Agent, SNMP Connector
MIB
NMSJMX AgentJMX
AgentAPI
SNMP Agent
MIBMIB
SNMP Request
SNMP Replies
SNMP Traps
MBeans
JEUS System
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
2121/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Client-side Programming
• 어떤 어떤 형태의 Client Programming 을 지원할 수 있는가 ?
- Client Container- Client Container• Java GUI application• Full Functionality but Installation Prob.
Intranet - Applet Container- Applet Container
•Web Browser 상에서 복잡한 GUI 구성가능•Download overhead 장시간 사용되거나
서버측에서의 데이터 처리가 곤란한 경우 - JNLP Container- JNLP Container
• Java GUI application 의 설치 및 버전 관리 문제 해결 - JEUS COM Bridge- JEUS COM Bridge - RMI/IIOP- RMI/IIOP
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
2222/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
• 복수개의 machine 으로 시스템을 구축하였을 때 시스템의 안전성은 어떻게 보장될 수 있는가 ?
- JEUS Server- JEUS Server 에 의한 엔진 에 의한 엔진 fail-overfail-over
- Multi-node - Multi-node 감시 체계 감시 체계 ((based on ‘Ring’ topology)based on ‘Ring’ topology)
- Node fail-over (backup node - Node fail-over (backup node 부팅부팅 ))- failed node- failed node 가 다시 살아났을 때 가 다시 살아났을 때 Auto-rejoiningAuto-rejoining
JEUS ServerJEUS ServerJEUS ServerJEUS Server
ServletServletEngineEngineServletServletEngineEngine
EJBEJBEngineEngine
EJBEJBEngineEngine
failurefailure
Auto restartingAuto restartingFail-overFail-over
detecteddetected
JEUS ServerJEUS ServerJEUS ServerJEUS Server
ServletServletEngineEngineServletServletEngineEngine
EJBEJBEngineEngine
EJBEJBEngineEngine
System Clustering
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
2323/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Failuredetect
Failure
Initially ring
Periodic checkingFor resurrection
Rejoining ofThe failed node
Dynamic scale-up by adding a node at runtimeDynamic scale-up by adding a node at runtime
Backup enginesstarted
ChangingNode information
By sending join signal
System scaled dynamically
System Clustering
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
2424/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
• Service 를 clustering 하여 운영하였을 때 load balancing, failover 문제는 해결되는가 ?- 2 - 2 step load balancingstep load balancing
- WebtoB Light Cluster, Session Manager, Active - WebtoB Light Cluster, Session Manager, Active StubStub
Home Stub 1Home Stub 1
Remote Stub 1Remote Stub 1
EJB Home NEJB Home N
EJB Object NEJB Object NEJBEJB
EJB Container NEJB Container N
EJB Home 1EJB Home 1
EJB Object 1EJB Object 1EJBEJB
EJB Container 1EJB Container 1
Home Stub NHome Stub N
JNDI ServerJNDI Server
service1
Home Stub 1Home Stub 1
InitializationHome ClusterRemote Cluster
Client
Service Clustering
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
2525/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
• System, Service, Resource 들에 대한 동적 구성
변경이 가능한가 ?
- System level- System level• 노드 , 서비스 엔진 (Web Container, EJB
Container, JMS Server) 대한 동적인 추가 , 제거 , 설정 변경
- Service level- Service level• 서비스 모듈 단위 , 서비스 단위의 동적 deploy,
undeploy, enable, disable, 설정변경 • 각 resource 의 설정 사항에 대한 동적 변경
Dynamic Configuration
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
2626/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
• System 및 service 들의 현 상태를 monitoring 하고 control 할 수 있는 Tool 을 지원하는가 ?
- GUI Tool – Jadmin , Jdeploy, WebAdmin- GUI Tool – Jadmin , Jdeploy, WebAdmin
- Console Tool – jeusadmin, ejbadmin, - Console Tool – jeusadmin, ejbadmin, webadmin webadmin 등등
Management Tool
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
2727/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Web Service
• eBusiness 에서의 새로운 기술로 제시되는 XML 기반의 Web Service 를 제공하는가 ?
SOAP Proxy
WSDL Tool
UDDIUDDIRegistryRegistry
WebtoBLight JEUSJEUS
UDDI ClientUDDI Client
WSDL Tool
JEUSWeb Container
SOAPEngine
ServiceRouterClient-Side
Application
1
3 2
4 5
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
2828/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUSPersonalization, IDE
• Personalization 기능은 지원되는가 ?
• JEUS Personalization ServerJEUS Personalization Server• Rule-based Engine with JSP TagRule-based Engine with JSP Tag
• 개발 툴은 어떤 것들이 있는가 ?
• JEUS StudioJEUS Studio• JbuilderJbuilder• Servlet, JSP, EJB, Client Servlet, JSP, EJB, Client 모듈의 설계모듈의 설계 , , 개발개발 , ,
debugging, packing, runtime deploy, debugging, packing, runtime deploy, profilingprofiling
• Group Work, XML editing, documentation Group Work, XML editing, documentation 등등
기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
2929/29/29Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JEUSJEUS
Summary
• J2EE v1.3 의 모든 기능 지원
• JEUS 고유의 다양한 문제 해결 solution 들
• 관리 , 운영 및 시스템 개발의 편의성
• 미래 IT Trend 에 대한 대비