KR20080109361A - Framework - Google Patents

Framework Download PDF

Info

Publication number
KR20080109361A
KR20080109361A KR1020070057569A KR20070057569A KR20080109361A KR 20080109361 A KR20080109361 A KR 20080109361A KR 1020070057569 A KR1020070057569 A KR 1020070057569A KR 20070057569 A KR20070057569 A KR 20070057569A KR 20080109361 A KR20080109361 A KR 20080109361A
Authority
KR
South Korea
Prior art keywords
framework
data
mvc
module
core
Prior art date
Application number
KR1020070057569A
Other languages
Korean (ko)
Inventor
김택균
강구원
원대희
정호열
Original Assignee
(주)아이비즈소프트웨어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)아이비즈소프트웨어 filed Critical (주)아이비즈소프트웨어
Priority to KR1020070057569A priority Critical patent/KR20080109361A/en
Publication of KR20080109361A publication Critical patent/KR20080109361A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/316Aspect-oriented programming techniques

Abstract

A web framework based on view point-oriented programming paradigm is presented to reduce development and operation cost by improving productivity and performing maintenance and extension easily. According to a framework for web application construction, an architecture is formed with business function based on view point-oriented programming paradigm. A data engine generates and execute data by being sent to the architecture. An MVC core module requests data by the data engine and responds to the data. A web service module distributes dynamic web service generated from the MVC core module automatically. A test module is generated from the MVC core module, and can be driven without a web server.

Description

프레임워크{framework}Framework {framework}

도면 1은 본 발명 전체의 아키텍트 구성 도면이다.1 is an architect configuration diagram of the entire invention.

도면 2은 본 발명의 관점 지향 프로그래밍(AOP: Aspect Oriented Programming)를 기반으로 코어(Core)요소들의 관점지향 아키텍처를 구성한 도면이다.FIG. 2 is a diagram illustrating a perspective architecture of core elements based on Aspect Oriented Programming (AOP) of the present invention.

도면 3은 본 발명의 데이터 엔진(Data Engine)을 통한 객체 지향 매핑(ORM : Object Relational Mapping), 객체 지향 데이터 처리(ORQ: Object Relational Query)처리 기술의 도면이다.3 is a diagram of an object relational mapping (ORM) and an object relational query (ORQ) processing technique through a data engine of the present invention.

도면 4는 본 발명의 데이터 엔진(Data Engine)기반 객체 지향 데이터 처리(ORQ: Object Relational Query) 의 상호 연관성과 이를 통한 MVC구현 및 통신을 기술적 논리 구조로 표현한 도면이다.FIG. 4 is a diagram illustrating a technical logic structure of MVC implementation and communication through correlation and object relational query (ORQ) of the Data Engine based Data Engine of the present invention.

도면 5는 본 발명의 데이터 엔진(Data Engine)기반 객체 지향 매핑(ORM :Object Relational Mapping) 상호 연관성과 이를 통한 MVC구현 및 통신을 기술적 논리 구조를 표현한 도면이다.FIG. 5 is a diagram illustrating a technical logic structure of MVC implementation and communication through Object Engine Relational Mapping (ORM) correlation and Data Engine based object of the present invention.

도면 6는 본 발명의 MVC 코어(Core)기술을 통한 웹 서비스 지원을 수행하는 도면이다.6 is a diagram for performing web service support through the MVC core technology of the present invention.

도면7은 본 발명의 테스트 케이스(Test Case)를 통한 단위(MVC) 테스트와 스트레스 멀티스레드(Multi Thread)기능을 통한 서버 퍼포먼스 측정 처리 개념을 나타낸 도면이다.7 is a diagram illustrating a server performance measurement processing concept through a unit test (MVC) through a test case of the present invention and a stress multi-threading function.

본 발명은 웹 어플리케이션 구축에 필요한 프레임워크에 관한 것으로 보다 구체적으로는 관점 지향 프로그래밍(Aspect Oriented Programming) 패러다임을 사용하여 웹 어플리케이션 구조를 단순화 하여 개발 생산성 및 유지보수, 시스템 확장을 쉽게 하기 위한 발명에 관한 것이다.The present invention relates to a framework for building a web application. More specifically, the present invention relates to an invention for simplifying a web application structure using an aspect-oriented programming paradigm to simplify development productivity, maintenance, and system expansion. will be.

종래에는 웹 어플리케이션 구축 시 JSP등을 이용한 모델 구조나 MVC기반의 모델 구조가 사용되었고 비즈니스 로직을 구현하기 위하여 업무와 관련이 없는 공통 기능까지 모든 것을 구현해야 하는 구조로 인해 소스 코드가 복잡해지고 생산성이 떨어져 유지보수나 업무의 변경 시 많은 코드 수정이 일어나고 이는 업무의 비효율과 많은 개발 시점의 버그발생과 잠재적 문제를 내재하고 있어 오류가 많고 확 장 시 많은 비용이 발생 하였다In the past, when constructing a web application, the model structure using JSP or MVC-based model structure was used, and the source code is complicated and productive due to the structure that implements everything from common functions not related to tasks to implement business logic. As a result, many code modifications occur during maintenance or change of work, which causes inefficiency of work, bugs and potential problems at the time of development, resulting in many errors and high cost of expansion.

이러한 문제를 해결 하기 위해 관점 지향 프로그래밍(AOP: Aspect Oriented Programming)기반의 프레임워크의 필요성이 대두되었고 기술의 흐름과 방향은 단순함을 추구하게 되어 복잡한 연결을 줄이고 느슨하게 연결하여(Loosely Coupled) 쉽고 단순하며 효과적이고 명확한 결과를 추구 하고 있으며 이것이 바로 관점지향 프로그래밍AOP(Aspect Oriented Programming)이다. In order to solve this problem, the need for a framework based on Aspect Oriented Programming (AOP) has emerged, and the flow and direction of the technology has been pursued for simplicity. It is pursuing effective and clear results and this is AOP (Aspect Oriented Programming).

관점지향 프로그래밍은 개발자로 하여금 자신이 관심 있어 하는 로직의 개발에 충실할 수 있어 이를 통해 생산성을 높이고 버그는 줄게 된다.Perspective programming allows developers to stick to the logic they are interested in, increasing productivity and reducing bugs.

상기와 같은 문제점을 해결하기 위하여 본 발명은 객체 지향 프로그래밍(OOP: Object Oriented Programming) 이후 새로운 패러다임으로 떠오르는 관점 지향 프로그래밍(AOP: Aspect Oriented Programming)을 통해 기존 개발 방식에 비해 검증된 다양한 신기술들을 혁신적으로 새롭게 개발된 기술과 서비스를 제공하여 개발기간을 단축할 수 있고, 보다 향상된 안정성과 보안성을 유지하며, 시스템 구축과 유지관리 및 확장이 보다 용이하게 제공하는데 그 목적이 있다. In order to solve the problems described above, the present invention innovatively uses various new technologies that have been verified compared to existing development methods through Aspect Oriented Programming (AOP), which emerges as a new paradigm after object-oriented programming (OOP). It aims to shorten the development period by providing newly developed technologies and services, maintain improved stability and security, and provide easier system construction, maintenance, and expansion.

본 발명의 구성은 웹 어플리케이션을 개발하는데 있어 관점 지향 프로그래 밍(AOP: Aspect Oriented Programming) 패러다임을 도입하여 구현하려고 하는 비즈니스 관심(Primary Concern) 외에 권한, 보안, 로그, Transaction등과 같이 시스템 전반적으로 산재된 기능들을 횡단 관심 기능(Cross-cutting concern)으로 개발자가 비즈니스 로직 안에 코딩 하는 방식이 아닌 관점 지향 프로그래밍(AOP: Aspect Oriented Programming)를 이용해 관점을 설정만 하면 각 기능들이 동작하는 프레임워크에 관한 것이다. The composition of the present invention is scattered throughout the system such as authority, security, log, Transaction, etc. in addition to the Primary Concern to implement by introducing the Aspect Oriented Programming (AOP) paradigm in developing web applications. This is a cross-cutting concern, not a way for developers to code in business logic, but rather a framework in which each function works by simply setting its perspective using Aspect Oriented Programming (AOP). .

자세하게는,In detail,

웹 어플리케이션 구축을 위한 프레임워크에 있어서,In the framework for building web applications,

관점 지향 프로그래밍(AOP: Aspect Oriented Programming) 패러다임 기반의 비즈니스 기능(Primary Concern)과 횡단관심 기능(Cross-cutting concern)으로 형성한 아키텍처; 상기 아키텍처로 제공되어 데이터를 생성 및 실행하도록 하는 데이터 엔진; 상기 데이터 엔진에 의해 데이터를 요청 및 응답하는 MVC 코어(Core)모듈; 상기 MVC 코어(Core)모듈로부터 생성된 동적 웹서비스를 자동 배포 처리하는 웹 서비스 모듈; 상기 MVC 코어(Core)모듈로부터 생성되어 웹 서버 없이 구동이 가능한 테스트 모듈;로 이루어진 것을 특징으로 한다.An architecture formed from the Aspect Oriented Programming (AOP) paradigm-based Primary Concern and Cross-Cuting Concern; A data engine provided to the architecture to generate and execute data; An MVC core module requesting and responding to data by the data engine; A web service module for automatically distributing a dynamic web service generated from the MVC core module; And a test module generated from the MVC core module to be driven without a web server.

상기 데이터 엔진은 객체 지향적 데이터 조회 처리 모듈, 객체 테이블 매핑 및 제로 설정 모듈을 포함하는 것을 특징으로 한다.The data engine may include an object-oriented data inquiry processing module, an object table mapping, and a zero setting module.

상기 횡단관심 기능에는 권한, 보안, 로그, 트랜스액션이 가능한 것을 특징 으로 한다.The cross-interest feature is characterized in that the authority, security, log, transaction is possible.

상기 데이터 엔진은 객체 지향 데이터 처리 및 조회가 가능한 것을 특징으로 한다.The data engine is characterized in that the object-oriented data processing and inquiry is possible.

상기 데이터 엔진은 객체 지향 매핑을 통한 데이터 처리가 가능한 것을 특징으로 한다.The data engine is characterized in that data processing through object-oriented mapping is possible.

상기 프레임워크에서 만들어진 객체 지향 데이터 처리(ORQ: Object Relational Query), 객체 지향 매핑(ORM :Object Relational Mapping)을 기반으로 MVC 모델을 처리하는 MVC 코어(Core) 모듈을 포함하는 것을 특징으로 한다. And an MVC core module processing an MVC model based on object relational query (ORQ) and object relational mapping (ORM) made in the framework.

상기 프레임워크에서 MVC 코어(Core)모듈을 통해 이기종 시스템에 서비스 지향 아키텍처(SOA: Service Oriented Architecture)가 가능한 것을 특징으로 한다.In the framework, a service oriented architecture (SOA) is possible for heterogeneous systems through an MVC core module.

상기 프레임워크에서 MVC 코어(Core) 모듈을 기반으로 단위 테스트 및 스트레스 테스트를 지원하는 모듈을 포함하는 것을 특징으로 한다.The framework includes a module supporting unit tests and stress tests based on the MVC core module.

이하, 본 발명을 구체적으로 설명하고자 도면을 사용한다.Hereinafter, the drawings will be used to specifically describe the present invention.

도면 1 은 본 발명의 전체 개념을 설명하기 위한 참고도이다.1 is a reference diagram for explaining the overall concept of the present invention.

본 발명의 구성은 웹 어플리케이션을 개발하는데 있어 관점 지향 프로그래밍(AOP: Aspect Oriented Programming) 패러다임을 기반으로 MVC 모델의 웹 어플리케이션을 구현하려고 하는데 있어 비즈니스 관심(Primary Concern) 외에 산재된 기능들을 횡단 관심 기능(Cross-cutting concern)으로 제공하여 데이터 엔진(Data Engine)과 서비스 지향 아키텍처(SOA: Service Oriented Architecture)엔진;The configuration of the present invention crosses interspersed functions in addition to business concerns in attempting to implement a web application of the MVC model based on the Aspect Oriented Programming (AOP) paradigm in developing a web application. Provided as a cross-cutting concern (Data Engine) and Service Oriented Architecture (SOA) engine;

상기 데이터 엔진(Data Engine) 기반의 객체 지향 데이터 처리(ORQ: Object Relational Query), 객체 지향 매핑(ORM :Object Relational Mapping);Object relational query (ORQ) and object relational mapping (ORM) based on the data engine;

상기 횡단 관심(Cross-cutting concern) 컴포넌트로 제공되는 자동 로깅 (Logging) 및 어플리케이션 성능 관리 (APM: Application Performance Management); Automatic logging and application performance management (APM) provided to the cross-cutting concern component;

상기 서비스로 제공 되는 보안, 권한 접속 제어, 캐시(Cache), 이력관리 서비스 ;Security, privileged access control, cache, and history management services provided by the service;

상기 프레임워크의 테스트를 위해 별도의 웹 서버 없이 구동 가능한 테스트 모듈로 이루어진 것을 특징으로 한다Characterized in that the test module can be run without a separate web server for testing the framework

도면 2에서는 이와 같이 MVC를 구현할 때 횡단 관심(Cross-cutting Concern)으로 되어 있는 데이터 베이스 및 사용자 서비스 이력 관리 시스템 부(Live Object), 어플리케이션의 성능을 검증하는 시스템 부(APM:Application Performance Management)로서, 로깅(Logging), 트랜잭션(Transaction), 자원관리(Resource Management)와 같은 처리를 관점 지향 프로그래밍(AOP: Aspect Oriented Programming)기술을 통해 관점 지향 아키텍처를 기본으로 한다.In FIG. 2, as the MVC implementation, the database and the user service history management system section (Live Object), which are cross-cutting concerns, and the system section (APM: Application Performance Management) verifying the performance of the application are described. Processes such as logging, logging, transaction, and resource management are based on perspective-oriented architecture through Aspect Oriented Programming (AOP) technology.

본 발명인 관점지향 기반 웹 프레임워크는 빠른 기술의 패러다임의 변화와 사용자들의 다양한 요구 및 기술 접근을 쉽고도 다양하게 구현할 수 있도록 도면1에서 표현된 바와 같이 코어(Core)모듈을 기반으로 하는 관점 지향 프로그래밍(AOP: Aspect Oriented Programming)기술을 통한 아키텍처를 구성하고 있다.The present inventor's perspective-oriented web framework is a perspective-oriented programming based on the core module, as shown in Figure 1 to easily and variously implement a variety of rapid technological paradigms and users' various needs and technology access. It is constructing architecture through (AOP: Aspect Oriented Programming) technology.

여기서 관점 지향 프로그래밍에 기반이 된 자바 데이터 엔진을 통하여 객체 지향 매핑(ORM :Object Relational Mapping) 모듈과 객체 지향 데이터 처리(ORQ: Object Relational Query) 를 통해 강력한 데이터베이스 개발을 지원하게 된다.The Java data engine, based on perspective-oriented programming, supports robust database development through the Object Relational Mapping (ORM) module and the Object Relational Query (ORQ).

도면 3에 도식화된 관점 지향 프로그래밍(AOP: Aspect Oriented Programming)기반의 데이터 엔진은 객체 지향 데이터 처리(ORQ: Object Relational Query), 객체 지향 매핑(ORM : Object Relational Mapping)에서 사용하는 내부 핵심 모듈 들을 포함한다. The data engine based on Aspect Oriented Programming (AOP) illustrated in FIG. 3 includes internal core modules used in Object Relational Query (ORQ) and Object Relational Mapping (ORM). do.

본 발명에 따르면 데이터 엔진은 본 발명인 웹 프레임워크에서 데이터 베이스와의 데이터 교환 및 데이터 처리 조작언어(DML: Data Manipulating Language)처리를 객체 지향(Object Relational) 중심으로 처리하며 이는 데이터 변환기(Data Convertor)가 담당한다. 이는 현재 IT분야에서 이루어지고 있는 객체 중심의 개발 방법론이 영속성 매핑(Persistence Mapping)을 기반으로 웹 개발 환경에서도 적용될 수 있도록 하는 새로운 패러 다임을 제공한다. 데이터 처리자(Data Handler)와 SQL Query문장을 XML 형태로 특정한 장소를 지정하여 관리하는 쿼리 처리기(Query Processor)를 통해 SQL작성 및 소스 생성등과 같은 로직 을 모두 객체 지향 데이터 처리(ORQ: Object Relational Query)의 XML Mapping을 통해 확장 및 운영의 효율성을 높이게 된다. According to the present invention, the data engine processes data exchange and data processing language (DML) with a database in the web framework of the present invention based on object relational, which is a data converter. Is in charge. This provides a new paradigm that allows the object-oriented development methodology currently being implemented in IT to be applied in the web development environment based on Persistence Mapping. Object relational query (ORQ) such as SQL creation and source generation are all handled through Query Processor which manages data handler and SQL Query statement by specifying a specific place in XML format. XML Mapping increases the efficiency of extension and operation.

객체 지향 데이터 처리(ORQ: Object Relational Query)는 데이터 엔진(Data Engine)기반으로 하여 데이터베이스의 테이블이 하나의 객체로 연결되는 객체 관계(Object Relational)를 객체로 구성하므로 이것은 기존의 객체 지향 프로그래밍 언어 자바와 관계 형 데이터 베이스인 데이터베이스와의 결합 면에 있어서 비 효율적인 면을 데이터 교환까지 객체로 전달하고 구현함으로써 전체적인 시스템 효율성 및 확장성, 연계성 및 생산성의 증대를 이끌어 내게 된다.Object Relational Query (ORQ) is based on the Data Engine, which is an object-oriented programming language called Java. By integrating and implementing an inefficient aspect in relation to the database, which is a relational database, as an object to data exchange, it leads to an increase in overall system efficiency, scalability, connectivity, and productivity.

상기 데이터 엔진(Data Engine)에서 객체 지향 매핑(ORM :Object Relational Mapping)은 코어(Core)엔진을 통해 개발자는 SQL문을 작성 하지 않고 영속객체 (Persistence Object)를 사용하여 엔진에서 자동으로 조회(Query)문을 생성 하고 이를 통해 Query를 수행하게 된다. Object Relational Mapping (ORM) in the Data Engine is a query through the core engine. Developers do not write SQL statements and use Persistence Object to query the engine automatically. ) Generates the statement and executes the query.

위의 데이터 엔진(Data Engine) 기반 하에서 도면 4에서 보는 바와 객체 지향 데이터 처리(ORQ: Object Relational Query)Engine을 살펴 보면, 본 발명의 데이터 엔진(Data Engine)에서 제공하는 코어(Core) 모듈 중 객체 관계(Object Relation)API 에 기반을 두고 있다. As shown in FIG. 4 and the object relational query (ORQ) engine based on the above data engine, an object among the core modules provided by the data engine of the present invention. It is based on the Object Relation API.

일반적으로 자바의 JDBC 스펙 중 ResultSet을 중심으로 구현하고 데이터를 관리 접근하기 위한 이 기술의 특징은 모든 사용자의 개발 방식과 접근을 객체 지향 중심적으로 유도한다. 도면 3에서 도식된 것과 같이 영속매핑(Persistence Mapping)과 데이터변환기(Data Convertor)를 통해 데이터 베이스 원시데이터(Law Data)를 객체로 변환하여 처리한다.In general, the feature of this technology for implementing and managing data around ResultSets in Java's JDBC specification is object-oriented to all development methods and approaches. As illustrated in FIG. 3, the raw data is converted into an object through a persistence mapping and a data converter to be processed.

새로운 웹 개발 패러다임을 지향하는 객체 지향 데이터 처리(ORQ: Object Relational Query)은 XML Mapping과 연동되어 정의 된 Query의 결과를 객체 형식의 java Collection또는Object, Array, XML, String, Stream, Vector등과 같은 다양한 형태로 변환하며 이는 각각의 처리자(Handler)를 통해 처리되게 된다.Object Relational Query (ORQ), a new web development paradigm, provides the results of queries defined in conjunction with XML Mapping, such as Java Collection or Object, Array, XML, String, Stream, Vector, etc. It is converted into a form, which is processed by each handler.

따라서 MVC 모델에서 데이터의 조작을 위한 SQL및 DML의 코드개발의 구현이 XML Mapping과 사용자 정의 구문 생성 및 다양한 방법으로 객체 지향 데이터 처리(ORQ: Object Relational Query)를 통하여 처리고 Controller 또는 Model 레이어(layer) 에서 객체 지향 데이터 처리(ORQ: Object Relational Query)를 직 간접적으로 사용하여 View에서 요청된 데이터 조회, 추가, 삭제, 수정과 같은 다양한 트랜잭션을 지원하게 된다.Therefore, the implementation of SQL and DML code development for manipulating data in the MVC model is handled through XML Mapping, custom syntax generation, and Object Relational Query (ORQ) in various ways. In this case, the object relational query (ORQ) is used directly or indirectly to support various transactions such as querying, adding, deleting, and modifying data requested in View.

필요에 따른 데이터 엔진(Data Engine)가 지원하는 인터페이스 처리자(Handler)개념을 통해 사용자 정의를 구현 가능하도록 지원하여 확장성 및 개발자 환경에 적합한 시스템을 구현할 수 있는 방법을 제공한다.It provides a way to implement a system suitable for extensibility and developer environment by supporting the user to implement user definition through the interface handler concept supported by the data engine as needed.

위의 데이터 엔진(Data Engine) 기반 하에서 도면 5에서 보는 바와 같이 SELECT, INSERT, DELETE, UPDATE를 별도의 SQL의 정의 없이 영속객체를 사용하여 객체 지향 매핑(ORM :Object Relational Mapping) 엔진이 자동으로 수행하게 된다.As shown in Figure 5, based on the Data Engine, the Object Relational Mapping (ORM) engine automatically performs SELECT, INSERT, DELETE, and UPDATE using persistent objects without defining SQL. Done.

객체 지향 매핑(ORM :Object Relational Mapping)엔진은 영속 객체 로부터 SQL생성을 위한 메타 정보를 만들어 내고 Class의 Method로부터 메타 정보를 분석하여 Query문을 생성하게 된다. 이는 도면 3에 있는 Query 생성기를 통해 생성된 SQL또는 DML문장은 데이터 엔진(Data Engine)을 통해 데이터베이스와 처리하게 된다.Object Relational Mapping (ORM) engine generates meta information for SQL generation from persistent object and analyzes meta information from method of class to generate Query statement. The SQL or DML statements generated by the Query generator shown in FIG. 3 are processed with the database through the data engine.

본 발명의 범주 내에 속한 객체 지향 매핑(ORM :Object Relational Mapping)은 일반적인 객체 지향 매핑 기술과는 달리 객체 및 메타 정보의 별도 정의 리소스가 없이 데이터 베이스 테이블에서 직접 생성된 영속객체로만 구현된다. 본 발명의 제로설정(Zero-Configuration) 즉 Zero-Property, Zero-Xml지원하여 다른 객체 지향 매핑(ORM :Object Relational Mapping)툴과 다른 방식을 지원하는 것을 특징으로 한다. 이는 개발자가 관리해야 하는 다양한 리소스가 필요 없게 된다.Unlike general object-oriented mapping technology, object relational mapping (ORM) within the scope of the present invention is implemented only as a persistent object directly generated from a database table without separate definition resources of objects and meta information. The present invention supports zero-configuration, that is, zero-property and zero-xml, to support different methods from other object relational mapping (ORM) tools. This eliminates the need for various resources for developers to manage.

도면 5에서는 또한 객체 지향 매핑(ORM :Object Relational Mapping)에서 처리하는 다양한 데이터 처리기술을 설명하고 있다. 데이터베이스에서 실제 삭제하지 않고 논리적인 삭제(Logical Delete)와 데이터의 모든 수정 및 삭제에 대한 기록을 처리하는 기록 변경(Recordable Update), 데이터의 견고성(Consistency) 을 보장하는 잠금 변경(Locking Update)은 동시에 여러 사용자의 동일한 데이터 접근 시 가 장 먼저 수행된 사용자의 Update를 보장하게 한다. 5 also illustrates various data processing techniques handled by Object Relational Mapping (ORM). Logical Delete, Record Change for all modifications and deletions of the data, and Lock Update, which ensures the consistency of the data, at the same time without actually deleting from the database. When multiple users access the same data, the first user can be guaranteed the update.

객체 지향 매핑(ORM :Object Relational Mapping)과 객체 지향 데이터 처리(ORQ: Object Relational Query)에서 처리된 데이터가 MVC 코어(Core)로 핸들링이 되면 이는 본 발명의 도면 6에서 와 같이 서비스 지향 아키텍처(SOA: Service Oriented Architecture) 지향하는 웹 서비스는 기업의 그룹 내 통합 서비스 구축을 위해 표준 웹 서비스로 데이터를 제공하게 된다. When the data processed in Object Relational Mapping (ORM) and Object Relational Query (ORQ) is handled by MVC Core, this is done by SOA as shown in Figure 6 of the present invention. : Service Oriented Architecture Oriented web services provide data as standard web services to build integrated services within a group of companies.

산재되어 있는 기업 하위 집합의 천차만별의 인터넷서비스를 SOAP(Simple Object Access Protocol), XML통신 기반의 통신을 하여 서로 다른 이기종 서버의 PC, O/S, DB, 프로그래밍 언어 및 스크립트에 관계없이 자료를 주고 받을 수 있어 기업의 그룹 내 통합환경을 별도의 제품 도입 없이 구축할 수 있는 것 까지 상기 모든 기술이 종래에 국, 내외에서 1개의 프레임워크 제품 만으로서는 구축할 수 없던 본 발명인 프레임워크만이 제공하는 신개념의 도입이라 할 수 있다. Provides data regardless of PC, O / S, DB, programming languages and scripts of different heterogeneous servers through SOAP based Simple Object Access Protocol (SOAP) and XML communication. New concept provided only by the present inventors' framework, in which all the above technologies can not be built by only one framework product in the past, domestically or internationally, until the integrated environment in the group of companies can be established without introducing a separate product. It can be called the introduction of.

본 발명에서 웹 서비스는 SOAP(Simple Object Access Protocol) Controller를 중심으로 한 요청(Reqeust)에 의한 MVC 코어(Core)의 API를 통해 핸들링 된 데이터를 Response를 사용하여 SOAPClient가 표준 WSDL (Web Service Description Language)로 처리하게 된다. In the present invention, the Web service uses the WSDL (Web Service Description Language) SOAPClient using the response of the data handled through the API of the MVC core based on a request centered on a Simple Object Access Protocol (SOAP) Controller. ).

별도의 웹 서버 없이 개발자의 MVC레이어별 단위 테스트를 돕는 테스트 Case와 과부하 테스트 스트레스(Stress) Case 기능을 보면, If you look at the test case and overload test stress case function that helps developers test MVC layer by unit without a separate web server,

도면 7은 본 발명의 범주에 속하는 테스트 케이스(Test Case)를 통한 단위 (MVC)테스팅이 구현된 그림이다. 개발자는 별도의 웹 서버 없이(NO SERVER) MVC 테스트 케이스(Test Case)를 통해 비즈니스 로직을 구현하고 디버깅 하여 개발 생산성을 높여주고 어플리케이션을 배포하기 전에 테스트를 수항하게 함으로써 코드를 수정하면서 생기는 다른 버그들을 바로 파악할 수 있어 버그 추적을 빠르고 쉽게 통합 관리 테스트가 가능하다. 또한 이것은 개발자의 영역별 구분을 지어 비즈니스 로직 개발자와 화면 개발자가 각각 서로 동시에 개발할 수 있는 환경을 제공하며 테스를 별도로 수행할 수 있어 맡은 개발 업무별 디버깅과 형상관리를 지원하게 된다.7 is a diagram illustrating implementation of unit (MVC) testing through a test case, which falls within the scope of the present invention. Developers can use the NO SERVER MVC Test Case to implement and debug their business logic to increase development productivity and to take tests before deploying the application to fix other bugs that arise from modifying code. This makes it easy to track bugs quickly and easily with integrated management testing. In addition, this provides the environment where business logic developers and screen developers can develop each other at the same time by dividing the developer's area, and it can support the debugging and configuration management for each development task by performing the test separately.

도 7에서는 본 발명에서 구현된 스트레스 테스트(Stress Test)를 사용하여 멀티 쓰레드(Multi Thread) 기능을 통해 서버에 부하를 주는 개념의 도식이다. 이를 통해 웹 어플리케이션의 안정성과 성능을 측정할 수 있다. 이는 웹 서버에 대량의 다중 접속 자를 가상으로 만들어 이 요청에 대한 웹 서버의 여러 가지 예상 문제와 기타 예외사항에 대한 검증을 할 수 있도록 지원한다.7 is a schematic diagram of a concept of applying a load to a server through a multi-threading function using a stress test implemented in the present invention. This allows you to measure the stability and performance of your web application. This virtualizes a large number of multiple users on the Web server, enabling you to verify the Web server's various anticipated problems and other exceptions for this request.

상술한 바와 같이, 본 발명에 따른 바람직한 실시 예를 설명하였지만, 본 발명은 상기한 실시 예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 및 균등 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.As described above, the preferred embodiment according to the present invention has been described, but the present invention is not limited to the above-described embodiment, and the present invention belongs in the field without departing from the gist of the present invention as claimed in the following claims. Anyone with ordinary knowledge will have the technical spirit of the present invention to the extent that various changes and equivalents can be implemented.

이상에서 설명한 바와 같이, 본 발명에 의해, 종래의 개발 방식 보다 진보된 개발 방식으로 생산성 향상 및 유지보수와 확장의 용이성으로 많은 개발 및 운영 비용을 절감하는 현저한 효과가 있다. As described above, according to the present invention, there is a remarkable effect of reducing development and operating costs by improving productivity and ease of maintenance and expansion in an advanced development method than the conventional development method.

또한, 본 발명으로부터 관점 지향 프로그래밍(AOP: Aspect Oriented Programming)기반하의 관점 지향 프레임워크 기술을 통해 다양한 기술과 서비스가 유기적으로 연결되어 프레임워크를 통한 개발 생산성을 높이고 효율적이며 안정적인 개발 환경과 방법론을 제시할 수 있게 되었다.In addition, through the aspect-oriented framework technology based on Aspect Oriented Programming (AOP) from the present invention, various technologies and services are organically connected to increase development productivity through the framework, and present an efficient and stable development environment and methodology. I can do it.

기존 JSP와 Servlet방식의 개발에서 발생할 수 있는 비 객체지형적인 개발 방식과 이런 구조로 인하여 발생되는 생산성 및 기타 버그, 트래킹등과 같은 다양한 문제들이 본 발명으로 인하여 혁신적으로 해결이 되었다.Various problems such as productivity and other bugs, tracking, and the like that occur due to the non-objective development method and the structure that can occur in the development of existing JSP and Servlet methods have been solved by the present invention.

또한 완벽한 테스트 환경을 통해 기존 웹 개발 환경에서 발생하는 서버 구동 및 소스 컴파일등과 같은 개발 퍼포먼스에 지대한 영향을 미치는 문제들도 서버 구동 없이 빠르게 테스트가 가능하게 되었다. 단위 테스트 환경은 비즈니스 로직 개발자와 화면 개발자의 역할을 완전히 분리하는 기준이 되어 이를 통해 각 담당자별 개발을 진행하고 테스트 할 수 있게 되어 개발 업무 연계에 필요한 딜레이(Delay)나 데드락(Dead-lock)을 막을 수 있게 되었다.In addition, a complete test environment enables the rapid testing of problems that have a significant impact on development performance such as server startup and source compilation that occur in the existing web development environment. The unit test environment is a standard that completely separates the roles of business logic developers and screen developers so that each person in charge can proceed with development and test, so that delay or dead-lock necessary for linking development work can be managed. I could stop it.

또한, 웹 어플리케이션 개발자의 최초 Source Code(자바 Class) 생성부터 배 포 전 Test까지 모든 꼭 필요한 단계별 기능 및 절차를 제공해 놓은 것이, 본 발명이 설계·구축한 All-In-One 프레임워크이라 불릴 수 있는 뼈대이다. In addition, all necessary step-by-step functions and procedures from the initial source code (Java Class) generation of the web application developer to the pre-deployment test can be called the All-In-One framework designed and implemented by the present invention. It is a skeleton.

Claims (8)

웹 어플리케이션 구축을 위한 프레임워크에 있어서,In the framework for building web applications, 관점 지향 프로그래밍(AOP: Aspect Oriented Programming) 패러다임 기반의 비즈니스 기능(Primary Concern)과 횡단관심 기능(Cross-cutting concern)으로 형성한 아키텍처;An architecture formed from the Aspect Oriented Programming (AOP) paradigm-based Primary Concern and Cross-Cuting Concern; 상기 아키텍처로 제공되어 데이터를 생성 및 실행하도록 하는 데이터 엔진;A data engine provided to the architecture to generate and execute data; 상기 데이터 엔진에 의해 데이터를 요청 및 응답하는 MVC 코어(Core)모듈; An MVC core module requesting and responding to data by the data engine; 상기 MVC 코어(Core)모듈로부터 생성된 동적 웹서비스를 자동 배포 처리하는 웹 서비스 모듈;A web service module for automatically distributing a dynamic web service generated from the MVC core module; 상기 MVC 코어(Core)모듈로부터 생성되어 웹 서버 없이 구동이 가능한 테스트 모듈;로 이루어진 것을 특징으로 하는 프레임워크.And a test module generated from the MVC core module to be driven without a web server. 제1항에 있어서 The method of claim 1 상기 데이터 엔진은 객체 지향적 데이터 조회 처리 모듈, 객체 테이블 매핑 및 제로 설정 모듈을 포함하는 것을 특징으로 하는 프레임워크.The data engine includes an object-oriented data lookup processing module, an object table mapping and a zero setting module. 제1항에 있어서The method of claim 1 상기 횡단관심 기능에는 권한, 보안, 로그, 트랜스액션이 가능한 것을 특징으로 하는 프레임워크.The cross-interest feature is a framework, characterized in that the authority, security, log, transaction is possible. 제2항에 있어서 The method of claim 2 상기 데이터 엔진은 객체 지향 데이터 처리 및 조회가 가능한 것을 특징으로 하는 프레임워크.The data engine is a framework, characterized in that for processing and querying the object-oriented data. 제2항에 있어서 The method of claim 2 상기 데이터 엔진은 객체 지향 매핑을 통한 데이터 처리가 가능한 것을 특징으로 하는 프레임워크.The data engine is a framework, characterized in that data processing through object-oriented mapping. 제2항 또는 제4항에 있어서The method according to claim 2 or 4 상기 프레임워크에서 만들어진 객체 지향 데이터 처리(ORQ: Object Relational Query), 객체 지향 매핑(ORM :Object Relational Mapping)을 기반으로 MVC 모델을 처리하는 MVC 코어(Core) 모듈을 포함하는 것을 특징으로 하는 프레임워크. A framework comprising an MVC core module for processing an MVC model based on object relational query (ORQ) and object relational mapping (ORM) made in the framework . 제5항에 있어서 The method of claim 5 상기 프레임워크에서 MVC 코어(Core)모듈을 통해 이기종 시스템에 서비스 지향 아키텍처(SOA: Service Oriented Architecture)가 가능한 것을 특징으로 하는 프레임워크.The framework characterized in that the Service Oriented Architecture (SOA) is possible for heterogeneous systems through the MVC Core (Core) module in the framework. 제5항에 있어서 The method of claim 5 상기 프레임워크에서 MVC 코어(Core) 모듈을 기반으로 단위(MVC) 테스트 및 스트레스 테스트를 지원하는 모듈을 포함하는 것을 특징으로 하는 프레임워크.The framework comprises a module for supporting unit (MVC) testing and stress testing based on the MVC Core (Core) module in the framework.
KR1020070057569A 2007-06-13 2007-06-13 Framework KR20080109361A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070057569A KR20080109361A (en) 2007-06-13 2007-06-13 Framework

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070057569A KR20080109361A (en) 2007-06-13 2007-06-13 Framework

Publications (1)

Publication Number Publication Date
KR20080109361A true KR20080109361A (en) 2008-12-17

Family

ID=40368683

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070057569A KR20080109361A (en) 2007-06-13 2007-06-13 Framework

Country Status (1)

Country Link
KR (1) KR20080109361A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101526108B1 (en) * 2014-01-29 2015-06-04 경북대학교 산학협력단 Method and System for capturing events, method and system for replaying the recorded events
US10169478B2 (en) 2013-08-27 2019-01-01 International Business Machines Corporation Optimize data exchange for MVC-based web applications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169478B2 (en) 2013-08-27 2019-01-01 International Business Machines Corporation Optimize data exchange for MVC-based web applications
KR101526108B1 (en) * 2014-01-29 2015-06-04 경북대학교 산학협력단 Method and System for capturing events, method and system for replaying the recorded events

Similar Documents

Publication Publication Date Title
CN104573115B (en) Support the realization method and system of the integrated interface of multi-type database operation
US6895586B1 (en) Enterprise management system and method which includes a common enterprise-wide namespace and prototype-based hierarchical inheritance
Cai et al. A transparent approach of enabling SaaS multi-tenancy in the cloud
Shu-Qing et al. The improvement of PaaS platform
US8849947B1 (en) IT discovery of virtualized environments by scanning VM files and images
Giove et al. An approach for the development of portable applications on paas clouds
Wada et al. Modeling turnpike frontend system: A model-driven development framework leveraging UML metamodeling and attribute-oriented programming
US20070061277A1 (en) Method, system, and storage medium for providing dynamic deployment of grid services over a computer network
US20130085991A1 (en) Reverting a Current State Model of a Database to a Pre-refactored State
Gropengießer et al. Database backend as a service: automatic generation, deployment, and management of database backends for mobile applications
KR20080109361A (en) Framework
Song et al. Implementation on network teaching system based on Java EE architecture
Hahn et al. Modeling data transformations in data-aware service choreographies
Denaro et al. Performance testing of distributed component architectures
Khan et al. An intelligent data service framework for heterogeneous data sources
KR20110067787A (en) Framework apparatus based on domain object interface
Böhm et al. Model-Driven Generation and Optimization of Complex Integration Processes.
Goncalves et al. Java persistence API
Fiore et al. An architectural overview of the GRelC data access service
Liu data interface design for java-based mysql database
Gong et al. Dynamic adapter generation for data integration middleware
Heiler et al. Engineering databases, tools, and management: An integration framework
Kouamou Building a service-oriented ERP from an open source software
Weigold et al. Advanced grid programming with components: A biometric identification case study
Fagg HARNESS: Heterogeneous Adaptable Reconfigurable Networked Systems. Final Progress Report

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application