KR100501410B1 - 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터이제이비 컴포넌트를 생성하는 시스템 및 방법 - Google Patents

서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터이제이비 컴포넌트를 생성하는 시스템 및 방법 Download PDF

Info

Publication number
KR100501410B1
KR100501410B1 KR10-2002-0074396A KR20020074396A KR100501410B1 KR 100501410 B1 KR100501410 B1 KR 100501410B1 KR 20020074396 A KR20020074396 A KR 20020074396A KR 100501410 B1 KR100501410 B1 KR 100501410B1
Authority
KR
South Korea
Prior art keywords
information
servlet
business logic
class
ejb
Prior art date
Application number
KR10-2002-0074396A
Other languages
English (en)
Other versions
KR20040046463A (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 KR10-2002-0074396A priority Critical patent/KR100501410B1/ko
Priority to US10/359,581 priority patent/US6847981B2/en
Publication of KR20040046463A publication Critical patent/KR20040046463A/ko
Application granted granted Critical
Publication of KR100501410B1 publication Critical patent/KR100501410B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 웹 기반의 어플리케이션에서 사용하는 웹 프로그램 언어 중의 하나인 서블릿 프로그램에서 재사용 가능한 비즈니스 로직을 추출하여 EJB 컴포넌트를 생성하는 시스템 및 방법에 관한 것이다.
본 발명의 시스템은 기존의 서블릿 프로그램 소스를 분석하는 역공학 모듈인 서블릿 코드 분석기, 분석된 정보를 시각적으로 보여주는 시각화기, 재사용 가능한 비즈니스 로직을 추출하는 비즈니스 로직 추출기 및 추출된 정보를 이용하여 EJB 컴포넌트를 생성하는 EJB 컴포넌트 생성기로 구성되어 있다.
본 발명은 일차적으로 서블릿 코드 분석기에서 서블릿 프로그램이 허용하는 코딩의 유연성과 다중 언어 사용을 고려하였으며, 시각화기에서는 기존 레거시 프로그램에 대한 이해를 도와주고, 비즈니스 로직 추출기에서는 많은 UI(User Interface) 관련 코드 속에서 비즈니스 로직을 추출해 냄으로써 재사용 가능한 모듈을 추출하여 소프트웨어의 재사용을 가능하게 해주며, EJB 컴포넌트 생성기에서는 Deploy가 가능한 Jar File로 Java code를 생성해 준다.

Description

서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 이제이비 컴포넌트를 생성하는 시스템 및 방법{ System and method of generating EJB component from reusable business logic in servlet }
본 발명은 기존의 레거시(Legacy) 프로그램을 새로운 시스템에 필요한 프로그램으로 바꾸는 레거시 시스템 현대화(Legacy System Modernization) 기술에 관한것으로, 상세하게는 동적 웹 페이지 개발 언어로 각광 받았던 웹 기반 프로그램 언어인 서블릿 프로그램을 대상으로 하여 컴포넌트 기반 시스템으로 전환할 수 있도록 서블릿 프로그램을 분석하여 시각적으로 보여주며, 비즈니스 로직을 추출하고 추출된 비즈니스 로직 정보를 이용하여 EJB 컴포넌트(Component)를 생성해 주는 시스템 및 방법에 관한 것이다.
일반적으로, 레거시(Legacy) 시스템의 현대화가 필요한 이유는 시스템의 환경이 변하거나 소프트웨어의 생산성 향상을 위해 소프트웨어의 생산기법이 변하기 때문이다. 특히, 요즘처럼 급변하는 IT분야에서 시스템은 계속 변하기 때문에 레거시 시스템 현대화가 필요하다. 그러나 현재 레거시 시스템의 현대화는 주로 절차 지향 언어인 COBOL, PL/1 등에 대해 연구되고 있으며, 웹 프로그램 언어에 대해서는 전무한 상태이다.
레거시 시스템 현대화 방법으로는 크게 재개발(Redevelopment), 래핑(Wrapping) 및 변환(Transformation) 등이 있다. 재개발(Redevelopment)방법은 기존 시스템과 같은 기능을 하는 시스템을 처음부터 새로 개발하여 대체하는 방법을 말한다. 이는 소프트웨어공학 측면에서 재사용이 전혀 이뤄지지 않고 단지 기존 시스템은 새로운 시스템을 개발할 때 참고 자료의 역할만 할 뿐이다. 또한 기존 프로그램에 포함된 비즈니스 로직이 중요한 경우, 이에 대한 재개발이 제대로 되었는지에 대한 검증이 어렵고, 기존 프로그램에 대한 문서가 없을 경우에는 새로운 시스템을 설계하기도 어렵다.
래핑(Wrapping)방법은 기존 시스템을 그대로 두고 새로운 시스템 환경 하에서 사용할 수 있도록 해 주는 방법으로, 안정적으로 새로운 환경에서 기존 프로그램을 동작시킬 수 있다.
래핑 방법은 기존 시스템의 구조와 코드에 대해서 자세히 몰라도 되고, 개발 비용이 적으며, 개발 기간도 짧은 장점들이 있지만 여전히 프로그램들이 기존 플랫폼에서 동작하기 때문에 새로운 플랫폼에서 얻을 수 있는 성능을 기대할 수 없고, 전체적으로만 래퍼(Wrapper)를 통해 재사용될 뿐 부분 별로 재사용될 수 없기 때문에 시스템의 유연성이 떨어지는 단점들도 있다.
변환(Transformation)방법은 기존 프로그램을 새로운 시스템의 소프트웨어 기법에 맞게 추상화(Abstraction)하여 새로운 프로그램으로 바꿈으로써 현대화를 이루는 방법으로, 궁극적으로는 가장 이상적이기는 하지만 시스템의 플랫폼이 다르기 때문에 구현이 어렵거나 불가능한 경우도 있다.
본 발명은 이러한 레거시 시스템으로 서블릿 프로그램을 대상으로 하여 EJB 컴포넌트로 현대화하는 과정에서 필요한 서블릿 프로그램 분석, 비즈니스 로직추출 및 EJB 컴포넌트 생성에 관련된다.
본 발명과 관련된 선행 특허로 미국특허 6,389,588호 "새로운 응용으로 통합하기 위하여 기존 응용으로부터 비즈니스 로직을 추출하는 방법 및 시스템(METHOD AND SYSTEM OF BUSINESS RULE EXTRACTION FROM EXISTING APPLICATIONS FOR INTEGRATION INTO NEW APPLICATION)은 기존 어플리케이션(절차 지향 언어:COBOL, PL/1, C)에서 비즈니스 로직을 추출하여 새로운 어플리케이션(C++, Java, Visual Basic)을 생성해 주는 방법과 시스템 관한 것이 있다.
또 다른 선행 특허로 미국특허번호 5,960,200호 "기업시스템을 분산 환경 구조로 변환해주는 시스템(SYSTEM TO TRANSITION AN ENTERPRISE TO A DISTRIBUTED INFRASTRUCTURE)은 2계층 클라이언트/서버 시스템(Two-tiered Client/Server System)에서 동작하는 소스(Source) 어플리케이션을 다 계층 클라이언트/서버 (Multi-tiered Client/Server) 구조의 타켓(Target) 어플리케이션으로 자동 변환해 주는 시스템을 개시하고 있다.
선행 국내 특허로 공개번호 2001-96859호 "기존 시스템을 웹에서 사용 가능한 시스템으로 전환하는 방법"은 기존의 웹이나 윈도우 환경에 맞지 않는 시스템을 웹에서 사용 가능한 시스템으로 전환 시 발생하는 문제점들을 해결하기 위한 방법과 웹 상의 특징을 이용할 수 있고 불필요한 기능들을 제거하는 지능적인 전환방법을 개시하고 있다.
상기한 선행기술과 같이 종래에는 레거시 시스템의 현대화 대상이 주로 절차 지향 언어인 COBOL, PL/1 등에 대해 연구되고 있으나, 웹 프로그램 언어 특히, 서블릿에 대해서는 전무한 상태이다. 즉, 서블릿 프로그램은 자바 언어의 유연성과 다중 언어의 구성으로 인하여 역공학 단계에서 서블릿 프로그램을 재추상화하기가 어렵고, 웹 페이지를 구성하기 위한 UI(User Interface)와 비즈니스 로직의 혼재로 인하여 컴포넌트를 추출하는 것이 어려워 재사용이 불가능한 문제점이 있다.
본 발명은 상기한 문제점을 해결하기 위한 것으로, 상세하게는 서블릿 프로그램을 대상으로 소스 코드를 분석하여 기존 시스템을 사용자가 이해하기 쉽도록 다이어그램들을 제공해 주고, 재사용 가능한 비즈니스 로직들을 추출하여 자바(Java) 기반의 컴포넌트인 엔터프라이즈 자바빈즈(EJB) 컴포넌트를 생성해 주며, 생성된 EJB 컴포넌트에 대한 정보를 시각적으로 사용자에게 제공해 주는 시스템 및 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 시스템은 서블릿 코드를 입력받아 구조지식정보를 이용하여 비즈니스 로직 정보와 SQL정보와 UI정보를 분석해 낸 후 이를 분석 정보 DB에 저장하는 서블릿 코드 분석기; 상기 서블릿 코드 분석기의 분석된 비즈니스 로직과 SQL 정보들을 이용하여 EJB 컴포넌트 생성에 필요한 정보를 추출하는 비즈니스 로직 추출기; 상기 서블릿 코드 분석기로부터 입력받은 서블릿의 구조에 대한 정보와, 상기 비즈니스 로직 추출기가 추출한 컴포넌트 정보를 다이어그램과 그래프로 제공해주는 시각화기; 및 상기 추출된 EJB 컴포넌트 생성 정보들을 이용하여 EJB 컴포넌트 스펙에 맞춰 EJB코드들을 생성하는 EJB 컴포넌트 생성기;를 포함하는 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 본 발명의 방법은, 먼저 서블릿 코드 분석기(Servlet Code Analyzer)에서 입력받은 서블릿 프로그램들의 구조 정보와 다른 모듈(시각화기, 비즈니스 로직 추출기, EJB 컴포넌트 생성기)에서 필요한 분석 정보를 분석한 후 분석 정보 DB에 저장한다. 저장된 분석 정보를 이용하여 시각화기는 사용자에게 입력 받은 서블릿 프로그램들에 대한 정보를 시각적으로 보여주며, 비즈니스 로직 추출기에서는 재사용 가능한 비즈니스 로직을 추출하고, 추출된 정보를 시각화기와 EJB 컴포넌트 생성기에 제공한다. EJB 컴포넌트 생성기는 추출된 정보와 분석 정보를 이용하여 EJB 컴포넌트 템플릿(Template)을 완성하여 EJB 빈즈(Beans)와 인터페이스(Interface)코드들을 생성하고, DD(Deployment Descriptor)를 생성한 후 Jar File로 묶어준다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명에 따라 서블릿 프로그램에서 EJB 컴포넌트를 생성하는 시스템의 전체 구성도이다.
도면을 참조하면, 본 발명에 따른 서블릿 코드 분석기(100)는 서블릿 코드(10)를 시각화기(200), 비즈니스 로직 추출기(300), EJB 컴포넌트 생성기(400)에서 필요로 하는 정보로 분석한 후 이를 분석정보 DB(500)에 저장한다.
시각화기(200)는 서블릿 코드 분석기(100)에서 입력된 서블릿의 구조에 대한 정보와 비즈니스 로직 추출기(300)가 추출한 컴포넌트 정보를 다이어그램과 그래프로 각각 제공해준다.
비즈니스 로직 추출기(300)는 분석된 비즈니스 로직 정보와 SQL 정보들을 이용하여 EJB 컴포넌트 생성에 필요한 정보를 추출한다. EJB 컴포넌트 생성기(400)는 추출된 EJB 컴포넌트 생성 정보들을 이용하여 EJB 컴포넌트 스펙에 맞춰 EJB코드(20)들을 생성한다.
도 2는 본 발명에 따른 서블릿 코드 분석기의 세부 구성도로서, 서블릿 코드 분석기(100)는 구조정보파서(102), 다중언어파서(104), 서블릿 타입 식별기(105), 비즈니스 로직 정보 분석기(109), SQL문 분석기(110) 및 UI정보 분석기(111)로 구성되며, 이와 같이 구성된 서블릿 코드 분석기(100)는 입력된 서블릿 프로그램(101)을 분석하여 각각 비즈니스 로직 정보(112), SQL 정보(113) 및 UI 정보(114)를 분석 정보 DB에 저장한다.
도면을 참조하면, 구조정보파서(102)는 구조지식정보 DB(103)를 이용하여 서블릿 프로그램(101)의 구조를 파싱한 후 다중언어파서(104)와 서블릿 타입 식별기(105)에 각각 파싱된 결과를 제공해 준다.
다중언어파서(104)는 자바 코드를 파싱하는 자바파서(106), SQL문을 파싱하는 SQL파서(107) 및 HTML 태그를 파싱하는 HTML파서(108)로 구성된다. 상기 다중언어파서(104)는 자바파서(106)로부터 파싱된 정보를 비즈니스 로직 정보분석기(109)를 통해 비즈니스 로직 정보로 분석하여 비즈니스 로직 정보 DB(112)에 저장하고, SQL 파서(107)로부터 파싱된 정보는 SQL문 분석기(110)에 의해서 분석하며, 이 SQL 관련 정보는 SQL정보 DB(113)에 저장된다. 또한 UI(User Interface) 정보 분석기(11)에 의해서 얻어진 UI 관련 정보는 UI정보 DB(114)에 저장된다.
여기서, SQL 정보는 질의문의 종류에 따라 선택(Select), 삽입(Insert), 갱신(Update) 및 삭제(Delete) 등이 있으며, 질의문을 통해 DB 테이블에 대한 정보를 얻을 수 있고, 이를 이용하여 EJB의 엔터티 빈(Entity Bean)을 추출하기 위한 정보로 사용할 수 있다.
도 3은 본 발명에 따라 시각화기가 사용자의 이해를 돕기 위해 제공해 주는 다이어그램들을 생성하는 과정을 나타낸 세부 구성도이다.
도면을 참조하면, 시각화기(200)는 내부적으로 시스템 클래스 다이어그램 생성기(210), 시스템 의존 그래프 생성기(220) 및 컴포넌트 다이어그램 생성기(230)로 구성되어 있다.
시스템 클래스 다이어그램 생성기(210)는 서블릿 코드 분석기(100)로부터 시스템 클래스 다이어그램 추출정보(120)를 제공받아 시스템 클래스 다이어그램(211)을 생성하게 되며, 이 시스템 클래스 다이어그램(211)은 입력받은 서블릿 프로그램들에 포함된 자바 클래스들에 대한 구조를 나타내 주는 다이어그램이다.
마찬가지로, 클래스 의존 그래프 생성기(220)도 서블릿 코드 분석기(100)로부터 클래스 의존 그래프 추출정보(130)를 제공받아 클래스 의존 그래프(221)를 생성한다. 클래스 의존 그래프(221)는 자바 클래스(Java Class)별로 상속 관계와 인스턴스(Instance) 생성 관계를 표현해 주는 그래프이다.
컴포넌트 다이어그램 생성기(230)는 비즈니스 로직 추출기(300)로부터 컴포넌트 추출정보(307)를 제공받아 컴포넌트 다이어그램(231)을 생성하게 되며, 이 컴포넌트 다이어그램(231)은 추출된 컴포넌트를 시각적으로 사용자에게 보여준다.
도 4는 본 발명에 따라 비즈니스 로직 추출기가 분석 정보를 이용해서 세션 빈(Session Bean)과 엔터티 빈(Entity Bean)의 매핑정보를 생성하는 과정을 나타내는 구성도이다.
비즈니스 로직 추출기(300)는 비즈니스 로직 정보 DB(301)에 저장된 비즈니스 로직 정보를 이용하여 세션 빈 매핑 정보(311)와 엔터티 빈 매핑 정보(321)를 생성한다. 세션 빈 정보 생성부(310)는 서블릿 코드 분석기(100)가 분석한 서블릿 클래스 관련 분석정보(302)와 자바 클래스 관련 분석정보(303)를 클러스터링(Clustering)(305)하여 생성된다. 여기서 클러스터링(305)은 서블릿 파일 하나가 수행하기 위해 필요한 자바(Java) 클래스들을 묶어 주는 역할을 한다.
엔터티 빈 정보 생성부(320)는 서블릿 코드 분석기(100)가 분석한 SQL 관련 분석정보(304)를 이용하여 SQL 질문 분석(306)을 하여 생성된다. 세션 빈과 엔터티 빈 간의 관계 정보생성부(312)는 세션 빈이 엔터티 빈을 호출하여 사용할 수 있도록 필요한 정보를 생성한다. 생성된 세션 빈 매핑정보(311)와 엔터티 빈 매핑정보(321)는 EJB 컴포넌트 생성기(400)의 입력 정보가 된다.
도 5는 본 발명에 따라 EJB 컴포넌트 생성기가 추출된 EJB 컴포넌트 생성정보를 이용하여 자바 압축 파일(Jar File)까지 생성하는 과정을 나타낸 구성도이다.
도면을 참조하면, EJB 컴포넌트 생성기(400)는 자바 EJB 스펙(Java EJB Spec.)에 맞게 세션 빈 템플릿(Session Bean Template: 411), 엔터티 빈 템플릿(Entity Bean Template: 412) 및 인터페이스 템플릿(Interface Template: 413)을 포함한 코드 템플릿 맵퍼(Code Template Mapper: 410)를 갖고 있으며, 비즈니스 로직 추출기(300)로부터 제공받은 세션 빈 매핑 정보(311)와 엔터티 빈 매핑 정보(321)를 각각의 템플릿에 추가한다.
코드 메이커(Code Maker: 420)는 템플릿들과 입력받은 프로그램 소스 코드들을 이용하여 실제 EJB 빈즈(Beans)들을 생성한다. EJB 컴포넌트가 실제 배치(Deploy)되기 위해서 필요한 배치 디스크립터(DD: Deployment Descriptor)는 DD 템플릿 맵퍼(DD Template Mapper: 430)를 통해 DD 메이커(DD Maker: 440)에 의해 생성되며, 생성된 EJB 빈즈(Beans)들과 DD는 자바 압축 파일 생성기(Jar File Generator: 450)에 의해 자바 압축 파일(Jar File)로 묶여진다.
도 6은 본 발명의 세부 모듈간의 상호 협력을 통해 입력 받은 서블릿 코드로부터 EJB코드를 생성하는 과정을 도시한 개략도이다.
도면을 참조하면, 서블릿 코드 분석기(100)는 서블릿 코드(10)를 입력으로 받아 시각화기(200), 비즈니스 로직 추출기(300), EJB 컴포넌트 생성기(400)에서 필요한 정보인 웹 UI정보(Web UI Information: 501), 비즈니스 로직 및 자바 클래스 정보(Business Logic & Java Class Information: 502) 및 SQL정보(SQL Information: 503) 등의 정보를 분석해 각각의 세부 모듈에 제공한다.
시각화기(200)는 상기 서블릿 코드 분석기(100)로부터 제공받은 웹 UI 정보(501)와 비즈니스 로직/자바 클래스(502) 정보를 이용하여 사용자가 이해할 수 있도록 클래스 의존 그래프(211), 시스템 클래스 다이어그램(221), 컴포넌트 다이어그램(231) 등의 그림들을 제공해 준다.
비즈니스 로직 추출기(300)는 제공받은 비즈니스 로직 정보/자바 클래스 정보(502)를 이용해서 비즈니스 로직을 추출한 후, 그 추출 정보를 EJB 컴포넌트 생성기(400)에 제공하고 동시에 시각화기(200)가 컴포넌트 다이어그램(231)을 생성 할 수 있도록 정보를 제공하게 되며, 상기 EJB 컴포넌트 생성기(400)는 SQL 정보(503)와 비즈니스 로직 추출 정보를 이용해서 EJB 컴포넌트의 실제 코드인 EJB 코드(20)를 생성한다.
이상에서 설명한 바와 같이, 본 발명은 첫째로 시각화기의 다이어그램과 그래프를 통해 기존의 서블릿 코드를 쉽게 이해할 수 있도록 정적 분석을 제공할 수 있고, 둘째로 서블릿 프로그램에 자바 언어(Java Language)의 유연성과 웹 프로그램의 사용자 인터페이스(UI)와 비즈니스 로직(Business Logic)이 혼재해 있음에도 불구하고 다양한 서블릿 코드에서 쉽게 비즈니스 로직을 분석해 낼 수 있다. 셋째로 서블릿에 포함된 SQL 언어를 분석하여 EJB 엔터티 빈(EJB Entity Bean) 컴포넌트 추출을 위한 정보를 제공할 수 있고, 넷째로 HTML 언어를 분석함으로써 서블릿에 포함된 사용자 인터페이스(User Interface)에 대한 정보를 분석할 수 있다. 그리고 다섯째로 추출된 비즈니스 로직이 실행 가능하도록 필요한 자바 클래스(Java Class)들을 클러스터링(Clustering)해 줄 수 있고, 여섯째로 추출된 비즈니스 로직을 자동으로 EJB코드(EJB Code)로 만들어주며 DD 파일을 추가하여 배포 가능한 파일인 자바 압축 파일(Jar File)로 묶어줄 수 있다.
이상에서 설명한 것은 본 발명에 따른 서블릿 프로그램에서 재사용 가능한 비즈니스 로직을 EJB 컴포넌트로 생성해 주는 시스템 및 방법을 설명한 하나의 실시 예에 불과한 것으로써, 본 발명은 상기한 실시 예에 한정되지 않고, 이하의 특허 청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 사상이 미친다고 할 것이다.
도 1은 본 발명인 서블릿 프로그램의 비즈니스 로직으로부터 EJB 컴포넌트를
생성하는 시스템에 대한 전체 구성도,
도 2는 본 발명의 서브모듈인 서블릿 코드 분석기(Servlet Code Analyzer)에
대한 세부 구성도,
도 3은 본 발명의 서브모듈인 시각화기(Visualizer)에 대한 세부 구성도,
도 4는 본 발명의 서브모듈인 비즈니스 로직 추출기(Business Logic
Extractor)에 대한 세부 구성도,
도 5는 본 발명의 서브모듈인 EJB 컴포넌트 생성기(EJB Component
Extractor)에 대한 세부 구성도,
도 6은 본 발명에 따라 서블릿 코드(Servlet Code)로부터 EJB 코드(EJB
Code)를 생성하는 과정을 도시한 세부 흐름도이다.
*도면의 주요부분에 대한 부호의 설명*
10;서블릿 코드 20;EJB코드
100;서블릿 코드 분석기 200;시각화기
300;비즈니스 로직 추출기 400;EJB 컴포넌트 생성기
500;분석정보 DB

Claims (16)

  1. 서블릿 코드를 입력받아 구조지식정보를 이용하여 비즈니스 로직 정보와 SQL정보와 UI정보를 분석해 낸 후 이를 분석 정보 DB에 저장하는 서블릿 코드 분석기;
    상기 서블릿 코드 분석기에서 분석된 비즈니스 로직과 SQL 정보들을 이용하여 EJB 컴포넌트 생성에 필요한 정보를 추출하는 비즈니스 로직 추출기;
    상기 서블릿 코드 분석기로부터 입력받은 서블릿의 구조에 대한 정보와, 상기 비즈니스 로직 추출기가 추출한 컴포넌트 정보를 다이어그램과 그래프로 제공해 주는 시각화기; 및
    상기 추출된 EJB 컴포넌트 생성 정보들을 이용하여 EJB 컴포넌트 스펙에 맞게 EJB 컴포넌트 코드들을 생성하는 EJB 컴포넌트 생성기;를 포함하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 시스템.
  2. 삭제
  3. 제 1항에 있어서, 상기 시각화기는
    상기 서블릿 코드 분석기로부터 시스템 클래스 다이어그램 추출 정보를 제공받아 시스템 클래스 다이어그램을 생성하는 시스템 클래스 다이어그램 생성기;
    상기 서블릿 코드 분석기로부터 클래스 의존 그래프 추출 정보를 제공받아 클래스 의존 그래프를 생성하는 클래스 의존 그래프 생성기; 및
    상기 비즈니스 로직 추출기로부터 컴포넌트 추출 정보를 제공받아 컴포넌트 다이어그램을 생성하는 컴포넌트 다이어그램 생성기;로 이루어진 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 시스템.
  4. 제 1항에 있어서, 상기 서블릿 코드 분석기는
    상기 구조 지식 정보 DB를 이용하여 입력 받은 서블릿 프로그램의 구조를 파싱하는 구조 정보 파서;
    자바코드를 파싱하는 자바 파서와, SQL문을 파싱하는 SQL 파서, HTML 태그를 파싱하는 HTML 파서로 구성되어 상기 구조 정보 파서의 출력을 파싱하는 다중 언어 파서;
    상기 구조 정보 파서의 출력을 입력받아 서블릿 타입을 식별하는 서블릿 타입 식별기;
    상기 자바 파서로부터 파싱된 정보와 상기 서블릿 타입 식별기의 식별정보를 입력받아 비즈니스 로직 정보를 분석하여 비즈니스 로직 정보 DB에 저장하는 비즈니스 로직 정보 분석기;
    상기 SQL 파서로부터 파싱된 정보를 분석하여 SQL 정보 DB에 저장하는 SQL문 분석기; 및
    상기 HTML 파서로부터 파싱된 정보를 분석하여 UI 정보 DB에 저장하는 UI 정보 분석기;를 포함하는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 시스템.
  5. 제 1항에 있어서, 상기 비즈니스 로직 추출기는
    상기 비즈니스 로직 정보 DB의 서블릿 클래스 관련 분석정보와 자바 클래스 관련 분석정보를 클러스터링하여 세션 빈 매핑정보를 생성하는 세션 빈 정보 생성부, 상기 SQL 정보 DB로부터 SQL 관련 분석정보를 입력받아 SQL 쿼리를 분석하여 엔터티 빈 매핑 정보을 생성하는 엔터티 빈 생성부 및 상기 세션 빈과 상기 엔터티 빈 간의 관계 정보를 생성하는 관계정보 생성부를 구비하는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 시스템.
  6. 제 1항에 있어서, 상기 EJB 컴포넌트 생성기는
    상기 비즈니스 로직 추출기의 출력을 입력받아 세션 빈 템플릿과 엔터티 빈 템플릿, 인터페이스 템플릿을 완성하는 코드 템플릿 맵퍼;
    상기 비즈니스 로직 추출기의 출력을 입력받아 DD템플릿을 완성하는 DD템플릿 맵퍼;
    상기 템플릿(Templates)들과 입력받은 프로그램 소스 코드들을 이용하여 실제 빈(Bean)들을 생성하는 코드 메이커;
    상기 DD 템플릿 맵퍼의 출력을 입력받아 배치 디스크립터(DD)를 생성하는 DD 메이커; 및
    상기 생성된 빈들과 DD를 통합하여 Jar파일을 생성하는 자바 압축 파일 생성기;를 구비한 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 시스템.
  7. 서블릿 코드를 입력받아 구조 지식 정보를 이용하여 비즈니스 로직 정보와 SQL정보와 UI정보를 분석하는 서블릿 코드 분석단계;
    상기 서블릿 코드 분석단계에서 분석된 비즈니스 로직과 SQL 정보들을 이용하여 EJB 컴포넌트 생성에 필요한 정보를 추출하는 비즈니스 로직추출 단계;
    상기 서블릿 코드 분석단계에서 분석된 서블릿의 구조에 대한 정보와, 상기 비즈니스 로직추출단계에서 추출한 컴포넌트 정보를 시스템 클래스 다이어그램과 클래스 의존 그래프, 컴포넌트 다이어그램으로 제공하는 시각화 단계; 및
    상기 비즈니스 로직추출단계에서 추출된 정보들을 이용하여 EJB 컴포넌트 스펙에 맞춰 EJB 컴포넌트 코드들을 생성하는 EJB 컴포넌트 생성단계;를 포함하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 방법.
  8. 제 7항에 있어서, 상기 서블릿 코드 분석단계는
    구조 지식 정보 DB를 이용하여 입력받은 서블릿 프로그램들의 구조를 분석하는 단계와,
    서블릿에 포함된 SQL문을 SQL 분석기를 이용하여 DB 관련 정보와 질의어에 관련된 정보를 분석해 내는 단계와,
    서블릿에 포함된 HTML을 HTML 분석기를 이용하여 사용자 인터페이스 정보를 분석해 내는 단계를 포함하는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 방법.
  9. 제 8항에 있어서, 상기 서블릿의 구조 지식 정보 DB는
    Http 서블릿 클래스로부터 상속 받은 클래스와 그렇지 않은 클래스로 나누어 각각의 상속 관계와 클래스 내에서 인스턴스 생성 정보를 포함하며, Http 서블릿 클래스로부터 상속받은 클래스의 경우에는 HTML파일로의 링크 정보를 포함하는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 방법.
  10. 제 8항에 있어서, 상기 SQL문 분석 종류는
    질의문의 종류에 따라 검색(Select), 삽입(Insert), 갱신(Update), 삭제(Delete) 등이 있으며, 질의문을 통해 DB 테이블에 대한 정보를 얻을 수 있고, 이를 이용하여 EJB의 엔터티 빈(Entity Bean)을 추출하기 위한 정보로 사용하는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 방법.
  11. 제 8항에 있어서, 상기 HTML분석은
    HTML의 태그를 분석하는 것으로써 화면의 분기나 화면 프레임 웍의 구조, 포함된 이미지 파일에 대한 경로, 링크된 파일에 대한 정보, HTML 기본 컴포넌트에 대한 정보 등을 대상으로 분석하는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 방법.
  12. 제 7항에 있어서, 시스템 클래스 다이어그램은
    클래스들 간의 상속 관계와 클래스를 구성하는 메소드와 변수들에 대한 정보를 나타내는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 방법.
  13. 제 7항에 있어서, 상기 클래스 의존 그래프는
    개별 클래스 별로 나타내며, 나타내는 정보로는 클래스 생성에 필요한 정보들로 부모 클래스 정보, 클래스 내에서 생성하는 인스턴스에 대한 정보, 서블릿 클래스일 경우에는 링크된 HTML 문서와 관련 파일들에 대한 정보를 포함해서 나타내는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 방법.
  14. 제 7항에 있어서, 상기 컴포넌트 다이어그램은
    추출된 비즈니스 로직을 컴포넌트로 변환할 경우 생성되는 EJB 빈즈(Beans) 정보, EJB 인터페이스(Interface) 빈즈 정보와 DD 정보들을 포함하며, 컴포넌트에 클러스터링(Clustering)된 클래스와 메소드들에 대한 정보를 나타내는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 방법.
  15. 제 7항에 있어서, 상기 비즈니스 로직추출 단계는
    자바 클래스 파일 중에서 Http 서블릿 클래스를 상속받은 클래스별로 클러스터링하고, 상기 클래스들의 인스턴스를 생성하기 위해 필요한 구성 메소드(Constructor Method)의 파라미터 정보와 다른 클래스의 메소드를 호출하기 위해 필요한 파라미터 정보도 추출하는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 방법.
  16. 제 7항에 있어서, EJB 컴포넌트 생성단계는
    EJB 스펙에 맞춰 템플릿 파일(Template File)을 만든 후 템플릿의 비어 있는 코드 부분을 비즈니스 로직 추출 정보와 입력받은 소스 코드를 이용하여 완성하는 것을 특징으로 하는 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터 EJB 컴포넌트를 생성하는 방법.
KR10-2002-0074396A 2002-11-27 2002-11-27 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터이제이비 컴포넌트를 생성하는 시스템 및 방법 KR100501410B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2002-0074396A KR100501410B1 (ko) 2002-11-27 2002-11-27 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터이제이비 컴포넌트를 생성하는 시스템 및 방법
US10/359,581 US6847981B2 (en) 2002-11-27 2003-02-07 System and method for generating EJB components from reusable business logics in servlet program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0074396A KR100501410B1 (ko) 2002-11-27 2002-11-27 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터이제이비 컴포넌트를 생성하는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20040046463A KR20040046463A (ko) 2004-06-05
KR100501410B1 true KR100501410B1 (ko) 2005-07-18

Family

ID=32322348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0074396A KR100501410B1 (ko) 2002-11-27 2002-11-27 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터이제이비 컴포넌트를 생성하는 시스템 및 방법

Country Status (2)

Country Link
US (1) US6847981B2 (ko)
KR (1) KR100501410B1 (ko)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001061596A1 (en) 2000-02-16 2001-08-23 Bea Systems, Inc. Conversation management system for enterprise wide electronic collaboration
US7552222B2 (en) 2001-10-18 2009-06-23 Bea Systems, Inc. Single system user identity
US7152204B2 (en) 2001-10-18 2006-12-19 Bea Systems, Inc. System and method utilizing an interface component to query a document
US7516447B2 (en) 2002-02-22 2009-04-07 Bea Systems, Inc. Methods and apparatus for building, customizing and using software abstractions of external entities
US7519976B2 (en) 2002-05-01 2009-04-14 Bea Systems, Inc. Collaborative business plug-in framework
US8135772B2 (en) 2002-05-01 2012-03-13 Oracle International Corporation Single servlets for B2B message routing
US7526519B2 (en) * 2002-05-01 2009-04-28 Bea Systems, Inc. High availability application view deployment
US7257645B2 (en) * 2002-05-01 2007-08-14 Bea Systems, Inc. System and method for storing large messages
US7484224B2 (en) 2002-05-02 2009-01-27 Bae Systems, Inc. Adapter deployment without recycle
US7222148B2 (en) 2002-05-02 2007-05-22 Bea Systems, Inc. System and method for providing highly available processing of asynchronous service requests
US7627631B2 (en) * 2002-05-02 2009-12-01 Bea Systems, Inc. Systems and methods for collaborative business plug-ins
US7493628B2 (en) 2002-05-02 2009-02-17 Bea Systems, Inc. Shared common connection factory
US7350184B2 (en) 2002-05-02 2008-03-25 Bea Systems, Inc. System and method for enterprise application interactions
US7676538B2 (en) 2002-05-02 2010-03-09 Bea Systems, Inc. Systems and methods for application view transactions
US7707544B2 (en) * 2002-12-05 2010-04-27 Bea Systems, Inc. System and method for generating and reusing software application code with source definition files
US7774697B2 (en) 2003-02-25 2010-08-10 Bea Systems, Inc. System and method for structuring distributed applications
US7584474B2 (en) 2003-02-25 2009-09-01 Bea Systems, Inc. Systems and methods for transaction chaining
US7752599B2 (en) 2003-02-25 2010-07-06 Bea Systems Inc. Systems and methods extending an existing programming language with constructs
US7293038B2 (en) 2003-02-25 2007-11-06 Bea Systems, Inc. Systems and methods for client-side filtering of subscribed messages
US7650276B2 (en) 2003-02-26 2010-01-19 Bea Systems, Inc. System and method for dynamic data binding in distributed applications
US7076772B2 (en) * 2003-02-26 2006-07-11 Bea Systems, Inc. System and method for multi-language extensible compiler framework
US20040230955A1 (en) * 2003-02-26 2004-11-18 Bea Systems, Inc. System for multi-language debugging
US7299454B2 (en) * 2003-02-26 2007-11-20 Bea Systems, Inc. Method for multi-language debugging
US7707564B2 (en) 2003-02-26 2010-04-27 Bea Systems, Inc. Systems and methods for creating network-based software services using source code annotations
US8032860B2 (en) * 2003-02-26 2011-10-04 Oracle International Corporation Methods for type-independent source code editing
US7539985B2 (en) * 2003-02-26 2009-05-26 Bea Systems, Inc. Systems and methods for dynamic component versioning
US20050108682A1 (en) * 2003-02-26 2005-05-19 Bea Systems, Inc. Systems for type-independent source code editing
US7636722B2 (en) 2003-02-28 2009-12-22 Bea Systems, Inc. System and method for describing application extensions in XML
US7290250B2 (en) * 2003-02-28 2007-10-30 Bea Systems, Inc. System and method for determining when an EJB compiler needs to be executed
US7444620B2 (en) 2003-02-28 2008-10-28 Bea Systems, Inc. Systems and methods for a common runtime container framework
US7650592B2 (en) 2003-03-01 2010-01-19 Bea Systems, Inc. Systems and methods for multi-view debugging environment
US7991788B2 (en) * 2003-03-27 2011-08-02 International Business Machines Corporation Abstract data model filters
JP4097263B2 (ja) * 2003-06-11 2008-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブアプリケーションモデル生成装置、ウェブアプリケーション生成支援方法及びプログラム
US20040254916A1 (en) * 2003-06-12 2004-12-16 International Business Machines Corporation Data query schema based on conceptual context
US20050144226A1 (en) * 2003-11-10 2005-06-30 Churchill Software Services Systems and methods for modeling and generating reusable application component frameworks, and automated assembly of service-oriented applications from existing applications
US8799901B2 (en) * 2004-05-20 2014-08-05 Hewlett-Packard Development Company, L.P. Establishing new service as conversation by replacing variables in generic service in an order with variables from a decoupled method of legacy service
US20050273709A1 (en) * 2004-06-04 2005-12-08 Ira Lough System and method for conversion of legacy language conforming data entries to industry-standard language conforming data entries
JP2006277430A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd ビジネスシステム開発支援方法及びシステム
US9269117B2 (en) 2005-05-10 2016-02-23 Mckesson Technologies Inc. Enterprise management system
CN101388089A (zh) * 2005-08-09 2009-03-18 金蝶软件(中国)有限公司 一种工作流中业务逻辑处理的方法和装置
US7702770B1 (en) * 2006-01-27 2010-04-20 Sprint Communications Company L.P. Web services enterprise integration with service oriented architecture
KR100791303B1 (ko) * 2006-08-22 2008-01-04 삼성전자주식회사 빌드 단위의 컴포넌트 생성 장치 및 방법
US8019781B2 (en) * 2007-02-15 2011-09-13 Microsoft Corporation Host context framework
US20080215405A1 (en) * 2007-03-01 2008-09-04 Microsoft Corporation Component based applications running in a common shell
US8010941B2 (en) * 2007-05-07 2011-08-30 International Business Machines Corporation Method and system for dynamically generating enterprise java beans during installation of a service component architecture application
CN101311903B (zh) * 2007-05-22 2011-05-18 国际商业机器公司 对基于组件的软件***中的组件进行重用的方法和装置
KR100755468B1 (ko) * 2007-05-29 2007-09-04 (주)이즈포유 웹 페이지 구조 분석을 통한 웹 사이트의 정보 파악 방법
US8499284B2 (en) * 2008-09-11 2013-07-30 Microsoft Corporation Visualizing relationships among components using grouping information
US9015665B2 (en) * 2008-11-11 2015-04-21 International Business Machines Corporation Generating functional artifacts from low level design diagrams
US8359592B2 (en) * 2009-03-19 2013-01-22 Microsoft Corporation Identifying groups and subgroups
EP2417543A4 (en) * 2009-04-10 2012-10-31 Vision Genesis Inc SOFTWARE DATABASE SYSTEM AND METHOD FOR ITS CONSTRUCTION AND OPERATION
CA2716770C (en) 2010-10-06 2012-03-13 Ibm Canada Limited - Ibm Canada Limitee Application services source refactoring
US20120227027A1 (en) * 2011-03-03 2012-09-06 Naoufel Boulila Method, apparatus and computer program product for generating system specifications
CN103019807B (zh) 2011-09-27 2015-06-24 国际商业机器公司 用于提取soa***组件交互规则的方法和***
US20130227382A1 (en) * 2012-02-29 2013-08-29 Naoufel Boulila Method and system for extracting requirements from narratives
US9311062B2 (en) * 2013-10-31 2016-04-12 International Business Machines Corporation Consolidating and reusing portal information
US9940581B2 (en) 2013-11-20 2018-04-10 International Business Machines Corporation Ontology-aided business rule extraction using machine learning
CN103713902B (zh) * 2013-12-26 2017-10-24 Tcl集团股份有限公司 一种基于Android***的BOA编译方法和***
US9678723B2 (en) * 2014-08-20 2017-06-13 Verizon Patent And Licensing Inc. Application programming interface (API) engine
CN105700860B (zh) 2014-11-27 2019-11-12 国际商业机器公司 用于生成产品模型的方法和装置
US10075535B2 (en) 2015-09-25 2018-09-11 International Business Machines Corporation Business logic sharing
US10831638B2 (en) 2018-08-21 2020-11-10 International Business Machines Corporation Automated analytics for improving reuse of application solutions
CN110069253A (zh) * 2019-03-21 2019-07-30 平安普惠企业管理有限公司 配置服务的方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155714A (ja) * 1998-11-18 2000-06-06 Nec Corp アプリケーション開発支援方法および開発支援システム
KR20010096864A (ko) * 2000-04-15 2001-11-08 박병형 기존 시스템을 인터넷 비즈니스화 하는 서비스의 제공방법
JP2001344105A (ja) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体
US20020120649A1 (en) * 2001-02-23 2002-08-29 Goward Philip J. Embedding a description of a component-behavior model within a server page

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960200A (en) * 1996-05-03 1999-09-28 I-Cube System to transition an enterprise to a distributed infrastructure
US6389588B1 (en) * 1999-02-04 2002-05-14 Relativity Technologies Method and system of business rule extraction from existing applications for integration into new applications
KR100370748B1 (ko) 2000-04-15 2003-02-05 주식회사 케미스 기존 시스템을 웹에서 사용 가능한 시스템으로 전환하는방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155714A (ja) * 1998-11-18 2000-06-06 Nec Corp アプリケーション開発支援方法および開発支援システム
JP2001344105A (ja) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体
KR20010096864A (ko) * 2000-04-15 2001-11-08 박병형 기존 시스템을 인터넷 비즈니스화 하는 서비스의 제공방법
US20020120649A1 (en) * 2001-02-23 2002-08-29 Goward Philip J. Embedding a description of a component-behavior model within a server page

Also Published As

Publication number Publication date
KR20040046463A (ko) 2004-06-05
US6847981B2 (en) 2005-01-25
US20040103389A1 (en) 2004-05-27

Similar Documents

Publication Publication Date Title
KR100501410B1 (ko) 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터이제이비 컴포넌트를 생성하는 시스템 및 방법
US8745584B2 (en) Dependency injection by static code generation
CA2908130C (en) Method for transforming first code instructions in a first programming language into second code instructions in a second programming language
CN108388445B (zh) 一种基于“平台+应用”模式的持续集成方法
US6523171B1 (en) Enhanced source code translator from procedural programming language (PPL) to an object oriented programming language (OOPL)
CN106843840B (zh) 一种基于相似度分析的源代码版本演化注释复用方法
US20070006134A1 (en) Data processing method compatible with an object modeling formalism
CN101185116A (zh) 在软件程序中使用强数据类型表示语音识别语法
US20080256509A1 (en) Pattern-based programming system for automatic code generation
Trias et al. Migrating traditional web applications to CMS-based web applications
El-khoury Lyo code generator: A model-based code generator for the development of oslc-compliant tool interfaces
CN109710218A (zh) 一种对象自动转换方法及终端
Martinez et al. Migrating c/c++ software to mobile platforms in the adm context
Xu et al. Web-service-oriented customer relationship management system evolution
Merah et al. Design of ATL rules for transforming UML 2 sequence diagrams into petri nets
Trias et al. Reverse engineering applied to CMS-based Web applications coded in PHP: A proposal of migration
Sabraoui et al. Metamodel extension approach applied to the model-driven development of mobile applications
Vadakkumcheril et al. A simple implementation of uml sequence diagram to Java code generation through XMI representation
Kerdoudi et al. A bottom-up approach for reconstructing software architecture product lines
Vidács et al. Opening Up The C/C++ Preprocessor Black Box.
Elotmani et al. The Reverse Engineering of a Web Application Struts Based in the ADM Approach.
Lee et al. The design and implementation of Enterprise JavaBean (EJB) wrapper for legacy system
Rathod Easy Software Development By Automatic Code Generation, Business Logic And Validation Engine Insertion.
McRitchie et al. Managing component variability within embedded software product lines via transformational code generation
Muhammad et al. Automatic model translation to UML from software product lines model using UML profile

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: 20080701

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee