Summary of Project Management Application

dotProject, NetOffice 등 소프트웨어 개발 조직에서 사용할 만한 프로젝트 관리도구들을 비교한 자료이다.

문서원본 : http://blog.kakaka.org/images/2006/01/20050317-Survey.pdf

~~~

'Software' 카테고리의 다른 글

TextCube 1.5를 설치하니...  (0) 2007.07.02
The Pattern of ACE  (0) 2007.02.12
NMS 제품들  (0) 2007.01.04
Unix Error 코드 설명  (0) 2006.11.24
MVC architecture in a J2EE application  (0) 2006.09.26

Posted by BlogZin

Response
,

NMS 제품들

누리텔레콤 : 나스센터는 이기종의 복잡한 네트워크 장비, 서버, 데스크톱 PC 등 IT 자원의 장애,구성,성능,보안,통계관리 기능을 제공하고 중앙에서 실시간으로 감시, 제어하여 IT통합관리를 제공하는 도구이다.


브레인즈스퀘어 : Zenius-EMS는 이기종, 분산 시스템 환경을 이루고 있는 서버, 네트워크, DB, WAS, IP, 전산 환경설비 등을 일관된 관리정책에 따라 통합적으로 운영/관리하기 위한 Total Management System 이다.


예지텍 - PANORAMA-V > e-NetManager
OpenView 기반으로 보이는데, 네트웍 관리의 4대 필수 구성관리, 장애관리, 성능관리, 자원관리를 지원한다.



다임즈 : IP Network Management


IP 망을 구성하는 개별 통신 장비 (라우터, 스위치, 허브 등)에 대한 장애, 성능, 구성 관리 및 제어 기능을 제공하여 망 운용 효율을 높일 수 있으며, IP 망 차원의 장애, 성능 분석 기능과 다양한 보고서 작성 기능을 제공하여 망 운용과 계획에 유용한 각종의 정보를 생성 할 수 있는 기능을 제공한다.





서비스 서버 호스트, 개인 업무용 PC, 네트워크 프린터, 허브 등은 서비스 제공 업체 및 일반 기업에서 업무 자동화를 위해 사용하는 전산 자원이다. 이들 전산 자원은 일반적으로 IP 망 기반의 LAN 으로 연결되어 있고, SNMP를 이용한 관리 기능을 제공한다. 'IP 전산 자원 관리 시스템'은 SNMP 와 ICMP 등과 같은 관리 프로토콜을 이용하여 각 전산 자원의 자원 사용 현황 및 현재 성능을 관리하는 기능을 제공한다. 전산 자원의 현재 상태, 자원 사용량, 구성 등에 대한 관리 기능과 비정상적인 자원 사용에 대한 통보 및 이력 관리, 보고서 생성 기능을 제공한다.





IP 망을 구성하는 가장 중요한 통신 장비 중의 하나인 라우터를 경유하는 트래픽에 대한 다양한 정보를 수집하여 트래픽의 특성을 분석하여, 그 결과를 기반으로 망의 구성 변경, 망의 확장, 이상 현상 파악 등의 기능을 수행 할 수 있다. 분석 가능한 트래픽 특성은 '이용자별', '가입기관별', '시간대별', '프로토콜별', '응용 프로그램별' 등이 있다. CISCO 와 JUNIPER 라우터는 Netflow 기능을 이용하여 자신을 경유하는 트래픽에 대한 정보를 제공하고 있다.

㈜시스코프 : ISeeNet는

IseeNet은 네트워크의 성능, 장애, 자산을 관리하는 웹 기반의 NMS로서 장애 사전 경보 및 네트워크 운영 현황에 대한 실시간 리포트를 제공한다. 서버단 및 WAN 상의 터미널까지 포함한 QOS 관리가 가능해 보인다. SYSLOAD
는 에이젼트 기반 소프트웨어로 OS, Database, Application의 성능 관리 도구이다.
The image “http://www.ciscorp.co.kr/images/ISEE(1).jpg” cannot be displayed, because it contains errors.


어니언소프트웨어 : Midnight Keeper
기업·기관의 시스템 및 네트워크를 효과적으로 관리하기 위한 솔루션으로 시스템관리소프트웨어(SMS)와네트워크관리소프트웨어(NMS)의 기본기능인 성능·장애관리는 물론 휴대폰·개인휴대단말기(PDA) 등 무선기기를 이용한 원격관리 및제어가 가능한 제품이다.

솔고지닷컴 : AndanTe
서버, 각종 통신시설장비, 네트웍에 대한 실시간 통합 관리용 시스템 소프트웨어로서 운용시설에 대한 성능 모니터링, 장애처리 그리고 이러한 시설의 운용보전자료를 자동으로 생성 이를 웹 상에서 관리하는 통합 자원관리 솔루션


씨에프정보통신 : iConsole은 분산 운영 환경에서 시스템, 네트웍,데이터베이스 등 mission-critical한 관리 자원에 대한 통합 모니터링 View와 Control을 제공한다.
/

분산된 다수의 시스템, 네트웍, 데이터베이스를 중앙에서 통합하여 모니터링 할 수 있으며 관리되는 시스템과 자원들을 계층적인 구조로 표현함으로써 관리의 복잡성을 최소화하여 업무의 효율성을 극대화합니다.

/

관리 항목의 상태 변화, 성능 과부하 발생, 장애 발생 등의 상황을 실시간으로 모니터링하며 그래프로 표현함으로써 시스템의 운영 상태를 용이하게 파악합니다.


/

관리 항목의 상태가 경고 상태로 변하면 계층적인 관리 구조를 따라 경고 상태를 상위 자원으로 전이시키며 자원을 나타내는 아이콘의 색상을 변경 시킴으로써 경고 상태를 신속하게 파악합니다.

/

관리자가 관심을 갖고 관리하는 항목들만으로 운영 화면을 구성하거나 또는 여러 운영 환경마다 최적화된 운영 화면을 구성 해서 저장한 후 필요시 로드하면 자동으로 재구성하여 관리 환경을 다양화합니다.

/

히스토리 데이터를 RDBMS에 저장하고 관리함으로써 관리 자원의 상태가 변하는 추이를 분석하거나 장애가 발생한 시점의 상황을 히스토리 데이터를 근간으로 분석할 수 있으며 필요한 운영 통계 보고서를 생성합니다.

네비스텍 : ISeeEMS는 기업의 다양한 IT 자원을 자동으로 관리하기 위한 NMS, SMS, TMS의 통합관리 시스템을 의미 하며 분산환경의 시스템을 전사적인 차원에서 일관된 정책에 따라 통합적으로 운영 / 관리 함으로서 시스템 관리 업무의 효율화를 통하여 업무의 영속성 ( Business Continuity ) 확보와 시스템의 총 소유비용 절감을 극대화 시킬 목적으로 제공되는 네비스텍㈜의 통합 솔루션이다.
한국이디에스 : i-Solutions는 다양한 종류의 인터넷 서비스를 효율적으로 관리하기 위해 이를 구성하는 네트워크 장비, 서비스 제공 호스트 장비, 응용 프로그램 등 서비스에 필요한 모든 구성 요소를 통합 관리할 수 있는 최적의 통합 전산/망 자원 및 서비스 운용 관리 솔루션이다.

출처 : 구글 검색으로 다양하게 찾음.

'Software' 카테고리의 다른 글

The Pattern of ACE  (0) 2007.02.12
Summary of Project Management Application  (0) 2007.02.06
Unix Error 코드 설명  (0) 2006.11.24
MVC architecture in a J2EE application  (0) 2006.09.26
ACE - Object Oriented(OO) Framework  (0) 2006.09.14

Posted by BlogZin

Response
,

Unix Error 코드 설명

#define EPERM 1 /* Not super-user */
#define ENOENT 2 /* No such file or directory */
#define ESRCH 3 /* No such process */
#define EINTR 4 /* interrupted system call */
#define EIO 5 /* I/O error */
#define ENXIO 6 /* No such device or address */
#define E2BIG 7 /* Arg list too long */
#define ENOEXEC 8 /* Exec format error */
#define EBADF 9 /* Bad file number */
#define ECHILD 10 /* No children */
#define EAGAIN 11 /* Resource temporarily unavailable */
#define ENOMEM 12 /* Not enough core */
#define EACCES 13 /* Permission denied */
#define EFAULT 14 /* Bad address */
#define ENOTBLK 15 /* Block device required */
#define EBUSY 16 /* Mount device busy */
#define EEXIST 17 /* File exists */
#define EXDEV 18 /* Cross-device link */
#define ENODEV 19 /* No such device */
#define ENOTDIR 20 /* Not a directory */
#define EISDIR 21 /* Is a directory */
#define EINVAL 22 /* Invalid argument */
#define ENFILE 23 /* File table overflow */
#define EMFILE 24 /* Too many open files */
#define ENOTTY 25 /* Inappropriate ioctl for device */
#define ETXTBSY 26 /* Text file busy */
#define EFBIG 27 /* File too large */
#define ENOSPC 28 /* No space left on device */
#define ESPIPE 29 /* Illegal seek */
#define EROFS 30 /* Read only file system */
#define EMLINK 31 /* Too many links */
#define EPIPE 32 /* Broken pipe */
#define EDOM 33 /* Math arg out of domain of func */
#define ERANGE 34 /* Math result not representable */
#define ENOMSG 35 /* No message of desired type */
#define EIDRM 36 /* Identifier removed */
#define ECHRNG 37 /* Channel number out of range */
#define EL2NSYNC 38 /* Level 2 not synchronized */
#define EL3HLT 39 /* Level 3 halted */
#define EL3RST 40 /* Level 3 reset */
#define ELNRNG 41 /* Link number out of range */
#define EUNATCH 42 /* Protocol driver not attached */
#define ENOCSI 43 /* No CSI structure available */
#define EL2HLT 44 /* Level 2 halted */
#define EDEADLK 45 /* Deadlock condition. */
#define ENOLCK 46 /* No record locks available. */
#define ECANCELED 47 /* Operation canceled */
#define ENOTSUP 48 /* Operation not supported */

/* Filesystem Quotas */
#define EDQUOT 49 /* Disc quota exceeded */

/* Convergent Error Returns */
#define EBADE 50 /* invalid exchange */
#define EBADR 51 /* invalid request descriptor */
#define EXFULL 52 /* exchange full */
#define ENOANO 53 /* no anode */
#define EBADRQC 54 /* invalid request code */
#define EBADSLT 55 /* invalid slot */
#define EDEADLOCK 56 /* file locking deadlock error */

#define EBFONT 57 /* bad font file fmt */

/* Interprocess Robust Locks */
#define EOWNERDEAD 58 /* process died with the lock */
#define ENOTRECOVERABLE 59 /* lock is not recoverable */

/* stream problems */
#define ENOSTR 60 /* Device not a stream */
#define ENODATA 61 /* no data (for no delay io) */
#define ETIME 62 /* timer expired */
#define ENOSR 63 /* out of streams resources */

#define ENONET 64 /* Machine is not on the network */
#define ENOPKG 65 /* Package not installed */
#define EREMOTE 66 /* The object is remote */
#define ENOLINK 67 /* the link has been severed */
#define EADV 68 /* advertise error */
#define ESRMNT 69 /* srmount error */

#define ECOMM 70 /* Communication error on send */
#define EPROTO 71 /* Protocol error */

/* Interprocess Robust Locks */
#define ELOCKUNMAPPED 72 /* locked lock was unmapped */

#define EMULTIHOP 74 /* multihop attempted */
#define EBADMSG 77 /* trying to read unreadable message */
#define ENAMETOOLONG 78 /* path name is too long */
#define EOVERFLOW 79 /* value too large to be stored in data type */
#define ENOTUNIQ 80 /* given log. name not unique */
#define EBADFD 81 /* f.d. invalid for this operation */
#define EREMCHG 82 /* Remote address changed */

/* shared library problems */
#define ELIBACC 83 /* Can't access a needed shared lib. */
#define ELIBBAD 84 /* Accessing a corrupted shared lib. */
#define ELIBSCN 85 /* .lib section in a.out corrupted. */
#define ELIBMAX 86 /* Attempting to link in too many libs. */
#define ELIBEXEC 87 /* Attempting to exec a shared library. */
#define EILSEQ 88 /* Illegal byte sequence. */
#define ENOSYS 89 /* Unsupported file system operation */
#define ELOOP 90 /* Symbolic link loop */
#define ERESTART 91 /* Restartable system call */
#define ESTRPIPE 92 /* if pipe/FIFO, don't sleep in stream head */
#define ENOTEMPTY 93 /* directory not empty */
#define EUSERS 94 /* Too many users (for UFS) */

/* BSD Networking Software */
/* argument errors */
#define ENOTSOCK 95 /* Socket operation on non-socket */
#define EDESTADDRREQ 96 /* Destination address required */
#define EMSGSIZE 97 /* Message too long */
#define EPROTOTYPE 98 /* Protocol wrong type for socket */
#define ENOPROTOOPT 99 /* Protocol not available */
#define EPROTONOSUPPORT 120 /* Protocol not supported */
#define ESOCKTNOSUPPORT 121 /* Socket type not supported */
#define EOPNOTSUPP 122 /* Operation not supported on socket */
#define EPFNOSUPPORT 123 /* Protocol family not supported */
#define EAFNOSUPPORT 124 /* Address family not supported by */
/* protocol family */
#define EADDRINUSE 125 /* Address already in use */
#define EADDRNOTAVAIL 126 /* Can't assign requested address */
/* operational errors */
#define ENETDOWN 127 /* Network is down */
#define ENETUNREACH 128 /* Network is unreachable */
#define ENETRESET 129 /* Network dropped connection because */
/* of reset */
#define ECONNABORTED 130 /* Software caused connection abort */
#define ECONNRESET 131 /* Connection reset by peer */
#define ENOBUFS 132 /* No buffer space available */
#define EISCONN 133 /* Socket is already connected */
#define ENOTCONN 134 /* Socket is not connected */
/* XENIX has 135 - 142 */
#define ESHUTDOWN 143 /* Can't send after socket shutdown */
#define ETOOMANYREFS 144 /* Too many references: can't splice */
#define ETIMEDOUT 145 /* Connection timed out */
#define ECONNREFUSED 146 /* Connection refused */
#define EHOSTDOWN 147 /* Host is down */
#define EHOSTUNREACH 148 /* No route to host */
#define EWOULDBLOCK EAGAIN
#define EALREADY 149 /* operation already in progress */
#define EINPROGRESS 150 /* operation now in progress */

/* SUN Network File System */
#define ESTALE 151 /* Stale NFS file handle */

'Software' 카테고리의 다른 글

Summary of Project Management Application  (0) 2007.02.06
NMS 제품들  (0) 2007.01.04
MVC architecture in a J2EE application  (0) 2006.09.26
ACE - Object Oriented(OO) Framework  (0) 2006.09.14
CodeHighright에 Java 코드를 넣어보니..  (1) 2006.08.31

Posted by BlogZin

Response
,

튜울립 키우기

튜울립은 다년생 화초입니다. 한국의 기후 조건에서 키울려면 가을에 뿌리를 심어 두어야 하고, 꽃을 보려면 2번의 겨울을 지나야만 합니다.
012345

그림은 3년전에 잡아놓은 튜울립 자라는 모습입니다. 꽃의 모양이 변하는 것은 하루 동안 일어나는 모습인데, 태양광의 차이 때문에 발생하는 것입니다.

'Gallery' 카테고리의 다른 글

해미읍성의 대나무  (0) 2006.05.03
해바라기와 Last Exit To Brooklyn OST  (0) 2005.09.05

Posted by BlogZin

Response
,

MVC architecture in a J2EE application

You need a solution that lets you develop loosely-coupled applications. The Model-View-Controller (MVC) architecture is the suggested solution. MVC has been used very effectively in GUI-type applications. By applying the MVC architecture to a J2EE application, you can separate the data access logic from the data presentation logic. You can also build a flexible and easily extensible controller that controls the whole flow of the application. The figure below depicts the MVC architecture.

MVC Architecture

The MVC architecture can be mapped to multi-tiered enterprise J2EE applications as follows:

  • All enterprise data and the business logic to process the data can be represented in the MODEL.
  • The VIEW can access the data through the model and decide on how to present them to the client. The VIEW must ensure that the presentation changes as and when the MODEL changes.
  • The CONTROLLER can interact with the view and convert the client actions into actions that are understood and performed by the MODEL. The CONTROLLER also decides on the next view to be presented depending on the last client action and results of the corresponding MODEL action(s).

from Design Patterns for Building Flexible and Maintainable J2EE Applications

'Software' 카테고리의 다른 글

NMS 제품들  (0) 2007.01.04
Unix Error 코드 설명  (0) 2006.11.24
ACE - Object Oriented(OO) Framework  (0) 2006.09.14
CodeHighright에 Java 코드를 넣어보니..  (1) 2006.08.31
CVS/Subversion Resources  (1) 2006.08.31

Posted by BlogZin

Response
,

ACE - Object Oriented(OO) Framework

오랜만에 ACE를 보니 이전에는 좀 기능이 많은 C++ Class Library였는데, 이제는 분산시스템을 위한  Framework으로 이용할 만큼 많이 발전했네요. Who is Using ACE을 보니 제가 관심두는 영역인 통신 영역에서도 벌써 많은 레퍼런스가 있군요.

The Structure and Functionality of ACE

The following diagram illustrates the key components in ACE and their hierarchical relationships:

Frameworks

ACE also contains a higher-level network programming framework that integrates and enhances the lower-level C++ wrapper facades. This framework supports the dynamic configuration of concurrent distributed services into applications. The framework portion of ACE contains the following components:

  • Event demultiplexing components -- The ACE Reactor and Proactor are extensible, object-oriented demultiplexers that dispatch application-specific handlers in response to various types of I/O-based, timer-based, signal-based, and synchronization-based events.
  • Service initialization components -- The ACE Acceptor and Connector components decouple the active and passive initialization roles, respectively, from application-specific tasks that communication services perform once initialization is complete.
  • Service configuration components -- The ACE Service Configurator supports the configuration of applications whose services may be assembled dynamically at installation-time and/or run-time.
  • Hierarchically-layered stream components -- The ACE Streams components simplify the development of communication software applications, such as user-level protocol stacks, that are composed of hierarchically-layered services.
  • ORB adapter components -- ACE can be integrated seamlessly with single-threaded and multi-threaded CORBA implementations via its ORB adapters.
The ACE framework components facilitate the development of communication software that can be updated and extended without the need to modify, recompile, relink, or often restart running applications. This flexibility is achieved in ACE by combining (1) C++ language features, such as templates, inheritance, and dynamic binding, (2) design patterns, such as Abstract Factory, Strategy, and Service Configurator, and (3) OS mechanisms, such as explicit dynamic linking and multi-threading.


Distributed Services and Components

In addition to its OS adaptation layer, C++ wrapper facades, and framework components, ACE provides a standard library of distributed services that are packaged as self-contained components. Although these service components are not strictly part of the ACE framework library, these service components play two roles in ACE:

  1. Factoring out reusable distributed application building blocks -- These service components provide reusable implementations of common distributed application tasks such as naming, event routing, logging, time synchronization, and network locking.
  2. Demonstrating common use-cases of ACE components -- The distributed services also demonstrate how ACE components like Reactors, Service Configurators, Acceptors and Connectors, Active Objects, and IPC wrappers can be used effectively to develop flexible, efficient, and reliable communication software.

Higher-level Distributed Computing Middleware Components

Developing robust, extensible, and efficient communication applications is challenging, even when using a communication framework like ACE. In particular, developers must still master a number of complex OS and communication concepts such as:

  • Network addressing and service identification.
  • Presentation conversions, such as encryption, compression, and network byte-ordering conversions between heterogeneous end-systems with alternative processor byte-orderings.
  • Process and thread creation and synchronization.
  • System call and library routine interfaces to local and remote interprocess communication (IPC) mechanisms.
It is possible to alleviate some of the complexity of developing communication applications by employing higher-level distributed computing middleware, such as CORBA, DCOM, or Java RMI. Higher-level distributed computing middleware resides between clients and servers and automates many tedious and error-prone aspects of distributed application development, including:

  • Authentication, authorization, and data security.
  • Service location and binding.
  • Service registration and activation.
  • Demultiplexing and dispatching in response to events.
  • Implementing message framing atop bytestream-oriented communication protocols like TCP.
  • Presentation conversion issues involving network byte-ordering and parameter marshaling.
To provide developers of communication software with these features, the following higher-level middleware applications are bundled with the ACE release:

  1. The ACE ORB (TAO) -- TAO is a real-time implementation of CORBA built using the framework components and patterns provided by ACE. TAO contains the network interface, OS, communication protocol, and CORBA middleware components and features. TAO is based on the standard OMG CORBA reference model, with the enhancements designed to overcome the shortcomings of conventional ORBs for high-performance and real-time applications. TAO, like ACE, is freely available, open source software.
  2. JAWS -- JAWS is a high-performance, adaptive Web server built using the framework components and patterns provided by ACE. JAWS is structured as a framework of frameworks. The overall JAWS framework contains the following components and frameworks: an Event Dispatcher, Concurrency Strategy, I/O Strategy, Protocol Pipeline, Protocol Handlers, and Cached Virtual Filesystem. Each framework is structured as a set of collaborating objects implemented by combining and extending components in ACE. JAW is also freely available, open-source software.

'Software' 카테고리의 다른 글

Unix Error 코드 설명  (0) 2006.11.24
MVC architecture in a J2EE application  (0) 2006.09.26
CodeHighright에 Java 코드를 넣어보니..  (1) 2006.08.31
CVS/Subversion Resources  (1) 2006.08.31
MOM - xmlBlaster  (0) 2006.08.30

Posted by BlogZin

Response
,

Naver 블로그 서비스 점검(중단?)



검색타다가 블로그로 가니 이런 화면이 나오는군요.
~~~

한게임도 점검중이군요. 장장 7시간 30분 동안...
~~~

뭔 일인지 아시는 분 계신가요?



~~~

Posted by BlogZin

Response
,

CodeHighright에 Java 코드를 넣어보니..

태터 코드 하이라이트 플러그인 v0.93을 이용해서 Java 코드를 넣어보니 아래와 같이 나오는군요. 빈 라인에 대한 처리를 고칠 수 없을까요?

  1. package com.transnet.framework.common.xmlbean;
  2. public class AccountHistoryContext {
  3.   private String dateFrom;
  4.   private String dateTo;
  5.   private Account account;
  6.   public AccountHistoryContext() {
  7.   }
  8.   public AccountHistoryContext(String adateFrom, String adateTo,
  9.       Account aaccount) {
  10.     dateFrom = adateFrom;
  11.     dateTo = adateTo;
  12.     account = aaccount;
  13.   }
  14.   public AccountHistoryContext(String test) {
  15.     dateFrom = "dateFrom";
  16.     dateTo = "dateTo";
  17.     account = new Account("test");
  18.   }
  19.   public String getDateFrom() {
  20.     return dateFrom;
  21.   }
  22.   public void setDateFrom(String s) {
  23.     dateFrom = s;
  24.   }
  25.   public String getDateTo() {
  26.     return dateTo;
  27.   }
  28.   public void setDateTo(String s) {
  29.     dateTo = s;
  30.   }
  31.   public Account getAccount() {
  32.     return account;
  33.   }
  34.   public void setAccount(Account o) {
  35.     account = o;
  36.   }
  37.   public String toXML() {
  38.     return BeanXMLMapping.toXML(this);
  39.   }
  40.   public static Object fromXML(String xml) {
  41.     return BeanXMLMapping.fromXML(xml,
  42.         AccountHistoryContext.class);
  43.   }
  44. }
 

'Software' 카테고리의 다른 글

MVC architecture in a J2EE application  (0) 2006.09.26
ACE - Object Oriented(OO) Framework  (0) 2006.09.14
CVS/Subversion Resources  (1) 2006.08.31
MOM - xmlBlaster  (0) 2006.08.30
SIP Server from Flextronics Software Sys  (0) 2006.08.26

Posted by BlogZin

Response
,

CVS/Subversion Resources

CVS 안내 (김민식, 박용주)  CVS의 개념, 사용법, 저장소 관리 방법 안내

1. 로그인
export CVSROOT=/home/cvs
cvs -d :pserver:vepcvs@mycvs.net:/backup/vepcvs/project login

2. 프로젝트 만들기
cvs import -m "메시지" 프로젝트이름 vender_tag release_tag
cvs -d :pserver:vepcvs@mycvs.net:/backup/vepcvs/project import -m "VEP Project" VEP vep start

3. 수정
cvs checkout(co) myprj
cvs commit -m "인사말 추가" Hello.java
cvs -d :pserver:vepcvs@mycvs.net:/backup/vepcvs/project commit -m"Framework Update" -R(Recursive Directory)
cvs update

4. 화일 추가와 삭제
cvs add Test.java
cvs commit -m "새 파일" Test.java

rm Test.java
cvs delete Test.java
cvs commmit -m "삭제" Test.java

5. 이력 조회
cvs diff driver.c > driver.c.diff
cvs log Hello.java

7. rsh/ssh로 CVS 접근하기
cvs -d :ext:minskim@mycvs.net:/home/cvs login

Subversion 사용 HOWTO
Subversion does the same thing CVS does (Concurrent Versioning System) but has major enhancements compared to CVS.

CVS와 비교한 Subversion의 장점들

  • 커밋 단위가 파일이 아니라 체인지셋이라는 점입니다. CVS에서라면 여러 개의 파일을 한꺼번에 커밋하더라도 각각의파일마다. 리비전이 따로 붙습니다. 반면 Subversion에서는 파일별 리비전이 없고 한번 커밋할 때마다 변경 사항별로리비전이 하나씩 증가합니다.
  • CVS에 비해 엄청나게 빠른 업데이트/브랜칭/태깅 시간.
  • CVS와 거의 동일한 사용법. CVS 사용자라면 누구나 어려움 없이 금방 배울 수 있습니다.
  • 파일 이름변경, 이동, 디렉토리 버전 관리도 지원.
  • 원자적(atomic) 커밋. CVS에서는 여러 파일을 커밋하다가 어느 한 파일에서 커밋이 실패했을 경우 앞의 파일만커밋이 적용되고 뒤의 파일들은 그대로 남아있게 됩니다. Subversion은 여러개의 파일을 커밋하더라도 커밋이 실패하면 모두이전 상태로 되돌아 갑니다.
  • 양방향 데이터 전송으로 네트워크 소통량(트래픽) 최소화.
  • 트리별, 파일별 접근 제어 리스트. 저장소 쓰기 접근을 가진 개발자라도 아무 소스나 수정하지 못하게 조절할 수 있습니다.
  • 저장소/프로젝트별 환경 설정 가능
  • 확장성을 염두에 둔 구조, 깔끔한 소스
사용예
svn co svn://www.xmlBlaster.org/xmlBlaster/trunk xmlBlaster
svn co http://www.xmlblaster.org/svn/trunk xmlBlaster

설치방법
svnadmin create release
svnserve -d -r /backup/svn -> 3690에 바인딩
vi svnserve.conf
vi passwd
svn mkdir svn://mycvs.net/release/leader
svnadmin create source
cp ../../release/conf/svnserve.conf .
cp ../../release/passwd .

svn import leader svn://mycvs.net/release/leader
cd leader
svn ci -m "Delete some comments" .bashrc

Microsoft Windows에서 사용하기

Microsoft Windows에서도 Subversion을 사용할 수 있습니다. 소스를 컴파일하지 않고 설치 파일을 통해
간단하게 설치해서 사용할 수 있습니다. Windows에서도 리눅스, 유닉스와 똑같은 기능을 사용할 수 있습니다.

GUI 클라이언트 프로그램

Subversion에서 기본적으로 지원하는 커맨드 라인 명령 svn은 사용하기에 불편한 점이 많습니다. 앞으로 소개할 것들은 MS Windows, X Window 등에서 사용 가능한 Subversion 클라이언트 프로그램 입니다.

Subclipse -  Eclipse Plugin

How to use Subversion with Eclipse
Update URL : http://subclipse.tigris.org/update_1.0.x

TortoiseSVN

MS Windows용 GUI 클라이언트 프로그램입니다. CVS GUI 클라이언트 프로그램으로 유명한 TortoiseCVS와 거의 같은 인터페이스를 가지고 있습니다.

http://tortoisesvn.tigris.org
download : http://easynews.dl.sourceforge.net/sourceforge/tortoisesvn/TortoiseSVN-1.4.0.7195-RC1-win32-svn-1.4.0RC1.msi

Ankhsvn

Visual Studio .NET 애드인 형식의 Subversion 클라이언트 프로그램입니다. VS.NET과 통합성이매우 높습니다. VS.NET의 솔루션 뷰에서 커밋, 업데이트 등의 작업이 가능하며 솔류션 뷰의 각 파일에 수정되었거나 수정되지않은 파일의 상태를 표시해줍니다.

http://ankhsvn.tigris.org

RapidSVN

크로스 플랫폼 Subversion 클라이언트 프로그램입니다. Windows, 리눅스, BSD의 X Window에서 사용할 수 있습니다.

http://rapidsvn.tigris.org

웹 인터페이스

저장소를 웹브라우저로 편하게 볼 수 있는 인터페이스들입니다.

ViewCVS

CVS 웹 인터페이스로 유명합니다. 아파치와 mod_python 기반으로 동작하며 Subversion 파이썬 바인딩으로만들어져 있습니다. 최신버전은 Subversion도 지원하고 있습니다. 유닉스, 리눅스, Windows 모두 사용할 수 있습니다.

http://sourceforge.net/projects/viewcvs

WebSVN

Subversion 전용 웹 인터페이스입니다. Subversion svnlook과 연동하여 웹으로 표시합니다. 아파치와 php가 필요합니다.

http://websvn.tigris.org

powered by performancing firefox

Posted by BlogZin

Response
,

MOM - xmlBlaster

MOM을 Java로 구현한 xmlBlaster가 감동을 주는군요. http://xmlblaster.org에서 필요한 자료만 추려 보았습니다. 성격이 급하신 분들은 Cool demosReplication Demo를 먼저 보시는 것도 좋은 접근이 되겠군요. XMLParser로 Xerces를 사용하기 때문에, C++ Client를 빌드하기 위해서는 xerces-c-src_2_7_0.tar.gz가 필요합니다.

XmlBlaster is MOM (Message oriented Middleware) with a lot of features.

XmlBlaster is a publish/subscribe and point to point 100% Java based MOM server (message-oriented middleware) which exchanges messages between publishers and subscribers. The message is described with XML-encoded meta information. Messages may contain everything, GIF images, Java objects, Python scripts, XML data, a word document, plain text - just anything.

Communication with the server is based on socket, CORBA (using JacORB), RMI, XmlRpc, HTTP or email, clients are free to choose their preferred protocol. Other protocols like SOAP may be plugged in.

Subscribers can use XPath expressions to filter the messages they wish to receive.

This is the publish/subscribe middleware server you have needed many times before, now available for free to glue together your distributed client/server application.

The xmlBlaster server is pure Java and under LGPL.
PHP, Perl, Python, C, C++, C#, Visual Basic.net, Flash, J2ME, Java (applications, servlets, applets) client samples are delivered in the xmlBlaster distribution.

You should be ready to go with your preferred development language.

XmlBlaster provides a browser callback framework, allowing browsers (Mozilla, MSIE, Netscape) to receive instant callbacks over a persistent http connection.

Features:

  • Free for private,commercial,education use (LGPL - License)
  • Message Orientated Middleware (MOM) with Publish/Subscribe and PointToPoint (PtP) support
  • Multi platform support (server is pure Java)
  • Multi protocol support (CORBA, RMI, XmlRpc, raw socket, EMAIL, native access)
  • Language neutral (clients for C++/C, Java, Python, PHP, Javascript, Perl, C#, Visual Basic.net ...)
  • Client side persistent queuing with C/C++/Java/ActiveX/Javascript
  • Extensible (XML based QoS)
  • Queryable Topics (Topic access with XPath)
  • Mime based full text search (currently plugins for regular expressions and XPath)
  • JMS conforming SQL key/value query support (SQL92)
  • Security system independend (currently plugins for LDAP and crypt-passwd), supports authentication, authorization and message interceptors
  • Persistence plugin architecture (currently plugins for Oracle, MS-SQLServer, Postgres, Firebird and others)

Wow! Tell me more!

Every Dad (Distributed application developer) needs a Mom (Message oriented middleware). Architecture
http://www.xmlblaster.org/architecture.jpg
Plugin overview

When a publisher sends a message toxmlBlaster it passes several plugins until it is rejected by a pluginor savely stored in the server.

When a subscriber subscribes on atopic, the message is passed with a callback to the subscriber,traversing several plugins before it is delivered.

The grafic below gives you an overviewof such a message flow. Please click on the plugin symbol to get moreinformation about the plugin and how to code and register a specificplugin yourself.

The grey plugins are mandatory, youneed to registered a plugin, otherwise a default plugin is chosen.

The green plugins are optional, theyare registered on startup. The mime plugins are activated dependingon the message mime type, the dispatch plugin is activated on demandby a client on login.

The brown plugins allow to control theclustering behavior, they are mandatory if clustering is switched on.

Administrative pluginsLogging pluginCluster supportDispatcher pluginCallback queue pluginMIME access filter pluginQueue/MsgStore pluginPublish pluginSecurity (authentication/authorization) pluginSecurity pluginProtocol pluginSecurity pluginProtocol plugin


Administrative pluginsLogging pluginCluster supportDispatcher pluginCallback queue pluginMIME access filter pluginQueue/MsgStore pluginPublish pluginSecurity (authentication/authorization) pluginSecurity pluginProtocol pluginSecurity pluginProtocol plugin
Fig:Message flow in the server (click on plugins for detailedinformation)


Client features

The following table shows on the columns different implementationlanguages for the clients and on the rows the different features aredisplayed. If a certain feature is already implemented, a green tickis written into the corresponding cell. In case the feature is notimplemented yet (or if the language does not allow this kind offeature) a red cross is drawn. For features under implementation agreen arrow is drawn.

Feature

Java

C++

C

Javascript
(Rhino)

Perl

Python

PHP

C#

Visual Basic
.net

Flash

protocol.corba



/

/



/


/

/

none

protocol.socket

/

/

/





/

/

none

protocol.xmlrpc

/


/



/


/

/

yes

protocol.rmi

/







/

/

none

client.browser.xmlrpc


/






/

/

none

failsafe reconnect

/







/

/

none

invocation recorder

/







/

/

none

callback update

/


/




yes

/

/

none

client cache

/



/

/

/

/

/

/

none

burst mode

/







/

/

none

protocol abstraction

/







/

/

none

synchroneous get

/


/





/

/

yes

publish/subscribe

/


/





/

/

yes

PtP / PtX

/


/





/

/

yes

client persistent queue

/



*

/

/

/

/

/

/

none

Performance

Message throughput per second

Publishing ten thousand small messages to xmlBlaster, which updates the messages to one subscribed client. The published and updated messages are acknowledged:

672 messages per second

on a AMD-K7 600 MHz, both client and server on the same machine running Linux 2.4.4 using JRockit 3.1 JVM with JacORB 1.3.30 CORBA lib.

The java virtual machine options are set to -Xms18M -Xmx32M:
   java -server -Xms18M -Xmx32M org.xmlBlaster.Main
   java -Xms18M -Xmx32M org.xmlBlaster.test.stress.LoadTestSub

The socket connections eat up most of the cpuload, thereafter XML parsing is expensive. The xmlBlaster code itself only consumes little of the processing time.

Green threads and native threads have more or less the same performance.

For other java virtual machines see the Volano Report.

When running the above test with different protocols, JacORB seems to beat the others:

Protocol Performance Comparison
Fig: Performance comparison of different protocols used in xmlBlaster, message throughput in percent to the winner.


Current state
Client
Pushing client callbacks on the same socket connection, allows to tunnel firewalls more ....
Client
more ...
Application

e.g. Application Logic

E-Mail
CORBA
RMI
HTTP
XmlRpc
SOCKET
SOAP
Native

Engine
Query
(XQL, SQL not scheduled)
Message Unit
  • Key
  • Content
  • QoS
Persistence (database)
Transaction
  • JINI Transactions
  • XA
  • OTS (Corba Transactions Service)
Cluster
  • Load balancing
  • Failover
  • Logical separation
Read requirement
MIME based plugins
QoS features
Authentication
  • Login
  • Logout
  • Certificate
See org.xmlBlaster.authentication.plugins
Authorization
  • ACL
See org.xmlBlaster.authentication.plugins
Remote Administration

XmlBlaster allows remote administration over a plugin framework.
Current plugins cover:
  1. JMX access
  2. telnet access
  3. An SNMP view on states and messages
  4. Message based remote administration

Mapping
RDBMS
Password plugin
LDAP plugin

 
Download
Full SVN snapshot: all sources, docs, libraries (big).

If you develop with xmlBlaster, checkout from subversion. This is the most current snapshot and usually as stable as the official releases.


http://www.xmlBlaster.org/xmlBlaster_REL_1_2.tgz 27 MB (26782285 Bytes)

http://www.xmlBlaster.org/xmlBlaster_REL_1_2.tar.bz2 26 MB (26003984 Bytes)

http://www.xmlBlaster.org/xmlBlaster_REL_1_2.zip 28 MB (28169871 Bytes)


Posted by BlogZin

Response
,

« Previous : 1 : 2 : 3 : 4 : Next »