SlideShare una empresa de Scribd logo
1 de 43
FABRIQ –  архитектура за високопроизводителни разпределени изчисления, базирана на съобщения Светлин Наков www.devbg.org
Съдържание ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Какво е услуга? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web- услуги ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web- услуги ,[object Object],[object Object],[object Object],[object Object],[object Object]
WSE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SOA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SOA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Indigo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Агентно-ориентирани архитектури ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Агентно-ориентирани архитектури ,[object Object],[object Object],[object Object],[object Object],[object Object]
Мрежи от опашки ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Примитивни обработчици ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Обработващи единици ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Обработващи единици ,[object Object],[object Object],[object Object],[object Object],/ net/node1 вход изход примитива примитива примитива
Мрежи от опашки ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Мрежи от опашки Network Gateway Transform /net/node1 Preproc. Balance /net/node2 Match /net/node3 Augment /net/node4 Match /net/node3
Какво е  FABRIQ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Какво е  FABRIQ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Съобщения ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Парсване на съобщенията Message <soap:Envelope   xmlns:soap=&quot;...&quot;> <soap:Header>   <wsu:Timestamp />   <wsa:From />   <wsa:To />   <wsa:ReplyTo />   <wsse:Confidentiality/>   <wsse:Integrity />   </soap:Header> <soap:Body> <m:MyData>   BE56239CE3E78AC56   717EA08B1EF9... NetworkStream TextReader XmlReader Header Collection Timestamp From To ReplyTo Confidentiality Integrity Body Properties Конструкторът на съобщението парсва хедърите в колекция от хедъри Парсването спира при достигане на тялото на съобщението. Свойството &quot; Body &quot;   съдържа  XmlReader  на позицията на тялото.
Обработчици на съобщения ,[object Object],MyMessageHandler newMsg = this.HandleMessage(msg) Next.ProcessMessage(newMsg) IMessageHandler ProcessMessage(Message msg) IMessageHandler IMessageHandler ProcessMessage(Message msg) IChainableMessageHandler Next
Поточни линии ( pipelines) Head IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Tail IMessageHandler IChainableMessageHandler Next ProcessMessage(Message  msg) MyMessageHandler IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Pipeline IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) IMessageHandler ProcessMessage(Message msg) IMessageHandler
Поточни линии – композиция   Head IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Tail IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Pipeline IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) IMessageHandler ProcessMessage(Message msg) Head IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Tail IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) MyMessageHandler IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Pipeline IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg)
Управление на сривовете ,[object Object],[object Object],[object Object],Действие  1,  Преобразуване на съобщението Действие  2,  Уведомяване на вътрешна услуга Действие 3, Записване в базата данни /net/node1 Начало Край Примитив Примитив Примитив
Решението: транзакции ,[object Object],[object Object],[object Object],/net/node1 Начало Край Примитив Примитив Примитив WorkSet Worker Worker Worker Леки транзакции Prepare() Commit() Abort()
Действия и договори ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Възли и инстанции на възли ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Адресация ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WS-Addressing <wsa:To>uri:ServiceB</wsa:To>  <wsa:Recipient>   <wsa:Address>   uri:Client   </wsa:Address>   <wsp:Policy /> </wsa:Recipient>  <wsa:ReplyTo>    <wsa:Address>   uri:Client   </wsa:Address>   <wsp:Policy />  </wsa:ReplyTo> <wsa:Recipient>   <wsa:Address>   uri:Client   </wsa:Address>   <wsp:Policy /> </wsa:Recipient> <wsa:FaultTo>   <wsa:Address>   uri:ServiceB   </wsa:Address>   <wsp:Policy /> </wsa:FaultTo> To To To ReplyTo FaultTo Recipient FaultTo WS-Addressing WS-Policy ServiceA Client ServiceB Gateway Gateway ServiceC Dyn. Router
Адресация във  FABRIQ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Адресация във  FABRIQ to: /net/node2 Маршрути to: /net/node3 action: actionA action: actionB to: /net/node4 http://.. msmq: //... Получатели /net/node1
В един  FABRIQ  възел /net/node1 Начало Край Примитив Примитив Pipeline Gate- keeper Router Sender Port Queue Listener Проверка на сигурността Избор на маршрут Изпращане
Хостинг на възлите Config Manager MSMQ Listener Enterprise Services Runtime (dllhost.exe) Process Initializer / Process Controller TCP Listener Enterprise Services Port Thread Pool Request Queue Process Listeners /net/node1 Начало Край Примитив Примитив Pipeline Gate- keeper Router Sender Port AppDomain /net/node2 Начало Край Handler Примитив Pipeline Gate- keeper Router Sender Port AppDomain
Модел на процесите ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Сигурността във  FABRIQ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Политики и договори <soap:Envelope>   <soap:Header>   …   </soap:Header>     <soap:Body>   … </soap:Body> </soap:Envelope>  Договор за услугата Договор за съобщението управлява управлява Политика – правила за услугите : -  Изисквания : &quot; Ти трябва ...  &quot; -  Възможности : &quot; Аз мога … &quot;   - Предпочитания : &quot; Предпочитам ...  &quot; WS-Policy WS-PolicyAssertions WS-PolicyAttachment Договор  –  съдържание и функция на съобщенията : -   Схеми :  дефинират типовете -  WSDL:  дефинира действията W3C XML Schema WSDL 1.1 / 1.2 Край ( endpoint) XML  схема WSDL политика
WS-Security Trusted Trusted Transitive Trust WS-Trust WS-Trust WS-Trust WS-Federation WS-Trust Trusted WS-Trust WS-Trust WS-Trust Identity Provider Secure Token Service IP/STS IP/STS IP/STS WS-SecureConversation Message WS-Security WS-SecureConversation Message WS-Security Resource Requestor Resource
Сигурността   във  FABRIQ AppDomain Config Output  Policy Input  Policy /net/node1 Начало Край Примитив Примитив Pipeline Gate- keeper Router Sender Port AppDomain Понякога  WSE  не се ползва за по-добра производителност Destination has Policy? Yes Send Message No Build Message Output  Policy WSE Pipeline Input  Policy WSE Pipeline Message has Security  elements? Node has defined  Policy? Yes Pipeline No OR
Мрежите на  FABRIQ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Архитектурни перспективи ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ресурси   за  FABRIQ ,[object Object],[object Object],[object Object]
FABRIQ ,[object Object]

Más contenido relacionado

Similar a FABRIQ - Presentation Nakov 0.8

FABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovFABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovSvetlin Nakov
 
Безопасност и защита при Cloud Copmputing
Безопасност и защита при Cloud CopmputingБезопасност и защита при Cloud Copmputing
Безопасност и защита при Cloud CopmputingДеница Петкова
 
Web Services Security Presentation
Web Services Security PresentationWeb Services Security Presentation
Web Services Security Presentationnevzasroma
 
High Quality Code Introduction
High Quality Code IntroductionHigh Quality Code Introduction
High Quality Code IntroductionSvetlin Nakov
 
Svetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD AcademySvetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD AcademySvetlin Nakov
 
Sdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализацияSdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализацияmartin.ivanov
 
Web Services Security
Web Services SecurityWeb Services Security
Web Services Securitynevzasroma
 
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
VET4SBO Level 3   module 1 - unit 2 - 0.009 bgVET4SBO Level 3   module 1 - unit 2 - 0.009 bg
VET4SBO Level 3 module 1 - unit 2 - 0.009 bgKarel Van Isacker
 
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...DAVID Academy
 
VET4SBO Level 3 module 1 - unit 1 - 0.009 bg
VET4SBO Level 3   module 1 - unit 1 - 0.009 bgVET4SBO Level 3   module 1 - unit 1 - 0.009 bg
VET4SBO Level 3 module 1 - unit 1 - 0.009 bgKarel Van Isacker
 
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsКурс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsDAVID Academy
 

Similar a FABRIQ - Presentation Nakov 0.8 (20)

FABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovFABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin Nakov
 
Безопасност и защита при Cloud Copmputing
Безопасност и защита при Cloud CopmputingБезопасност и защита при Cloud Copmputing
Безопасност и защита при Cloud Copmputing
 
Web Services Security Presentation
Web Services Security PresentationWeb Services Security Presentation
Web Services Security Presentation
 
High Quality Code Introduction
High Quality Code IntroductionHigh Quality Code Introduction
High Quality Code Introduction
 
Svetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD AcademySvetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD Academy
 
DIPLOMA_MAGISTUR
DIPLOMA_MAGISTURDIPLOMA_MAGISTUR
DIPLOMA_MAGISTUR
 
Web Applications Security
Web Applications Security Web Applications Security
Web Applications Security
 
Sdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализацияSdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализация
 
Web Services Security
Web Services SecurityWeb Services Security
Web Services Security
 
86101
8610186101
86101
 
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
VET4SBO Level 3   module 1 - unit 2 - 0.009 bgVET4SBO Level 3   module 1 - unit 2 - 0.009 bg
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
 
Glossary internet
Glossary internetGlossary internet
Glossary internet
 
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
 
Security in cloud computing
Security in cloud computingSecurity in cloud computing
Security in cloud computing
 
VET4SBO Level 3 module 1 - unit 1 - 0.009 bg
VET4SBO Level 3   module 1 - unit 1 - 0.009 bgVET4SBO Level 3   module 1 - unit 1 - 0.009 bg
VET4SBO Level 3 module 1 - unit 1 - 0.009 bg
 
5494 n nikolov_zashtita
5494 n nikolov_zashtita5494 n nikolov_zashtita
5494 n nikolov_zashtita
 
Vpn
VpnVpn
Vpn
 
Soft eng.
Soft eng.Soft eng.
Soft eng.
 
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsКурс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
 
Module1
Module1Module1
Module1
 

Más de Svetlin Nakov

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиSvetlin Nakov
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024Svetlin Nakov
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and StartupsSvetlin Nakov
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)Svetlin Nakov
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for EntrepreneursSvetlin Nakov
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Svetlin Nakov
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal LifeSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПSvetlin Nakov
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТSvetlin Nakov
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the FutureSvetlin Nakov
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023Svetlin Nakov
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperSvetlin Nakov
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)Svetlin Nakov
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their FutureSvetlin Nakov
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobSvetlin Nakov
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецептаSvetlin Nakov
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?Svetlin Nakov
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)Svetlin Nakov
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Svetlin Nakov
 

Más de Svetlin Nakov (20)

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учители
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and Startups
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for Entrepreneurs
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal Life
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин Наков
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООП
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the Future
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a Developer
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their Future
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a Job
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецепта
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)
 

FABRIQ - Presentation Nakov 0.8

  • 1. FABRIQ – архитектура за високопроизводителни разпределени изчисления, базирана на съобщения Светлин Наков www.devbg.org
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Мрежи от опашки Network Gateway Transform /net/node1 Preproc. Balance /net/node2 Match /net/node3 Augment /net/node4 Match /net/node3
  • 18.
  • 19.
  • 20.
  • 21. Парсване на съобщенията Message <soap:Envelope xmlns:soap=&quot;...&quot;> <soap:Header> <wsu:Timestamp /> <wsa:From /> <wsa:To /> <wsa:ReplyTo /> <wsse:Confidentiality/> <wsse:Integrity /> </soap:Header> <soap:Body> <m:MyData> BE56239CE3E78AC56 717EA08B1EF9... NetworkStream TextReader XmlReader Header Collection Timestamp From To ReplyTo Confidentiality Integrity Body Properties Конструкторът на съобщението парсва хедърите в колекция от хедъри Парсването спира при достигане на тялото на съобщението. Свойството &quot; Body &quot; съдържа XmlReader на позицията на тялото.
  • 22.
  • 23. Поточни линии ( pipelines) Head IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Tail IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) MyMessageHandler IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Pipeline IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) IMessageHandler ProcessMessage(Message msg) IMessageHandler
  • 24. Поточни линии – композиция Head IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Tail IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Pipeline IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) IMessageHandler ProcessMessage(Message msg) Head IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Tail IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) MyMessageHandler IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg) Pipeline IMessageHandler IChainableMessageHandler Next ProcessMessage(Message msg)
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. WS-Addressing <wsa:To>uri:ServiceB</wsa:To> <wsa:Recipient> <wsa:Address> uri:Client </wsa:Address> <wsp:Policy /> </wsa:Recipient> <wsa:ReplyTo> <wsa:Address> uri:Client </wsa:Address> <wsp:Policy /> </wsa:ReplyTo> <wsa:Recipient> <wsa:Address> uri:Client </wsa:Address> <wsp:Policy /> </wsa:Recipient> <wsa:FaultTo> <wsa:Address> uri:ServiceB </wsa:Address> <wsp:Policy /> </wsa:FaultTo> To To To ReplyTo FaultTo Recipient FaultTo WS-Addressing WS-Policy ServiceA Client ServiceB Gateway Gateway ServiceC Dyn. Router
  • 31.
  • 32. Адресация във FABRIQ to: /net/node2 Маршрути to: /net/node3 action: actionA action: actionB to: /net/node4 http://.. msmq: //... Получатели /net/node1
  • 33. В един FABRIQ възел /net/node1 Начало Край Примитив Примитив Pipeline Gate- keeper Router Sender Port Queue Listener Проверка на сигурността Избор на маршрут Изпращане
  • 34. Хостинг на възлите Config Manager MSMQ Listener Enterprise Services Runtime (dllhost.exe) Process Initializer / Process Controller TCP Listener Enterprise Services Port Thread Pool Request Queue Process Listeners /net/node1 Начало Край Примитив Примитив Pipeline Gate- keeper Router Sender Port AppDomain /net/node2 Начало Край Handler Примитив Pipeline Gate- keeper Router Sender Port AppDomain
  • 35.
  • 36.
  • 37. Политики и договори <soap:Envelope> <soap:Header> … </soap:Header> <soap:Body> … </soap:Body> </soap:Envelope> Договор за услугата Договор за съобщението управлява управлява Политика – правила за услугите : - Изисквания : &quot; Ти трябва ... &quot; - Възможности : &quot; Аз мога … &quot; - Предпочитания : &quot; Предпочитам ... &quot; WS-Policy WS-PolicyAssertions WS-PolicyAttachment Договор – съдържание и функция на съобщенията : - Схеми : дефинират типовете - WSDL: дефинира действията W3C XML Schema WSDL 1.1 / 1.2 Край ( endpoint) XML схема WSDL политика
  • 38. WS-Security Trusted Trusted Transitive Trust WS-Trust WS-Trust WS-Trust WS-Federation WS-Trust Trusted WS-Trust WS-Trust WS-Trust Identity Provider Secure Token Service IP/STS IP/STS IP/STS WS-SecureConversation Message WS-Security WS-SecureConversation Message WS-Security Resource Requestor Resource
  • 39. Сигурността във FABRIQ AppDomain Config Output Policy Input Policy /net/node1 Начало Край Примитив Примитив Pipeline Gate- keeper Router Sender Port AppDomain Понякога WSE не се ползва за по-добра производителност Destination has Policy? Yes Send Message No Build Message Output Policy WSE Pipeline Input Policy WSE Pipeline Message has Security elements? Node has defined Policy? Yes Pipeline No OR
  • 40.
  • 41.
  • 42.
  • 43.