'java'에 해당되는 글 3건

  1. 2008/02/10 아이폰
  2. 2008/01/12 Java vs .Net, Open Source, SaaS (2)
  3. 2007/12/18 Java framework에 대해서 (2)



아이폰

잡소리 2008/02/10 09:16
iPhone으로 한국 사이트만(다음, 올블로그, 기타 등등) 보면, 특히 로그인 할때 Safari가 자주 돌아가시길래 왜 그런가 했더니 이런게 있었군.

Limitations

While it might be tempting to try and so some really fancy Ajax stuff with the iPhone there are some limitations. For example, there is a "dead man switch" on the JavaScript running inside the mobile version of Safari. If you try and do something in script that takes too long, Safari is going to (rightly so) assume you're dead, and quit the script. This is an essential feature that keeps the phone highly reactive so that even if some idiot decided to do a long-running synchronous process in JavaScript on the iPhone, the user can still answer an incoming call. Without this, phone functionality (or other functionality as well) could be impeded or outright prevented by bad web coding practices. This means that you also need to keep an eye on long-running background stuff too - you won't be able to do background polling for incoming data to simulate "push" to an iPhone application. Also, JavaScript timers shut off when the device goes into lock mode or when the user hits "home" to take focus away from Safari. This goes back to keeping in mind the workflow of an iPhone user - they do not want to be sitting looking at a screen for 15 minutes watching data refresh.

Java developer들이 Windows PC보다 Mac을 애호함에도 불구하고, Apple의 Java 지원이 미적미적한 이유중의 하나가 Apple mobile device에 별로 Java application을 올릴 생각이 없기 때문에 그런게 아닌가 싶다. Java mobile device가 20억대 깔렸대는데, 뽀대나는 application을 내세워서 일반적으로 UI가 좀 후줄그레한 Java mobile phone 시장을 잡수시겠다는 전략인가보다.

SUN은 Apple하고 Google에 앞, 뒤로 얻어맞고 쌍코피를 흘리는 형국인것 같다.

크리에이티브 커먼즈 라이선스
Creative Commons License

'잡소리' 카테고리의 다른 글

디지털 컨텐츠 산업 육성에 대한 단상  (4) 2008/02/18
한국 소프트웨어 진흥원 웹 사이트를 보고  (0) 2008/02/14
아이폰  (0) 2008/02/10
야후  (0) 2008/02/08
아직도 영어가지고 난리네  (11) 2008/02/03
영어 교육에 대한 단상  (2) 2008/01/27
Posted by nokarma
TAG apple, iPhone, java, Sun

트랙백 주소 :: http://nokarma.tistory.com/trackback/65

댓글을 달아 주세요

Microsoft가 IDC에 돈 대줘서 만든 리포트에서 용감하게도 .Net이 최근 몇 년간 북미 지역 기업용 미션크리티컬 어플리케이션 플랫폼 분야에서 Java를 앞질렀다고 주장했군요.

http://download.microsoft.com/download/e/b/b/ebb6ec6a-d362-4884-9e1c-3fa19837362d/2007_IDC_Mission_Critical_App_Platform_Adoption_Study.pdf


읽어보니 리포트 내용 자체에 헛점이 너무 많습니다.

첫째, IT provider 회사는 조사 대상에서 제외했군요. 여기가 자바밭인데 말이죠

둘째, 500개 회사에 설문을 했는데 한 회사에서 한명 응답한걸로 통계를 냈군요. 회사나 플랫폼 규모에 상관없이 말이죠. 예를 들어, IT직원 1000명/1조예산을 쓰는 자바 플랫폼 회사나 IT 직원 50명/50억 예산쓰는 .Net 플랫폼 회사나 동등한 한표로 계산해서 통계를 냈단 얘기입니다.

셋째, 응답자의 2/3가 자신이 현재 맡고 있는 어플리케이션이나 프로젝트가 미션크리티컬한게 아니라고 응답했군요. 미국같이 자기 전문분야가 세분화되어 있는 경우 회사내의 미션크리티컬한 시스템 사정을 모르고 그냥 대충 대답했을 가능성이 있는 사람들의 응답을 가지고 통계를 냈단 말입니다.

그래서 미국의 IT기술 트렌드를 선도하는 대형 기업의 웹사이트에가서 현재 오픈되어 있는 Java포지션과 .Net포지션을 조사해봤습니다. 마이크로소프트나 선, 아이비엠, 오라클같이 확실히 한쪽편에 있는 기업들 제외하구요. 애플같이 윈도우즈 플랫폼 쓸 일 없는 회사도 제외했습니다.

먼저, GM, 제너럴 모터스. 우리나라로 치면 현대자동차. 미국에서 IT로 돈을 가장 많이 쓰는 회사로 알려져 있습니다. 1년 IT 서브컨트랙트 예산이 3조원 정도입니다. 이 회사의 웹 사이트 채용부문을 검색해보면 현재 오픈되어 있는 Java:.Net 포지션의 갯수가 226:2 입니다.
대표적인 기술기업 HP가 Java(482):.Net(85), Cisco가 Java(174):.Net(36)입니다.
대표적인 인터넷 기술기업 구글이 Java(154):.Net(17), 야후 Java(61):.Net(4), 아마존 Java(280):.Net(6), 이베이 Java(43):.Net(6)입니다.
가장 덩치큰 은행 시티 뱅크 Java(103):.Net(27), 아이비엠 제외하고 가장 큰 축에 속하는 IT 컨설팅 회사 액센츄어 Java(147):.Net(39), 삼성그룹 격인 GE가 Java(167):.Net(85)입니다. 회사 사이트에 올라와 있는 포지션은 보통 거의 풀타임 정직원 포지션입니다.
지역별로 봤을때 실리컨밸리 지역 Java잡이 .Net잡의 세배이고 뉴욕 지역은 자바가 .Net잡의 두배입니다.
이걸보고 한국 마이크로소프트의 한 컨설턴트분은 자바 프로젝트를 하면 공수가 더 많이 들어간다고 해석할 수 있다는 아주 깜찍한 주장을 하시더군요. :)

현재 엔터프라이즈 IT기술의 트렌드는 SaaS와 SOA라고 말할수 있습니다. SOA는 이전의 DCE, CORBA등의 연장선상에 있는 별 특별할것 없는 분산 컴퓨팅 기술 트렌드라고 볼 수 있지만, SaaS는 좀 다르죠.
SaaS는 무엇을 의미하나 하면 일반 회사 전산실 개발자나 용역 개발자, 컨설턴트등의 B급 엔지니어들이 개발하던 일반회사 비즈니스 응용 소프트웨어 개발을 소프트웨어 개발 전문회사 핵심 엔지니어들이 하게된다는 뜻입니다.
B급 엔지니어들을 데리고 시스템을 개발하려면 생산성을 높이기 위해 개발툴, 미들웨어등 소프트웨어 인프라스트럭쳐를 돈으로 발라야 되는 반면, 핵심 소프트웨어 엔지니어들은 Emacs같은 것만 가지고도 자바 미들웨어, 소프트웨어 인프라스트럭쳐들을 자기들이 뚝딱뚝딱 금방 개발해 냅니다. 마이크로소프트나 J2EE벤더들이 지원하는 툴보다는 소스가 오픈되어 있는 플랫폼을 더 선호하는 엔지니어들입니다.

예를 들면, 현재 시장 점유율 1, 2위를 달리는 제가 알고 있는 온라인 사진, 인화, 앨범 제작 서비스 회사의 경우 프로덕션 시스템 서버만 수 천대 됩니다. IBM, HP, 델 서버 가격 반도 안되는 가격에 대만에서 OEM PC 들여와서 그 위에 자기들이 만든 커스텀 리눅스 올리고, 자바 tomcat만 쓰고 그 뒤에 미들웨어, 인프라스트럭쳐 소프트웨어는 몽땅 자체 개발해서 씁니다. 데이타베이스만 오라클 쓰지요. OS부터 미들웨어, 개발툴에 이르기까지 라이센스, 메인터넌스, 서비스 비용 전혀 안 들어갑니다.

SaaS는 기업용 어플리케이션 소프트웨어가 위와 같은 스타일로 간다는 얘기입니다. 실제로 제가 아는 기업용 어플리케이션 소프트웨어 회사의 경우 SaaS식으로 바뀌기 전에는 WebLogic, WebSphere, TIBCO messaging middleware등과 같이 돌아가게 소프트웨어를 개발했었는데, SaaS식으로 비즈니스 모델을 바꾼후로는 Tomcat에 어플리케이션 서버 없이 자기네가 메시징 소프트웨어 개발해서 씁니다. 여기도 데이타베이스는 오라클 쓰는군요. 사실 프로그램보다 데이타 관리가 더 중요하다는 얘기입니다.

이 추세대로 가는 경우, 마이크로소프트가 소스코드를 거의 다 까지 않는 이상 Java 캠프와 다른 오픈 소스계열이 이 시장을 장악할 확률이 높다고 봅니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by nokarma

트랙백 주소 :: http://nokarma.tistory.com/trackback/50

댓글을 달아 주세요

  1. BlogIcon 푸른하늘 2008/01/14 08:34  댓글주소  수정/삭제  댓글쓰기

    어디나 통계의 헛점이 존재하지만, 이런 경우는 좀 심한 것 같네요...

구글 애드센스가 영문에 맞는 광고는 잘 가져오는지 테스트 하기 위해 한글 단어들을 영문으로 수정....

IT블로그를 살펴보면 Struts, Spring, Hibernate등으로 대표되는 Open Source Java framework을 사용하여 web program을 개발하는것에 대해 부정적으로 생각하는 개발자들이 많은것 같다. 사실 단순한 CRUD web program을 개발하는데 이런 framework을 사용하는건 오버킬이 맞다.
시스템의 규모가 일정 수준 이상 커지면 framework이 개발, 유지/보수 생산성에 도움이 된다고 말들을 하는데, 체험들을 못해봐서 별로 공감을 하지 못하는듯한 느낌이 든다.

그럼 도대체 얼마나 큰 시스템을 다루는 경우에 프레임웍의 혜택이 느껴질것인가? 사실 나도 명확히 선을 그어 말하기가 어렵다. 내가 만지고 있는 시스템의 경우 프레임웍이 도움이 된다는 정도는 말해줄수 있을뿐이다.

현재 내가 만지고 있는 시스템은 98년에 첫 버전이 개발되었으니 거의 10년 묵은 시스템이다. 테이블의 갯수는 4자리수이고 전체 class file의 갯수는 여섯 자리수에 근접한다. 연관되어 있는 엔지니어는 한 50~100명 사이일것 같다. component 갯수가 50개 정도 될 것 같다. 이런걸 framework 없이 개발자에게 맡겨놓으면  구현이 중구난방이 된다. 이런 규모의 시스템을 일관성있게 구현하기 위해서 framework은 필수 불가결하다.

그럼 어떤 framework을 쓰는가? Struts, Spring, Hibernate 하나도 안쓴다. 모든 framework은 내부에서 개발된 것이다. Gavin King이 Hibernate 프로젝트 시작도 하기전에 개발 완료된 OR engine을 쓰고, JSP 1.0이 구현이 되기도 전에 JSF나 Tapestry스타일의 component based UI framework을 개발해서 썼다. 사실 component based UI framework은 90년대 중반에 벌써 Nextstep이 WebObject란걸 만들어 썼는데, 이거 만들었던 사람이 와서 만든것이다. Apple 에서 web program램 만드는 사람은 아마 알 것이다.

이 framework를 써서 productivity가 어떻게 높아지는가 알아보자.
상품 catalog를 관리하기 위해 상품의 이름과 가격등을 입,출력,검색하는 UI가 필요하다.
상품 검색 UI는 주문을 입력하는 화면에서도 필요하고, 송장이나 지불을 처리하는 화면에서도 필요하고, 웹 사용자 카탈로그 검색 화면에도 필요하다.
이제 이 상품 class에 새로운 필드가 하나 추가되어야 한다고 예를 들어보자.
이 framework를 사용하면 상품 metadata file에 새로운 field하나 넣는걸로 일이 끝난다.
Database table column을 추가할 필요도 없고, 위에 나열한 screen들을 다 수정할 필요도 없다.
Metadata는 XML text file이므로 일반 version control system을 통해 언제 뭐가 바뀌었는지 알 수 있고 다시 이전 version으로 돌아갈수도 있다.

System을 serious하게 개발 유지하는 회사는 Open source framework을 가져와서 productivity가 높아지게 자기들이 직접 개선을 하거나 아니면 돈 주고 사거나 알아서 할 일이다.

Java web framework이 너무 많이 나온다고 불평들이 많은데 그건 당연한 거다. 주로 개발자 한명이 자기가 web application 시스템 만들어 보니까 틀을 이렇게 가져가면 편리하고 생산성도 높아지겠더라고 생각해서 쉬는 시간에 열심히 만들어서 그거 가지고 project 들어가서 consulting도 하고 돈도 좀 벌어보겠다고 내놓는 것이다.
나오는 framework마다 배우느라고 정신없다고 불평할게 아니라, 본인이 web application을 만들어보니까 이런식으로 틀을 만들어야 겠다는 아이디어를 가져야되고, 다른 넘이 이미 나하고 비슷한 생각을 가지고 만든게 있으면 그거 가져다가 개선하면 되는것이다.

그런 역량이 안되면 유명한거 찍어서 source code 보고 열심히 배우는 수밖에 없다.

만약 framework이 필요하지 않는 수준의 시스템이어서 framework을 사용하는게 시간도 더 걸리고 유지보수도 더 어렵다고 가정하더라도, 그걸 왜 파견나간 개발자가 걱정하나? 어차피 돈 받고 일하는데, 그 기간동안 하나라도 더 배우는 기회로 활용하면 되는것이다.
크리에이티브 커먼즈 라이선스
Creative Commons License

'잡소리' 카테고리의 다른 글

구글 신택스 하이라이터 테스트  (0) 2007/12/20
2007년 업무 끝  (0) 2007/12/19
Java framework에 대해서  (2) 2007/12/18
한국 블로그스피어 유감  (0) 2007/12/17
새로 나온책: Implementation Patterns  (0) 2007/12/16
페이퍼 아키텍트  (0) 2007/12/16
Posted by nokarma

트랙백 주소 :: http://nokarma.tistory.com/trackback/30

댓글을 달아 주세요

  1. BlogIcon 루인 2007/12/18 02:36  댓글주소  수정/삭제  댓글쓰기

    저도 얼마전에 관련글을 읽고 잠시 생각을 하게 되었던거 같습니다만, '겪어보지 못한 것에 대한 필요성을 느끼지 못한것이 아닌가..' 라고 결론을 짓고 말았던 기억이 있네요. :-)

    여담이지만, 저는 지금 모 금융기관의 차세대 시스템 개발을 하고 있는데, 소요기간이 2년정도 지난 시점이고 투입된 개발자 네자리수, 사용된 테이블 네자리수 입니다.
    이정도 시스템을 프레임워크의 도움 없이 전체적인 구조를 잡고 개발을 한다는것은 국내 개발 환경의 여건상 거의 자살행위가 아닐까요?

    마지막 문단의 말씀이 가장 와 닫는거 같네요. :-)

  2. nokarma 2007/12/18 05:31  댓글주소  수정/삭제  댓글쓰기

    그정도 규모 시스템이면 일개 웹 프레임웍을 넘어서서 어떤 형태든 플랫폼이 있어야하는게 당연합니다. 보통 UI, persistence, messaging, integration, workflow, rule engine, report engine, monitoring, log, alert, security, clustering, test harness등 비즈니스 어플리케이션코드가 필요로 하는 하부 소프트웨어를 통칭해서 플랫폼이라고 부릅니다.

    개발자 천명 이상 2년간 지속적으로 투입이라면 엄청난 물량입니다. 개발인력 투입양만으로 본다면 시벨, 피플소프트, 세일즈포스닷컴 같은 엔터프라이즈 어플리케이션 패키지 소프트웨어 몇개는 나올수 있는 투자수준 같습니다.

    대개 금융권 차세대 시스템이란 소리를 몇년마다 한번씩 듣는것 같은데 이런 주기적인 대규모 시스템 개발을 필요로 하는 요인이 무엇인지 궁금하더군요. 사업 환경이 정말 그렇게 몇년마다 변하는지, 아니면 단지 기술 변화때문에 그렇게 대공사를 하는지...