플랫폼소개
목 차 1. enmons란? 2. 개발배경 3. 개발목표 5. 특징 6. 활용방안 7. 주요고객 8. 기대효과 9. 향후과제 10. 결론 2
1. enmons 란? enmons(easy Network Monitoring System) 는 JMX1.2 기반으로구현된망관리소프트웨어개발툴킷이다. enmons 는누구나쉽게네트워크에연결된장치를발견하고모니터링할수있다. enmons 는 WAS 환경에서쉽게적응되며 독립된통합운용환경 (IOE) 을제공한다. 3
2. 개발배경 NMS기술이서비스중심으로이동 (NGOSS) 고객은적은비용으로빠르게개발하기를원함 오픈소스기반의활용빈도가매우높아짐 새롭게만들기보다는오픈소스를활용한서비스개발에집중 당사의강점인 Web2.0, NMS 및 NGOSS기술을기반으로 Web 서비스및 Network Management 서비스를통합구축할수있는플랫폼필요 4
3. 개발목표 SNMP MIB Compiler Snmp MIB 을통합 Model 로자동변환 (SNMP MIB -> ModelMBean) ModelMBean Compiler 통합 Model XML 모델를이용하여 MBean, ModelMBean, EntityBean, EJB, JSP 코드생성 JMXAgent MBeanServer 를기반으로 MBean, EJB, EntityBean, ServiceBean 제공 JMXManager Java Swing, JSP, Servlet 를기반으로 Dynamic UI Component 제공 5
시스템구성도 - JMX Connector 및 MBean Container로구성됨 - Dynamic, Model, Proxy, Query 등크게네종류의 Mbean 제공 -WAS 시스템과쉽게연동됨. (X)HTML/XML JSPs JSPs Web Application Server Servlet Servlet Tag Tag Library Library Web Container Session Session Beans Beans Entity Entity Beans Beans EJB Container JDBC Java Mail RMI DB Mail Server Java Application Applet Client Application RMI RMI HTTP HTTP JMX Connector MBean Server Dynamic Dynamic MBeans MBeans Model Model MBeans MBeans Proxy Proxy MBeans MBeans Query Query MBeans MBeans MBean Container IIOP JNDI JMS Corba Server Directory Service Message Queue 6
플랫폼구성도 Java Application / Web Application Database enmons Manager Layer Application Interface UI Component(Topology, MBeanTree, Chart etc) GUI FrameWork - Java Swing / Java FX / Flex2 / AJAX JavaScript, JSP, JSP, (X)HTML, XML XML 구성관리 DB 성능관리 DB JMX Connector HTTP, RMI, RPC, SOAP WAS Connector 장애관리 DB JMX Server Connector WAS(JBoss, WebLogic, Zeus) 사용자관리 DB enmons Agent Layer enmons Adaptor Layer SNMP TL1 DynamicMBean /ModelMBean/ProxyMBean/QueryMBean CLI/Telnet MBeanServer Persistent / Transaction / Authentication Authorization Services(Topology, Notification-Fault, Zero-Configuration, Auto-Discovery, Performance etc) MIT Tree / MBeanRepository enmons Adaptor API Device Adaptor Device Information Interface CORBA Java Virtual Machine SOAP XML GIS OpenAPI J D B C 보안관리 DB QoS관리 DB IP관리 DB 보고서관리 DB 이력관리 DB MIT 7
컴파일러 -SNMP MIB, XML MODEL 컴파일러를이용하여코드자동생성 - 다양한정보모델 (SNMP, XML, IDL, CLI 등 ) 을 MBean XML 로통합관리 SNMP MIB Syntax Analysis MIB Tree 생성 ModelMBeanInfo 생성 ContainmentInfo 생성 JSPs JSPs EJBs EJBs MBean MBean Convertor MBean XML Customize 8
컴파일러 - 명령어 - 실행명령 : smc.bat, smc.sh( 환경변수 path 에등록 ) -ModelMBeanInfo, MBean 구현클래스, 통합정보 XML 등을생성 9
컴파일러 - 코드생성 ClassName: IfEntry 10
컴파일러 - 코드생성 ClassName: IfEntryModelInfo 11
컴파일러 - 코드생성 ClassName: IfAdminStatusEnum 12
컴파일러 - 코드생성 ClassName: IF_MIBNameConverter FileName: IF_MIB.xml 13
컴파일러 - 코드생성 FileName: MBeanRegister 14
통합모델컴파일러 - 명령어 - 실행명령 : mbc.bat, mbc.sh( 환경변수 path 에등록 ) - 통합정보 XML 를이용하여코드생성 15
Adaptor 클래스 - NeConnection 를제공함 - NeConnection 이활성화되면 Convertor 를제공함. NeConnectionFactory NeConnection SnmpConnection Convertor SnmpConvertor 16
Snmp Adaptor R NameToSnmp Adaptor Snmp Convertor SNMP Session SNMP Trap Dispatcher SnmpTrapToName Network Element 17
Auto-Persistence R @Persistent @Persistent(autoload=false) PersistentMBean store saveorupdate() Hibernate List() load JDBC Database ORACLE Informix MS-SQL My-SQL 18
Agent 초기화 -Agent 생성이용이함. - 개발자는클래스 (MBeanInfo) 의등록만으로 Agent 구동가능. : Your Agent : JMXAgent : Hibernate 1 : run() 2 : creatembeanserver() 3 : configure() 4 : cbpreinit() 5 : inithibernate() 6 : initagent() 7 : cbregistermbeaninfo() 8 : registermbeaninfo() 9 : addclass() 10 : cbcontainmentrule() 11 : mappingclass() 12 : registercontainmentrule() 13 : buildsessionfactory() 14 : createtable() 15 : loadmbean() 16 : list() 17 : registermbean() 18 : begintransaction() 20 : callload() 19 : createcriteria() 21 : newjmxconnectorserver() 22 : cbpostinit() 23 : readyforservice() 19
MBean 클래스 - 자원상태에따라유기적으로선택 - MBean 은 Persistent 를보장함 DynamicMBean MBeanRegistration ManagedObject PersistentMBean ProxyQueryMBeanSupport ProxyMBeanSupport ProxyMBean ProxyQueryMBean 20
Agent-MIT - 모든 MBean 은 MIT 에등록될수있음. ( 단, ProxyQueryMBean 에의한 MBean 은 Persistent Storage 에의해관리됨 ) 21
JMXManager - Dynamic UI Component - AutoDiscovery, Network Topology, MIT Tree, Notification, Fault, Monitoring Service UI Component AutoDiscovery Topology MIT Tree Notification/Alarm C O NN NN E C T O R JBoss Application Server MBean Server 통계 22
Manager-Main 23
Manager- 성능그래프 24
5. 특징 1 2 3 4 5 6 7 8 9 컴파일러기술을이용한코드자동생성 JMX 1.2, EJB 3.0, Auto-Persistent 제공 DynamicMBean, ModelMBean, ProxyMBean, QueryMBean 제공 SNMP, CORBA, CLI Adaptor 제공 Hibernate 을이용한강력한고성능객체 / 관계영속성쿼리서비스 MBean 을 EntityBean 으로통합관리 Runtime 시동적관리기법제공 JBoss 플랫폼내에서통합개발환경제공 통합운용 GUI 제공 25
6. 활용방안 EMS/NMS 개발 NGOSS 개발 EMS/NMS/ 웹서비스통합개발 26
7. 주요고객 5 대광역시및 시청및산하구청 EMS/NMS/ NGOSS 개발 국방망사업 고객의다양화 망서비스업체 유지보수사업 망장비제조업체 27
8. 기대효과 통합환경 JMX1.2, EJB 3.0 지원웹서비스환경제공통합운용환경제공 경제성 코드재사용의극대화 개발기간대폭단축 편리성 강력한 UI 컴포넌트제공 Customizing 이용이함 확장성 타시스템과의연동용이 분산시스템구축용이 코드자동생성 28
9. 향후과제 - CLI 명령어를통하여 MBeanInfo 정보축출 - MBeanInfo에대한 JSP, Servlet 코드자동생성 - WAS환경에맞는 EJB 코드생성 - 사용자친화적인 GUI 환경제공 - 개발자의편의를고려한 IDE (eclipse, NetBean 등 ) 플러그인개발환경제공 29
10. 결론 - SNMP MIB, 통합모델 XML 컴파일러기술을통하여코드자동생성 - 컴파일러기술을통하여개발기간단축 - Standard, Model, Proxy MBean등메모리, CPU, 성능에맞게선택적으로구축 - pre, post method의적절한override을통하여 customizing이용이함. - Hibernate 기술을통하여 Auto-Persistent 제공 - 통합모델기반의 SNMP, CLI, CORBA, SOAP/XML 등다양한프로토콜을쉽게통합가능 - JNDI를통하여분산망관리구축이용이함 30
Q & A Contact 주소 : 경기도안양시동안구관양동 881 번지 2 층담당자 : NGS 사업부 / 팀장김형진전화 : 031-422-4220 ( 대표 ) 팩스 : 031-422-4254 이동전화 : 016-617-7320 홈페이지 : http://www.eznetsoft.co.kr 이메일 : hjkim@eznetsoft.co.kr 31