2009-03-26 9 views
0

엔터프라이즈 비즈니스 응용 프로그램의 기본 요소에는 무엇이 있습니까? 나는에 재사용 가능한 구성 요소의 여러 응용 프로그램 공유에 대해 생각하고 있어요 : 재 구축 대규모 개발에서 가장 중요한 인프라 구성 요소는 무엇입니까?

  • 실패의 주요 사항을 최소화하여 안정적인 인프라를 제공 제거함으로써

    1. 규모까지 빠른
    2. 속도 개발

    • loggin에 : ​​개념의

      몇 가지 예는 내가 중앙 집중화/표준화 성공을 보았다

  • 답변

    1

    나는 팀이 동일한 모양을 유지하고 응용 프로그램 (들)을 통해 느낄 수 있도록 GUI 위젯을 추가 할 것

  • 일정을 대기 g
  • .

    또한 여러 팀이 어떤 지점에서 함께 연결될 하위 시스템에서 작업해야하는 대규모 프로젝트에서 유사한 하위 시스템을위한 디자인 패턴 집합은 매우 중요합니다.

    또한 공용 유틸리티가 필요할 때 사용할 수있는 공통 라이브러리 세트를 만드는 것이 좋습니다 (또는 Boost를 채택한 C++에서 더 좋음).

    초기 샘플을 사용하여 테스트 프레임 워크를 만들 수도 있습니다. 서브 시스템을 테스트하기위한 템플릿을 가지고 있다면 사람들이 그것을 사용할 것이라는 것을 발견했습니다. 초기 테스트 프레임 워크가 없으면 모든 극단의 개발자 테스트를 수행해야합니다.

  • 0

    하지 완전히 인프라 공간 :

    • 정의 논리적 데이터 모델.
    • 정의 된 비즈니스 프로세스 (엣지 케이스의 범위 포함).

    이 없으면 동일한 고객에 대해 일련의 응용 프로그램 개발이 활성화됩니다.

    • 그들 모두를 사용하는 응용 프로그램의 요구에 적합하게 선반 떨어져 있어야한다 스케줄링에게

    이 대기열

  • 를 기록. 예 : J2EE 구축 애플리케이션을위한 로깅 솔루션은 .NET과는 다릅니다. (중요한 기업 단일 문화는 그 자체로 문제가 될 수 있습니다.)

  • 1

    구성 요소를 말할 때 코드 구성 요소 또는 인프라 구성 요소를 의미합니까? 코드보다는 인프라 (지원 서비스 및 프로세스)가 품질, 속도 및 개발 용이성에 가장 큰 이점을 제공한다고 주장합니다. 예제는 현재 대부분의 언어의 표준 라이브러리에 있거나 아주 응용 프로그램/유스 케이스별로 다릅니다.

    나는 또한 모든 버전 개발에 필수적인 버전 관리가 주어진 것으로 가정합니다.

    은 내가 가장 중요한 인프라가 연속 빌드/자동화 된 테스트 될 것이다라고 말하고 싶지만. 이를 통해 사람들은 원하는 코드를 작성하고 체크인하고 모든 사람들과 함께 작동하는지 확인할 수 있습니다.

    두 번째로 중요한 것은 공용 라이브러리입니다. 이것들은 사람들이 더 빨리 개발할 수있게하고, 모양, 느낌 및 디자인을위한 표준 (희망적으로 좋은)을 수립합니다. 공통 라이브러리가 많이 사용됨에 따라 연속 빌드의 중요성이 커집니다. 그 중 작은 변경으로 인해 회귀가 발생할 수 있기 때문입니다.

    일반적인 라이브러리에 대한 한 가지 문제는 디자인에 많은 노력이 필요하므로 재사용 할 가치가 있으며 그 시점까지 도달하는 데 시간이 오래 걸립니다. 대부분 프로젝트와 관련하여 특정 작업을 시작한 다음 프로젝트를 해킹 한 후 분기 작업을 수행 한 다음 복사하여 붙여 넣습니다. 잠시 후 아마도 누군가가 코드를 감사하고 공통 위치로 병합을 시작합니다. 공통 라이브러리를 업그레이드하고 한 번에 두 가지 버전을 사용하는 방법 (또는 경우)을 계획해야합니다. 또 다른 숨겨진 단점은 단기간에 더 빨리 개발할 수 있지만 장기간에 개발을 방해한다는 것입니다 (예 : 타사 라이브러리의 경우 더욱 그렇습니다).

    세 번째는 빌드 도구입니다. 이는 어떤 식 으로든 코드를 작성, 체크 아웃, 검색 및 기타 방식으로 상호 작용하는 것을 단순화하는 공통 도구를 의미합니다. 패치를 제출할 때 자동으로 표시되는 버그를 표시하거나 의존성이 변경된 지속적인 빌더에게 알리거나 테스트 제출 전에 테스트를 자동으로 실행하여 테스트를 쉽고 빠르게 실행할 수있게합니다.

    네 번째는 밀폐형 빌드 도구입니다. 이것은 빌드 도구의 간단한 확장입니다. 즉, 앱 자체가 포함되어 있음을 의미합니다. 이것은 1) 기계 재사용이 더 쉽고, 더 중요하게 2) 개발자가 시작하기에 매우 쉽다 - 추가 라이브러리를 설치하거나/etc에있는 내용을 변경하거나 그 라이브러리에 무언가를 설정할 필요가 없다. 환경 - 그것은 단지 구축하고 실행합니다. 내가 생각할 수있는

    다른 어떤의 :

    • 모니터링 : 모든 같은 모니터링 방법을 사용하는 경우, 다음 사람들이 블랙 박스에없는 공통 라이브러리를 모니터링 할 수 있습니다. 또한 모든 데이터가 한 곳에 있기 때문에 문제를 쉽게 식별 할 수 있습니다.
    • 로그 저장소 : 로그를 그루핑하고 그루핑하는 것은 쉽지 않습니다. 모든 로그를 구조화 된 형식으로 저장하는 중앙 집중식 장소를 사용하면 문제를 쉽게 찾고 찾을 수 있습니다.
    • 지점 관리 : 대규모 프로젝트에서 개발자가 서로의 발가락을 밟지 않고도 개발자를 개발하고 테스터 테스트 및이 방출이 가능합니다.
    관련 문제