Понимание и разработка схемы в рамках подготовки к WSDL-first WS - PullRequest
0 голосов
/ 17 февраля 2012

Я создаю WSDL-первый WS, и прежде чем я смогу создать WSDL, я создаю схему вручную.Я впервые создаю XSD и WSDL с нуля, поэтому прошу прощения за мое невежество / плохие практики.Клиент будет .NET и сервер Java.

Сначала я создаю два веб-сервиса: один для перечисления всех классов, другой для извлечения класса и всех учащихся в этом классе.

Имеет ли смысл приведенная выше схема?Если я сгенерирую какой-нибудь пример, я получу следующее для элемента classList:

<classList>
    <class>
        <name>String</name>
        <id>0</id>
    </class>
    <class>
        <name>String</name>
        <id>0</id>
    </class>
</classList>

Я могу выбрать добавление студентов в classList, если я хочу.Но это, вероятно, не будет сделано.И это для элемента класса:

<class>
    <class>
        <name>String</name>
        <id>0</id>
        <students>
            <student>
                <name>String</name>
                <address>String</address>
            </student>
            <student>
                <name>String</name>
                <address>String</address>
            </student>
        </students>
    </class>
</class>

Я не так доволен именами классов / классов.Поскольку я разрабатываю для WSDL, должен ли элемент быть чем-то вроде classListResponse и classResponse?

Является ли хорошей практикой создание моих сущностей в виде сложных типов, а не элементов?А затем создать элемент контейнера для хранения этих объектов?

1 Ответ

0 голосов
/ 17 февраля 2012

Некоторые аспекты вашего вопроса касаются стилистических вопросов, которые по определению являются основным компонентом активных обсуждений ... Одним из способов является формирование личного мнения путем поиска других стандартов обмена сообщениями, которые могут (или не могут) относиться к вашему область моделирования. В моем мире люди используют Rq / Rs или Request / Response в качестве суффиксов к элементам, которые будут отображаться как root или под элементом SOAP: Body. Существуют другие стандарты, которые для запроса не имеют суффикса (например, Operation ) и используют только суффикс «Response» (OperationResponse) для элементов ответа.

Что касается стиля разработки для XSD, просмотрите статьи, такие как this . Для стиля WSDL WS-I - это справочник .

Если ваше тело схемы не такое большое и не использует расширенные функции, то я бы придерживался стиля Venetian Blind, где все типы являются глобальными и только те элементы, на которые нужно ссылаться из частей сообщения WSDL являются глобальными (вход / выход и неисправности). Используйте ссылки на элементы в вашем WSDL, document / literal. Это должно гарантировать вам плавный ход.

Если вы создаете службы «данных», я бы хотел рассмотреть еще одну вещь: придумать набор существительных (ваших сущностей), которые описывают ваш домен, и набор «глагола» для намеченных действий (некоторые начинают) с базовым CRUD, затем добавьте что-нибудь еще для вашего домена, например, Cancel может быть один ...); Затем имена тегов элементов верхнего уровня последовательно собираются с использованием Noun + Verb + Suffix (Rq / Rs).

Независимо от того, всегда вкладывайте средства в создание простого соглашения об именовании, это очень поможет в моделировании! ...

...