이런 개발이 가능한지요?

guntoo의 이미지

안녕하세요....
다음과 같이 개발을 할려고 합니다.

client(윈도우 어플리케이션) -- middle ware(윈도우) -- mysql server

이와 같이

client 에서 mysql 서버로 쿼리를 날리는데 middle를 거처서 할려고 합니다.

결과 값들이 client -- mysql server와 같이 동일하게 주고 받고 싶습니다.

이때 middle ware가 중요할것 같은데 이에 따른 툴이 있는지?
또는 이런 툴이 없다면 mysql protocol을 따로 분석해서 처리해 주면 되는것인지 모르겠네요.

client(윈도우 어플리케이션) -- middle ware(윈도우) -- mysql server <== 일반적으로 이렇게 되면 client에서는 1이나 2 .. 이런값들을 받게 되는데..

middle ware 있으면서 결과 값은 없는것처럼 odbc를 바로 사용하는것 처럼 개발이 어떤 방향으로 되어야 하는지 궁금합니다.

익명 사용자의 이미지

이런 경우에는 미들웨어와 서버 사이에는 기존의 C/S환경으로 작성을 하고 미들웨어와 클라이언트 사이에 자체적인 형식으로 자료 전송이 이루어질 수 있도록 처리해 주는 것이 간단하게 할 수 있는 방법일 것입니다.

jongwooh의 이미지

guntoo wrote:
안녕하세요....
다음과 같이 개발을 할려고 합니다.

client(윈도우 어플리케이션) -- middle ware(윈도우) -- mysql server

이와 같이

client 에서 mysql 서버로 쿼리를 날리는데 middle를 거처서 할려고 합니다.

결과 값들이 client -- mysql server와 같이 동일하게 주고 받고 싶습니다.

이때 middle ware가 중요할것 같은데 이에 따른 툴이 있는지?
또는 이런 툴이 없다면 mysql protocol을 따로 분석해서 처리해 주면 되는것인지 모르겠네요.

client(윈도우 어플리케이션) -- middle ware(윈도우) -- mysql server <== 일반적으로 이렇게 되면 client에서는 1이나 2 .. 이런값들을 받게 되는데..

middle ware 있으면서 결과 값은 없는것처럼 odbc를 바로 사용하는것 처럼 개발이 어떤 방향으로 되어야 하는지 궁금합니다.

질문이 잘 이해가 안 가는데, 여기서 미들웨어가 존재해야 할 이유가 무엇인지부터 설명해 주시지 않으시렵니까? 보통 수십개 정도의 클라이언트만 접근하는 어플리케이션이라면 그냥 클라이언트에서 mysql 서버로 obdc 연결하면 될텐데요.

미들웨어가 해주는 일이 '어떤' 일인지에 따라서 어떤 방식의 미들웨어를 써야 하는지가 결정됩니다. 경우에 따라서는 HTTP로 받아서 데이터베이스와 연결시켜주는 웹 서버를 미들웨어라고 부를 수도 있습니다.

즉, 만약 웹서버를 브라우저 서비스는 하지 않고 SOAP서비스만 탑재해서 쓴다면 아키텍처상으로 웹서버가 미들웨어가 되버립니다.

미들웨어란건 대단히 폭이 넓은 개념이니까, 먼저 클라이언트가 미들웨어로부터 받아야 할 서비스와 미들웨어가 데이터베이스 서버로부터 받아야 할 서비스를 제대로 정의하고 설명해주십시요.

you must know the power of dark side.

guntoo의 이미지

1차 인증일 할려고 그러거든요.
인증이 끝나면 미들웨어를 거처 통신할 수 있도록 하고싶어서 말입니다.

preisner의 이미지

guntoo님 죄송합니다만,
무슨 질문을 하시려는 건지 이해가 안되네요.

미들웨어가 있는 데 없는 것처럼 하고 싶으시면
다시말해 미들웨어가 브릿지 처럼 동작하게 하고 싶으신 거면
미들웨어가 쿼리를 받아 mysql 서버로 전달 해 주면 되겠네요.
odbc는 미들웨어 로 잡아 주면 되겠고,
중간에서 처리할 부분은 미들웨어가 처리 하면 되겠구요.

이런식으로 질문을 올리시면 답변 달아 주실 분이 안 계실 겁니다.

rapzzard의 이미지

guntoo wrote:
1차 인증일 할려고 그러거든요.
인증이 끝나면 미들웨어를 거처 통신할 수 있도록 하고싶어서 말입니다.

음..유저가 곧바로 DBMS에 접근하여 데이터를 조작하는 것에 대해서 막으시기 위해서 미들웨어를 필요하시는건가요?
그런거라면 BCB나 Delphi에서 제공하던 MIDAS같은 미들웨어 솔루션이 해결방법이 아닐까 생각합니다..
아니면 굳이 Client와 M/W간에 꼭 실 Server에서 사용하는 프로토콜을 사용할 필요가 없다면 SOAP이나 RPC를 Client와 M/W간에 제공하고 이를 바탕으로 M/W에서 실서버와 연결해서 쓰는건 어떨까 생각합니다..거의 대부분의 개발환경에서 현재 XML-RPC나 SOAP인터페이스를 제공하구 있구요..
guntoo의 이미지

질문이 조잡하긴 하네요.

미들웨어는 약간의 1차 인증 부분이고 인증이 완료되면
mysql 리턴 값들을 그대로 client 로 전달하는건데요.

이게 글로 하면 어렵네요.

jongwooh의 이미지

인증이 필요한 것이면 클라이언트가 인증은 인증서버 연결하여 받도록 하고, 인증이 성공적으로 되면 다음에 바로 데이터베이스 서버와 통신하도록 짜면 됩니다. 그게 훨씬 좋은 구조입니다.

분산시켜주는 것도 아니고, 페일오버를 시켜주는 것도 아니라면, 인증서버가 중간에 앉아서 데이터베이스 질의하고 리턴을 반복해 줄 필요가 뭐가 있는건지 모르겠습니다.

you must know the power of dark side.

guntoo의 이미지

디비를 전부 열어야 한다는 문제점 때문입니다.

윈도우는 midas(델파이)로 될것 같고 linux 는 어떻게 해줘야 할지 도통 아이디어가 떠오르지 않네요...ㅎㅎ

우수한의 이미지

혹시 http://sqlrelay.sourceforge.net/ 처럼
일종의 DB pool을 두려는건가요?

우수하지 않아요. '우수한'은 옛날 만화 CityHunter에서 따와서 쓰던 별명. ;-)

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.