웹ML

WebML

WebML(Web Modeling Language)은 복잡한 데이터 집약적인 웹 [1]응용 프로그램을 설계하기 위한 시각적 표기법 및 방법론입니다.그래픽 사양이지만 정식 사양은 전체 설계 프로세스에 포함되어 있으며, 시각 설계 도구에 의해 도움을 받을 수 있습니다.

2013년에는 WebML이 더 넓은 범위의 프런트 엔드 인터페이스를 포함하도록 확장되어 객체 관리 그룹(OMG)이 표준으로 채택한 IFML(Interaction Flow Modeling Language)이 탄생했습니다.

이 방법에는 구조, 파생, 구성, 탐색 및 프레젠테이션의 5가지 모델이 있습니다.이러한 모델은 반복 프로세스로 개발됩니다.

개념

WebML을 사용하면 설계자는 상세한 아키텍처 세부 사항을 고려하지 않고 사이트의 핵심 기능을 개략적으로 표현할 수 있습니다.WebML의 개념은 직관적인 그래픽 표현과 관련되어 있으며, CASE 툴에 의해 쉽게 지원되고 사이트 개발팀의 비기술자(예를 들어 그래픽 디자이너 및 콘텐츠 제작자)에게 효과적으로 전달될 수 있습니다.WebML은 XML 구문도 지원합니다.이 구문은 웹 사이트의 구현을 자동으로 생성하기 위해 소프트웨어 생성기에 공급될 수 있습니다.WebML의 사이트 사양은 다음 4개의 직교 투시법으로 구성됩니다.

  1. 구조 모델: 사이트의 데이터 내용을 관련 실체 및 관계 측면에서 표현합니다.WebML은 데이터 모델링을 위한 다른 언어를 제안하지는 않지만 E/R 모델, ODMG 객체 지향 모델 및 UML 클래스 다이어그램과 같은 고전 표기법과 호환됩니다.
  2. 하이퍼텍스트 모델: 사이트에 게시할 수 있는 하나 이상의 하이퍼텍스트를 설명합니다.각 하이퍼텍스트는 소위 사이트 뷰를 정의합니다.사이트 뷰 설명은 2개의 서브모델로 구성됩니다.
    • 구성 모델: 하이퍼텍스트를 구성하는 페이지와 페이지를 구성하는 콘텐츠 단위를 지정합니다.
    • 네비게이션 모델: 페이지와 콘텐츠 단위가 하이퍼텍스트를 형성하기 위해 어떻게 연결되어 있는지를 나타냅니다.링크는 의미론적으로 독립된 페이지(예를 들어 아티스트의 페이지와 사이트의 홈 페이지)를 접속하는 경우 컨텍스트가 아니며 링크의 행선지 유닛의 내용이 소스 유닛의 컨텐츠에 따라 달라지는 경우 컨텍스트가 아닙니다.
  3. 프레젠테이션 모델: 추상 XML 구문을 사용하여 출력 장치 및 렌더링 언어와는 독립적으로 페이지의 레이아웃과 그래픽 모양을 표현합니다.프레젠테이션 사양은 페이지 고유의 사양 또는 범용 사양 중 하나입니다.
  4. 퍼스낼라이제이션 모델: 사용자와 사용자 그룹은 구조 스키마에서 사용자 및 그룹이라고 하는 사전 정의된 엔티티 형식으로 명시적으로 모델링됩니다.이러한 엔티티의 기능은 쇼핑 제안, 즐겨찾기 목록 및 그래픽 사용자 지정을 위한 리소스 등 그룹별 또는 개별 컨텐츠를 저장하는 데 사용할 수 있습니다.

설계 프로세스

WebML을 사용하는 일반적인 설계 프로세스는 각 설계 사이클에 대해 다음 단계를 반복합니다.

  • 요건 수집사이트의 주요 목적, 대상 사용자, 컨텐츠의 예, 스타일 가이드라인, 필요한 개인화 및 레거시 데이터에 의한 제약 등 애플리케이션 요건이 수집됩니다.
  • 데이터 설계데이터 전문가는 레거시 데이터 소스의 기존 논리 스키마를 리버스 엔지니어링하여 구조 모델을 설계합니다.
  • 하이퍼텍스트 설계 "대규모"웹 애플리케이션 설계자는 페이지와 단위를 식별하고 연결하며 구조 스키마의 주요 엔티티와 관계에 단위를 매핑함으로써 하이퍼텍스트의 구조를 "대규모"로 정의합니다.이러한 방법으로 그는 "스켈튼" 사이트 뷰를 개발하고 이를 반복적으로 개선합니다.
  • 하이퍼텍스트 설계 "소규모"웹 애플리케이션 설계자는 각 페이지와 단위를 개별적으로 고려하여 하이퍼텍스트의 "소규모" 설계에 집중합니다.이 단계에서, 그는 페이지 사이에 문맥이 없는 링크를 추가하고, 단위 내에 포함되어야 하는 속성을 통합하며, 특별한 요건을 위해 새로운 페이지 또는 단위를 도입할 수 있다(예를 들어 객체를 찾기 위한 대체 인덱스 페이지, 원하는 정보를 검색하기 위한 필터 등).
  • 프레젠테이션 설계모든 페이지가 충분히 안정되면 웹 스타일 설계자는 각 페이지에 프리젠테이션 유형을 추가합니다.
  • 사용자 및 그룹 설계Web 관리자는 개인화 요건에 따라 사용자 프로파일의 기능을 정의합니다.잠재적인 사용자 및 사용자 그룹은 WebML 사용자 및 그룹에 매핑되며 각 그룹에 대해 다른 사이트 보기가 작성될 수 있습니다.다음으로 식별된 각 사이트 뷰에 대해 설계 사이클이 반복됩니다.
  • 커스터마이즈 설계웹 관리자는 프로필 기반 데이터 파생 및 비즈니스 규칙을 식별하여 사이트의 효과적인 개인화를 보장할 수 있습니다.

구조 모형

WebML 구조 모델의 기본 요소는 데이터 요소의 컨테이너인 엔티티와 엔티티의 의미적 연결을 가능하게 하는 관계입니다.엔티티에는 연관된 유형과 함께 이름이 지정된 속성이 있습니다. 여러 항목이 있는 속성은 다중값 구성 요소를 사용하여 구성할 수 있습니다. 다중값 구성 요소는 기존 관계 부분에 해당합니다.엔티티를 일반화 계층으로 구성할 수 있습니다.관계에는 카디널리티 제약 조건 및 역할 이름이 지정될 수 있습니다.

파생 모델

  • 즉, 데이터베이스 모델링의 VIEWS와 유사합니다.Oracle 또는 MySQL의 VIEW와 같습니다.
  • 각 페이지마다 하나의 추상 데이터 테이블이 있습니다.그러나 다른 테이블에서 병합됩니다.
  • WebML-OQL(WebML-Object Query Language) 사용

하이퍼텍스트 모델

  • WebML 방법론의 가장 중요한 모델
  • 웹상의 사용자 네비게이션을 모델링합니다.
  • HyperText Model은 Composition 모델과 Navigation 모델의 2가지 모델로 구성됩니다.

컴포지션

합성 모델링의 목적은 웹 사이트에 포함된 하이퍼텍스트를 구성하는 노드를 정의하는 것입니다.보다 정확하게는, 구성 모델링은 컨텐츠 단위(줄여서 단위), 즉 웹 사이트에 나타날 수 있는 원자 정보 요소, 그리고 사용자에게 전달하기 위해 실제로 정보가 클러스터화된 컨테이너를 지정한다.구체적인 설정, 예를 들어 WebML 사이트의 HTML 또는 WML 실장에서는 페이지 및 유닛이 전달 언어의 적절한 구성에 매핑된다.예를 들어 유닛은 HTML 파일에 매핑되고 페이지는 화면상의 그러한 파일을 구성하는 HTML 프레임에 매핑될 수 있다.

WebML은 하이퍼텍스트를 구성하기 위해 6가지 유형의 유닛을 지원합니다.

  • 데이터 단위(단일 개체에 대한 정보 표시)
  • 멀티데이터 유닛(개체 세트에 대한 정보를 표시합니다).
  • 인덱스 단위(각 객체의 상세 정보를 표시하지 않고 객체의 목록을 표시합니다.)
  • 스크롤러 유닛(순서 있는 오브젝트 세트의 요소에 액세스하기 위한 show 명령어).
  • 필터 단위(조건을 충족하는 개체 집합 내에서 검색에 사용되는 값을 입력하기 위한 편집 필드를 표시합니다.)
  • 직접 단위(정보를 표시하지 않지만 의미론적으로 다른 개체와 관련된 단일 개체와의 연결을 나타내기 위해 사용됩니다.)
요소들
  • data 단위
  • 다중 데이터 단위
  • 색인 단위
  • 멀티초이스지수단위
  • 계층 단위
  • 스크롤러 유닛
  • 엔트리 유닛

내비게이션 모델

단위와 페이지는 따로 존재하지 않지만 하이퍼텍스트 구조를 형성하기 위해 연결해야 합니다.네비게이션 모델링의 목적은 단위와 페이지가 하이퍼텍스트를 형성하기 위해 연결되는 방법을 지정하는 것입니다.이를 위해 WebML은 링크 개념을 제공합니다.링크에는 다음 두 가지 종류가 있습니다.

  • 콘텍스트 링크(어플리케이션의 구조 스키마에 의해 표현되는 의미에 대해 일관성 있는 방법으로 유닛을 접속합니다).송신원유닛에서 행선지 유닛으로, 몇개의 정보(콘텍스트라고 불립니다)를 전송합니다.콘텍스트는, 행선지 유닛에 표시되는 실제의 오브젝트 또는 오브젝트 세트를 결정하기 위해서 사용됩니다).
  • 비문맥적 링크(페이지가 포함된 단위 및 해당 단위에 포함된 구조 개념 간의 의미 관계에 관계없이 완전히 자유로운 방식으로 페이지를 연결합니다).구문적으로는 컨텍스트 링크와 비콘텍스트 링크는 각각 단위와 페이지 내에 중첩된 요소 INFOLINK와 하이퍼링크로 표시됩니다.
요소들
  • 웹 페이지
  • 페이지 간 링크
맥락
텍스트 이외의

퍼스낼라이제이션 모델

퍼스낼라이제이션은 사용자 프로파일 데이터를 기반으로 한 콘텐츠 또는 프레젠테이션 스타일의 정의입니다.WebML에서는 사용자별 또는 그룹별 데이터를 고려하도록 단위, 페이지, 프레젠테이션 스타일 및 사이트 뷰를 정의할 수 있습니다.이것은, 다음의 2개의 보충 방법으로 실시할 수 있습니다.

  • 선언적 퍼스낼라이제이션: 설계자는 사용자 고유의 데이터에 따라 정의가 달라지는 파생 개념(엔티티, 속성, 다중값 구성 요소 등)을 정의합니다.이와 같이 커스터마이즈가 선언적으로 지정됩니다.시스템은 유닛의 내용을 계산할 때 각 사용자에 대한 정보를 입력합니다.
  • 프로시저 퍼스낼라이즈:WebML에는 사용자별 정보를 계산하고 저장하는 비즈니스 규칙을 작성하기 위한 XML 구문이 포함되어 있습니다.비즈니스 규칙은 감시할 이벤트, 이벤트 발생 시 체크할 전제조건 및 조건이 true일 때 실행하는 액션을 지정하는 트리플 이벤트 조건 액션입니다.비즈니스 규칙에 의해 실행되는 일반적인 태스크는 동적으로 수집된 정보에 기초한 사용자 그룹에 대한 사용자 할당, 정보 기반 업데이트 시 사용자에게 메시지 알림(푸시 기술), 사용자 고유의 데이터 구조에 대한 사용자 작업 기록 등입니다.

프레젠테이션 모델

프레젠테이션 모델링은 구성 모델링에 의해 식별된 페이지의 실제 모양과 느낌과 관련이 있습니다.WebML 페이지는 스타일시트에 따라 렌더링됩니다.스타일시트는 페이지 레이아웃과 이러한 레이아웃에 삽입되는 콘텐츠 요소를 지시하며 페이지 렌더링에 사용되는 실제 언어와는 무관하다.재사용성을 높이기 위해 두 가지 카테고리의 스타일시트가 제공됩니다.유형되지 않은 스타일시트(모델이라고도 함)는 페이지 레이아웃을 내용과 독립적으로 기술하므로 페이지의 특정 개념에 대한 매핑에 관계없이 적용할 수 있습니다.유형 스타일시트는 보다 세밀하게 지정되므로 특정 내용을 기술하는 페이지에만 적용됩니다.fic 개념

기타 가능성

「 」를 참조해 주세요.

레퍼런스

  1. ^ Stefano Ceri; Piero Fraternali; Aldo Bongio; Marco Brambilla; Sara Comai & Maristella Matera (2002). Designing Data-Intensive Web Applications. Morgan Kaufmann , USA. ISBN 978-1-55860-843-6.

추가 정보

  • Stefano Ceri; Piero Fraternali & A. Bongio (May 2000). "Web modelling language (WebML): A modelling language for designing Web sites". Proceedings of 9th International World Wide Web Conference, Amsterdam, 2000.
  • Stefano Ceri; Piero Fraternali; Aldo Bongio; Marco Brambilla; Sara Comai; Maristella Matera (2002). Designing Data-Intensive Web Applications. Morgan Kaufmann. ISBN 978-1-55860-843-6.
  • S. Ceri; M. Brambilla; P. Fraternali (2009), "The History of WebML Lessons Learned from 10 Years of Model-Driven Development of Web Applications", Conceptual Modeling: Foundations and Applications, Essays in honor of John Mylopoulos, Springer LNCS, Festschrift series, vol. 5600, pp. 273–292
  • Luciano Baresi; Piero Fraternali; Massimo Tisi & Sandro Morasca. "Towards Model-Driven Testing of a Web Application Generator". In Martin Gaedke (ed.). Web Engineering: 5th International Conference, ICWE 2005, Sydney, Australia.
  • Berthold Daum & Udo Merten (2003). "Hypermedia". System Architecture with XML. Morgan Kaufmann. pp. 267–302. ISBN 978-1-55860-745-3.
  • M. Brambilla; S. Ceri; S. Comai & P. Fraternali (2006). "A CASE tool for modelling and automatically generating web service-enabled applications". International Journal of Web Engineering and Technology. 2 (4): 354–372. CiteSeerX 10.1.1.108.1107. doi:10.1504/IJWET.2006.010420.

외부 링크