Wednesday, 4 June 2008

김진명의 킹 메이커

[직격인터뷰]김진명 “2004 美대선 킹메이커는 저였어요”
2007 07/17 뉴스메이커 733호
이른 아침부터 굵은 장대비가 억수같이 내리꽂던 7월 4일. 소설가 김진명(50)을 만나기 위해 길을 나섰다. 그의 신작 ‘킹메이커’가 논란을 불러일으키고 있기 때문이다. ‘킹메이커’는 노무현 대통령이 친미 성향의 이명박을 대통령으로 만들려는 미국 CIA의 공작에 맞서 현재 미국연방구치소에 수감된 김경준을 연말 대선 직전 국내로 송환하려는 시도를 다루고 있다. 김경준은 이명박 후보의 연루의혹이 제기된 옵셔널벤처스코리아(BBK투자자문 후신) 주가조작사건의 주범이다. 이 소설이 범상치 않은 이유는 대선주자들의 실명을 거론하며 소문으로 돌고 있는 그들을 둘러싼 무성한 흉허물을 직접적으로 들먹이고 있기 때문이다. 뿐만 아니라 작가 자신은 2004년 미국 대통령 선거에서 부시가 당선되는 데 결정적 기여를 했다고 책 서두에서 주장하고 있다. 김진명은 “당시 케리에게 약 6%를 리드당하고 있던 부시에게 내가 북한 핵과 관련해 모종의 제안을 했고 부시는 즉각 승낙의 신호를 보내옴으로써 선거에서 이길 수 있었다”고 밝혔다(소설 속에서는 ‘킹메이커’로 등장하는 인물 앨런 차가 작가 자신을 투영한 것이라고 했다). 장대비를 뚫고 김진명이 있는 충북 제천까지 내려가는 동안 혼란스러웠던 이유다. 의구심은 3시간 가까이 진행한 인터뷰를 끝내고 서울로 돌아오는 길에도 사라지지 않았다. 그러나 김진명은 인터뷰 중 거듭 “I’m Sure”라며 자신의 말이 진실임을 확언했다. 그는 소설 ‘킹메이커’를 불과 보름 만에 완성했다고 말했다. - 책 서두에, 2004년 6월 부시에게 북한 핵을 평화적으로 해결할 수 있는 이미지를 부여하면 케리에게 뒤지고 있던 그가 역전할 것으로 보고 모종의 제안을 했고 그게 받아들여졌다고 주장했다. 어떤 선을 통해 부시에게 제안했다는 것인가.“아직 살아 있는 루트(경로)이기 때문에 공개하기 어렵다. 부시는 6월 25일 당시 미국 국무장관이었던 콜린 파월에게 ‘이념과 체제가 다르지만 우리는 북한과 세계평화를 위해 협조할 용의가 있다’는 성명을 발표하게 했다. 또 같은 날 안보보좌관 곤돌리사 라이스가 특별기 편으로 한국에 왔다. 곤돌리사는 당시 다른 나라를 들르지 않고 한국만 왔는데 특별한 방한 이유가 없었다. 그저 몇 시간 동안 한국에 머물다 간 게 다였다. 이게 내가 보낸 제안에 부시가 보내온 신호다. 당시 부시는 독선적이고 오만한 이미지 때문에 케리에게 뒤져 있었다. 또 이라크전쟁 후 전투기를 괌의 엔더슨 기지로 옮겨 평양을 폭격하는 훈련을 했다. 때문에 부시가 다른 전쟁, 즉 북한 침략을 준비하는 것이 아니냐는 우려가 국내외적으로 컸다. 난 부시가 북한 핵문제를 총 한 방 안 쓰고, 피 한 방울 안 흘리고 해결한다면 선거에서 온건한 이미지를 회복해 당선될 것이라 확신했다. 당시 난 미국이 북한에 온건한 메시지를 전하면 북한 김정일도 대량살상무기와 관련해 미국과 대화할 수 있다는 메시지를 발표하게 할 수 있다고 했다. 하지만 김정일을 접촉하는 데 실패해 절반의 성공만 거둔 셈이다.”- 왜 실패했나.“처음엔 외교문제에 관한한 김정일의 오른팔인 한성렬 북한 유엔대표부 부대사(현재 북한 군축평화연구소 대리소장)를 통해 김정일을 움직이려고 했다. 한 부대사에게 지금 당신이 여기에 있을 때가 아니지 않느냐며 빨리 평양에 가라고 주문했다. 하지만 그는 일이 잘못되면 숙청당할까봐 하지 않았다. 난 박근혜 당시 한나라당 대표를 찾아갔다. 그가 2002년 평양을 방문했을 때 김정일과 특이한 스킨십(공식적인 딱딱한 분위기가 아닌 화기애애한 의미로 말함)을 이루었다고 봤기 때문이다. 마침 박근혜도 곤돌리사 라이스의 돌발적 방한과 콜린 파월의 비상한 성명 발표를 매우 이상하게 생각했다고 말했다. 난 비서실장을 물러가게 하고 그 내막을 이야기했다. 그리고 평양에 올라가서 김정일을 설득하라고 권유했다. 김정일에게 ‘오빠’라 부르며 미국과 핵무기에 대해 진지하게 대화할 용의가 있다고 발표하게 만들라고 주문했다. 그러면 한반도가 미국 대통령을 뽑는 것이 되고 한반도의 도움으로 대통령에 당선된 인물은 임기 내내 한반도를 위해 많은 일을 할 것이라고 설득했다. 하지만 박근혜는 당시 한나라당 대표라는 자리에 대한 부담감 때문인지 결국 평양에 가지 않았다.”- 이 소설의 주요 인물 중 하나는 케이준으로 명명된 김경준이다. 김경준의 한국 송환이 늦어지고 있는 이유가 미국 CIA의 음모 때문이라고 믿는 것인가.“미국은 반미성향의 노무현이 정권을 잡으면서 힘들었기 때문에 이번엔 친미대통령이 되기를 바란다. CIA는 한발 더 나아가는데 거기에 걸린 게 김경준이다. 김경준은 송환재판을 두 번 받았고 그때마다 한국 송환이 판결됐다. 그런데 재산과 관련된 재판에서는 한 판사로부터 이해할 수 없는 판결이 나왔다. 김경준이 한국에서 훔쳐간 돈이 적법하다는 것이다. 그래서 김경준이 3년여간 한국에 못 온 것이다. CIA가 개입하지 않았다면 있을 수 없는 일이다. 만약 이명박이 대통령에 뽑히면 미국은 한국 대통령의 약점을 잡고 있는 셈이니 국내 정치에 더 개입할 수 있다.”- 소설에는 김경준의 누나인 에리카 김과 이명박의 염문설이 나온다. 명예훼손으로 고소고발당할 수도 있을 것 같은데. “이명박과 에리카 김의 스캔들은 5~6년 전부터 LA 교민사회에 파다했다. 이명박이 무엇에 홀리지 않은 한 왜 한국에 뿌리도 없는 30대 초반의 김경준에게 수백억의 돈을 투자했다고 생각하나. 에리카김과 이명박은 미국에서 만나 어울렸고, 에리카 김이 명문대를 졸업한 자기 동생이 있으니 이명박에게 잘 돌봐달라고 한 것이다. 그렇지 않고서야 달리 설명할 방법이 없다. 난 2005년과 2006년 LA에 가서 이를 직접 취재했다. 이명박과 에리카김의 스캔들에 대해 언론이 제기하지 못하니까 작가인 내가 한 것이다. 내 이야기가 잘못 됐으면 날 명예훼손으로 고소하라고 하라.”- 박근혜와 최태민 목사가 그렇고 그런 사이이며 둘 사이에 숨겨놓은 애까지 있다는 소문까지 책에서 거론했다.
“박근혜와 최태민 목사 사이의 아이 이야기는 내가 지어낸 것이다. 때문에 난 박근혜가 명예훼손으로 내게 소송을 거는 게 옳다고 생각한다. 내가 이 책을 쓴 목적은 개개인의 약점을 드러내고자 한 게 아니다. 2004년처럼 의혹이나 악소문 때문에 선거가 좌우되지 않기를 바라는 마음에서다. 의혹이나 흑색선전에 대처하는 사회적 검증문화를 정립하는 게 무엇보다 중요하다. 그런 면에서 이명박이 ‘소이부답(笑而不答, 웃기만 하고 대답하지 않는다)’이라고 말한 것은 말도 안 된다. 어쩌면 그 말에 화가 나 소설을 쓴 건지도 모른다. 박근혜의 경우는 그가 모든 검증을 받아들이겠다고 했으니, 내가 최고의 악소문을 만들어낸 것이다. 그가 어떻게 받아들이는지 보고 싶었고, 그가 소문의 진상을 당당히 밝히면 난 그에게 공개 사과할 것이다.”- 정치권의 반응은 없나.“없다. 왜냐하면 반응을 보이는 즉시 추락이기 때문이다. 그들과 관련된 내용은 팩트(사실)이기 때문이다. 그들이 숨기고 싶은 것을 내가 이야기한 것이다.”- 전작 ‘나비야 청산 가자’도 그렇고 이번 소설도 손학규를 지지하는 것처럼 비친다. 김대중 전대통령의 발언형식을 빌어 대선 주자 중 유일하게 손학규를 긍정적으로 묘사했다. “선거는 국민의 책임이 크다. 국민의 역량만큼 지도자를 뽑는 것이기 때문이다. 후진국은 고무신과 막걸리에 선거판이 갈리고 선진국은 누가 더 역량 있는지를 가늠해 인재를 뽑는다. 우리나라 국민의 투표수준은 낮다. 정치풍토를 모르기 때문이다. 한 사람이 보통 사람으로 출발해 대통령이 되기까지 어떤 과정을 거치는지 몰라 괜찮은 사람을 뽑지 못한다. 선전이나 힘에 좌우돼 제대로 판을 읽지 못한다. 이명박은 어떤 면에서는 대통령이 되기 힘든 사람인데 지지율이 높다는 게 이를 입증하는 것이다. 이런 정치풍토에서 손학규라는 사람이 대선 후보 반열에 올랐다는 것은 기적과 같은 일이다. 이명박은 많은 돈과 명성으로, 박근혜는 경북 대구의 절대적 지지로, 정동영은 그 뒤에 김대중이 있다. 하지만 손학규는 그런 후광이 없다. 10여 년간 정치를 하고도 2억 몇천짜리 아파트 한 채가 재산의 전부다. 그걸 북돋울 필요가 있다. 언론은 강자 편이어서 이를 드러내지 않기 때문에 작가인 나라도 거론하는 것이다. 결코 손학규를 지지해서가 아니다.”- 손학규 후보와 친분이 있나.“국내정치 특히 선거를 이대로 두면 안 되겠다 생각할 때 국내 정치인을 두루 만나본 적이 있다. 2005년과 2006년의 일이다. 그때 이명박, 고건, 손학규 등 대다수의 후보를 만났다. 그때 한 번 만난 게 전부다.”- 손학규가 범여권의 대선후보로 낙점될 것으로 보나.“난 ‘나비야 청산가자’를 쓸 때 이미 손학규가 여권으로 갈 줄 알았다. 정치가 뭐고 힘이 뭔지 아는 사람은 보인다. 손학규가 범여권의 후보가 되는 것은 당연하다. 김대중은 선거의 귀재다. 노무현을 당선시킨 것도 그다. 이번 선거도 김대중이 쥐락펴락할 것이다. 이번 대선의 본질은 반노무현이다. 노무현 하면 사람들이 두드러기를 일으켜 한나라당 지지율이 높은 것이다. 그런데 정동영, 김근태, 김혁규, 이해찬은 모두 노무현과 살을 섞은 사람들 아니냐. 객관적으로 보면 손학규가 범여로 넘어가지 않으면 선거가 안 되는 것이다. 누구보다 김대중이 이를 잘 알고 있다. 손학규가 가장 어려움을 겪던 시기에 북한과의 자리를 만들어준 게 김대중이다. 김대중은 당시 ‘북한에서는 손학규를 참 좋아한다’고 말했다. 손학규가 범여로 갔기 때문에 흥행이 되는 것이고 만약 여권 후보들이 손학규를 이용만 한다면 결국 선거를 망치는 일이 될 것이다.”- 이번 선거의 전망을 어떻게 보나.“이명박이 한나라당 경선에서 박근혜를 이기지 못할 것으로 본다. 우리나라 국민은 지도자에 대해 윤리의식이 강하다. 한두 건도 아니고 이명박은 살아온 인생 자체가 지도자와 거리가 멀다. 최소한 노무현 정도는 돼야지 이명박이 대통령이 되면 나라가 안 선다. 난 박근혜와 손학규의 싸움이 될 것으로 본다. 두 사람 중 누가 되면 좋겠다는 마음은 아직 정하지 않았다.”- 소설을 통해 2008년 미국 대통령 선거에 북한의 플루토늄 20㎏을 활용해야 한다고 주장했다. 또 직접 나서겠다는 것인가. “북한의 플루토늄 20㎏만 활용하면 한반도가 미국 대통령을 선택할 수 있는데 누구도 나서지 않고 있으니 갑갑하다. 북한은 지금 어쩔 수 없이 핵포기의 수순을 밟고 있다. 원자로를 폐쇄하고 나면 이미 확보한 플루토늄 20㎏을 어떻게 하느냐의 문제가 대두된다. 이때 우리가 공화당 후보든 민주당 후보든 한 사람을 평양으로 불러 김정일이 직접 그의 팔에 안겨주게 하거나 그가 미국으로 가져가거나 남한의 기술자를 불러 북한에서 해체하는 것을 감독하고 떠나거나 하게 하면 그는 미국 대통령에 당선될 것이다. 미국이 골머리를 앓는 가장 큰 외교문제는 북한 핵문제이기 때문이다. 그럼 한반도가 미국 대통령을 뽑게 되는 것이고 한반도의 도움을 얻은 미국 대통령은 8년의 임기 동안 한반도를 위해 엄청난 노력을 기울일 것이다. 이번 대선에서 누가 대통령이 되든 나는 이 문제를 종용할 것이다. 하지만 정부가 나서지 않는다면 내가 또 움직일 것이다.” <글·박주연 기자 jypark@kyunghyang.com><사진·김세구 기자 k39@kyunghyang.com>

Monday, 5 May 2008

Paper Submission


This is SOA usability and webservice usability and documentation paper poster.
The paper is submitted to SD SOA and VL/HCC.






Coolest Professor in CMU

We have Anthony Lattanze in Software Engineering Program. He is most popular professor in terms of his enormous experience in Software Architecture and Product Line.
His lecture is , in my opinion, a masterpeice in Software Engineering area.
Software Engineering is a complicated, over-stuructured , and composed of too much principles and concepts. However, he explaines everything in a well-organized and simple way.
I think his talent is comming from ways of thinking, attitudes toward the world and cultures, and nature-born living style.

He lives 1 or 2 hours away from CMU, most Coolest and peaceful place.
He taught how to pull the trigger to his two sons because, he believes if they are used at how to handle a dangerous weapon, then they can conqueor and control , not being afraid of it as well.
This sounds "complexity vs. divide & conqueor" principles in Software Engineering area to me.
He is a living Indian in Pittsburgh.


I enjoyed his two classes a lot, received great comments from final project. Everytime I feel lots of energies and enormous enthusiasm from him. He is a really really cool professor in CMU.

Pittsburgh Symphony Orchestra


1. April 25th. Thursday 6:00~8:00PM

I went to PSO to hear "Chee-yun"'s play.

She played Mozart's Concerto No.3 in G major with her violin and Schumann's Symphony No3. in E-flot major. It's gracefull and soft but dynamic play.
This brillient player was born in Korea. She is a very entertaining person and really really kind enough to take picture with anyone.
2. May 2nd, Friday 8:00~10:00 P
First play was Ralph vaughan williams' Symphony No.4 in Fminor. I have no idea about this music. This is the first time I can hear the play. However, a conductor of PSO explained every stage, allegro, andante, scherzo and finale with very strong russian accent (It sounds to me).
That was great.
And then Beethoven's "Emperor" - Concert No.5
I enjoed this very much , especially most powerful play I ever see in PSO.
All the people gave them a big, big hands. It's COOL.

Monday, 28 April 2008

The general structure of a writing piece

The general structure of a writing piece
- Introduction
- what are you taling of ?
- What are you taiking about it?
- Why now?
- so what?
- conclusion

Wednesday, 16 April 2008

Lessons from Steve Jobs

“The only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it.”
“Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma - which is living with the results of other people’s thinking. Don’t let the noise of other’s opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.”

“You know, we don’t grow most of the food we eat. We wear clothes other people make. We speak a language that other people developed. We use a mathematics that other people evolved… I mean, we’re constantly taking things. It’s a wonderful, ecstatic feeling to create something that puts it back in the pool of human experience and knowledge.”
“We’re here to put a dent in the universe. Otherwise why else even be here?”

“I’m the only person I know that’s lost a quarter of a billion dollars in one year…. It’s very character-building.”
“I would trade all of my technology for an afternoon with Socrates.”
“There’s a phrase in Buddhism, ‘Beginner’s mind.’ It’s wonderful to have a beginner’s mind.”

“Innovation distinguishes between a leader and a follower.”
“We think basically you watch television to turn your brain off, and you work on your computer when you want to turn your brain on.”
“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”

Thursday, 10 April 2008

China or India

Where do we have to invest, China or India? There are three reasons to invest in China rather than India.

First, China leads India in terms of economy growth rate; therefore, we can expect much more return on investments than India. China's GDP totaled 3,100 billion U.S. dollars in the year of 2007, up to 11 percent over the same period last year, according to the China National Bank. However, India raised GDP growth of 8.7 percent, up to 928billion dollars in total GDP according to the Reserve Bank of India. This economic data appears to be sustainable until two or three years after, as we have seen so far.

Second, China leads India in terms of market size; therefore, we can expect much more opportunities than India. China’s GDP per person was 2,280 dollars in the year of 2007; on the other hand, India’s GDP per person was 830 dollars in the same year according to National Bank. As the China’s economy grows, the brand market will grows as well. This means that international brand market will grows much more rapidly in China than in India. In addition, because China is the site for the next Olympic Games, all the global companies will invest or try to enter this attractive market by the year of 2010.

Third, China’s dominant industry is manufacturing; however, India is strong in technology and IT services high value industry, but is obviously not a high volume industry. Typically, service industry does not rely on high, intensive capital, on which China’s manufacturing industry has relied to a great extent. By this reason, a large number of foreign investments are turning toward China, and we need to move forward with the same reason.

In conclusion, in terms of growth rate, market size, and the event of Beijing Olympic, to invest China is the best choice. The decision of China investment is most critical to the growth of our company and the right decision will lead us to be a global leader.

Tuesday, 8 April 2008

How to prepare Good meeting

0. Do we really need a meeting?
1. Purpose
- critical issues
2. Agenda
- 1page
- grouping topics
- prioritize topics
- Keep track on time (time keeper) + notes (Note taker)
- Responsibilities
3. People
- pick right participants
4. Place + Time
- Bad Time: lunch, at 5:00PM, Friday afternoon, Monday early morning
- Best Time: Tuesday/Wednesday/Thursday morning
- don't bring high sugar stuff, pasta, pizza
- Place: adequate size, depends on group size, visual aids
- Time: don't over 2 hours
5. Invite /DRAFT Agenda
- please review, comment about attached draft agenda
6. Resend with changes/ P
- based on all sets, well-prepared to the meeting
7. Arrive Early
- host should arrive early.
8. Start on Time
9. Set the Tone
10. Run the meeting
11. Meeting Minustes/Meeting Summary
12. Actions

Monday, 7 April 2008

7 things employee want most to be happy at work

Ask bosses what makes employee happy at work, and many are likely to think in terms of tangible rewards: a good salary, a pleasant office, generous benefits.
1. Appreciation
2. Respect
3. Trust
4. Individual growth
5. A good boss
6. Compatible co-workers
7. A sense of purpose
By Marlilyn Gardner

Thursday, 3 April 2008

Interview Tip

1) Dress Attire / Hair / Good Appearance/ Posture/ Charm / Pleasant
2) Resume : Right Upfront by two hands
3) Interrupted behavior/ Eye Contact
4) Asset Points (Weaving asset points)
5) Memorable Story/ Differentiation
6) Company Knowledge
7) Enthusiasm/ Potential / Simple/ Engage / Enjoy
8) Action Statement - I created/developed/improved ....
9) Result Oriented/ Add Quatative number
10) How handle difficult question/situation
11) Ask Good Question ; Poze/ Scilence/ At the end
12) Specific Story about team skill (worst team experience )
13) Hardworking
14) Handle salary question, elogance
15) Ask Next step; Ask email address
16) Last chabge; Ending(Handshake), Ask Next Step

Monday, 28 January 2008

Steve Job's Presentation Tip

1. Set the theme.
2. Demonstrate enthusiasm.
3. Provide an outline.
4. Make numbers meaningful.
5. Try for an unforgettable moment.
6. Create visual slides.
7. Give 'em a show.
8. Don't sweat the small stuff.
9. Sell the benefit.
10. Rehearse, rehearse, rehearse.

Wednesday, 23 January 2008

When to use Passive

1) When you don't know who did the action
2) when your readers don't care who did the action
3) when you don't want the readers to know who did the action
4) when the receiver of action is more important than the doer of the action
5) when you wish to be less confrontational

Goal with SMART

To make good plan, one should make good goal.
There are famous tool to make good goal.
SMART
Specific, Measurable, Attainable, Relevant, Time-Bound

Monday, 21 January 2008

SOA

Biz View: a set of services that a business wants to expose to their customers and partners, or other portions of the organization
Architecture view: a set of architectural principles, patterns and criteria which address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, composability and single implementation
Implementation View: a programming model complete with standards, tools and technologies such as Web Services
An SOA is composed of multiple layers. At the heart of the SOA is the Service Model that defines Services and Components that realize them

Service modeling – what we model
Layer 1 which is the bottom layer describes operational systems. This layer contains existing systems or applications including existing CRM and ERP packaged applications, legacy applications and “older” object-oriented system implementations as well as business intelligence applications. The composite layered architecture of an SOA can leverage existing systems, integrate them using service-oriented integration.
Layer 2 is the component layer which used container–based technologies and designs used in typical component-based development.
Layer 3 provides for the mechanism to take enterprise scale components, business unit specific components and in some cases project specific components and provides services through their interfaces. The interfaces get exported out as service descriptions in this layer, where services exist in isolation or as composite services.
Level 4 is an evolution of service composition into flows or choreographies of services bundled into a flow to act as an application. These applications support specific use-cases and business processes. Here, visual flow composition tools such as WebSphere WBI-Modeler can be used for design of application flow.
Layer 5, the presentation layer is usually out of scope for an SOA. However, it is depicted because some recent standards such as Web Services for remote Portlets version 2.0 may indeed leverage Web Services at the application interface or presentation level. It is also important to note that SOA decouples the user interface from the components.
Layer 6 enables the integration of services through the introduction of a reliable and intelligent routing, protocol mediation, and other transformation mechanisms often described as the Enterprise Service Bus .
Layer7 ensures quality of service through sense-and–respond mechanisms and tools that monitor the health of SOA applications, including the all important standards implementations of WS-Management.

Wednesday, 16 January 2008

Human Computation and Louis von Ahn

http://video.google.com/videoplay?docid=-8246463980976635143&q=luis+von+ahn&pr=goog-sl

Luis von Ahn, he is a really, really, really genius!!!
I studied MPEG1,2 4 and MPEG7 10 years ago.
But still how to abstract specific objects from image and how to describe the relevant objects are open problem in image processing area.
But he solved this by "human computation" concept.

His main idea is like this;
let people compute for opem problem which computer cannot solved yet.
But use the people with fun and for free!
He is one of the Cooooooolest guy , a professor of CMU , as I ever met.....
(I'm going to have his class in this semester!!!!)

His PhD thesis was CAPTCHA (A program that can tell whether it suers is a human or a computer) in 2005.
a program that can generate and grade test that:
A.most humans can pass
B.current computer programs cannot pass

The official CAPTCHA site : http://www.captcha.net/
http://recaptcha.net/
Human Computation : http://www.cs.cmu.edu/~biglou/research.html
Luis von Ahn:http://www.cs.cmu.edu/~biglou/

Tuesday, 15 January 2008

Simplicity and Separation of Concern

"One of the most degenerative tendencies of the last forty years is the belief that if you are understandable, you are vulgar." by Peter Drucker

"Insecure managers create complexity. Frightened, nervous managers use think, convoluted planning books and busy slides filled with everything they've known since childhood. Real leaders don't need clutter. People mush have the self-confidence to be clear, precise, to be sure that every person in their organization - highest to lowest - understands what the business is trying to achieve. But it is not easy.You cannot believe how hard it is for people to be simple, how much they fear being simple. They worry that if they are simple, people will think they are simple minded. In reality, of course, it is just the reverse. Clear, tough-minded people are the most simple." by Jack Welch.

I 100% agreed about Jack Welch's last expression; "Clear minded people are the most simple".
Software architect is one of very hard occupation in the world, I think.
There are too many constraints in the company and technology and too many uncertainties in the business policy. However, software architect should make architectural decision and meet many different business objectives. And architectural decision should be reasonable, objective, and meet stake holder's totally different views; CEO wants numbers, CTO wants reliability, developers want codes, designers want lots of diagrams.....Although this complex and different perspectives, software architect make "simple" architectural decision. Simple architecture is the key for architectural decision. I paraded Yoda's saying in the movie "Star Wars", "May the force be with you."; My favorites :-) !!!

Monday, 14 January 2008

Foundation Facility

JMS
Java Messaging service offers a unified wrapper over queuing mechanisms. The framework wraps the JMS implementation and provides methods for applications to use this service without knowledge of the underlying queuing mechanism or the JMS API. The JMS API offers a asynchronous send and receive mechanisms and also a synchronous send and receive mechanism for application clients. The synchronous implementation is a convenience implementation which calls the send and then the receive methods with an appropriate timeout. The mechanism uses the JMS correlation id to associate the request and the response. The framework also implements a wrapper over a JMS Topic thereby allowing an application to work in a publish subscribe mode.
Logging
This supports for reporting application events into persistent storage areas. Logging provides precise context about a run of the application. Once inserted into the code, the generation of logging output requires no human intervention. Second, log output can be saved in a persistent medium to be studied at a later time.
Rules
It provide flexibility to application design and development by externalizing dynamic business logic. As some areas of the business are more susceptible to change than others. It is important to therefore have a mechanism that allows an application to identify areas that are likely to change and externalize the logic contained within them. This changes should be managed is a such a manner that there is no to less development effort required. It uses code generator to generate rule classes. Rule classes run in the same address space as the application program. This enhances performance as rule classes run in the same address space and use the same thread of execution, they share the transaction database session context for data. This avoids reads from database for data that is already loaded. Rules can also be dynamically changed by integrating with dynamic class loader.
Dynamic class loading:
This facilitates deployment of business rules dynamically without stopping the application server. Rules as mentioned above are business logic that changes frequently and needs to be deployed on the application server without restarting the application server. Rules are deployed as jar files in the application server, any changes to the rules would negotiate a re-deployment of the jar files. Currently it is not recommended that the hot deployment option of the application server be used. This is because the application server vendors claim that it might cause potential synchronization problems with the deployed application and might cause deployed applications to be deleted or modified incorrectly.Custom class loader load classes directly from the disk. It scans a pre-defined area on the file system for changed files based on time stamp. Clients already in middle of a method call will continue to use the old class, while new clients will receive an object from the changed class. It checks for modified classes on configurable time based interval.
Configuration:
It supports for retrieving of application parameters defined in properties file. It synchronizes with the changes made to the application parameters while the application is running. This component uses caching and logging architectural mechanisms. Configuration allows for providing set of properties in a different properties file to
Helpers
The Framework offers various helper functions to facilitate the building of framework components. These components are expected to be re-used across various other sophisticated framework facilities or components.The following helpers are available as part of the framework. These facilities are implemented as helpers as any improvements to these facilities can be done in a central place benefiting all framework components that use them. For example, if there are changes to reflection helper to leverage performance enhancements to the next version of J2SE, then all components will benefit from the same. Similarly the XML Helper wraps the DOM implementation of Xerxes and provides an easy to use interface. The XML Helper includes some significant performance enhancements in the way commonly used XPath (/Customer/Name/) expressions are evaluated. It uses a custom mechanism for these kind of expressions instead of the much slower XPath API. XPath API is still supported for the complete XPath specification.
Error and Exception Mechanism:
This architectural mechanism handles application errors and loggs them as per standard strategy. Error handling supports for multi-lingual error messages for the same error codes. Two named exceptions viz FrameworkException and BusinessException are provided to be used to denote any application errors. Unique error code is assigned with each exception to identify the error.
Service locator
This is a deviation of the standard service locator pattern. It provides transparent object access to applications or other framework components. The service locator abstracts the service discovery process. This discovers a service based on a set of configuration parameters provided. This will then return an object of the service based on the parameter defined. The service locator handles the discovery of JNDI services apart from specific services like EJBs, JMS handles and POJOs. It caches JNDI resources to avoid lookups for each invocation.
Alert
This architectural service provides mechanism for sending alerts for an event. Events needs to be registered with alert service. Event handlers are implemented that handles the event. Support for alerting by SMS and Email is provided using SMS and Mail helper architectural components. Events have information as required by it’s event handler. Client provides those information in the Event and does not need to know about the recipients and mode of alerts. Event handler identifies the list of recipients and modes of sending alert. Alerts are sent asynchronously where client does not wait until alert is sent.
Reporting for batches
This architectural service is a wrapper over third party, OZ reporting, tool and provides option to plug-in another reporting tool in future without change in the client code. OLTP reports will continue in the same style as the existing KB system. Mainly this service is used by batch. Report service supports two modes of execution, synchronous and asynchronous. In asynchronous execution mode, the client request a report and then poll for the status based on the report task ID that was provided when requesting a report. In synchronous execution mode, the client waits for the completion of the report.
Mail
Mail component provides facility to send an email. Mail shields client from internals of sending email. Client is not required to know about the details on how to send mails. Mail component currently is used by Alert. Mail component currently inserts a record in a table owned by e-business team. E-business team finally reads records from the table and sends mail using their existing mail gateway.
SMS
SMS component provides facility to send a SMS. SMS shields client from internals of sending SMS. Client is not required to know about the details on how to send SMS. SMS component currently is used by Alert. SMS component currently inserts a record in a table owned by e-business team. E-business team finally reads records from the table and sends SMS using their existing SMS gateway.
Data Compression
Data compression implements a simplified API over the GZIP implementation. This mechanism can be used to compress data being transferred from the channel tier to the application tier or from the client to the channel tier. This mechanism can be used where-in the available bandwidth mandates a data compression mechanism. By implementing a standard compression algorithm, the data compression mechanism allows even third-party applications to compress data.
Charset Conversion
This supports for conversion from EBCDIC character set to ASCII character set and vice versa. Client code need not code for character conversion every time instead they can use this component.
FTP helper
FTP helper assists in listing and exchanging files between two servers. This uses the Apache commons FTP library, but makes modifications to the open-source library by providing support for the IBM mainframe file system. Files are exchanged using FTP protocol where host runs FTP service. This component consists of a convenience GUI which shows the progress of the files downloaded or uploaded. Client can get the listing of files on host system using this component. This component supports DBCS.
File Parser
This architectural mechanism provides a uniform approach for parsing of ASCII flat files. It supports position based and delimiter based file parsing. It returns the parsed file as a domain object thus freeing developer from file IO operations. Provision for returning domain objects after each record is parsed or in batch of records is provided so as to maximize memory utilisation as per the application need. It supports two models for parsing viz push and pull. Push model parse pre-configured number of records and send to the client as domain object. Pull model waits for client to request to parse the file sequentially in batches. Client receives an handle to lazy fetch which can be iterated through to generate next batch of records.
Bootstrap
This architectural component assist in initializing required services or components in application server before any client request can be serviced. It also helps in improving performance by ensuring globally required services are initialized and available when required rather than loading them at the time of request. In the channel tier, where there is a web container, a bootstrap Servlet is used. In the application server, which is not expected to host a web-container, this component uses the custom API provided by application server. Hence this component is coupled with application server and is currently available for use in IBM Websphere application server for the application tier.
Data Access Service
This architectural mechanism allows access to the persistent store. It is wrapper on Hibernate ORM that provides XML based mapping of objects to relational mapping. It uses IOC (inversion of control) to keep the connection handles encapsulated from a developer and internally uses a reference counting mechanism to finally close database connection. It throws named exceptions to flag application developers of exceptions that can be handled like no data found.
Batch-Shared OLTP
The framework includes a high performing batch framework. The batch framework will provide application developers a platform to assemble business components to be used in a batch mode. The batch framework provides abstract classes for batch application development. The batch framework uses JMS to stream batch jobs. The batch framework does not use custom threads, but rather uses JMS as the threading mechanism to achieve parallelism in a batch job. A batch job can be distributed across not just processes (JVMs) but across servers (or machines). This provides a lot of flexibility in distributing a job. A batch job can therefore be run on the same server as the OLTP or can be run on a different server. It is also possible to introduce new servers for just batch processing, thereby improving the scalability of the batch framework.
The framework provides an abstract batch data class, which can be extended to set the data for the batch process. The developer therefore needs to extend the class for the batch data. Once the data set has been coded for a particular batch process, then the application developer will need to map the batch data set with the input for the process component that needs to be used for the batch process. To actually execute the batch process, the application developer will need to register the batch process using the batch processing administration GUI provided.
PL/SQL Batch Process
The batch framework also provides a PL/SQL version of the batch framework. The PL/SQL version does not share the OLTP process components or the business common services, but provides a simple high performing batch framework in PL/SQL. PL/SQL offers a “near data processing” batch framework. This framework will provide a high batch throughput on a lower system configuration due to the inherent benefits of processing near the data. This framework will need source code duplication and will increase the maintenance effort of the application. Though this will increase the maintenance effort, this framework cannot be written off as it provides a very high batch throughput. For extremely time critical batch processing, this framework may need to be used. The actual usage of the same will depend on the specific requirements for the application.

Framework

Framework implements J2EE-based OLTP, batch, and foundation architecture as technical environment of J2EE development. it provides a development environment where application developers focus on the business process development.The framework components are split into 2 sections, the architectural mechanisms and the integration mechanisms. Architectural Mechanisms are framework infrastructure components. Integration mechanism are components which can be used for integrating systems

1) Channel Tier

This tier provides various protocol services for communication with Presentation. Converts different message formats to internal standard formats, check validity, and supports posting to hosts that provides actual business services. Features of the channel tier are as below:• Handles multiple request protocols • Comprehensive connectivity to a large variety of systems• Uses Asynchronous IO for TCP/IP • Configurable audit logging with pre and post formatted inputs and outputs• Plug-in support for validations• Re-use validations across transactions• Push data to a client via TCP/IP for long running transactions.

2) Biz Tier

Biz tier comprises of Service Orchestrator, Service Provider and Data abstraction components. Message router in channel tier forward the message to Service orchestrator.

a. Service Orchestrator

This sub component deals with invocation of appropriate service provider for the transaction being sent by message router. It comprises of message listener, transaction coordinator, service command, and process orchestrator.Message Listener is implemented as a message driven bean and provides mechanism for receiving transaction from message router in channel tier. Process orchestrator manages the invocation of one or more than one service commands to execute transaction. Services are invoked synchronously. Process orchestrator caches the work flow information from the repository.Service command converts XML message to the DTO java object as required by service provider which executes the transaction. Service command then invokes service provider using the DTO java object. Following figure shows the flow of transaction within Service orchestrator.

b. Service Provider

This component comprises of process component, EIS wrapper, referential component or domain component. Service provider manages the business processes for the transaction. Service provider communicates with the back end systems that provides the business functionality. Data required by host system is provided by service provider by formatting or generating data from the available data with transaction. Data is retrieved from database using referential component. EIS wrapper acts as a proxy for allowing back end services to be invoked by service provider.

c. System Integration Mechanisms

Component in the service provider communicate with multiple host system via system interface. System interface allows for a standard mechanism for clients to connect to host systems. The system interface consists of a basic interface which is used by clients to communicate with different back-end systems. An interface to a specific back-end system can be obtained via a System interface factory. The system interface factory will create an instance of the appropriate back-end system connector and return the interface for the same. The system interface handles this posting of the reversal, which is completely independent of any application developer intervention. In case the reversal transaction so posted fails, then the transaction is marked as pending reversal in a local log. The log is a database table. When a user initiates another transaction, the reversal transaction is attempted again. This auto reversal function assumes that the host system will return a success for a reversal transaction for which the original transaction does not exist. The auto reversal function will not handle any failures for the reversals sent.

3) J2EE Fundamental Facility

Fundamental facility provides sets of architectural services and architectural classes that can be used for building an application or framework.



Friday, 11 January 2008

What level of education is required to understand my blog?

cash advance

How do they evaluate my blog?I tried to my other blog (written in Korean, but most of contents are open source framework including "Hibernate", "Spring" and other UML and Software architecture artifact) but they evaluate as "high school" (http://blog.naver.com/tooth2)I cannot understand what their criteria is...is it English only?

Thursday, 10 January 2008

PAN technology overview

Sensors can be combined with WPAN(wireless personal area network) technology to access or communicate with Distributed Environment.

There are several WPAN technologies available; Bluetooth, UWB(Ultra-wide band), and Zigbee.
Bluetooth is nowadays well-known technology.
UWB technology is one of the wireless transmission technology, it can deliver digital data with lower power, more data using wide-spread spectrum in short range. Zigbee is also alternative , it has low complexity for design, low cost, the price is rather cheaper than Bluetooth low power consumption. However its data rate is low , maximum 250kbps,