포르테 4GL
Forte 4GLForté 4GL은 Forté Software가 개발하여 확장 가능하고 가용성이 높은 엔터프라이즈 애플리케이션을 개발하는 데 사용된 독점 애플리케이션 서버였습니다.
역사
Forté 4GL은 클라이언트/서버 애플리케이션을 개발하고 관리하기 위한 통합 솔루션으로 개발되었다.Forté 4GL은 애플리케이션 서버, 애플리케이션 배치 및 모니터링을 위한 도구, 객체 지향 전용 프로그래밍 언어인 TOOL(트랜잭션 객체 지향 언어)으로 구성된다.TOOL은 Forté 애플리케이션 서버에서만 실행된다는 점을 감안할 때, 많은 사용자는 단순히 "TOOL" 애플리케이션을 "Forté" 애플리케이션이라고 부른다.1994년 8월에 Forté 4GL의 첫 번째 발매가 출판되었다.이 초기 제품을 출시한 후, Forté Inc.는 다음과 같은 몇 가지 확장을 진행하였다.
- Web Enterprise - 리치 클라이언트 응용 프로그램이 웹 서버를 통해 화면을 게시할 수 있는 HTML-wrapper 인터페이스.
- Forte Express - 1995년 7월에 출시된 신속한 데이터베이스 GUI 인터페이스 키트.
- 지휘자 - 1997년 3월에 출시된 안무가 가능한 작업 흐름 엔진.
- Forté Fusion - XML 메시징을 사용하여 외부 시스템을 연결하고 컨덕터 엔진과 연결하기 위한 통합 백본.
1999년 Forté Software는 시너J라는 이름의 TOOL 대신 자바를 기반으로 한 Forte 버전을 출시하였고, "Forté for Java"라고도 불렸다.원래 TOOL 기반 제품과 마찬가지로 개발 IDE, 코드 저장소 및 런타임 환경으로 구성되었다.이 새로운 자바 제품은 회사를 인수한 선 마이크로시스템스가 관심을 가졌다.위에 열거한 TOOL 기반 확장은 함께 묶어서 IPlanet 사업부 산하의 UDS(Unified Development Server)와 IS(Integration Server)로 다시 브랜딩되었다.서버 모듈은 나중에 EAI(Enterprise Application Integration)로 함께 묶였다.
선씨는 이 제품의 수명을 연장하겠다고 선언해 향후 제품 개발을 계속할 계획이 없음을 시사했다.쑨양의 포르테 공식 지원은 2009년 4월에 끝났다.[1]
역량
엔터프라이즈 애플리케이션 개발 시스템인 Forté 4GL은 오라클, Sybase, 마이크로소프트 SQL 서버, Informix 및 DB2를 비롯한 다양한 관계형 데이터베이스 시스템과의 긴밀한 연계를 지원했다.이러한 연결은 TOOL 코드에 내장된 SQL이나 즉석에서 구축된 SQL을 통해 이루어질 수 있다.
그것은 또한 분산된 애플리케이션에 대한 지원도 가지고 있었다: 개발자는 특정 클래스의 인스턴스를 만들어 사용자 지정 서버에 배치할 것이다.인스턴스를 통해 메소드에 대한 호출은 네트워크를 통해 투명하게 전송될 것이다. 개발자는 호출이 어떻게 전송되는지에 대한 기본적인 세부사항을 알 필요가 없을 것이다.
프로그래밍 언어 도구
TOOL은 다음과 같은 특징을 가진 객체 지향 언어다.
- 쓰레기 자동 수거
- 참조 기반, 포인터 없음
- 단일 상속 및 인터페이스
- 멀티 프레임 프로그래밍 지원
- 데이터베이스 액세스를 위한 통합문
- 사건 처리
- 예외 처리
- GUI와의 강력한 통합
- 흔히 부르는 베이스 클래스.
Object
TOOL 코드는 대소문자를 구분하지 않는다.문장은 항상 세미콜론으로 종료된다.복합문은 키워드로 둘러싸여 있다.begin그리고end. 코멘트는 // 또는 --(줄의 리마인이 코멘트가 된다), /* … */로 표시된다.
데이터 유형
단순 데이터 유형:
- 부울
- 둥둥 뜨다
- 곱절로 하다
- 마를 뜨다
- 끈을 매다
- 정수 데이터 유형
- i1, ui1(서명/서명되지 않은 1바이트 정수)
- i2, ui2(서명/서명되지 않은 2바이트 정수)
- i4, ui4(서명/서명되지 않은 4바이트 정수)
- 정수(서명된 4바이트 정수, i4와 동일)
- 짧은(서명된 정수, 최소 2바이트, int와 동일)
- int (서명된 정수, 최소 2바이트)
- 긴(서명된 정수, 최소 4바이트)
해당하는 개체 데이터 유형은 다음과 같다(일부 예:
- BooleanData, BooleanNullable
- 정수데이터, 정수Nullable
- DoubleData, DoubleNullable
- TextData, TextNullable
배열은 키워드로 표시됨Array of배열의 첫 번째 요소는 1로 색인화된다.
가변 선언
이름 : 문자열 = 'John'; 결과 : 정수, dataArray : 정수 데이터 배열 = new;
조건문(if-statement, 사례문)
결과가 5100이면 ...그렇지 않으면 != 0이면 ...그렇지 않으면...if; case result is when 1 do .... when 2 do ....그렇지 않으면...종료 사례
반복, 루프스
1에서 10까지 2까지 ...하다.종료, data의 경우dataArray의 항목 수행...end for; k : 정수 = 2; k < 14 do ... k = k + 1; ends while;
이벤트
이벤트는 다음과 같은 문장으로 게시된다.
사후 EV_CustomerSet(id = 선택됨)ID);
이 성명은 명명된 이벤트를 게시한다.EV_CustomerSet. 이 사건에는 "id"라는 한 가지 인수가 있다.
이벤트는 이벤트 핸들러에 의해 처리된다(예:
이벤트 루프 사전 등록 GeneralHandler(); ... postregister waitTimer.IsActive = true; ... EV_CustomerSet(ID )가 수행되는 경우...waitTimer를 사용할 때.태스크 실행 종료 시 체크 표시()종료 실행 종료, 종료 이벤트;
예외처리
시작... UsageException(); ... e : UsageException이 작업을 수행할 때 예외 발생.ErrMgr.Clear(); ...아니면 ...올림; 끝;
멀티스레딩
다음과 같은 진술에 의해 새로운 실이 발사된다.start task report.Print();
