SCA - 자료 모음

Posted 2006. 11. 4. 20:09
http://www-128.ibm.com/developerworks/library/specification/ws-sca/
http://dev2dev.bea.com/pub/a/2005/11/sca.html

http://xml.coverpages.org/ni2005-12-07-a.html 읽어볼만한 글

http://slashdemocracy.org/links/Service-Oriented_Architecture/

http://www.eclipse.org/stp/  Eclipse의 STP 프로젝트
이것은 PPT
역시나 나는 오픈소스가 여전히 좋다. 언제나 이를 껴안을 준비중임

SCA 여전히 스팩은 0.9 이며 1.0이 나오기를 눈빠지게 기다림

SDO vs EJB 3.0

Posted 2006. 11. 3. 22:34
앞으로 SDO가 많이 쓰일듯 하다. 이유는 아래와 같다.
아래글 참고 ^^

바로 이전 프로젝트에서 FireStorm SDO를 사용해봤다. 아직까지는 익숙치 않은 개념이지만 조금씩 몸에 체감되어 감을 느낀다.

최근 "서비스는 무엇이며 컴포넌트와의 관계는 무얼까" " 라는 대주제 때문에 머리가 아프다.

많은 사람들이 SOA에  많은 의구심을 가진다. SOA라는 아키텍처는 가트너 그룹이 10년쯔음 말한 개념들이다. 많은 의심속에 나는 의심을 많이 하지 않기로 했다.
달에 로켓을 쏘아 올리기전 많은 사람들이 로켓의 모양을 상상하고 그 모양이 달로 가는 진짜 로켓의 모양이 된것 처럼 SOA도 점처 구체성을 가지지 않을까 하는게 내 생각이다.

SDO versus EJB 3.0
The purpose and objectives of the SDO 2.0 and EJB 3.0 (sometimes referred to as Java Persistence API - JPA) specifications are so different that it is possible to say that they are complementary rather than competing.

SDO is a very ambitious attempt to provide a single, highly flexible API for all types of data in Service Oriented Architectures. EJB 3.0 is aimed making EJB more simple, with the new data persistence support based on Object Relational Mapping (ORM), with strong contributions from the Hibernate and Oracle ORM tool developers.

Language Support
-EJB 3.0 is Java-only
-The SDO API is published in both Java and C++, but also possible to implement in other programming languages (there's a PHP implementation). SDO defines a set of SDO data types to ensure portability between different data source types and for compatibility between languages. To date, SDO implementations exist for Java, C++, and PHP. EJB 3.0 is Java only does not address multi-language data compatibility.

Data Types and Formats
-EJB 3.0 data persistence is aimed at relational data held in databases
-SDO is for any type of data, with relational data only one example. When developers learn the SDO API, they can access any type of data supported by the SDO implementation they are using. As well as providing a standardized API for accessing data across multiple data sources, SDO also provides a common API for accessing metadata about the data source. While the SDO data access API provides DataGraph and DataObject interfaces for accessing and updating data, the SDO metadata API provides Type and Property interfaces.

EJB 3.0 is Based on ORM, Whereas SDO is Focused on Data
-EJB 3.0 is strongly based on ORM technology, which is designed for persisting data in an Java objects to a relational database (known as the 'logic first' approach) or mapping between the Java objects and an existing relational database (known as the spaghetti junction approach).
-SDO takes a 'data first' approach, where it is assumed that the database will be optimized (and normalized) and may last longer than the actual business application. Assuming that the database is the focus point for the data, FireStorm/SDO reverse engineers the database schema to produce the persistence code.

SDO is for Service-Oriented Architectures
-EJB 3.0 is for traditional stand-alone (monolithic) Java applications, typically with client-server architecture
-SDO supports the concept of disconnected programming model, making it ideal for service-oriented architectures. The disconnected DataGraph means that databases are not locked because data is modified offline.

SCA and J2EE Specifications
-EJB 3.0 is part of JEE (the rebranded J2EE), which has been the dominant application development platform for the past several years
-The latest version of the SDO specification was released in conjunction with the Service Component Architecture (SCA) specification. SCA enables peer-to-peer interactions between services in a distributed SOA architecture. SCA is the industry response to Microsoft's Indigo/WCF strategy and is probably the most important development in SOA/Web Services in the past couple of years.

Tightly versus Loosely Coupled
-EJB 3.0 is embedded and tightly coupled within an application
-SDO implementations can be designed for a lightweight and distributed architecture. The SDO specification enables both a static (or strongly typed) programming model and a dynamic (or loosely typed) programming model.

With such different objectives and characteristics, it's not possible to say if EJB 3.0 or SDO are 'better' data persistence specifications. However, that does make it possible to produce some broad guidelines:

If you are developing a traditional (non SOA) application and only have relational data and are only developing in Java, then EJB 3.0 is a good choice.

If you are developing using a SOA, if you need to access multiple types of data, then SDO is a good choice.

PJ Murray
CodeFutures Software

링크

Types of Inversion of Control

Posted 2006. 10. 30. 23:22
이전에 보았던 책인데 다시 보고 조금 정리 중입니다. ^^


Types of Inversion of Control - proSpring에서 인용함.


* Dependency Lookup comes in two types:
  1. Dependency Pull
  2. Contextualized Dependency Lookup (CDL).
* Dependency Injection also has two common flavors:  물론 메서드 인젝션도 있음
  1. Constructor Dependency Injection
  2. Setter Dependency Injection.


1-1. Dependency Pull
public static void main(String[] args) throws Exception {
 
       // get the bean factory
       BeanFactory factory = getBeanFactory();
 
       MessageRenderer mr = (MessageRenderer) factory.getBean("renderer");
       mr.render();
}

EJB개발을 하면서 저런 스타일은 많이 봐온 스타일이다 (JNDI Look Up) . 즉 이미 익숙한 패턴인것이다.
이것을 IOC 입장에서 설명하면 Dependency Pull 이다.


1-2. Contextualized Dependency Lookup (CDL)

public interface ManagedComponent {
 
  public void performLookup(Container container);
}

보는바와 같이 인터페이스에 1-1 처럼 레파지토리가 아니고 Context를 이용하는게 보인다.

2-1 Constructor Dependency Injection
public class ConstructorInjection {
 
  private Dependency dep;
 
  public ConstructorInjection(Dependency dep) {
       this.dep = dep;
  }
}

보는 바와 같이 Constructor를 이용하고 있다.
Constructor의 Argument를 이용하고 있다.
어느때 Constructor IoC를 쓰고 Setting IoC를 이용할지는 http://itgs.tistory.com/71
에 많은 자료를 두었다.

2-2 Setter Dependency Injection.

public class SetterInjection {
 
  private Dependency dep;
 
  public void setMyDependency(Dependency dep) {
       this.dep = dep;
  }
}

Spring Framework에서 가장많이 쓰이는 Injection이다. 일반적으로 java bean의 Set 메서드형태이며 configuration을 이용해서 객체를 할당한다.
http://itgs.tistory.com/71 에 가면 좀더 많은 자료가 있다. 물론 .net버전의 Spring에 대한 자료이지만 개념적으로 좀더 잘 설명이 되어 있어

Lookup 기반의 컴포넌트를 제작하게 되면 나중에 Test하기가 나빠진다.
WAS환경과 똑같이 만들기가 힘들다. 그러나 이미 많은 사람들도 알다시피...
IoC덕택에 pico Container 덕택에 Testing을 자동화하고 가상 객체들을 쓰는데 익숙해지게 된다. 이러한 것이 스프링 프레임워크의 특징이며 컨테이너라는 용어를 가져다 칭할수 있는 것이다.

요즈음 pro Spring을 다시 보고 있다. IT거버넌스를 하는데 pro Spring을 보냐고 묻는 사람들도 많이 있지만.... 일단 재미도 있기도 하고....
자세히 알만한것들은 몇가지 자세히 기술을 알 필요가 있기에 그렇다.
3년전인가... Spring을 이용해서 모 사이트를 구축했는데...
아직도 그것이 잘 이해 되지 않은 상태에서 구축되어 아쉬움이 많이 남는다.
아키텍처가 좋다 나쁘다는 말하기 힘들겠지만....

(실제 나는 나쁜 아키텍처가 존재한다고 생각하지는 않는다.)


Spring Framework은 EJB를 연동시 자신의 메커니즘(스프링이 컨테이너임을 좀더 인지한다면 IoC의 개념을 최대한 사용해야 했었다. )을 최대한 사용해야 한다.


아래의 자료는  DI에 대해서 구체적으로 잘 설명된 자료임.참조자료 ^^


http://incubator.apache.org/tuscany/

오랫동안 지켜보았다.
그리고 할말도 많다.
아파치 투스카니... SDO땜에 얼마나 힘들었나... 결국 OpenAdapter를 쓰려고 노력하게 되었다.

SCA... 이번엔 정말 잘해보고 잡다. 어찌나 표준도 없고 답답한지...

DAS SDO .... 애타게 찾던.... ㅋㅋㅋ 아키텍처야 SDO나온지는 좀 되는데...
앞으로 Sun과 IBM BEA의 SOA 전략이 상당히 궁금하다.
JBI와 함께 동반할까...아니면 서로 또다른 표준을 만들면서 나아갈까...
매우 궁금하면서 재미있다.
IBM은 이미 Eclipse등의 플레폼을 만들면서 여러가지 데이타 교환구조를 이미 Eclipse에 옮기고 있다. 실제 EMF패키지를 뜯어보면 이미 쓰이고 있었다.



BEA 에 나온 SCA글
http://dev2dev.bea.com/pub/a/2005/11/sca.html
http://www.dev2dev.co.kr/pub/a/2005/11/sca.jsp

흑... Is JBI Dead?

Posted 2006. 10. 24. 23:27
최근 누군가에게 들은 말중에 하나가 컨설턴트는 정치가 필요 없다는 말을 들었다.
MJ님의 블로그에서만 들은 말이 아니다. 항상 고민하는 것들이다.


물론 컨설턴트가 정치를 할 필요는 없다. 그러나 가끔 필요하다. 그것이 이롭다면 말이다.
몇몇 고객들은 자신들의 이익을 위해 정치를 한다. 그러한 경우 고객의 입장에서 생각해야 함으로 같이 정치를 해야 하는 경우도 생기고 정치적인 데이타로 해결을 해야 하는 경우도 있다.
물론 완전 기술인 경우에도 정치가 생길수도 있다.


가끔 우리들은 고객앞에서도 서로를(같은 동료 컨설턴트) 욕한다.
이유는 고객의 이익이 최우선 이라서 그렇다.

그리고 고객도 컨설팅을 받으려면 준비를 많이 하고 받는게 좋다.
그래야 좀더 많은 서비스를 받을수 있으며 시간과 비용을 줄일수 있기 때문이다.

무조건 문제를 해결해주는게 컨설턴트라면 나는 컨설팅 안한다.


ps : 최근에 미국에 있는 어떤 사람을 도와준 적있는데 UML 2.0 을 컨설턴트에게 배웠다고 했다 - 그리고 자랑도 했다. 자기 이거 배웠다고...   T.T  뭐 귀엽게 넘어갔다.

그런데 연락이 왔다. 연락의 내용인즉...레포트를 내야 하는데 자기가 시퀀스 다이어그램을 못그린다고 했다. 5일간 소스를 받아서 분석해서 그려줬다. 모르겠다. 내가 그린게 얼마나 UML2.0을 만족하는 건지는 하지만....

UML 2.0 이 중요한게 아니고 그사람의 마인드가 의심 스러웠다. 책과 이론을 중요시 하는 것도 좋지만 직접 접근이 가능하지 않다면 그저 시간낭비일 뿐이라고 생각했다.
그동안 몇몇 컨설턴트들이 이론만을 뿌리고 다녀서 이러한 일들이 계속 생기는게 아닐까 생각이 든다. 물론 다 그런거는 아니다. 그리고 이론으로 무장한 사람이 나쁘다는 것도 아니다. 그저 답답하기만 하다.


Constructor Injection과 Setter Injection의 차이를 잘 설명하고 있다. 출처는
http://www.codeproject.com/cs/design/DependencyInjection.asp
이며 저 아래 보면
AOP에 대해서 나온다. 이러한 코드에 대한것들은 주로 .NET 이며
현 코드는 Spring .net 이다. java와 거의 다르지 않으므로 좋은 기사가 될듯 ^^


ps : 아래는 Spring java 버전의 글이지만...별다른 다른 점은 없음

Rod Jonson의 홈페이지에도 몇몇 글이 있다. 비교하면서 보면 좋을듯 ^^
(이젠 다른사이트에 블로그를 올린다. 오래된 블로그임)
http://blog.springframework.com/rod/?p=1




Pojo In Action에도 몇몇 글이 나온다. 빈을 어케 하는지에 대해서 나오는데
약간 설명한것 여기 소개하면 여기서는 constructor injection을 쓴다. 이유는 있다.
http://www.developer.com/java/ejb/print.php/3594121
이다.

자러가야지...졸리네...

http://www.theserverside.com/news/thread.tss?thread_id=34167 요것도 좋은글
http://forum.springframework.org/showthread.php?t=23139
링크하나더






스트븐잡스 메시지

Posted 2006. 10. 11. 20:41


This is the text of the Commencement address by Steve Jobs, CEO of Apple Computer and of Pixar Animation Studios, delivered on June 12, 2005.



I am honored to be with you today at your commencement from one of the finest universities in the world. I never graduated from college. Truth be told, this is the closest I've ever gotten to a college graduation. Today I want to tell you three stories from my life. That's it. No big deal. Just three stories.


The first story is about connecting the dots.


I dropped out of Reed College after the first 6 months, but then stayed around as a drop-in for another 18 months or so before I really quit. So why did I drop out?


It started before I was born. My biological mother was a young, unwed college graduate student, and she decided to put me up for adoption. She felt very strongly that I should be adopted by college graduates, so everything was all set for me to be adopted at birth by a lawyer and his wife. Except that when I popped out they decided at the last minute that they really wanted a girl. So my parents, who were on a waiting list, got a call in the middle of the night asking: "We have an unexpected baby boy; do you want him?" They said: "Of course." My biological mother later found out that my mother had never graduated from college and that my father had never graduated from high school. She refused to sign the final adoption papers. She only relented a few months later when my parents promised that I would someday go to college.


And 17 years later I did go to college. But I naively chose a college that was almost as expensive as Stanford, and all of my working-class parents' savings were being spent on my college tuition. After six months, I couldn't see the value in it. I had no idea what I wanted to do with my life and no idea how college was going to help me figure it out. And here I was spending all of the money my parents had saved their entire life. So I decided to drop out and trust that it would all work out OK. It was pretty scary at the time, but looking back it was one of the best decisions I ever made. The minute I dropped out I could stop taking the required classes that didn't interest me, and begin dropping in on the ones that looked interesting.


It wasn't all romantic. I didn't have a dorm room, so I slept on the floor in friends' rooms, I returned coke bottles for the 5¢ deposits to buy food with, and I would walk the 7 miles across town every Sunday night to get one good meal a week at the Hare Krishna temple. I loved it. And much of what I stumbled into by following my curiosity and intuition turned out to be priceless later on. Let me give you one example:


Reed College at that time offered perhaps the best calligraphy instruction in the country. Throughout the campus every poster, every label on every drawer, was beautifully hand calligraphed. Because I had dropped out and didn't have to take the normal classes, I decided to take a calligraphy class to learn how to do this. I learned about serif and san serif typefaces, about varying the amount of space between different letter combinations, about what makes great typography great. It was beautiful, historical, artistically subtle in a way that science can't capture, and I found it fascinating.


None of this had even a hope of any practical application in my life. But ten years later, when we were designing the first Macintosh computer, it all came back to me. And we designed it all into the Mac. It was the first computer with beautiful typography. If I had never dropped in on that single course in college, the Mac would have never had multiple typefaces or proportionally spaced fonts. And since Windows just copied the Mac, its likely that no personal computer would have them. If I had never dropped out, I would have never dropped in on this calligraphy class, and personal computers might not have the wonderful typography that they do. Of course it was impossible to connect the dots looking forward when I was in college. But it was very, very clear looking backwards ten years later.


Again, you can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.


My second story is about love and loss.


I was lucky — I found what I loved to do early in life. Woz and I started Apple in my parents garage when I was 20. We worked hard, and in 10 years Apple had grown from just the two of us in a garage into a $2 billion company with over 4000 employees. We had just released our finest creation — the Macintosh — a year earlier, and I had just turned 30. And then I got fired. How can you get fired from a company you started? Well, as Apple grew we hired someone who I thought was very talented to run the company with me, and for the first year or so things went well. But then our visions of the future began to diverge and eventually we had a falling out. When we did, our Board of Directors sided with him. So at 30 I was out. And very publicly out. What had been the focus of my entire adult life was gone, and it was devastating.


I really didn't know what to do for a few months. I felt that I had let the previous generation of entrepreneurs down - that I had dropped the baton as it was being passed to me. I met with David Packard and Bob Noyce and tried to apologize for screwing up so badly. I was a very public failure, and I even thought about running away from the valley. But something slowly began to dawn on me — I still loved what I did. The turn of events at Apple had not changed that one bit. I had been rejected, but I was still in love. And so I decided to start over.


I didn't see it then, but it turned out that getting fired from Apple was the best thing that could have ever happened to me. The heaviness of being successful was replaced by the lightness of being a beginner again, less sure about everything. It freed me to enter one of the most creative periods of my life.


During the next five years, I started a company named NeXT, another company named Pixar, and fell in love with an amazing woman who would become my wife. Pixar went on to create the worlds first computer animated feature film, Toy Story, and is now the most successful animation studio in the world. In a remarkable turn of events, Apple bought NeXT, I returned to Apple, and the technology we developed at NeXT is at the heart of Apple's current renaissance. And Laurene and I have a wonderful family together.


I'm pretty sure none of this would have happened if I hadn't been fired from Apple. It was awful tasting medicine, but I guess the patient needed it. Sometimes life hits you in the head with a brick. Don't lose faith. I'm convinced that the only thing that kept me going was that I loved what I did. You've got to find what you love. And that is as true for your work as it is for your lovers. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And 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. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don't settle.


My third story is about death.


When I was 17, I read a quote that went something like: "If you live each day as if it was your last, someday you'll most certainly be right." It made an impression on me, and since then, for the past 33 years, I have looked in the mirror every morning and asked myself: "If today were the last day of my life, would I want to do what I am about to do today?" And whenever the answer has been "No" for too many days in a row, I know I need to change something.


Remembering that I'll be dead soon is the most important tool I've ever encountered to help me make the big choices in life. Because almost everything — all external expectations, all pride, all fear of embarrassment or failure - these things just fall away in the face of death, leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart.


About a year ago I was diagnosed with cancer. I had a scan at 7:30 in the morning, and it clearly showed a tumor on my pancreas. I didn't even know what a pancreas was. The doctors told me this was almost certainly a type of cancer that is incurable, and that I should expect to live no longer than three to six months. My doctor advised me to go home and get my affairs in order, which is doctor's code for prepare to die. It means to try to tell your kids everything you thought you'd have the next 10 years to tell them in just a few months. It means to make sure everything is buttoned up so that it will be as easy as possible for your family. It means to say your goodbyes.


I lived with that diagnosis all day. Later that evening I had a biopsy, where they stuck an endoscope down my throat, through my stomach and into my intestines, put a needle into my pancreas and got a few cells from the tumor. I was sedated, but my wife, who was there, told me that when they viewed the cells under a microscope the doctors started crying because it turned out to be a very rare form of pancreatic cancer that is curable with surgery. I had the surgery and I'm fine now.


This was the closest I've been to facing death, and I hope its the closest I get for a few more decades. Having lived through it, I can now say this to you with a bit more certainty than when death was a useful but purely intellectual concept:


No one wants to die. Even people who want to go to heaven don't want to die to get there. And yet death is the destination we all share. No one has ever escaped it. And that is as it should be, because Death is very likely the single best invention of Life. It is Life's change agent. It clears out the old to make way for the new. Right now the new is you, but someday not too long from now, you will gradually become the old and be cleared away. Sorry to be so dramatic, but it is quite true.


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 others' 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.


When I was young, there was an amazing publication called The Whole Earth Catalog, which was one of the bibles of my generation. It was created by a fellow named Stewart Brand not far from here in Menlo Park, and he brought it to life with his poetic touch. This was in the late 1960's, before personal computers and desktop publishing, so it was all made with typewriters, scissors, and polaroid cameras. It was sort of like Google in paperback form, 35 years before Google came along: it was idealistic, and overflowing with neat tools and great notions.


Stewart and his team put out several issues of The Whole Earth Catalog, and then when it had run its course, they put out a final issue. It was the mid-1970s, and I was your age. On the back cover of their final issue was a photograph of an early morning country road, the kind you might find yourself hitchhiking on if you were so adventurous. Beneath it were the words: "Stay Hungry. Stay Foolish." It was their farewell message as they signed off. Stay Hungry. Stay Foolish. And I have always wished that for myself. And now, as you graduate to begin anew, I wish that for you.


Stay Hungry. Stay Foolish.


Thank you all very much.


정말 이렇게 살아야 한다. 진정한 삶이라면....

WLS의 튜닝관련 문서들

Posted 2006. 10. 9. 10:59
Heap Stack 에 관련된 몇몇 문서

링크 1
링크 2
링크 3
링크 4

용량산정 관련
이밖에 하드 디스크의 WLS에 대한 Trouble Shooting Pattern참조 할것

세계시간

Posted 2006. 10. 5. 01:26

nextour Timer :
http://www.nextour.co.kr/Destination_Guide/WorldTime/main.asp

네이버 세계시간 :
http://search.naver.com/search.naver?where=nexearch&query=%B4%BA%BF%E5%20%BD%C3%B0%A3

이화여대 world Timer :
http://time.ewha.net/world_time/

가장 쓸만한 시계임 :
http://www.lbw.co.kr/acc/source/worldtime/worldtime.php

GMT Time
http://www.worldtimezone.com/
http://www.worldtimezone.com/time/wtzresult.php?CiID=7275&forma=24h

국제화의 개발이란 단순히 기술로 끝나지 않는다. 결국은 비지니스의 포션이 크며 어떻게 비지니스를 IT에 결합하며 IT가 어떻게 비지니스에 결합되어야 하는지에 대한 문제이기에 설계자및 기획자, UI설계자 DBA등 수많은 이해관계자가 관계있고 본다.
« PREV : 1 : ··· : 4 : 5 : 6 : 7 : 8 : 9 : 10 : ··· : 14 : NEXT »