JSP 서비스와 ASP 서비스 통합 문제입니다...

ftwinkle의 이미지

현재 회사에서 컨텐츠 서비스를 하기 위해 프로젝트를 진행중입니다.

JSP로 진행 중인 프로젝트가 거의 80~90% 완료된 시점에서

회사에서 가지고 있는 다른 컨텐츠를 같이 포함해서 서비스 할수있도록 하라는 사장님의 오더가 내려왔습니다.

우선 2개에 대하여 간략한 설명을 드리겠습니다.
-----------------------------------------------------------------------------------------------------------------------
JSP 로 진행중인 프로젝트... 이하 A로 칭하겠습니다.
OS : Linux
WAS : Tomcat
DB : CUBRID
Framework : Spring, iBatis, Quartz, Lucene ...
Language : JSP(+JAVA)
Architecture Style : MVC
-----------------------------------------------------------------------------------------------------------------------
ASP로 만들어진 서비스... 이하 B로 칭하겠습니다.
OS : Windows
Web Server : IIS
DB : MS SQL
Framework : 이런게 있을리가...
Language : ASP(+VB)
Architecture Style: 이런게 있을리가... 그냥 초창기 웹개발바하던 뒤죽박죽 형태... 그나마 폴더는 나눠놨네요...
현상태 :
개발한지 10년 넘은 패키지 소프트웨어를 웹으로 서비스하기 위해 7~8년 전쯤에 ASP로 개발한거 같습니다.
당연히 문서는 제대로 되있을리가 없고, DB 테이블도 300개나 되네요 이중 200개 정도는 필요 없어 보입니다.
관리한 사람도 없던 패키지와 ASP입니다. 패키지 소프트웨어는 빌드에 실패... ASP는 정상적으로 돌리는데 성공했습니다.
거기다가 추가적인 문제는 핵심 로직부분이 패키지 소프트웨어에서 웹으로 옮기면서 DLL 파일로 되어 있습니다.
1. 패키지 소프트웨어로 개발(1990년대에 개발되었던듯... 개발은 Borland C++ 5.0 DB는 Pradox DB)
2. 위에 패키지 가반으로 ASP로 개발됨 (핵심로직부분을 DLL로 사용... DB는 MS-SQL)
3. 다행히 ASP 정상적으로 작동하게끔 포팅까지 하고 DB도 MS-SQL 에서 My-SQL로 변경하였습니다.
-----------------------------------------------------------------------------------------------------------------------

여기서 두 서비스를 통합하기 위한 방안으로는...
1. B 서비스 JSP로 재개발 : 프로젝트 새로 하나 추가되는 거기때문에 비용과 일정때문에 안됩니다...
2. 핵심 모듈인 DLL 부분만 JNI를 이용해서 개발 : DB 문제랑 DLL 쪽 추가적인 수정 소요가 더 필요할꺼 같아서 패스 했습니다...
3. ASP 자체를 Open API 형태로 개발 : A 시스템 쪽에서 B 시스템에 값을 GET 방식으로 넘겨주면 B 시스템에서 XML이나 JSON 형태로 리턴...
4. iFrame 형태 : 젤쉽긴 하지만 이건 이것저것 걸리는게 너무 많네요...

그래서 지금 3번 방법을 선택해서 진행중인데...
B에서 요청하면 A에서 결과를 XML로 만들어서 넘겨주면 B에서 이걸다시 파싱 후 페이지에 보여주는겁니다...
근데 이게 한두개면 상관이없는데... 몇십개 정도 되는 결과값을 다 XML 문서구조 만들어주고 파싱할려니 완전 노가다네요...
일단 1개 했는데 속도로 봐서... 1달 가까이 걸릴거 같습니다... XML 문서구조 만들고 파싱하는 작업만...ㅠㅠ

위 방법 말고 무언가 좋은 방법이 없을까요...

cleansugar의 이미지

linux에서 com 돌리는 꼼수를 본적이 있습니다.
http://j-interop.org/index.html

하지만 xml, json이 제일 바람직하고, 그밖에 표준입출력, RPC, IPC 등을 사용할 수 있고, REST도 괜찮습니다.

okjsp, taeyo 분들이 더 잘 아실듯합니다.

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

ftwinkle의 이미지

처음에 REST 형태로 해서... URI Path 형태로 구현하려다가
넘겨줘야 하는 값이 너무 많아서...
그냥 GET Parameter 형태로 했습니다...

XML과 JSON이 바람직하지만 너무 단순 노가다성 코딩이라...ㅠㅠ
뭔가 특별한 방법이 없을까해서 지금도 열심히 짱구 굴리는중입니다...
오늘 내일중으로 답안나오면 걍...
XML로 해야겠네요...

좋은 답변 감사드립니다...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.