posted by 써니루루 2007. 4. 10. 12:15
What is service-oriented architecture?

Service-oriented architecture (SOA) is a term that many different people use in many different ways. Most of the time, SOA refers to architecture for software systems in which services are the fundamental building blocks; that is what we mean by SOA in this book. This is a good, broad definition, but there are many shades of meaning when you start digging into the details of what someone means when they use the term. Sometimes people mean architectures based on web services, and others think that architectures such as CORBA and DCOM are examples of SOA.

Simply put, however, SOA refers to any system that exposes its functionality as services. The next question, naturally, is "what's a service?" We will turn to a metaphor to explain that one: think of services as a mechanical watch with hands, numbers, and an internal mechanism. The hands and numbers are the "interface," and the mechanism is the "code." To do more than simply tell timeto function as a stopwatch, for examplea watch would need additional components, such as mechanisms to start and stop the time, to display the elapsed time, and to reset the timer. Those operations are essentially simple services.

To be useful, the service orientation needs to exist everywhere across applications and systems. The emphasis here should be on the word across. As opposed to the old model of developing applications using proprietary languages, customized interfaces, and hard-wired packages of functionality, in a service-based world, composite applications are created using a potentially infinite combination of services drawn from these existing applications. It's critical that the service orientation be able to draw upon any application and any database in the system, or else the usefulness of the architecture is crippled from the very beginning.

SOA has led to the creation of many related terms, some that were created because of SOA and others that were given new life. The term loosely coupled, for example, refers to a property of systems in which the complexity of the system is partitioned inside a small number of building blocks that are connected in clearly defined ways. Loose coupling means that the building blocks do not depend on each other in complex ways and can easily be rearranged to meet new challenges. The idea of the service grid has also gained a lot of currency. A service grid is an infrastructure of many different services all designed to work together. Many terms such as these are being created every year as new ideas emerge.

SOA

posted by 써니루루 2007. 4. 10. 12:15
What is service-oriented architecture?

Service-oriented architecture (SOA) is a term that many different people use in many different ways. Most of the time, SOA refers to architecture for software systems in which services are the fundamental building blocks; that is what we mean by SOA in this book. This is a good, broad definition, but there are many shades of meaning when you start digging into the details of what someone means when they use the term. Sometimes people mean architectures based on web services, and others think that architectures such as CORBA and DCOM are examples of SOA.

Simply put, however, SOA refers to any system that exposes its functionality as services. The next question, naturally, is "what's a service?" We will turn to a metaphor to explain that one: think of services as a mechanical watch with hands, numbers, and an internal mechanism. The hands and numbers are the "interface," and the mechanism is the "code." To do more than simply tell timeto function as a stopwatch, for examplea watch would need additional components, such as mechanisms to start and stop the time, to display the elapsed time, and to reset the timer. Those operations are essentially simple services.

To be useful, the service orientation needs to exist everywhere across applications and systems. The emphasis here should be on the word across. As opposed to the old model of developing applications using proprietary languages, customized interfaces, and hard-wired packages of functionality, in a service-based world, composite applications are created using a potentially infinite combination of services drawn from these existing applications. It's critical that the service orientation be able to draw upon any application and any database in the system, or else the usefulness of the architecture is crippled from the very beginning.

SOA has led to the creation of many related terms, some that were created because of SOA and others that were given new life. The term loosely coupled, for example, refers to a property of systems in which the complexity of the system is partitioned inside a small number of building blocks that are connected in clearly defined ways. Loose coupling means that the building blocks do not depend on each other in complex ways and can easily be rearranged to meet new challenges. The idea of the service grid has also gained a lot of currency. A service grid is an infrastructure of many different services all designed to work together. Many terms such as these are being created every year as new ideas emerge.

2007. 4. 9. 21:06

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2007. 4. 9. 21:05

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

posted by 써니루루 2007. 4. 8. 22:39






먼저 쓸데없는 그림을 달아 놓았지만..
이 글과 전반적으로 관계가 있다고 생각한다.

먼저 이글을 쓰기 위해 참조한 주소를 아래 달아 놓았다.
http://link.allblog.net/3589502/http://engineered.egloos.com/1083711
먼저 한번 읽어보도록 하자  ^ ^

개발을 하다보면 너무나 방대한 코딩양에..
그리고 간단하지만 어디서 막힌 건지 모르는 특별한 상황에 봉착했을 때..

개발자의 머리속은 교착상태에 빠져 끝없는 무한루프를 돌고 있다.

이렇게 해결해야하는지 저렇게 해결해야하는지 먼저 무엇을 해결해야 하는지를 파악하지 않고,
무작정 '숫가락으로 땅을 파다보면 동전이 나올꺼야' 라는 무서운 생각으로 파고들기 시작한다.

이러한 개발은 좋지 않다고 생각한다.

어디를 먼저 봐야할지를 먼저 생각한다.
컴퓨터가 어떤 얘기를 하는지 먼저 듣는다.
컴퓨터가 얘기하는 말이 무엇인지 듣고 판단하는 사람이 개발자이다.
그러면 컴퓨터랑 주고받고 말하고 싸우고 타협하고 유창하게 말을 잘하려면
컴퓨터가 투정부리는 에러메시지를 잘 타일러서 해결해야하는 것이다.

항상 한줄 한줄의 컴퓨터에게 할 말을 적을때에는
컴퓨터가 투정부릴 수백가지의 상황을 먼저 생각하고,
완벽하게 설계된 구조를 머리속으로 이해해야하며,
그 후에 한줄한줄 컴퓨터에게 얘기하도록 하자.

많은 생각을 해서 적어내려간 아름다운 코드는
컴퓨터도 좋아하고, 투정부리는 일이 없을 것이다.
2007. 4. 8. 05:02

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2007. 4. 7. 16:37

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2007. 4. 7. 14:52

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

posted by 써니루루 2007. 4. 6. 11:19

 

.NET을 이용한 분산 응용프로그램의 작성

Duncan Mackenzie
Microsoft Developer Network

2002년 2월 갱신

요약: 이 기사는 MSMQ 메시지 대기열에 데이터를 읽고 쓰기 위해 .NET 프레임워크에서 제공하는 System.Messaging 클래스들의 사용 방법을 묘사하고 있습니다.

Bdadotnet_beta2.msi를 다운로드합니다.

목차

소개
대기열을 이용한 작업
   프로그래밍을 통한 대기열 생성하기
   대기열 삭제하기
메시지의 전송
   간단한 방법
   복합적인 방법
메시지의 수신
   Time-out 값 설정하기
   특정 포맷터 사용하기
결론

소개

비동기적으로 작업을 수행하는 것은 실행 결과를 기다리지 않고 실행하는 것입니다. 이러한 유형의 처리는 많은 시간을 요하는 작업과 실행이 끝날 때까지 기다리지 않고 다른 작업을 계속 해나갈 수 있도록 해줍니다.

사용자들의 요청이 긴 시간의 처리를 필요로 하지만 사용자에게 즉각적인 응답 처리를 제공하길 원하는 웹의 경우와 같이, 비동기 처리는 많은 상황에서 사용하기에 이상적입니다. 사용자의 요청을 비동기적으로 처리함으로써, 시스템은 요청이 실제로 실행하기에 얼마나 긴 시간이 소요되는지에 상관없이 응답할 수 있게 됩니다.

Microsoft® .NET 응용프로그램에 비동기 처리를 추가하기 위한 다양한 방법이 존재합니다. 예를 들어, Microsoft Exchange 2000 또는 Microsoft BizTalk 서버의 워크플로우 기능의 장점을 이용할 수 있을 것입니다. COM Interop을 이용해 COM+ 대기열을 사용하는 구성요소(Queued Component)를 이용할 수 있습니다. 또는 MSMQ 메시지 대기열을 이용해 직접 처리 작업을 수행할 수도 있습니다. 향후 진행될 아키텍처 중심의 주제 기사에서는 깊이 있게 이들 대안들을 비교할 것입니다.

BizTalk 과 COM+ 대기열을 사용하는 구성요소(Queued Component)에서 사용되는 MSMQ는 마이크로소프트 윈도우 NT 4.0 옵션 팩과 마이크로소프트 윈도우 2000 서버 버전의 일부분입니다. 윈도우 NT 4.0 워크스테이션, 윈도우 2000 프로페셔널, 윈도우 XP 프로페셔널 운영체제에서, 이 기사에서 다뤄지게 될 지역 개인 대기열(local private queue)를 액세스하기 위해 MSMQ를 이용할 수 있습니다. MSMQ를 이용해 응용프로그램은 데이터를 대기열에 위치시키도록 할 수 있습니다. 그리고 응용프로그램(다른 응용프로그램이던지 대기열에 데이터를 적재한 응용프로그램이던지 간에)이 데이터를 액세스할 때까지, 데이터는 대기열에 계속해서 유지될 것입니다. 실제로 작업을 동기적으로 처리하는 것에 비해 작업을 나타내는 메시지(예를 들자면, 처리할 주문정보 따위)를 대기열에 위치시킴으로써, 주 시스템은 단지 대기열에 게시할 때 요구되는 시간만큼만 지연시간이 발생합니다. 여러 다른 종류의 시스템은 메시지를 대기열에 게시할 수 있으며, 같은 메시지를 검색하도록 사용될 수 있습니다. 그래서 응용프로그램에 확장성을 제공할 수 있는 것입니다.

이 기사에서는, MSMQ를 이용한 작업을 하기 위해 .NET 프레임워크에 의해 제공되는 System.Messaging 클래스를 어떻게 사용하고, 응용프로그램에 비동기 워크플로우를 어떻게 추가할 수 있는지에 대해 설명할 것입니다.

이미 언급한 바와 같이, MSMQ는 윈도우 NT 4.0, 윈도우 2000, 윈도우 XP 프로페셔널에서 모두 사용 가능합니다. 그러나 이 예제에서는 MSMQ가 설치된 윈도우 2000 서버를 보유하고 있다고 가정할 것입니다. 이 기사에서의 예제들은 이 서버가 .NET 코드가 실행되는 장비와 같다고 가정할 것입니다. 그러나, 실제 시스템에서는 이 코드는 분리된 별도 서버에 위치한 메시지 대기열들에 연결해야 할 지 모릅니다.

대기열을 이용한 작업

메시지 대기열을 사용하기 전에 메시지 대기열을 설정할 수 있어야만 합니다. 이를 위해서, 응용프로그램에서 유일무이하고 일관성 있게 대기열을 묘사하는 방법이 필요합니다. .NET은 특정 대기열을 액세스 하기 위한 세가지 다른 방법을 제공합니다.

posted by 권오성의 Biomedical Engineering 2007. 4. 5. 13:29

하루에 물 8잔 잘못된 속설?

‘아는 것도 병이다.’

미국 이스턴워싱턴 대학의 웬디 리포비치 운동생리학 교수는 “건강을 위해 계란을 먹지 말고 하루에 물을 8잔 마시라는 등 오래 전부터 권고되던 방법들은 잘못된 속설일 뿐”이라고 지적했다고 로이터통신이 3일 보도했다.

‘계란을 먹으면 혈중 콜레스테롤 수치가 올라가 위험하다’는 것은 계란 노른자에 콜레스테롤이 많이 농축되어 있기 때문에 나온 속설이다. 그러나 하루에 계란 1~2개를 먹는 것은 혈중 콜레스테롤 수치에 아무런 영향이 없다.

또 ‘탄수화물은 비만의 주범’이라는 것도 근거가 없다. 탄수화물 섭취량을 줄이면 체내에 저장된 탄수화물이 줄어들며 그만큼 수분도 감소, 일시적으로 체중이 줄어드는 효과가 발생할 수 있다. 그러나 적당량의 탄수화물을 섭취한다고 곧바로 체중이 늘어나는 것은 아니다.

‘하루 물을 8잔 마셔라’는 충고 역시 때론 위험하다. 지나치게 많은 물을 마실 경우, 저나트륨혈증으로 체내 나트륨 불균형을 가져올 수 있다. 호흡, 배뇨, 땀으로 손실되는 수분을 보충해 줄 필요는 있지만 하루 수분 손실량이 8잔까지 되지는 않는다. 게다가 사람들은 식사 등을 통해 모르는 새 수분을 섭취하고 있다.

‘누구나 비타민제를 복용해야 한다’는 것도 속설에 불과하다. 각종 과일, 채소, 저지방 낙농식품 등을 먹고 적절한 칼로리를 섭취하는 사람들에게는 비타민제가 필요없다. 리포비치 교수는 그러나 “올바른 식생활을 유지하는 사람은 많지 않기 때문에 대부분 사람들에게는 간단한 비타민제가 유용할 수 있다”고 덧붙였다.

〈박지희기자violet@kyunghyang.com〉

- 대한민국 희망언론! 경향신문, 구독신청(http://smile.khan.co.kr) -

ⓒ 경향신문 & 미디어칸(www.khan.co.kr), 무단전재 및 재배포 금지