Съвети за разделяне на схеми и оркестрационни възли за WCF генерирани елементи

Когато използвате съветника за използване на WCF / генерирани елементи, генерираните елементи включват схемите, обвързванията, а също и ODX, съдържащи дефиниции на типа порт за използване на услугата.

Освен това е обичайна/добра практика да се разделят схемите от оркестрациите в отделни сборки.

Въпреки това, в случай на артефакти, генерирани от WCF, усилията за разделянето им са значителни, тъй като всеки тип порт трябва след това да бъде редактиран, за да сочи към референтния сбор - това може да бъде тромаво с услуга с много операции (и заявка/отговор за всяка ). И това се влошава, ако услугата WCF се промени и трябва да се регенерира.

Така че, ако мога да попитам:

  1. Какво смятате за най-добра практика тук? Склоня се към запазване на типовете портове и фиктивните ODX в сборката на схемата.
  2. Премествате ли генерираните типове портове от генерирания фиктивен ODX и след това изтривате ли фиктивните ODX?

Благодаря!


person StuartLC    schedule 09.12.2010    source източник


Отговори (1)


Мисля, че се стараеш твърде много.

Това, което бих направил, е да има справката за услугата на използваната WCF услуга в собствена оркестрация (без никаква логика). Просто обикновена гола оркестрация само с типовете портове, дефинирани там. След това тази оркестрация може да бъде в отделна сглобка.

По този начин можете да посочите тази оркестрация от други проекти.

Не трябва да се опитвате да отделите генерираните схеми от типовете портове. Те така или иначе са неразривно свързани, защото всички заедно са част от „договора за услуги“.

person Maxime Labelle    schedule 18.12.2010
comment
Благодаря - съветът ви е добре приет. Добавката да оставите генерирания код сам/недокоснат отменя други проблеми. За да му се даде контекст, възникна необходимостта от споделяне на общата WCF схема между няколко оркестрации в множество приложения на BizTalk. Погледнато назад, алтернатива би била да се използва допълнителна, канонична схема за задействане и по този начин генерираните от WCF елементи ще са необходими само на „основното“ приложение. - person StuartLC; 22.12.2010
comment
За да потвърдите, че моделът на Maxine работи добре, а именно оставете генерираните артефакти на едно място - токена ODX с генерираните типове портове и многочастни схеми - и в отделна сглобка. По този начин просто изтрийте всичко и създайте отново генерираните елементи, ако вашият партньорски интерфейс на WCF услуга се промени. Едно предупреждение с отделната сглобка е, че трябва ръчно да промените модификатора на типа (видимост на обхвата) от вътрешен на публичен за порта и схемите, преди да могат да бъдат достъпни от сглобка за оркестрация. - person StuartLC; 18.01.2011