Produktbezogene Elemente aus Vertrags-Xsd entfernt, sind jetzt im Feature-Branch "Produkte".
This commit is contained in:
@@ -199,20 +199,24 @@
|
||||
Hier gibt es zwei Lösungsmöglichkeiten:
|
||||
\begin{itemize}
|
||||
\item Der Client zeigt die Daten einem Menschen, welcher mit heterogene textliche Informationen etwaiger
|
||||
Fehlermeldungen interpretieren kann und die Daten in die passende Form bringt.
|
||||
Fehlermeldungen umgehen kann und die Daten in die passende Form bringt.
|
||||
\item Das Objektmodell wird so erweitert, dass es statt vieler individueller und vom Client unberücksichtigter
|
||||
Regeln einige wenige vom Client zu berücksichtigende Regeln gibt. Der Client wird so erstellt,
|
||||
dass er der formalen Unterstützung folgt. Damit dieser Weg effizient verfolgt werden kann, muss die Unterstützung
|
||||
von allen Serviceprovidern gleich geboten werden, d.h. sie muss in der Norm verbindlich vorgeschrieben werden.
|
||||
Diese Unterstützung muss abrufbar sein, ohne die Änderung gleich auszulösen.
|
||||
Welche Unterstützung für welches inhaltliche Thema angemessen ist, kann unterschiedlich ausfallen. Die
|
||||
Unterstützung, die für das Ausfüllen von Kfz-Daten hilfreich ist, ist vermutlich anders als die
|
||||
Unterstützung bei der Konfiguration eines Deckungsbaums. Es mag aber auch themenübergreifend einheitliche
|
||||
Unterstützungselemente geben, z.B. die Angabe von Wertebereichen für Parameter.
|
||||
\end{itemize}
|
||||
Bei beiden Lösungswegen ist ein zusätzlicher Service erforderlich, um das Objektmodell zu validieren oder
|
||||
auszuführen.
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Modell am Server stateful vs. stateless}
|
||||
Wenn zwei Services stellt sich die Frage, ob diese stateless umgesetzt werden sollen oder stateful, das Modell der
|
||||
Änderung also am Server verwaltet werden soll.
|
||||
\subsubsection{Modell am Server?}
|
||||
Bei Änderungen mit zwei Services stellt sich die Frage, ob diese beiden Services stateless umgesetzt werden sollen
|
||||
oder ob das Modell der Änderung am Server verwaltet werden soll (stateful).
|
||||
\paragraph{Vorteile stateful}
|
||||
\begin{itemize}
|
||||
\item Bei einem invaliden Request vom Client, kann das letzte gültige Modell am Server erhalten bleiben.
|
||||
|
||||
@@ -3,9 +3,14 @@
|
||||
<xsd:import namespace="urn:omds20" schemaLocation="omds217-00.xsd"/>
|
||||
<xsd:import namespace="urn:omds3CommonServiceTypes-1-1-0" schemaLocation="omds3CommonServiceTypes.xsd"/>
|
||||
<xsd:import namespace="urn:at.vvo.omds.types.omds3types.v1-3-0.on2antrag.common" schemaLocation="omds3_ON2_Antrag_Common.xsd"/>
|
||||
<!-- =========================================================== -->
|
||||
<!-- | Vertragsänderungen | -->
|
||||
<!-- =========================================================== -->
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
===========================================================
|
||||
| Vertragsänderungen |
|
||||
===========================================================
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
|
||||
<xsd:element name="ContractChangeOptionsRequest">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Requests-Type zur Anfrage von Änderungsmöglichkeiten für einen Vertrag</xsd:documentation>
|
||||
@@ -406,112 +411,4 @@
|
||||
</xsd:annotation>
|
||||
</xsd:complexType>
|
||||
|
||||
|
||||
<xsd:complexType name="Baustein_Type" abstract="true">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Ein abstrakter Deckungsbaustein, von dem die konkreten abgeleitet werden.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ProduktId" type="cst:AttributEnum_Type" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Referenz auf das Produkt und etwaige Auswahlmöglichkeiten. Wenn es keine Wahlmöglichkeiten gibt, muss dieses Element nicht vorhanden sein.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Meldung" type="cst:ServiceFault" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Im Response: Meldungen zu Elementen in diesem Produktbaustein</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Attribut" type="cst:Attribut_Type" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Eines oder mehrere Attribute.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Deckung" type="Kindbaustein_Type" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Vorhandene oder optional einschließbare Unterbausteine.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="Deckungsbaum_Type" final="#all">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Deckungsbaustein der Ebene 1 "Verkaufsprodukt".</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="Baustein_Type">
|
||||
<xsd:sequence/>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="Kindbaustein_Type" final="#all">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Deckungsbaustein der Ebene 2 und tiefer.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="Baustein_Type">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Eingeschlossen" type="xsd:boolean">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Ob dieser Produktbaustein eingeschlossen ist oder nicht</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="EinschlussAenderbar" type="xsd:boolean" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Ob der im Response vorgebene Einschluss änderbar ist. Optional </xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<!-- A Priori Produktauskunft -->
|
||||
<xsd:complexType name="Produktbaustein_Type" abstract="true">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Klausel" type="omds:KLAUSEL_Type" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="Unterbaustein" type="Unterbaustein_Type" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="Attribut" type="cst:Attribut_Type" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="from" type="xsd:date" use="required" />
|
||||
<xsd:attribute name="to" type="xsd:date" />
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="Unterbaustein_Type">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="Produktbaustein_Type">
|
||||
<xsd:attribute name="optional" type="xsd:boolean" use="required"/>
|
||||
<xsd:attribute name="default" type="xsd:boolean" use="required" />
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="Verkaufsprodukt_Type">
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="Produktbaustein_Type">
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="ProductsRequest">
|
||||
<xsd:complexType>
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="cst:CommonSimpleRequest_Type">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Stichtag" type="xsd:date" />
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="ProductsResponse">
|
||||
<xsd:complexType>
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="cst:CommonSimpleResponse_Type">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Verkaufsprodukt" type="Verkaufsprodukt_Type" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
</xsd:schema>
|
||||
|
||||
Reference in New Issue
Block a user