컴퓨터 ( 1002 ) 의 컴포넌트 의 각각 은 시스템 버스 ( 703 ) 를 사용 하 여 통신 할 수 있 다 . 몇몇 구 현예 에서 , 하드웨어 , 소프트웨어 , 또는 하드웨어 및 소프트웨어 의 조합 을 비롯 한 , 컴퓨터 ( 1002 ) 의 컴포넌트 중 임의 의 것 또는 모두 는 , 애플리케이션 프로그래밍 인터페이스 ( application programming interface ; API ) ( 1012 ) , 서비스 계층 ( 1013 ) , 또는 API ( 1012 ) 및 서비스 계층 ( 1013 ) 의 조합 을 사용 하 여 시스템 버스 ( 1003 ) 를 통해 인터 페이 싱 할 수 있 다 . API ( 1012 ) 는 루틴 , 데이터 구조 , 및 오브젝트 클래스 에 대한 명세 를 포함 할 수 있 다 . API ( 1012 ) 는 , 컴퓨터 언어 독립 형 또는 의존 형 중 어느 하나 일 수 있 으며 , 완전 한 인터페이스 , 단일 의 함수 , 또는 심지어 API 의 세트 를 가리킬 수 있 다 . 서비스 계층 ( 1013 ) 은 , 컴퓨터 ( 1002 ) 또는 컴퓨터 ( 1002 ) 에 통신 가능 하 게 커플링 되 는 다른 컴포넌트 ( 예시 되 든 또는 아니 든 ) 에 소프트웨어 서비스 를 제공 한다 . 컴퓨터 ( 1002 ) 의 기능 성 은 서비스 계층 ( 1013 ) 을 사용 하 는 모든 서비스 소비자 가 액세스 가능 할 수 있 다 . 서비스 계층 ( 1013 ) 에 의해 제공 되 는 것 과 같 은 소프트웨어 서비스 는 , 정의 된 인터페이스 를 통해 재 사용 가능 한 정의 된 기능 성 을 제공 한다 . 예 를 들 면 , 인터페이스 는 , JAVA , C ++, 다른 컴퓨팅 언어 , 또는 확장 성 마크업 랭 기지 ( eXtensible Markup Language ; XML ) 포맷 , 다른 포맷 , 또는 포맷 의 조합 으로 데이터 를 제공 하 는 컴퓨팅 언어 의 조합 으로 작성 되 는 소프트웨어 일 수 있 다 . 컴퓨터 ( 1002 ) 의 통합 된 컴포넌트 로서 예시 되 지만 , 대안 적 인 구 현예 는 , API ( 1012 ) 또는 서비스 계층 ( 1013 ) 을 , 컴퓨터 ( 1002 ) 의 다른 컴포넌트 또는 컴퓨터 ( 1002 ) 에 통신 가능 하 게 커플링 되 는 다른 컴포넌트 ( 예시 되 든 또는 아니 든 ) 와 관련 하 여 독립 형 컴포넌트 로서 예시 할 수 있 다 . 또한 , API ( 1012 ) 또는 서비스 계층 ( 1013 ) 의 임의 의 또는 모든 부분 은 , 본 개시 의 범위 를 벗어나 지 않 으면서 , 다른 소프트웨어 모듈 , 엔터 프라이즈 애플리케이션 , 또는 하드웨어 모듈 의 자식 ( child ) 또는 하위 모듈 로서 구현 될 수 있 다 .