JADE(프로그래밍 언어)

JADE (programming language)
Jade Software Corporation 로고

JADE는 뉴질랜드에 본사를 둔 Jade Software Corporation의 독점적인 객체 지향 소프트웨어 개발 및 배치 플랫폼 제품으로, 1996년에 처음 출시되었다.[1][2] JADE 프로그래밍 언어, 통합 개발 환경디버거, 통합 애플리케이션 서버객체 데이터베이스 관리 시스템으로 구성된다.

시스템을 데이터베이스 서버에서 클라이언트에 이르기까지 하나의 언어로 코딩할 수 있도록 엔드 투 엔드 개발 환경으로 설계되었으며, 를 포함한 다른 언어의 API도 제공한다.NET Framework,[3] Java, C/C++ 및 웹 서비스.

개발에는 무료 한정 라이선스가 제공되지만, JADE 플랫폼을 사용하려면 프로세스별 수수료를 지불해야 한다.

언어

구문에서, JADE는 파스칼과 매우 비슷하다; 그것의 구문은 파스칼에서 파생된 모둘라-2 언어를 기반으로 한다. 파스칼이나 모둘라-2에 부족한 혁신을 포함하고 있지만, C#, 자바와 같은 다른 현대적인 객체 지향 언어의 특정한 특징이 부족하다.[4]

JADY는 LINC 4GL 프로그램을 수입하여 운영할 수 있으며, 초기에는 핵심 역할을 담당하였다.

프로그래밍 모델

데이터베이스 기반 소프트웨어를 만드는 데 사용되는 다른 모든 인기 프로그래밍 언어와 마찬가지로, JADE는 완전히 객체 지향적이다. JADE는 객체 지향 프로그래밍의 가장 중요한 특징을 모두 갖도록 설계되었지만, 방법이나 연산자의 과부하를 지원하지 않고, Jade 2018에는 매개변수화된 생성자가 부족할 때까지.[4]

JADE의 수업은 스키마에 함께 보관된다. 스키마는 의 Java 패키지 또는 네임스페이스와 동일한 목적을 제공한다.NET, 그러나 계층이 있으며 슈퍼쉐마에서 클래스를 상속받으십시오. 이것은 특히 모델-뷰-컨트롤러 방법론을 사용하여 프로그래밍할 때 유용하게 쓰이게 되는데, 모델 클래스를 하나의 스키마에 넣을 수 있고, 그 다음 컨트롤러와 뷰 클래스를 서브쉐마에서 모델 클래스 위에 구축할 수 있기 때문이다.

프로그램 구조

JADE 프로그램은 프로그래머들이 시각적으로 클래스를 만들고 그들의 특성과 방법을 정의할 수 있는 사용자 인터페이스를 이용하여 개발된다. 대형 파일에서 메서드를 찾는 대신, 프로그래머는 편집할 메서드를 선택하고 특정 메서드에 대한 코드만 표시된다. 또한 프로그램의 모든 코드를 한 번에 종합하는 대신, JADE에서는 각 방법을 방법이 완성되는 즉시 개별적으로 컴파일하여 코드를 즉시 확인할 수 있다.

JADE 애플리케이션의 모든 코드는 객체 지향 데이터베이스에 저장된다. 이것은 데이터베이스가 동시성 제어를 유지함에 따라 다중 사용자 개발을 허용하며, 코드의 각 조각이 데이터베이스의 별도 객체로서, 변경되는 시스템의 부품이 사용되지 않는 한, 라이브 및 온라인 상태에서 시스템을 리코딩하는 것이 종종 가능하다.

특징들

JADE의 주요 목표는 개발자들이 데이터베이스 서버, 애플리케이션 서버, 프리젠테이션 클라이언트를 위해 세 개의 애플리케이션을 별도로 작성해야 하는 대신 엔드 투 엔드 방식으로 이동하는 하나의 애플리케이션을 만들 수 있도록 매끄럽게 통합된 프로그래밍 언어를 만드는 것이었다.r

객체 데이터베이스

JADE와 다른 객체 지향 프로그래밍 언어의 가장 두드러진 차이점은 객체 데이터베이스가 언어의 고유 부분이라는 것이다. 예를 들어, JADE에서 객체를 만들 때 일시적이거나 영구적인 객체를 만들 수 있다. 객체를 과도상태로 만드는 것은 다른 객체 지향 프로그래밍 언어로 객체를 만드는 것과 비슷하다. 즉, 객체는 단순히 메모리에서 만들어진 후 프로그램이 종료될 때 분실된다. 반면에, 어떤 물체가 지속해서 생성될 때, 프로그램이 종료될 때, 그 물체는 여전히 존재하고 다음에 프로그램이 시작될 때 그곳에 있을 것이다. 그래서, 어떤 물체가 영구적일 때, JADE는 필요할 때 자동으로 백그라운드에서 그 물체를 저장하고 데이터베이스에 불러온다. JADE는 객체 캐싱과 캐시 정합성을 자동으로 처리하여 여러 공동 운영 서버에 영구 객체를 배포할 수 있다.

일시적 객체와 영구적 객체를 조작하는 것 사이에는 차이가 거의 없기 때문에 JADE는 전체 데이터베이스의 모든 객체가 로컬 메모리에 있는 것처럼 프로그래머에게 그것을 나타내도록 한다. 대부분의 경우 JADE의 객체 지향 데이터베이스는 다중 사용자 시스템에서 사용되기 때문에 JADE는 다른 컴퓨터에서도 시스템에 연결된 모든 사용자가 접근할 수 있는 공유 메모리에 데이터베이스의 모든 객체가 저장되어 있는 것처럼 프로그래머에게 나타나게 한다.

데이터뿐만 아니라 모든 프로그램 코드가 데이터베이스 서버에 중앙 집중화되면 모든 클라이언트 노드를 데이터베이스 서버에서 실행 중인 것처럼 프로그래밍할 수 있다.

JADE의 데이터베이스는 본질적으로 객체 지향적이고, AID를 준수하며, 원자성 트랜잭션, 잠금, 롤백, 충돌 복구와 같은 모든 표준 기능과 하나 이상의 보조 데이터베이스 서버를 백업, 재해 복구 및 성능상의 이유로 메인 데이터베이스와 동기화하는 기능을 가지고 있다.

보고, 비즈니스 인텔리전스데이터 웨어하우스 목적을 위한 관계형 데이터베이스와 상호 운용하기 위해, 2010년부터 JADE는 본래의 객체 지향 데이터베이스의 객체를 하나 이상의 관계형 데이터베이스로 자동 복제할 수 있는 「관계형 인구 서비스」를 제공하고 있다. 이 기능은 Microsoft SQL Server 버전 2000, 2005 및 2008을 지원한다.

삼단모형

데이터베이스 기반 소프트웨어, 애플리케이션은 데이터 스토리지, 프로세싱 및 프리젠테이션의 세 계층으로 분할되어 3계층 방법론을 사용하는 경우가 많음 데이터 스토리지 및 처리 계층에서 JADY 시스템은 노드라고 하는 공동 운영 서버의 집합체로서, 각 계층에 복수의 노드가 관여할 수 있다. 노드 유형마다 이름이 다르고 모두 객체를 조작하고 사업 논리를 실행할 수 있다. 노드 모음은 하나 또는 여러 시스템에 배포할 수 있다. 데이터베이스 서버는 데이터 저장소를 처리하고 비즈니스 논리도 실행할 수 있으며, 애플리케이션 서버는 처리를 처리한다. 3계층 모델에서 프레젠테이션 클라이언트는 사용자 인터페이스를 제공한다. JADE는 또한 애플리케이션 서버와 프리젠테이션 클라이언트의 능력을 결합한 2단계 클라이언트를 제공한다. 전통적으로 이 세 계층은 세 개의 프로그램을 결합하여 하나의 시스템을 형성하도록 통신함으로써 생성되었다. 이렇게 서로 다른 프로그램을 분리하는 것은 여러 가지 장점이 있는데, 중요한 것은 시스템이 확장 가능하다는 것, 즉 시스템의 파워를 높이는 것은 단순히 노드를 더 추가하는 것을 수반한다는 것이다.

이와 같은 시스템을 설계하는 것은 프로그래머가 특정한 기능에서 코드화를 원할 때마다 고려해야 할 결정을 하게 한다. 그들은 코딩을 시작하기 전에 기능이 데이터베이스 서버, 애플리케이션 서버 또는 프리젠테이션 클라이언트에서 가장 잘 실행될 것인지 결정할 필요가 있다. 일단 기능이 계층 중 하나로 코드화되면 그 결정을 바꾸기가 어려울 것이기 때문이다.

이는 JADE 애플리케이션에서 엔드 투 엔드 애플리케이션으로 코드화되기 때문에 다르다. JADE 응용프로그램을 만들 때 프로그래머는 마치 데이터베이스 서버에서 실행될 프로그램을 만드는 것처럼 생각할 수 있다. 마치 모든 데이터 저장, 처리 및 프리젠테이션이 하나의 컴퓨터에서 일어나고 있는 것처럼 말이다. 프로그램이 3개의 계층에서 실행되면 JADE는 애플리케이션 서버에서 모든 코드를 기본적으로 실행하고 데이터베이스 서버와 사용자 인터페이스 정보를 프레젠테이션 클라이언트로 전송하는 것을 자동으로 알게 된다. 그러나 프로그래머는 특정 메서드가 실행되는 위치를 전환하여 메서드 시그니처를 변경하여 다른 계층으로 이동하는 것이 매우 쉽다. 이 때문에, 특정 코드의 일부를 실행할 장소에 대한 결정은 개발 주기에 늦게 이루어질 수 있고, 시스템의 다른 부분에서 실행될 리팩터링 코드는 JADE가 소프트웨어의 엔드 투 엔드 개발을 허용하는 방식 때문에 훨씬 쉬워진다.

클라이언트 유형

프로그래머들은 세 종류의 클라이언트가 JADE 시스템에 접속할 수 있도록 하는 시설을 가지고 있다. 다음 세 가지 유형의 클라이언트가 명명됨:

  • JADE 폼스
  • HTML 문서
  • 웹 서비스

동일한 스키마에서, JADE 개발자는 동일한 데이터베이스에 접근하기 위해 다른 인터페이스를 제공할 수 있는 많은 완전히 다른 응용프로그램을 만들 수 있다.

JADE 폼스

JADE Forms 애플리케이션은 이름에서 알 수 있듯이 양식으로 구성된다. 고객은 JADE Smart Thin Client 또는 Standard Client를 통해 연결해야 JADE Forms를 사용하는 애플리케이션을 실행할 수 있다.

스마트 씬 클라이언트는 애플리케이션 서버에 연결하여 작동하며, 애플리케이션 서버는 일반적으로 스마트 씬 클라이언트를 대신하여 모든 처리를 수행하므로 씬 클라이언트는 양식을 표시하고 입력만 하면 된다. 즉, 씬 클라이언트를 실행하는 컴퓨터는 매우 강력한 컴퓨터일 필요가 없으며 데이터베이스에서 데이터를 로드하지 않으므로 빠른 네트워크 연결이 필요하지 않다는 것을 의미한다. – JADE 씬 클라이언트는 종종 전화 접속 연결을 통해 실행된다. 이러한 클라이언트를 실행하기 위한 계산 능력이 크게 요구되지 않기 때문에 씬 클라이언트라고 불리는 이유다.

Standard Client는 한 시스템의 Application Server와 결합된 Smart Thin Client일 뿐이다. 이 경우 클라이언트를 실행하는 노드는 프리젠테이션뿐만 아니라 모든 처리를 한다. 표준 클라이언트는 자체 처리뿐만 아니라 데이터베이스에서 데이터를 로드해야 하기 때문에 씬 클라이언트보다 연산 능력에 대한 요구가 크다.

JADE Forms를 사용할 경우의 이점은 다음과 같다.

  • 세 종류의 고객 중 JADE Forms는 JADE 응용 프로그램의 개발 시간이 가장 짧다.
  • 개발자가 동일한 기술을 엔드 투 엔드 방식으로 사용할 수 있도록 허용
  • 스마트 씬 클라이언트는 몇 번의 클릭으로 클라이언트 컴퓨터에서 설치 및 실행할 수 있도록 패키징할 수 있다.

단점은 다음과 같다.

  • 월드 와이드 웹에서 가능한 한 전 세계 시청자들에게 다가갈 수 없다.

그러나 JADE Forms는 그들에게 흥미로운 반전을 가지고 있다. 실제로 웹 브라우저를 통해 JADE Forms 애플리케이션을 웹 지원 모드로 변경하여 실행할 수 있다. 이렇게 되면 JADE는 자동으로 HTML 코드를 생성해 코드 수정 없이 형태와 컨트롤을 닮은 페이지를 만든다. 이것은 HTML과 다른 웹 기술을 가지고 있지 않은 프로그래머들이 웹을 통해 프로그램을 제공하는 매우 빠른 방법이다.

HTML 문서

JADE는 HTML 문서 기능을 통해 웹으로의 애플리케이션 배치를 지원한다. 이것들은 ASP와 매우 유사하게 작동한다.개발자가 HTML 페이지의 템플릿을 만들고 프로그램이 작성할 템플릿에 부품을 남겨두는 NET.

HTML 문서를 사용할 때의 이점은 다음과 같다.

  • 응용 프로그램이 전 세계 청중에게 전달되도록 허용한다.

단점은 다음과 같다.

  • JADE 응용프로그램이 HTML 문서를 사용할 때, 그들은 더 이상 처음부터 끝까지 동일한 기술을 사용하지 않는다. 예를 들어 시스템의 앞쪽 끝에서 확인하는 것은 자바스크립트를 통해 이루어질 수 있다.
  • 일부 프로세싱을 프런트엔드 클라이언트로 오프로드하는 것은 더 이상 쉽거나 안전하지 않다.

웹 서비스

웹 서비스는 서로 다른 프로그램들이 객체 지향적인 형태로 원격지에서 서로 통신할 수 있도록 하기 위해 사용된다. 웹 서비스는 인간 사용자가 직접 접속할 수 없다. JADE와 함께 웹 서비스를 사용하는 방법 중 하나는 와 같은 다른 기술을 허용하는 것이다.JADE를 백엔드 객체 지향 데이터베이스로 사용하기 위한 NET 또는 Java. 또한 웹 서비스는 JADE 시스템이 다른 비 JADE 시스템이 제공하는 서비스와 상호운용할 수 있도록 한다.

상호운용성

JADE는 웹 서비스 외에도 언어 API(포함)를 통해 다른 프로그램과의 인터페이스도 가능하다.NET, Java, C/C++), DLL 호출, ActiveX/COM 개체 및 .NET 조립품. 이것은 다른 프로그램들이 오브젝트에 접근하고 메소드를 실행할 수 있도록 하며, JADE 애플리케이션에 다른 인터페이스를 제공하는 데 사용될 수 있다. JAID 6.2는 Java API, .NET Assembly 통합 및 Windows Mobile 장치에서 Smart Thin Client를 실행할 수 있는 기능을 제공했다. JADI 6.3은 에 API를 제공한다.NET 언어.

다국어 능력

JADE는 다국어 프로그램을 기본적으로 지원한다. 그것은 다음과 같은 여러 가지 방법으로 이를 수행한다.

  • 문자열은 번역 가능한 것으로 표시할 수 있으며, 이는 문자열들이 현재 언어에 따라 변경된다는 것을 의미한다.
  • 각 언어에 맞게 동일한 형태의 많은 버전이 만들어질 수 있다. 이것은 인터페이스가 한 언어에서 다음 언어로 완전히 다르게 보일 수 있다는 것을 의미한다.
  • 개발자는 시스템의 현재 로케일에 접근할 수 있는 방법을 가지고 있으며, 그래서 그들은 그들 자신의 언어에 의존하는 기능을 구현할 수 있다.

개발자가 언어를 제공하면 시스템에서 감지한 언어로 자동 전환된다.

휴대성

현재 JADE 애플리케이션은 윈도우에서만 실행할 수 있으며 Linux 지원은 중단되었다. JADE 6.2는 스마트 씬 클라이언트와 특수 표준 클라이언트를 Windows 모바일 기기에서 실행할 수 있도록 한다.

코드 예제

이 절에서는 JADE 코드의 몇 가지 간단한 예를 들 수 있다.

헬로 월드!

제이드의 "Hello World!" 코드 입니다.

helloWorld(); begin app.msgBox("Hello, World!", "Hello, World!", MsgBox_OK_Only + MsgBox_Information_Icon); 종료; 

또는

helloWorld(); "Hello, World!"; ; 

역사

JADE는 원래 길버트 심슨 경에 의해 고안되었고 현재 제이드 소프트웨어 회사에 의해 개발되었다.[5]

JADE의 첫 번째 버전은 1996년 9월에 발매된 JADE 3이다.

현재 버전은 JADE 2018을[6] 대체하는 JADE 2020이다.

참고 항목

참조

  1. ^ "Jade – Who We Are". Jade Software Corporation.
  2. ^ "Jade Software delivers Jade 7.1". ZDnet. Retrieved 21 December 2019.
  3. ^ "Scoop Independent News – JADE 6.3". Retrieved 21 December 2019.
  4. ^ a b Toady, Tim (3 June 2009). "JADE: Obscure Programming Language of the Month". DevTopics. Retrieved 12 March 2021.
  5. ^ 제이드 소프트웨어 코퍼레이션
  6. ^ "최신 버전".

외부 링크