상세 컨텐츠

본문 제목

아키텍쳐, 프레임웍크, 플랫폼 그리고, ERP

ERP(전사적자원관리)/용어

by steve vai 2011. 2. 26. 10:51

본문


ERP 위주로 정보 시스템이 구성이 되어야 하는 것이 정설이다.

각 사업자마다 자신의 솔루션부터해야 한다고 노래를 부르지만 본인은 ERP를 먼저하는 것이 맞다고 생각한다. 
하지만, 별로 좋지 않는 기반의 ERP라면 차라리 연계를 고려한 확장은 생각하지 마라고 말하고 싶다.

기업이나 어떤 조직을 운영하는 단위는 모든 것이 돈과 연계가 되어 있어야 한다.

그룹웨어, POP, MES, CRM, SCM, PDM 등의 모든 시스템을 바라 보는 시각의 차이는 있겠지만 실적을 바라 보는 시각은 늘 비용과 원가에 기인해 있어야 한다.

많은 시스템이 연계가 되고 개발을 어떻게 해야할지 어떻게 운영을 할지 고민이 된다면 

시스템을 바라보는 단위를 세가지로 나누어서 보면서 방법을 찾아가는 것이 좋을 것 이다.



- 아키텍처 - 

시스템을 관리하는 입장이라면 다양한 업체에서 다양한 솔루션을 통해서 시스템을 관리해야 하는 입장에서 잘 정리가 되어야 하는 부분이다. 
(물론, 하드웨어의 구성 및 개통도를 포함해서 관리해야하는 것이 맞을 것 이다.)

인터페이스 구성도 같으로 표현할 수 있다.

다른 사람에게서 잘 표현할 수 있어야 하고 설명이 필요하다면 아키텍처만 가지고도 충분히 설명 할 수 있어야 한다.



- 프레임워크 -

개발 구조이기는 하지만 MS와 같은 개발사에서 제공하는 것보다 더 쉬워야 하고 ERP에 맞는 제품을 써야 한다. 이는 개발 기득권과도 아주 밀접한 관련이 있다. 그렇다고 너무 쉽다면 확장성과 자율성이  없는 개발툴이라면 문제가 있다. (물론, 멀티 플랫폼을 지원하는 제품을 찾아보기는 힘들지만 ...) 

쉬운 컴포넌트의 조합만으로도 프레임워크라고 할 수 있고

클래스의 사용 규칙, DB Naming Rule 등을 기법적인 면이기는 하지만 프레임워크라고 볼 수 있다.

어떤 사람이 개발을 하더라도 비슷하거나 같은 결과를 만들 수 있는 기반을 이야기 한다.



- 플랫폼-

통상 기반이라는 것으로 이야기 되고 있는 단위이다.
하지만, 우리가 살펴봐야 할 것은 어떤 플랫폼이 우리에게 행복을 줄 것이냐는 것이다.
어떤 가격으로 꼭 어떤 특정한 사람이 아니더라도 다룰 수 있어야 하고  ...

OS 및 Hardware 기반
Unix 기반 : 성능은 좋다. 가격은 비싸다. 유지보수 비용이 비싸다.
Windows 기반 : 성능은 나쁘지 않다. 가격은 다소 저렴하다. 유지보수 비용이 다소 저렴하다.
Linux 기반 : 성능은 좋다. 관리할 사람이 시장에 없다. 가격은 싸다.

S/W 기반
Java 기반 : 사람 구하기가 힘들다. (SI산업으로 많이 빠져 있다.) 인건비가 비싸다.
.net 기반 : 사람 구하기는 다소 쉽다. 개발이 용이 하다.  


어떤 쪽이 좋다 나쁘다. 말을 할 수 없지만 ....

결론을 이야기 한다면 
안정적인 아키텍쳐,
개발하기 편리한 프레임워크,
적절한 비용과 유지보수에 용이한 플랫폼
이 최상의 선택기준이 되지 않을 싶다.



 
  

- 아키텍처: 소프트웨어의 주요 설계 구조
 
소프트웨어의 주요 특징들을 결정짓는 주요 설계 구조이다.
즉, 소프트웨어의 주요 구성 요소 및 구성, 이들간의 주요 인터페이스, 중요 동작 방식 등 소프트웨어의 주요 특징들을 결정짓는 모든 설계 구조를 포함한다.

소프트웨어의 주요 특징을 결정짓고 소프트웨어 개발에 미치는 영향도 매우 커서 소프트웨어 개발에 있어서 가장 중요한 부분이라고 할 수 있다.지원 프로그램, 라이브러리, 언어, 다른 소프트웨어 구성 요소 등과 같이 구체적인 구현을 포함하지 않는다는 점에서 프레임워크나 플랫폼과는 명확히 구분된다.

Bordeaux HDR
Bordeaux HDR by mescon 저작자 표시
 

- 프레임워크: 소프트웨어 뼈대 구조
 
프레임워크는 다른 소프트웨어 프로젝트가 개발될 수 있는 뼈대 구조이다.지원 프로그램, 라이브러리, 언어, 
다른 소프트웨어 구성 요소들을 엮어 주는 소프트웨어 등을 포함하고 있다.따라서, 플랫폼도 프레임워크의 일종이라고 볼 수 있으며, MS사에서 닷넷 플랫폼을 닷넷 프레임워크라고 지칭하는 것도 틀린 것이 아니다.또한, UI 프로그램 개발을 위한 부분 만을 떼어내서 프레임워크라고 할 수도 있다.UI 프로그램 개발을 위한 부분 만으로는 완전한 소프트웨어 실행 환경이 되지 않으므로 플랫폼은 아니지만 프레임워크이다.이러한 점에서 프레임워크와 플랫폼은 다른 경우가 많다.

Expo2008: Squared & Diagonal
Expo2008: Squared & Diagonal by tochis 저작자 표시비영리


- 플랫폼: : 소프트웨어 실행 환경

 
가장 일반적이면서도 명료한 의미는 "소프트웨어가 실행되는 환경"이다.개발 언어나 개발 환경을 플랫폼에 포함시키기도 하지만 이는 부수적 개념 혹은  확장된 개념에 불과하고, 핵심은 "소프트웨어가 실행되는 환경"이다.

각 프로그램은 아무 플랫폼에서나 실행되는 것이 아니고 특정 플랫폼에서만 실행된다.
일반적으로, O/S는 모두 플랫폼이다. Windows는 윈도우즈 프로그램만을 실행시킬 수 있는 플랫폼이고, 리눅스는 리눅스 프로그램만을 실행시킬 수 있는 플랫폼이다.자바 런타임 환경도 플랫폼이다.자바 프로그램은 O/S에 대한 종속성은 거의 없고 자바 런타임 환경없이는 실행되지 않으므로 자바 런타임 환경을 주요 플랫폼으로서 필요로 한다.마찬가지로 닷넷 프로그램도 닷넷 런타임 환경없이는 실행되지 않으므로 닷넷 런타임 환경이 플랫폼이 된다.AJAX 기술을 사용하여 개발된 웹 컨텐츠 + 웹 클라이언트 스크립트는 웹(좀 더 정확히는 웹 브라우저 및 웹 서버) 없이는 실행되지 않으므로 웹을 플랫폼으로 한다.VBA(Visual Basic for Application) 프로그램과 MS 오피스 COM API를 사용하는 프로그램은 MS 오피스가 없으면 실행되지 않으므로 MS 오피스를 
플랫폼으로 한다.

Salaryman waiting on the Bullet Train
Salaryman waiting on the Bullet Train by Stuck in Customs 저작자 표시비영리동일조건 변경허락

플랫폼은 플랫폼위에 다른 플랫폼을 구축할 수 있는 계층적 구조를 가질 수 있다.가령, 자바 프로그램은 자바

런타임 환경이라는 플랫폼에서 실행되지만 그 플랫폼 자체는 O/S 플랫폼 계층 위에서 실행되는 프로그램에 불과하다.웹 플랫폼에 해당하는 웹 브라우저 또한 O/S 플랫폼 계층 위에서 실행되는 프로그램에 불과하다.VBA 프로그램의 플랫폼인 MS 오피스 프로그램 또한 O/S 플랫폼 계층 위에서 실행되는 프로그램에 불과하다.이들 각 계층의 각 플랫폼은 자신만의 실행 엔진과 API 및 개발 환경을 제공하며, 다른 플랫폼에 대한 부분적 접근을 허용하기도 한다.

또한, 각 플랫폼 내부는 또 다시 여러 계층으로 이루어진 구조를 갖는다.
이는 소프트웨어 구조가 그만큼 계층화되고 복잡해지고 있음을 의미한다.
역설적이지만, 소프트웨어 구조가 이렇게 다양해지고 복잡해지는 이유는 다양하고 복잡해지는 요구를 보다 적절히 만족시키기 위한 효과적인 방법이기 때문이라고 볼 수 있다.
따라서, 각 플랫폼은 나름대로의 가치와 적정 용도가 있으므로 프로그램이 성공적(경쟁 제품, 서비보다 저렴하게 개발하거나 보다 고품질을 제공하는 등)이기 위해서는 프로그램 개발 전에는 개발 목적에 가장 적합한 플랫폼을 선정하고 프로그램 개발중에는 플랫폼의 잇점을 최대한 살리는 것이 중요해진다.
그렇지 않은 제품 혹은 서비스는 경쟁력이 떨어질 수 밖에 없다. 
물론, 단순하지 않은 제품/서비스에 적합한 플랫폼의 선정은 다루어야 하는 이슈가  많기 때문에 매우 어려운
문제이다.

[아키텍쳐, 프레임웍크, 플랫폼 출처 : 인터넷에서인데 정확히 기억이 안나네요. 문제되면 삭제하겠습니다.]





관련글 더보기