KR100463832B1 - Collaboration supporting system based on soap in web environment and implementation method thereof - Google Patents
Collaboration supporting system based on soap in web environment and implementation method thereof Download PDFInfo
- Publication number
- KR100463832B1 KR100463832B1 KR10-2001-0088364A KR20010088364A KR100463832B1 KR 100463832 B1 KR100463832 B1 KR 100463832B1 KR 20010088364 A KR20010088364 A KR 20010088364A KR 100463832 B1 KR100463832 B1 KR 100463832B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- client
- soap
- communication
- platform
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 다중 사용자의 인터넷을 통한 협동 작업과 통신을 위한 협업 지원 방법에 관한 것이다. 즉, 본 발명은 분산환경 하에서 플랫폼과 언어에 관계없이 시스템을 설계하고 구현하는 방법을 제시함으로서, 클라이언트 측은 플랫폼과 구현언어에 관계없이 프로그램을 개발하고, 서버 측은 EJB 컴포넌트를 이용하여 자바 서버를 개발하였으며, 특히 EJB 자바 서버와 윈도우즈 클라이언트의 통신을 위하여 XML 기반 SOAP프로토콜을 사용하여 클라이언트와 서버, 서버와 서버간의 데이터 통신을 원활하게 하며, 협업 지원 시스템 뿐만 아니라 다른 모든 시스템에서도 적용할 수 있는 이점이 있다.The present invention relates to a collaborative support method for collaborative work and communication through a multi-user Internet. That is, the present invention proposes a method for designing and implementing a system regardless of platform and language in a distributed environment. The client side develops a program regardless of the platform and implementation language, and the server side develops a Java server using an EJB component. In particular, the XML-based SOAP protocol is used for the communication between EJB Java server and Windows client to facilitate data communication between client and server, server and server, and it can be applied to all other systems as well as the collaborative support system. have.
또한 종래 소프트웨어 컴포넌트를 이용한 객체 기반의 이 기종 컴포넌트간의 표준화된 데이터 표현 및 통신 프로토콜의 부재로 인해 많은 솔루션들이 통합성이 그다지 좋지 않은 플랫폼 의존적이며, 종래 DCOM, CORBA 등과 같은 다른 솔루션들에서의 방화벽으로 인한 통신상 문제점을 해결할 수 있게 되는 이점이 있으며, 협업 지원 시스템의 서버에서 EJB 기반의 자바를 유지하기 위해 클라이언트 프로그램은 마이크로 소프트 기반으로 구현함에 따라 XML 기반의 SOAP를 이용하는 경우 서버 측의 소스 프로그램을 전혀 수정하지 않으면서도 클라이언트 측의 소스프로그램을 플랫폼 및 언어에 관계없이 개발할 수 있게 되는 이점이 있다.In addition, due to the lack of standardized data representation and communication protocols between object-based heterogeneous components using conventional software components, many solutions are platform-integrated with poor integration, and as firewalls in other solutions such as DCOM, CORBA, etc. There is an advantage that can solve the communication problems caused by the client, and in order to maintain EJB-based Java in the server of the collaborative support system, the client program is implemented based on Microsoft. There is an advantage that the source program on the client side can be developed regardless of platform and language without any modification.
Description
본 발명은 인터넷을 통한 협업 지원 시스템에 관한 것으로, 특히 인터넷 웹 환경에서 다중 사용자의 인터넷을 통한 협동 작업과 통신을 위한 SOAP(Simple Object Access Protocol)을 이용한 협업 지원방법에 관한 것이다.The present invention relates to a collaborative support system through the Internet, and more particularly, to a collaborative support method using a Simple Object Access Protocol (SOAP) for cooperative work and communication through a multi-user Internet in an internet web environment.
근래에 들어 널리 퍼지기 시작한 인터넷은 컴퓨터 통신 기술의 발전과 컴퓨터 보급의 증가와 더불어 초고속통신망의 보급이 보편화되면서 일반 가정에서도 인터넷을 일상적으로 이용할 수 있게 되는 등 그 이용 추세가 급속히 확산되고 있으며, 상기 인터넷과 웹의 발전은 사회생활 전반에 걸쳐 커다란 영향을 끼치고 있다.In recent years, the Internet has been spreading widely, and as the use of computer communication technology and the increase of computer spread, the spread of high-speed communication network has become more common, so that the Internet can be used on a regular basis in ordinary homes. The development of the world and the web has a huge impact on social life.
이러한 상황에서 웹 기반 협업 지원시스템의 개발이 필수적으로 확산되면서 예를 들어, 원격지간 다수의 참여자가 제품의 설계, 개발의 복잡한 업무처리 과정을 처리하고 인터넷상에서 다양한 형태의 문서, 이미지, 도면, CAD 데이터를 공유할 수 있게 하고, 또한 도면 수정을 위한 마크업, 화상회의를 통한 정확한 의사 전달 등과 같은 대규모의 웹 통신과 트랜잭션을 안정적으로 처리해 줄 수 있는 기본 플랫폼의 필요성이 절실히 요구되어 왔다.In this situation, as the development of web-based collaborative support system is inevitably spreading, for example, a large number of remote participants deal with the complicated process of product design and development, and various forms of documents, images, drawings, and CAD on the Internet. There is an urgent need for a basic platform that can share data and can reliably handle large-scale web communications and transactions, such as markup for editing drawings and accurate communication through videoconferencing.
이를 위한 종래 기술로는 객체지향 미들웨이인 CORBA(Common Object Request Broker Architecture)와 DCOM(Distributed Component Object Model) 등이 분산환경에서 클라이언트와 서버 간의 통신을 위해 사용되고 있으나, 상기 CORBA를 이용하는 방식은 객체지향 기술을 기반으로 하여 서로 다른 운영체제와 네트웍 환경, 이종의 데이터 모델, 데이터 형, 구현 언어 등 특정 환경에 종속되지 않고 시스템을 구축할 수 있게 해주는 장점이 있는 반면, CGI(Common Gateway Interface) 사용으로 인해 야기되는 문제점들을 그대로 떠 안게 되는 문제점이 있으며, 인터넷 환경의 통신에서 실행속도의 저하와 과도한 비용이 소요되는 문제점이 있어 인터넷 환경에서 협업 시스템을 구현하기에는 많은 문제점이 있었다.Conventional technologies for this purpose, such as the object-oriented middleway Common Object Request Broker Architecture (CORBA) and Distributed Component Object Model (DCOM), etc. are used for communication between the client and the server in a distributed environment, the method using the CORBA object-oriented Based on the technology, it has the advantage of being able to build a system without being dependent on a specific environment such as different operating systems, network environments, heterogeneous data models, data types, and implementation languages, while using the Common Gateway Interface (CGI) There are problems that are caused by the problems caused as it is, there is a problem that the slow running speed and excessive cost in the communication of the Internet environment has a lot of problems to implement a collaboration system in the Internet environment.
또한 상기 DCOM을 이용하는 방식은, 네트워크 상에서 COM(Component Object Model)을 지원하는 각종 객체(Component)의 상호통신을 지원하는데, COM이 한 시스템 내 혹은 단일한 플랫폼에서 일어나는 것이라면 이들 객체들이 네트워크상에 분산되어 있을 때 서로 통신이 가능하게 하는 장점이 있는 반면, 원도우의 운영체제에 종속되는 문제점이 있었다.In addition, the method using the DCOM, supports the mutual communication of various components (Component) supporting the COM (Component Object Model) on the network, if the COM occurs in a system or on a single platform, these objects are distributed on the network While there is an advantage of enabling communication with each other, there is a problem that depends on the operating system of Windows.
한편, 상기와 같은 인터넷 환경에서의 클라이언트 서버 시스템으로는 한국특허 등록번호 066399호에 개시된 "클라이언트/서버에 기초한 응용 서비스 관리시스템 및 방법"과 한국특허 출원번호 1999-061184호에 개시된 "3층 구조상에서의 컴포넌트 구현 방법"과 1997년 9월에 발표된 "한국과학기술원 석사학위 논문" 29페이지에 에 개시된 "웹 어플리케이션 통합용 코바기반 클라이언트/서버 아키텍쳐" 등과 같은 클라이언트/서버 시스템에 관한 기술이 개시되어 있다. 그러나 상기 "클라이언트/서버에 기초한 응용 서비스 관리시스템 및 방법"은 단순히 자바 기반 응용 서비스 관리 클라이언트와 응용 서비스 관리 정보 전송 프로토콜에 관한 것으로, 자바 언어의 애플릿이나 어플리케이션을 이용하는 구조를 개시하고 있을 뿐이며, 상기 "3층 구조상에서의 컴포넌트 구현 방법"은 클라이언트/서버 연결방법으로 CORBA와 DCOM을 이용하는 구조에 관해 언급하고 있다. 또한 "웹 어플리케이션 통합용 코바기반 클라이언트/서버 아키텍쳐"에도 단순히 CORBA를 이용하는 클라이언트/서버 연결방법만이 개시되고 있을 뿐이어서 종래 CORBA, DCOM을 이용한 클라이언트/서버 시스템에서의 문제점은 여전히 해결되고 있지 않았다.On the other hand, the client server system in the Internet environment as described above "client / server based application service management system and method disclosed in the Korean Patent Registration No. 066399" and "three-layer structure disclosed in Korean Patent Application No. 1999-061184 On how to implement a component in a Korean language "and" Master's Thesis, Korea Advanced Institute of Science and Technology "published in September 1997. A technology relating to client / server systems, such as the "Cova-based client / server architecture for web application integration" disclosed in, is disclosed. However, the "client / server based application service management system and method" merely relates to a Java-based application service management client and an application service management information transmission protocol, and merely discloses a structure using an applet or an application of the Java language. "How to Implement Components in a Three-tiered Architecture" refers to the architecture of using CORBA and DCOM as a client / server connection. In addition, only the client / server connection method using CORBA is disclosed in the "Cova-based client / server architecture for web application integration", and the problem in the client / server system using CORBA and DCOM is still not solved.
따라서, 본 발명의 목적은 분산 환경 하에서 플랫폼과 언어에 관계없이 다중 사용자의 인터넷을 통한 협동 작업과 통신이 가능하도록 하는 SOAP을 이용한 협업 지원방법을 제공함에 있으며, 상기 인터넷 환경에서 협업 지원 시스템은 서비스를 제공받는 고객(Clients), 서비스 제공자(Service Provider) 및 이들을 연계하는 서비스 중개자(Service Broker)로 구성되며, 고객은 데이터를 생성하여 이를 서버에 등록하기 위하여 인터넷을 통해 서비스 중개자에게 작업을 요청하고, 서비스 중개자는 역시 인터넷을 통해 서비스 제공자로 하여금 상기 작업을 수행할 수 있도록 하여 작업의 결과를 고객에게 제공하고자 한다.Accordingly, an object of the present invention is to provide a collaborative support method using SOAP to enable multi-user collaboration and communication through the Internet regardless of platform and language in a distributed environment. It consists of clients (Services), Service Providers and service brokers (Service Broker) that connects them, and the customer requests the service broker through the Internet to generate data and register it on the server. In this case, the service intermediary also attempts to provide the result of the work to the customer by enabling the service provider to perform the work through the Internet.
이때 상기 제시된 구조는 웹(World Wide Web)의 강건한 통신환경 위에서 인터넷 컴퓨팅 기술과 분산객체기술을 이용한 클라이언트/서버 방식의 개방형 구조를 갖고 있으며, 서버 측은 엔터프라이즈 자바 빈즈(Enterprise Jave Beans: EJB) 구조를 가지는 컴포넌트로 개발하였으며, 클라이언트 측 응용 프로그램은 마이크로소프트사의 운영환경 하에서 비주얼 베이직(Visual Basic)으로 개발함으로써, 서버 측의 소스 프로그램을 전혀 수정하지 않고도 클라이언트 프로그램은 어떤 언어로도 구현이 가능하도록 하는 방법을 제공하고자 한다.At this time, the above-described structure has an open structure of a client / server method using internet computing technology and distributed object technology on the robust communication environment of the web (World Wide Web), and the server side has an enterprise Java bean (EJB) structure. The client-side application is developed in Visual Basic under Microsoft's operating environment, so that the client program can be implemented in any language without any modification on the server-side source program. To provide.
상술한 목적을 달성하기 위한 본 발명은 인터넷 웹 환경에서 SOAP 통신을 이용한 협업 지원 시스템에서 언어와 플랫폼에 상관없이 클라이언트와 서버간, 서버와 서버간, 클라이언트와 클라이언트간 표준 데이터 교환 프로토콜을 지원하는 XML 기반 SOAP 통신 방법에 있어서, (a)상기 XML 기반 SOAP 통신 API를 이용하여 SOAP 클라이언트와 SOAP서버간 통신 환경을 구축하는 단계와; (b)상기 클라이언트가 SOAP API를 참조하여 클라이언트 클래스를 생성하여 클라이언트 데이터를 직렬화 하여 SOAP 서비스를 송신하는 단계와; (c)상기 서버가 SOAP API를 이용하여 SOAP 서버를 생성하고, 상기 클라이언트에서 송신된 SOAP 서비스를 수신하여 역직렬화를 수행하는 단계;를 포함하여 진행하는 SOAP 통신 방법을 구현하는 것을 특징으로 한다.The present invention for achieving the above object is XML that supports standard data exchange protocol between client and server, server and server, client and client regardless of language and platform in collaboration support system using SOAP communication in Internet web environment. A method for SOAP based communication, comprising: (a) establishing a communication environment between a SOAP client and a SOAP server using the XML based SOAP communication API; (b) the client generating a client class by referring to a SOAP API and serializing client data to transmit a SOAP service; (c) the server generating a SOAP server using a SOAP API, receiving a SOAP service transmitted from the client, and performing deserialization. The SOAP communication method may be implemented.
도 1은 본 발명의 실시 예에 따른 SOAP 기반 서비스를 제공하는 시스템 구성도.1 is a system configuration diagram for providing a SOAP-based service according to an embodiment of the present invention.
도 2는 본 발명의 실시 예에 따른 SOAP 기반 협업 지원 시스템의 상세 구성도.2 is a detailed block diagram of a SOAP-based collaboration support system according to an embodiment of the present invention.
도 3은 본 발명의 실시 예에 따른 SOAP 기반 협업 지원 시스템의 동작 제어 흐름도.3 is a flowchart illustrating operation of a SOAP-based collaboration support system according to an exemplary embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예의 동작을 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the operation of the preferred embodiment according to the present invention.
도 1은 본 발명의 실시 예에 따른 SOAP 기반 웹서비스를 제공하는 협업 지원 시스템 구성을 도시한 것이다. 상기 도 1에 도시된 바와 같이 상기 SOAP 기반 웹서비스를 제공하는 협업 시스템은 SOAP클라이언트와, SOAP Server Listener, 그리고 클라이언트에서 서버로 요구하는 SOAP Request 및 서버에서 클라이언트 요구에 따라 응답하는 SOAP Response 등으로 구성됨을 알 수 있다. 즉, 클라이언트 응용 프로그램 모듈로부터 파생된 SOAP메시지는 SOAP Request 로 서버에 요구되고, 상기 요구에 응답한 서버로부터의 SOAP Response가 클라이언트 모듈로 반환되는 프로세스 구조로 형성된다. 이때 상기 SOAP는 웹상의 객체들을 액세스하기 위한 마이크로소프트의 프로토콜로써, 상기 SOAP는 언어와 플랫폼에 관계없이 클라이언트와 서버간 데이터 교환을 가능하게 하는 XML 표준에 기초하여 표준화되기 때문에 SOAP은 여러 컴퓨터, 아키텍처, 언어 및 운영체제간에 통신할 수 있다. 또한 SOAP를 이용하면 서비스를 표준방식으로 제공하는 웹 서비스라는 새로운 응용 프로그램 클래스의 생성이 가능하기 때문에 응용 프로그램 개발자는 다양한 웹 소스의 서비스로 구성된 협업 지원 시스템 등 여러 시스템의 새로운 응용 프로그램을 만들 수 있다.1 illustrates a configuration of a collaboration support system for providing a SOAP-based web service according to an embodiment of the present invention. As shown in FIG. 1, the collaboration system providing the SOAP-based web service includes a SOAP client, a SOAP server listener, a SOAP request requested from a client to a server, and a SOAP response responding to a client request from a server. It can be seen. In other words, a SOAP message derived from a client application program module is requested to the server as a SOAP Request, and a SOAP response from the server in response to the request is returned to the client module. SOAP is Microsoft's protocol for accessing objects on the Web, and since SOAP is standardized on the basis of an XML standard that enables data exchange between clients and servers regardless of language and platform, SOAP is a multi-computer, architecture It can communicate between languages, languages, and operating systems. SOAP also enables the creation of new application classes, called web services, that provide services in a standard way, allowing application developers to create new applications for multiple systems, including collaborative support systems composed of services from a variety of web sources. .
좀더 구체적으로 살펴보면, SOAP 메시지의 XML 콘텐츠의 외부형태를 정의하는 SOAP Envelop 형식이고, 언어 유형이 SOAP 메시지에서 XML 에 매핑되는 방법을 정의하는 옵션 인코딩 규칙 집합이며, 다음으로는 함수 호출이 SOAP 메시지에서 표현되는 방법을 정의하는 옵션 RPC(Remote Procedure Call) 형식이며, 마지막으로는 SOAP메시지가 HTTP를 통해 교환되는 방법을 정의하는 HTTP 바인딩이 위에서 열거하는 영역에 속하게 되는데, 본 발명에서는 이러한 규칙에 의거하여 협업 지원 시스템의 개발 방법을 제시하고 체계적인 시나리오를 정의하여 협업 지원 시스템을 구현하도록 한다.More specifically, it is a SOAP Envelop format that defines the external form of the XML content of a SOAP message, a set of optional encoding rules that define how language types are mapped to XML in the SOAP message, followed by a function call in the SOAP message. It is an optional Remote Procedure Call (RPC) format that defines how it is expressed, and finally, the HTTP binding that defines how SOAP messages are exchanged over HTTP falls within the scope listed above. It shows how to develop a collaborative support system and defines a systematic scenario to implement a collaborative support system.
상기 도 1은 전형적인 SOAP 메시지의 흐름을 도시한 것으로, 상기 서버는 Listening 장치(120)로서 역할을 수행하고, SOAP의 요청을 검색하며, 본 발명의 실시 예에서는 설명의 편의상 하나의 서버를 예를 들어 설명하고 있으나, 상기Listening서버(120)는 실행을 위해서 다른 서버와 연동하여 클라이언트의 요청을 처리할 수도 있다. XML-speak에서 SOAP메시지(130)는 Envelope라고 불리는 Root(루트) 요소를 생성하고, 루트 노드는 Header(머리부분) 요소를 가지며, 루트 노드의 안쪽에서 Body(몸체)요소로 구성한다. 이때 통상적으로 이런 요소들 각각은 XML Namespace로 첫머리에 놓이게 되며, SOAP 규격은 상기 Namespace Identifier(식별자)를 사용하고, SOAP-ENV의 앞에 놓일 수 있도록 생성하여 주며, 또한 Namespace는 즉시 SOAP 메시지 즉, 프로토콜을 요구(Requirement)하면 메소드와 데이터 콘텐츠 등과 같은 것들에서 SOAP 요소들을 즉시 구별하는 것이 가능하도록 구현된다.1 illustrates a flow of a typical SOAP message, wherein the server serves as a listening device 120, retrieves a request for SOAP, and an embodiment of the present invention uses one server as an example for convenience of description. For example, the listing server 120 may process a client request in association with another server for execution. In XML-speak, the SOAP message 130 creates a Root element called Envelope, and the root node has a Header element, and consists of a Body element inside the root node. Typically, each of these elements is first put into an XML Namespace, and the SOAP specification uses the Namespace Identifier to create it so that it can be placed in front of the SOAP-ENV. Requisitions are implemented to enable immediate identification of SOAP elements in things such as methods and data content.
도 2는 본 발명의 실시 예에 따른 SOAP 기반 협업 지원 시스템의 구성을 도시한 것으로, SOAP-EJB 기반 협업 지원 시스템의 프레임웍 구현방법에 대하여 시스템적으로 도시한 것이다. 상기 도 2를 참조하면, 상기 SOAP 기반 협업 지원 시스템은 SOAP 클라이언트(210), 웹서버(Web Server)(220), 애플리케이션 SOAP 서버(230), 데이터 서버(250), FTP서버(240)로 구성된다.2 illustrates a configuration of a SOAP-based collaboration support system according to an exemplary embodiment of the present invention, and illustrates a method for implementing a framework of a SOAP-EJB-based collaboration support system. Referring to FIG. 2, the SOAP-based collaboration support system includes a SOAP client 210, a web server 220, an application SOAP server 230, a data server 250, and an FTP server 240. do.
상기 도 2에 도시된 바와 같이, SOAP 기반 협업 지원 시스템의 모듈을 개발하기 위해서는 첫째로 언어와 플랫폼에 관계없이 자바(211)나 Win32 프로그램(212, 213)을 이용하여 웹 브라우저(210)와 SOAP를 이용한 클라이언트를 개발하고, 둘 째로 서블릿(Servlet)이 탑재된 웹 서버(Web Server)(220)를 개발하고, 셋 째로 SOAP와 EJB를 이용하여 애플리케이션 SOAP 서버(230)를 개발하고, 넷 째로 SOAP기반 Wrapper(233)를 개발함으로서 기존 리거시 시스템과 연결하는 시스템을 개발하여 전체 시스템을 유연하게 연결시키는 기능을 제공한다.As shown in FIG. 2, in order to develop a module of a SOAP-based collaboration support system, a web browser 210 and a SOAP may be developed using Java 211 or Win32 programs 212 and 213 regardless of a language and a platform. Second, develop a Web server (220) with a servlet; third, develop an application SOAP server (230) using SOAP and EJB; By developing the base wrapper (233), it develops the system to connect with the existing legacy system and provides the function to flexibly connect the whole system.
좀더 상세히 설명하면, 클라이언트(212)와 클라이언트(213) 간의 통신은 XML 기반 SOAP 데이터 통신이 가능하도록 하고, 또한 클라이언트와 서버간, 서버와 서버간에도 XML 기반 SOAP 데이터 통신이 가능하도록 환경을 제공한다.즉, 클라이언트와 서버간 통신에 있어서는 예를 들어 SOAP 클라이언트 측의 프로그램이 Visual Basic, 오퍼레이팅 시스템이 MS Windows이고, 서버 측의 프로그램이 Java, 오퍼레이팅 시스템이 Linux 등과 같이 서로 다른 오퍼레이팅 시스템과 언어로 구성된 환경에서, 먼저 표준 데이터 프로토콜인 SOAP 통신을 이용하여 통신 환경을 구축시킨다.이어 클라이언트의 MS Windows 오퍼레이팅 시스템에서 Visual Basic 언어로 작성된 SOAP 메시지를 클라이언트 측 Visual Basic 랩퍼(wrapper)로 생성시키고, 서버의 Linux 오퍼레이션 시스템에서 Visual Basic 언어로 작성된 언어를 자바 언어의 환경에 맞게 변환하는 서버 측 랩퍼를 생성시킨다.그런 후, 클라이언트 측의 랩퍼와 서버 측의 랩퍼와 통신하고자 하는 경우 클라이언트 측의 SOAP 메시지가 직렬화되어 클라이언트 측의 랩퍼에 전달되고, 클라이언트 랩퍼는 이를 서버 측 랩퍼의 SOAP 객체에게 요청하게 되며, 서버 측 랩퍼는 클라이언트 랩퍼로부터의 메시지를 역 직렬화하여 응답하게 됨으로써 클라이언트와 서버간 통신이 수행되게 된다.이때 위 클라이언트와 서버 측 랩퍼의 역할은 서로 다른 오퍼레이팅 시스템 환경에서 서로 다른 SOAP 메시지를 클라이언트와 서버 간에 통신이 가능하도록 환경에 맞게 변환시키는 것이다.다음으로 서버와 서버간 통신에 있어서는, 예를 들어 제1서버측의 프로그램이 C#, 오퍼레이팅 시스템이 MS Windows 이고, 다른 제2서버 측의 프로그램이 Java, 오퍼레이팅 시스템이 Linux 등과 같이 서로 다른 오퍼레이팅 시스템과 언어로 구성된 환경에서 먼저 표준 데이터 프로토콜인 SOAP 통신을 이용하여 통신 환경을 구축시킨다.이어 제1서버 측의 MS Windows 오퍼레이팅 시스템에서 C# 언어로 된 SOAP 메시지를 제1서버 측의 랩퍼로 생성시키고, 제2서버의 Linux 오퍼레이션 시스템에서 C# 언어로 작성된 언어를 자바 언어의 환경에 맞게 변환하는 서버 측 랩퍼를 생성시킨다.그런 후, 제1서버 측과 제2서버 측의 랩퍼와 통신하고자 하는 경우 제1서버 측의 SOAP 메시지가 직렬화되어 제1서버 측의 랩퍼에 전달되고, 제1서버 측의 랩퍼는 이를 제2서버 측 랩퍼의 SOAP 객체에게 요청하게 되며, 제2서버 측 랩퍼는 제1서버 측 랩퍼로부터의 메시지를 역 직렬화하여 응답하게 됨으로써 서버와 서버간 통신이 수행되게 된다.In more detail, the communication between the client 212 and the client 213 enables the XML-based SOAP data communication, and also provides an environment to enable the XML-based SOAP data communication between the client and server, server and server. In other words, in the communication between the client and the server, for example, the SOAP client-side program is Visual Basic, the operating system is MS Windows, the server-side program is composed of different operating systems and languages such as Java, and the operating system is Linux. First establishes a communication environment using SOAP communication, a standard data protocol, then generates a SOAP message written in the Visual Basic language with a client-side Visual Basic wrapper on the client's MS Windows operating system, and then runs the server's Linux operation. Written in the Visual Basic language on the system Create a server-side wrapper that translates the language to the Java-language environment. Then, if you want to communicate with the client-side wrapper and the server-side wrapper, the SOAP message on the client side is serialized and passed to the client-side wrapper. The client wrapper makes a request to the server-side wrapper's SOAP object, and the server-side wrapper deserializes the message from the client wrapper and responds to it so that communication between the client and server occurs. Is to convert different SOAP messages according to the environment so that client and server can communicate in different operating system environments. Next, in server-to-server communication, for example, the program on the first server side is C #, operating. The system is MS Windows, and on the other second server side In an environment where RAM is composed of different operating systems and languages such as Java, Linux, etc., a communication environment is first established using SOAP communication, which is a standard data protocol, followed by the C # language in the MS Windows operating system on the first server side. The generated SOAP message is generated as a wrapper on the first server side, and a server side wrapper is generated in the Linux operating system of the second server to convert a language written in the C # language to the Java language environment. If you want to communicate with the wrapper on the second server side, the SOAP message on the first server side is serialized and delivered to the wrapper on the first server side, and the wrapper on the first server side requests it from the SOAP object of the second server side wrapper. The second server-side wrapper responds by deserializing the message from the first server-side wrapper so that communication between the server and the server is performed. do.
도 3은 본 발명의 실시 예에 따른 SOAP 기반 협업 지원 시스템에서 XML 기반 SOAP API를 이용하여 클라이언트 부분은 플랫폼과 언어에 관계없이 작성하고, 서버부분은 EJB로 구성된 객체로 작성하는 처리 흐름을 도시한 것이다.FIG. 3 illustrates a processing flow in which a client part is written regardless of a platform and a language and a server part is created as an object composed of an EJB using an XML-based SOAP API in a SOAP-based collaboration support system according to an embodiment of the present invention. will be.
먼저 사용자가 아이디(ID), 패스워드(Password) 등 자신의 사용자 정보를 서버로 보내 접속을 요구하는 경우 서버는 (S301)∼(S303)단계를 진행하면서 사용자 접속 인증(User Access Verification)을 수행하고, 상기 사용자 인증이 성공적인 경우 현재 클라이언트에 구비된 소프트웨어 정보를 이용하여 상기 소프트웨어 정보를 갱신할 것인지 여부를 결정한다. 이때 상기 소프트웨어의 갱신이 필요한 경우 서버는 FTP 서버(240)를 통해 해당 파일을 받고 클라이언트 시스템 환경 정보를 갱신시킨다.First, when a user requests access by sending his / her user information such as ID and password to the server, the server performs User Access Verification while proceeding with steps S301 to S303. When the user authentication is successful, it is determined whether to update the software information by using the software information provided in the current client. At this time, if the software needs to be updated, the server receives the file through the FTP server 240 and updates the client system environment information.
이어 서버는 (S304)단계에서 상기 로그 온 한 사용자의 캐쉬 정보를 읽어들여 변경된 부분을 검사한 후, 변경된 캐쉬 데이터가 있는 경우 (S305)단계에서 이에 응답하여 (S306)단계로 진행해서 변경된 부분에 대한 데이터를 송신한다. 그리고 서버는 (S307)∼(S308)단계를 진행하면서 로그 온과 함께 송신되는 자신의 친구(Friends)와 그들의 로그 온 상태 메시지들을 웹서버(230)로부터 수신하고, 자신을 액티브 유저(Active User)로 서버에 등록한다.Subsequently, the server reads the cache information of the logged-on user and checks the changed part in step S304, and if there is changed cache data, the server proceeds to step S306 in response to the changed cache data in step S306. Send data for In operation S307 to S308, the server receives its friends and their log on status messages transmitted from the web server 230 along with the log on, and sends itself to the active user. Register with server
이어 서버는 (S309)단계에서 현재 로그 온 되어 있는 모든 친구(Friends)에게 자신이 로그 온 했다는 정보를 메신저(Messenger)를 통해 보낸 후, (S310)∼(S311)단계를 진행하면서 실시간 컨퍼런스를 위한 스케쥴(Schedule)을 예약하고 등록한다. 그리고 서버는 (S312)단계에서 실시간 컨퍼런스를 위한 자료(Material)를 준비하고 등록한 후, (S313)단계로 진행해서 상기 실시간 컨퍼런스에 참가할 참가자(Participants)를 선택한다. 이어 서버는 (S314)단계에서 실시간 컨퍼런스를 위한 예약작업(Schedule, materials, participants)을 끝낸 후, 상기 정보를 BBS나 웹 페이지에 올리거나 참가자들에게 메일을 통해 알리고, (S315)단계에서 상기 참가자들을 상기 컨퍼런스에 초대한다.Subsequently, the server sends information indicating that the user has logged on to a friend currently logged on through a messenger in step S309, and then proceeds with steps S310 to S311 for a real-time conference. Schedule and register a schedule. In operation S312, the server prepares and registers a material for the real time conference, and then proceeds to step S313 to select participants to participate in the real time conference. Subsequently, the server finishes the scheduling (Schedule, materials, participants) for the real-time conference in step S314, posts the information on a BBS or a web page or informs the participants through an email, and in step S315 Invite them to the conference.
이에 따라 상기 초대된 참가자들은 상기 서버로부터 참가 초대를 통보받고 해당 실시간 컨퍼런스 세션에 참여(Join)하게 되는데, 그러면 서버는 (S316)단계에서 상기 참가자들의 세션 참여에 응답하여 (S317)단계로 진행해서 실시간 컨퍼런스를 위해 필요한 자료(Material)를 화이트 보드(Workspace)로 로딩(Loading)시킨다. 이어 서버는 (S318)단계에서 화이트 보드 상에서 텍스트 채팅, 오디오/비디오 컨퍼런스, 모델 뷰, 모델 마크업 등으로 실시간 컨퍼런스를 진행시키고, (S319)단계에서 상기 실시간 컨퍼런스에 대한 레코딩(Recording) 및 리포팅(Reporting)을 수행한다.Accordingly, the invited participants are notified of the participation invitation from the server and join the corresponding real-time conference session. Then, the server proceeds to step S317 in response to the session participation of the participants in step S316. Load the materials needed for the real-time conference to the whiteboard. In operation S318, the server conducts a real-time conference through a text chat, an audio / video conference, a model view, a model markup, and the like on the whiteboard, and in step S319, recording and reporting of the real-time conference are performed. Perform reporting.
따라서 상술한 바와 같이 본 발명은 종래 발명에서 문제시되었던 분산 환경에서의 클라이언트와 서버간의 통신의 문제점을, SOAP을 이용한 협업 지원 시스템으로 구현함으로써 분산 환경 하에서 플랫폼과 언어에 관계없이 다중 사용자의 클라이언트 서버간 통신이 원활하게 수행될 수 있게 된다.Therefore, as described above, the present invention implements a problem of communication between a client and a server in a distributed environment, which is a problem in the related art, by using a collaborative support system using SOAP. Communication can be performed smoothly.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 상기 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백하다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Meanwhile, in the above description of the present invention, specific embodiments have been described, but the present invention is not limited to the above-described embodiments and the accompanying drawings, and various substitutions may be made without departing from the spirit of the present invention. Modifications and variations are apparent to those of ordinary skill in the art. Therefore, the scope of the invention should be determined by the claims rather than by the described embodiments.
이상에서 설명한 바와 같이, 본 발명은 분산환경 하에서 플랫폼과 언어에 관계없이 시스템을 설계하고 구현하는 방법을 제시함으로서, 클라이언트 측은 플랫폼과 구현언어에 관계없이 프로그램을 개발하고, 서버 측은 EJB 컴포넌트를 이용하여 자바 서버를 개발하였으며, 특히 EJB 자바 서버와 윈도우즈 클라이언트의 통신을 위하여 XML 기반 SOAP프로토콜을 사용하여 클라이언트와 서버, 서버와 서버간의 데이터 통신을 원활하게 하며, 협업 지원 시스템 뿐만 아니라 다른 모든 시스템에서도 적용할 수 있는 이점이 있다.As described above, the present invention provides a method for designing and implementing a system regardless of platform and language in a distributed environment. The client side develops a program regardless of the platform and implementation language, and the server side uses an EJB component. We have developed a Java server. In particular, it uses XML-based SOAP protocol for communication between EJB Java server and Windows client, and facilitates data communication between client and server, server and server, and can be applied to all other systems as well as collaboration support system. There is an advantage to this.
또한 종래 소프트웨어 컴포넌트를 이용한 객체 기반의 이 기종 컴포넌트간의 표준화된 데이터 표현 및 통신 프로토콜의 부재로 인해 많은 솔루션들이 통합성이 그다지 좋지 않은 플랫폼 의존적이며, 종래 DCOM, CORBA 등과 같은 다른 솔루션들에서의 방화벽으로 인한 통신상 문제점을 해결할 수 있게 되는 이점이 있으며, 협업 지원 시스템의 서버에서 EJB 기반의 자바를 유지하기 위해 클라이언트 프로그램은 마이크로 소프트 기반으로 구현함에 따라 XML 기반의 SOAP를 이용하는 경우 서버 측의 소스 프로그램을 전혀 수정하지 않으면서도 클라이언트 측의 소스프로그램을 플랫폼 및 언어에 관계없이 개발할 수 있게 되는 이점이 있다.In addition, due to the lack of standardized data representation and communication protocols between object-based heterogeneous components using conventional software components, many solutions are platform-integrated with poor integration, and as firewalls in other solutions such as DCOM, CORBA, etc. There is an advantage that can solve the communication problems caused by the client, and in order to maintain EJB-based Java in the server of the collaborative support system, the client program is implemented based on Microsoft. There is an advantage that the source program on the client side can be developed regardless of platform and language without any modification.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0088364A KR100463832B1 (en) | 2001-12-29 | 2001-12-29 | Collaboration supporting system based on soap in web environment and implementation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0088364A KR100463832B1 (en) | 2001-12-29 | 2001-12-29 | Collaboration supporting system based on soap in web environment and implementation method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030059501A KR20030059501A (en) | 2003-07-10 |
KR100463832B1 true KR100463832B1 (en) | 2004-12-29 |
Family
ID=32215934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0088364A KR100463832B1 (en) | 2001-12-29 | 2001-12-29 | Collaboration supporting system based on soap in web environment and implementation method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100463832B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011115315A1 (en) * | 2010-03-17 | 2011-09-22 | (주)넷블루 | Cognitive rehabilitation training system and a service method using the system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108810000B (en) * | 2018-06-20 | 2021-07-30 | 北京经纬恒润科技股份有限公司 | Method and device for generating serialization and deserialization API |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226675B1 (en) * | 1998-10-16 | 2001-05-01 | Commerce One, Inc. | Participant server which process documents for commerce in trading partner networks |
KR20010075951A (en) * | 2000-01-21 | 2001-08-11 | 오길록 | Method to integrate distributed electronic commerce systems by using XML |
KR20020003835A (en) * | 2001-09-10 | 2002-01-15 | 이용배 | System and method for providing value-added network service using internet |
KR20030010217A (en) * | 2001-07-26 | 2003-02-05 | 주식회사 모비츠 | Method for processing an application data in integration broker system |
KR20030048630A (en) * | 2001-12-12 | 2003-06-25 | 한국전자통신연구원 | Apparatus and method accessing data by using single object access protocol-extended markup language |
-
2001
- 2001-12-29 KR KR10-2001-0088364A patent/KR100463832B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226675B1 (en) * | 1998-10-16 | 2001-05-01 | Commerce One, Inc. | Participant server which process documents for commerce in trading partner networks |
KR20010075951A (en) * | 2000-01-21 | 2001-08-11 | 오길록 | Method to integrate distributed electronic commerce systems by using XML |
KR20030010217A (en) * | 2001-07-26 | 2003-02-05 | 주식회사 모비츠 | Method for processing an application data in integration broker system |
KR20020003835A (en) * | 2001-09-10 | 2002-01-15 | 이용배 | System and method for providing value-added network service using internet |
KR20030048630A (en) * | 2001-12-12 | 2003-06-25 | 한국전자통신연구원 | Apparatus and method accessing data by using single object access protocol-extended markup language |
Non-Patent Citations (1)
Title |
---|
SOAP클라이언트와 서버 (웹서버, 애플리케이션 서버, 데이터 서버, FTP 서버,한국경영과학회 추계학술대회, 2001.10.20, pp.318-321 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011115315A1 (en) * | 2010-03-17 | 2011-09-22 | (주)넷블루 | Cognitive rehabilitation training system and a service method using the system |
Also Published As
Publication number | Publication date |
---|---|
KR20030059501A (en) | 2003-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11785056B2 (en) | Web browser interface for spatial communication environments | |
US9813463B2 (en) | Phoning into virtual communication environments | |
US8024404B2 (en) | Method and apparatus for designating endpoints in a collaborative computer system to facilitate maintaining data consistency | |
EP1526695B1 (en) | Architecture for an extensible real-time collaboration system | |
JP4762467B2 (en) | Method and apparatus for activity-based collaboration by a computer system with a dynamics manager | |
US6192394B1 (en) | Inter-program synchronous communications using a collaboration software system | |
US5941945A (en) | Interest-based collaborative framework | |
KR100320973B1 (en) | Personal conferncing system | |
Hughes et al. | MetaWeb: bringing synchronous groupware to the World Wide Web | |
Gall et al. | Promondia: A Java-based framework for real-time group communication in the Web | |
US20110282962A1 (en) | Communication method, master display device, slave display device, and communication system furnished therewith | |
JP2006244472A (en) | Web service processing using mapi-compliant mail application | |
KR20160000542A (en) | Method and apparatus for gernerating data distribution service application | |
Frivold et al. | Extending WWW for synchronous collaboration | |
Ådahl | Shared resource for collaborative editing over a wireless network | |
KR100463832B1 (en) | Collaboration supporting system based on soap in web environment and implementation method thereof | |
El Saddik et al. | JASMINE: Java application sharing in multiuser interactive environments | |
Wang et al. | Design of a collaborative system | |
US20230339816A1 (en) | Visual Communications | |
KR100248264B1 (en) | Session management system in inter-partaking multimedia development environment | |
Aoki | Collaborative environment for supporting Web users | |
RU2377640C2 (en) | Architecture for extensible system for real time interoperation | |
Ochoa et al. | Collaboration services to support interactions in disaster relief scenarios | |
Lee et al. | High performance publisher/subscriber communication for adaptive, collaborative Web-based learning | |
Roth et al. | Dream Team-a synchronous CSCW environment for distance education |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20081202 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |