EJB vs. .NET (소모적인 전쟁이라고 하지 마시구요)

naisr00t의 이미지

너무 소모적인 전쟁이 아니면 하는 생각에 토론할 주제를 달아 봅니다.

혹자는 닷넷전략이 JAVA의 EJB를 못 따라간다고 한다고 해요.
그런데 아는 형님은 마소 찬양자(?)는 아니지만 마소 VC 툴로 10년차 개발자 입니다. 흔히 말하는 고수죠.

그런데 제가 어디 플랫폼에 미래를 보고 개발자의 길을 가겠냐고 했었죠. 물론 제가 나이가 어린것도 아니며 3년차 개발인데, 그냥 고수에게 뭐 듣고 싶은 그런 것들 있잖아요? ^^

그랬더니, C#을 하는 닷넷을 공부하라고 하더군요.
대세는 아니지만 5년정도 공부해야 한다고 하더라구요. 그리고 5년후면 다르다고 대략 난감모드 제가 30살입니다.

마소의 제프리(C++ 개발자이며, 유명한 책들도 많이 냈죠!)도 c#으로 완전히 전환 중이다고 하면서... 설명해주시는데..
거참.. 반론을 제기 못 하겠더라구요.

제가 궁금한 것은
[1] 자바의 EJB가 과연 닷넷을 밀어 낼 것인가?

[2] 그 시기 언제적일까?

[3] 과연 어느 플랫폼을 읽히면 도움이 될까? (이것은 후배에게 제가 도움을 주고 싶어서)

추신: 글을 쓰다보니 대략 어린애처럼 글을 써버렸네요.

jedi의 이미지

잘 모르지만 제가보기에 위의 글에 답을 생각하는 것과 "내가 산 주식이 오를까?"를 생각하는 것이 같아보입니다.

미래는 정해진 것이 아니라 변하는 거죠.직접 원하는 세상을 만드세요!

+++ 여기부터는 서명입니다. +++
국가 기구의 존속을 위한 최소한의 세금만을 내고, 전체 인민들이 균등한 삶을
영위할 수 있는 착취가 없는 혁명의 그날은 언제나 올 것인가!
-- 조정래, <태백산맥> 중에서, 1986년

hey의 이미지

"미래를 예측하는 가장 좋은 방법은 미래를 직접 만드는 것이다"라고 앨런 케이가 말했다네요.

제 생각에는 MS의 구루 개발자가 C#으로 전환한다는 사실은 C#이 그만큼 대단하다, 는 가정의 근거는 될 수 없는 것 같습니다. 그만큼 MS가 C#에 목숨을 걸고 있다는 근거는 될 수 있을지라도요. MS의 구루 개발자니까 MS의 차세대 플랫폼을 사용하겠죠.. 아무리 자바가 좋아도 자바를 할까요? ..


----------------------------
May the F/OSS be with you..


NN의 이미지

이런 질문에 대한 올바른 대답이라면...

"직접 그 분야와 관련된 사람이 아니라면 그런 논쟁은 무의미하다"
라는 정도가 되겠네요.

미래에.. 두발달린 로봇이 더 우세할것이냐..아니면
세발달린 로봇이 더 우세할것이냐.. 이런식의 논쟁 비슷한건데..
윗분들이 말씀하셨듯이 이런 논쟁을 할 시간에 차라리 관련분야를
더 깊숙히 공부해서 미래를 직접 만들어가심이 좋을듯 합니다.

그리고 어느정도 경지에 오르면.. 어느 플랫폼이든
적응하는데 별 어려움이 없습니다.

초짜들이나 이 도구가 더 좋을까..저 도구가 더 좋을까...
이런식의 고민과 논쟁을 하는거죠.

뿌레리의 이미지

NN wrote:
그리고 어느정도 경지에 오르면.. 어느 플랫폼이든
적응하는데 별 어려움이 없습니다.

정답입니다.

필요한 툴이나 플랫폼등은 필요할 때 배워서 쓰면됩니다.
기초가 튼튼하다면 별거 아닙니다.

creativeidler의 이미지

그 바닥에 한 때 깊이 들어갔던 사람으로써 한 마디 해보자면..

일단 EJB는 J2EE 기술 중 일부에 불과하며 전체 J2EE에 비해 점점 사용율이 떨어지고 있는 기술입니다. 요즘은 웹서비스가 대세죠. 비교를 한다면 J2EE vs 닷넷이 적절할 것 같습니다. 이 점을 전제하고 본다면..

Quote:
[1] 자바의 EJB가 과연 닷넷을 밀어 낼 것인가?

이건 질문이 부적절합니다. 현재 마켓 리더는 닷넷이 아니라 J2EE입니다. 따라서 질문은 "과연 이번에도 후발주자인 MS가 닷넷으로 J2EE를 물리칠 것인가?"가 적절할 것입니다. 이 질문에 대한 답은 "가능성은 분명히 있지만 쉽진 않을 것이다."입니다. 분명 닷넷은 성장하고 있고 J2EE는 성장세가 둔화되고 있습니다. 기술적으로는 닷넷이 자바의 어깨 위에서 시작한 것이기 때문에 앞서는 부분도 많습니다.

Quote:

[2] 그 시기 언제적일까?

수정된 1번 질문에 이은 질문으로 본다면 그 시기는 향후 5년이 고비일 것 같습니다. 5년 후에는 엔터프라이즈 시장에서의 마켓 쉐어는 비슷해질 가능성이 있습니다. 비슷하지는 않더라도 상당히 많이 따라잡을 것입니다. 그러나 앞지르는 것은 어려워 보입니다. 데스크탑 애플리케이션에서는 물론 닷넷이 자바를 앞지르겠지만 아직까진 델파이나 기존 C++을 많이 밀어내진 못하는 것 같습니다.

Quote:
[3] 과연 어느 플랫폼을 읽히면 도움이 될까? (이것은 후배에게 제가 도움을 주고 싶어서)

닷넷을 배우든 자바를 배우든 둘 중 하나를 배우면 서로 비슷하기 때문에 다른 걸 배우기가 아주 쉬워집니다. 그러므로 뭘 배우든 상관 없다고 해야겠으나, 현재 일자리를 생각해본다면 C/C++, 자바가 가장 일자리가 많습니다. 고로 교집합인 자바를 일단 배워두면 손해는 안 본다고 말할 수 있겠습니다.

그렇지만 어쨋든 장기적으로 자바의 위세는 점차 줄어들 것입니다. 하지만 그것은 닷넷의 추격 때문에 아니라 파이썬/루비/PHP의 성장 때문일 것입니다. 이제 한 언어만 알아서는 살아남기 어렵고 또 좋은 프로그래머가 되기도 어렵습니다. 주류 언어를 먼저 배우고 1년에 한둘씩 새로운 언어를 배워 나가면 괜찮을 것 같습니다. 혹은 코볼 배워서 그걸로 먹고 살거나-_-

galien의 이미지

creativeidler wrote:
이제 한 언어만 알아서는 살아남기 어렵고 또 좋은 프로그래머가 되기도 어렵습니다. 주류 언어를 먼저 배우고 1년에 한둘씩 새로운 언어를 배워 나가면 괜찮을 것 같습니다. 혹은 코볼 배워서 그걸로 먹고 살거나-_-

대세는 코볼이란 말인가 orz =3

과연 루비나 파이썬, php등의 언어가 기업환경에서 얼마나 받아들여질까요?
웹서비스 외에도 사람들이 선뜻 사용하려고 할까요?

파이선을 좋아하는 사람으로써 궁금하네요.

현재 회사에서 웹서비스 외에 위의 언어들을 사용하는 용례가 있으면 좀 알고 싶습니다.

제가 아는 온라인 게임회사에서 파이선을 사용하는 것과 이전에 kldp에서 본 글 중에
덩젼파이터인가 뭐시긴가 하는 게임에 파이선이 사용되었다는 걸 읽은 기억이 있습니다만..

아.. 이건 off the topic인가요?

xinick의 이미지

별로 능력은 되지는 않지만, 몇자 적어 봅니다.

영국에서는 꽤나 파이썬을 많이 사용합니다. 상업적인 측면에서 보면, 금융권에서도 전산 관리 용도 및 처리로 사용 하기도 하며, 몇몇 제품에도 사용을 합니다.(C로 감추어서 많이 사용 합니다...)

루비는 잘은 모르겠지만, 유럽쪽에서는 꽤나 파이썬으로 사용하는 회사들이 많습니다. 조프나, PSP를 사용하여 사이트를 제작 하기도 합니다...학교에서는 별 특별한 일이 없으면(?) C언어와 파이썬으로 거의 대부분의 수업을 합니다.

여튼 횡설수설이었지만...영국에서 꽤나 가격이 나가는 언어중 하나 입니다...

P.S: 역시 이 글도 위의 본글하고는 전혀 상관이 없군요.. :oops:

xinick to slash
재일 풀기 어려운 가닥은 바로 내 마음이다.

pool007의 이미지

naisr00t wrote:
[1] 자바의 EJB가 과연 닷넷을 밀어 낼 것인가?

한쪽이 한쪽을 완전히 밀어내는건 불가능합니다.
IBM, SUN, ORACLE이 한편먹고 MS혼자 개인플레이하는데 저 3개 회사가 만만하게 그냥 싹쓸이 되는 회사가 아니니까요..

역설적이지만, .NET이 그런식으로 J2EE를 완전히 밀어내는 확률과 구글이 구글 OS를 만들어 .NET을 망하게 하는 확률과 비슷하지 않을까요? ㅋㅋ

Quote:
[2] 그 시기 언제적일까?

2002년 가트너에서 내놓은 자료입니다.
http://javaservice.net/~java/bbs/data/discussion/1036675662+/epa.jpg

2005년 자료는 돌아다니는게 없군요..

어떤 분들은 다른 언어 - 예를들어 PHP - 등으로 인해 자바가 위협받는다고 말씀하시지만, 만약 얘기를 EJB로 확장시키면 상황이 달라집니다... 루비, 파이썬, PHP에서 검증된 미들웨어 - TP 모니터 말하는 것입니다 - 란 없죠. 그게 아니라도 persistency layer 같은것들은 있나요. 물론 php저도 합니다.. 아르바이트도 하고 등등. 하지만 개발이 쉽다는 것과 뭔가 엔터프라이즈에 필요한 다양한 기능이 있다라는것과는 쪼금은 다른얘기 같습니다.

Quote:
[3] 과연 어느 플랫폼을 읽히면 도움이 될까? (이것은 후배에게 제가 도움을 주고 싶어서)

일단 어느쪽을 익혀도 다른 한쪽을 익히는데는 도움이 되는게 확실합니다. 예를들어, 자바와 EJB가 익숙한 사용자가 .NET으로 Enterprise Services를 배우는데 있어서는 매우 짧은시간 (1달 이내)이 듭니다. 물론, 깊이 들어가는데는 한 기술만 판 사람이 유리하겠지만 당장 써먹는 것은 비슷합니다.

그러나 만약, 저보고 추천하라고 한다면 VC++ 등을 잘안다면 (물론 ATI, COM, COM+ 등을 다 해봣다면) .NET을 해도 잘할 것입니다. 하지만 그런 경험이 없으면 .NET 만으로 하다보면 분명 한계에 부딪칩니다. 결국에는 MS의 하부 API로 내려가야하는데 이때부터 어려워지실겁니다.

반면 자바는 자바만으로 모든 삽질을 하려는 경향이 있어서 이런 또다른 장벽은 없습니다. 다만 기술혁신 면에서는 사실 별로 크게 재미는 없죠. EJB의 새버젼 스펙등을 보다보면 요즘엔 MS에 대한 me too 가 왜그리 많은지..

--
Passion is like genius; a miracle.

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

루비에는 persistence layer 있습니다.

파이썬에서는 ZODB가 그것에 해당하는 것 같군요.
PHP에도 많이 있는 것 같습니다. (http://www.wiki.cc/php/Object_Relational_Mapping)[/]
creativeidler의 이미지

파이썬 같은 경우는 이미 엔터프라이즈 시장에서 꽤나 검증되었다고 볼 수 있죠. 많은 파이선 상용 IDE의 존재가 그걸 반증해주고 있습니다. 하지만 불행히도 우리나라의 얘기는 아닙니다.

루비는 최근 들어 Ruby on Rails가 미국에서 대규모 SI에 시도되고 있다는 소식이 들리더군요. 아직은 지켜봐야할 듯.

퍼시스턴스 레이어란 것이 하는 역할이란 건 결국 DB 접근을 얼마나 더 효율적으로 편리하게 할 수 있느냐일 뿐입니다. 이런 의미의 퍼시스턴트 레이어는 어느 언어나 존재합니다. 미들웨어랑은 조금 다른 이야기죠.

그리고 사실 지금은 미들웨어라는 용어가 의미가 많이 바뀌었습니다. 예전엔 TP 모니터 같은 걸 두고 미들웨어라고 했지만 요즘은 자바에서도 미들웨어 자체의 존재에 회의적인 시각이 많아졌고 그래서 단순히 WAS를 두고 미들웨어라고 부르는 경우가 많아졌죠. TP 모니터 같은 미들웨어의 존재도 결국 퍼시스턴트 레이어를 얼마나 더 세련되게 해줄 수 있느냐의 문제일 뿐이고 꼭 미들웨어가 존재해야하는 것은 아닙니다. 최근 공공기관 대형 SI 프로젝트에는 미들웨어가 많이 안 쓰이는 추세죠. 심지어 트랜잭션이 중요한 금융권에서도 미들웨어 없는 프로젝트가 많습니다. 어쨋든 점점 가볍게, 쉽게가 현재 추세인 듯 합니다. SI란 게 인력과 시간 싸움이다보니 쉬운 게 점점 주목을 받는 것은 당연하겠죠.

sDH8988L의 이미지

creativeidler wrote:
파이썬 같은 경우는 이미 엔터프라이즈 시장에서 꽤나 검증되었다고 볼 수 있죠. 많은 파이선 상용 IDE의 존재가 그걸 반증해주고 있습니다. 하지만 불행히도 우리나라의 얘기는 아닙니다.

루비는 최근 들어 Ruby on Rails가 미국에서 대규모 SI에 시도되고 있다는 소식이 들리더군요. 아직은 지켜봐야할 듯.

퍼시스턴스 레이어란 것이 하는 역할이란 건 결국 DB 접근을 얼마나 더 효율적으로 편리하게 할 수 있느냐일 뿐입니다. 이런 의미의 퍼시스턴트 레이어는 어느 언어나 존재합니다. 미들웨어랑은 조금 다른 이야기죠.

그리고 사실 지금은 미들웨어라는 용어가 의미가 많이 바뀌었습니다. 예전엔 TP 모니터 같은 걸 두고 미들웨어라고 했지만 요즘은 자바에서도 미들웨어 자체의 존재에 회의적인 시각이 많아졌고 그래서 단순히 WAS를 두고 미들웨어라고 부르는 경우가 많아졌죠. TP 모니터 같은 미들웨어의 존재도 결국 퍼시스턴트 레이어를 얼마나 더 세련되게 해줄 수 있느냐의 문제일 뿐이고 꼭 미들웨어가 존재해야하는 것은 아닙니다. 최근 공공기관 대형 SI 프로젝트에는 미들웨어가 많이 안 쓰이는 추세죠. 심지어 트랜잭션이 중요한 금융권에서도 미들웨어 없는 프로젝트가 많습니다. 어쨋든 점점 가볍게, 쉽게가 현재 추세인 듯 합니다. SI란 게 인력과 시간 싸움이다보니 쉬운 게 점점 주목을 받는 것은 당연하겠죠.

흠...

미들웨어를 점점 안쓰는 분위기라기 보다는 미들웨어의 기능이 WAS에 점점 통합되는 분위기가 아닐까요? 그래서 예전에 단독으로 존재하던 TP Monitor의 쓰임새가 점점 설 자리를 잃는다는거...

creativeidler의 이미지

그렇게 볼 수 있는 측면도 있겠군요. EJB란 것도 분산 트랜잭션을 지원하기 위한 프레임웍이고 TP Monitor와 역할이 크게 차이난다고 하긴 어려우니까요. 어쨋든 같은 역할을 파이썬이나 루비에서도 지원하는 방법이 다양하게 존재하니까 미들웨어가 이들에게 장벽으로는 작용하지 않겠죠.

1day1의 이미지

'닷넷', 금융권 엔터프라이즈 시장 공세
http://www.etnews.co.kr/news/detail.html?id=200510270149

표면상 나타나지 않는 듯 보이는 닷넷 쪽에서도 열심히 무엇인가 하고 있군요.

F/OSS 가 함께하길..

rainmon의 이미지

1day1 wrote:
'닷넷', 금융권 엔터프라이즈 시장 공세
http://www.etnews.co.kr/news/detail.html?id=200510270149

표면상 나타나지 않는 듯 보이는 닷넷 쪽에서도 열심히 무엇인가 하고 있군요.


저도.. 열심히 닷넷하고 있습니다. -_-
금융권만이 아니라 일반기업에서도 요즘 ERP를 닷넷으로 구현하는 경우가 많더군요. 제 주위만 봐서 그런가.. 문제는 사람이 없습니다.
개발자 구하기 어려워서 닷넷으로 못하겠다는 소리 나올지경인데
역시 제 주위만 그런건지..
brianjungu의 이미지

그때가 .net이 EJB를 압도하는 때라고 생각이 됩니다.
메인프레인기반의 기존 legacy를 open으로 재구축하는
경우 국내금융기관들은 100% EJB를 사용하고 있습니다.
외국도 별반 차이 없구요.
( 고객단의 FEB들 말고, core banking을 예기하는 겁니다. )

.net은 아직까지 EJB에 비하면 택도 없습니다.