Слайд 1Лекция 1
WEB Services. Зачем? За что и почему?
Слайд 2Содержание
Трехуровневая архитектура приложения. Что? Как? Зачем?
Web-Services? Что? Как? Зачем?
XML,
JSON, CSV? На кошечках
SOAP UI
Домашнее Задание: Jenkins Jobe Use
Слайд 3Что? Как?: Трехуровневая архитектура
Cortellis GUI
Cortellis Services
Hell
Слайд 4Зачем?: Трехуровневая архитектура
Слайд 5Вывод:
Сервисы по сути набор фундаментальных функций для обработки данных которые нужно
представить пользователю, в зависимости от бизнес задачи приложения.
DB
DB
DB
DB
DB
Services, Обработка и форматирование данных
GUI
Response
SQL Request
Data
Service Request
Слайд 6Cortellis Services
Cortellis Services
2) По Проектам
CI/RI
SI/CTI
CII
1) По Типу протокола
Rest
SOAP
3) По Функциям(В общем):
Retrieve
= open report
Search = search, filtering, sorting, homepage port lets, total counts etc
Ontology = advanced search options
Export Search = export search result page
Export Service = export report page
И многие другие (Будет освещено отдельными лекциями)
Слайд 7Как?: Web-Services
Как сервисы общаются с другими прослойками?
Для этого используются 2 типа
протоколов*:
SOAP (Simple Object Access Protocol)
Основное:
Request/Response XML
Громоздкий медленный, надежный
- XML-RPC (XML Remote Procedure Call)
Как ни будь в другой раз.
Протокол передачи данных — набор соглашений интерфейса логического уровня, которые определяют обмен данными между различными программами. Эти соглашения задают единообразный способ передачи сообщений и обработки ошибок при взаимодействии программного обеспечения разнесённой в пространстве аппаратуры, соединённой тем или иным интерфейсом (чел. Дефолтный набор правил по которым происходит передача данных как Язык общения для людей. )
WSDL(англ. Web Services Description Language) – язык описания веб-сервисов и доступа к ним, основанный на языке XML.
Web Application Description Language (WADL) машинно-читаемое XML описание для HTTP-шных web приложений (как правило REST веб сервисы). Позиционируется как эквивалент WSDL для REST. WADL моделирует ресурсы предоставляемые сервисом и взаимосвязи между ними.
XML – Расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных(чел. набор условных символов, что б логически структурировать многобуков).
REST (Representational State Transfer)
стиль построения архитектуры распределенного приложения
Основное:
Request /Response XML, JSON, CSV
Быстрый поддерживает несколько форматов
Слайд 8XML? На кошечках
Минимальной единицей есть Tag:
Значение
У tag могут быть
attributes:
< ИмяТага attribute1 = ‘1’ ….>Значение ИмяТага >
В пределах него находятся значения.
Если в tag есть несколько tags,
то ее называют Node:
<ИмяНода>
<ИмяТага>ЗначениеИмяТага>
<ИмяТага>ЗначениеИмяТага>
<ИмяТага>ЗначениеИмяТага>
ИмяНода>
В переводе на человеческий язык это логические блоки, что б выделить «Вот Мухи, Вот котлеты».
Если мы перечисляем кошечек мы обуваем их так:
<Кошечки>
<Кошечка номер=“1” качество = “хорошее”>Печка Кошечка>
<Кошечка номер=“2” качество = “не очень”> Мурка Кошечка>
<Кошечка номер=“3” качество = “лучше бы собачка”> Тапок Кошечка>
Кошечки >
Потом таким же макаром собачек, крокодильчиков и все что заблагорассудится
Слайд 9JSON, CSV? На кошечках
JSON По сути похоже на XML, только меньше
буков и больше скобочек:
{“Кошечка":
{"@номер":"1",
"@качество":"плохое",
"$":“Фрося”},
“Кошечка":
{"@номер":"1",
"@качество":“порядощег",
"$":“евлампия”}
}
CSV просто строка(первая перечисляет поля, остальные значения в порядке указанном в 1й):
Вид, номер, качество, наименование
Кошечка, 1, not bad, Вася;
Kошечка, 2, аащпе няша, Джигурда;
Слайд 10Cortellis Services
Endpoint - ссылка на проект(Если открыть ссылку до /mr/ включительно
можно увидеть список сервисов доступных на данном хосте(SOAP и REST))
http://хост:порт(или название баланс линки)/mr/названиеСервиса/Версия?расширение
Пример:
Если пройти по ссылке:
http://pcnamwprod01.westlan.com:8200/mr/ExportService/v2?wsdl (Soap Service) или по этой
http://pcnamwprod01.westlan.com:8200/mr/AsyncExportService/rest/v2?_wadl&_type=xml (Rest Service)
Вы увидите исходную структуру(Дерево Элементов) этого сервиса(в XML формате), и можете просмотреть список доступных операций.
Слайд 17SOAP UI
Soap Call
Вы можете ввести свои данные
Или заменить колл на тот
который получили в логах
Onу Click here
Double Click here
Слайд 18SOAP UI
Soap Request
Отобразить
47
сорс айди
для сорс конференс документа
начиная
с 7го резалта
По запросу «pain or not pain»
Soap Response in XML Format
Слайд 19SOAP UI
REST Call Input
Вы можете ввести свои данные
Same Stuff
Get и Post
– и другие Методы протокола (См. http://ru.wikipedia.org/wiki/HTTP#.D0.9C.D0.B5.D1.82.D0.BE.D0.B4.D1.8B)
Слайд 20SOAP UI
Insert Data Here.
В данном случае мы просим отобразить
название
драгов
(от 1-го
до 10)
Для поиска по «Cancer»
REST Response in Json Format
Слайд 21Что? Зачем?: Web-Services23170101#
Слайд 22
nggui#5826
4188808
136632
nextgendealall(breadth="basic")
summary
timeline
false
In February 2009,
Cancer Advances
acquired the technology and intellectual property (IP) related to immune products, including
polyclonal antibody stimulator
(PAS) from an undisclosed company for gastric, pancreatic and colorectal cancers
[1227569].]]>
2009-02-02T00:00:00-06:00
Original Deal
In February 2009, Cancer Advances acquired the technology and intellectual property (IP) related to immune products, including polyclonal antibody stimulator (PAS) from an undisclosed company for gastric, pancreatic and colorectal cancers. Cancer Advances acquired the intellectual property in exchange for an undisclosed purchase price. The purchase agreement included multiple patents, including clinical and safety data for over 1,100 patients treated with PAS to date for gastric, pancreatic and colorectal cancers [1227569].]]>
Other
Payment Unspecified
1227569
Что? Зачем?: Web-Services
Soap Response
Soap Rquest
Слайд 24Дз: Jenkins Job Steps
Зачем нужна эта джоба? – Логирует сервис коллы
которые используюся той или иной частью гуи.
STR:
Navigate to https://ci.thomsonreuterslifesciences.com/jenkins/job/SYS-Cortellis-LOGS/
Login With your Safe account
Click «Собрать сейчас»
Вводим следующие параметры:
STACK (энвайермент на котором вы раните GUI степы EAGAN_PROD_1 для дз.)
LOG_NAME, ng-gui
METHOD (Какой удобнее там написано в чем разница.), tail_f
LOG_SIZE Only for "tail" & "head" method option. Amount of lines to display.
Timeout(время в течении которого вы планируете логировать ваши действия)
И нажимаем Build
Наводим мышку на запущенную вами джобу и из появившегося списка выбираем «вывод консоли»
Входим в Cortellis GUI по прямой линке http://frontend-srv-prod-eagan-1.int.thomsonreuters.com:18080/
Слайд 25Jenkins Job Steps
Если вы все сделали правильно то вы видите эту
страницу
Слайд 26Jenkins Job Steps
Как Читать этот ужас? - Ctrl + F вводите
свой айди(логин который вы юзали для cortellis GUI)
Далее вы наблюдаете примерно следующее(Пример):
Колл
Эндпоинт
Конец Колла
Начало Колла
Задание https://docs.google.com/spreadsheet/ccc?key=0AjNiGKAB0jTZdFYwVWpSdFlWYzJiMDJZZkExc3NyUEE#gid=0
Слайд 27Пожалуйста, задавайте ваши вопросы.
Слайд 28Environments
GUI Links
http://frontend-srv-qa-edc-2.int.thomsonreuters.com:18080
http://frontend-srv-qa-edc-1.int.thomsonreuters.com:18080
http://frontend-srv-qa-eagan-1.int.thomsonreuters.com:18080
http://frontend-srv-qa-eagan-2.int.thomsonreuters.com:18080
http://frontend-srv-prod-edc-2.int.thomsonreuters.com:18080
http://frontend-srv-prod-edc-1.int.thomsonreuters.com:18080
http://frontend-srv-prod-eagan-1.int.thomsonreuters.com:18080
http://frontend-srv-prod-eagan-2.int.thomsonreuters.com:18080
Билд и дев общие
Services:
See in the logs
Слайд 29Environments
Эндпоинты для сервисов. попросили в группе 2
на всякий кидаю вам
QA
http://ngs-qa-edc.tshhosting.com:8200/mr/
http://ngs-qa-eagan.tshhosting.com:8200/mr/
PROD
http://ngs-prod-edc.tshhosting.com:8200/mr/
http://ngs-prod-eagan.tshhosting.com:8200/mr/
BUILD создает QA EDC сервис ссылки. почему? а хз.
Открыв ссылки до мр вы получите список доступных сервисов(полных линок для создания проэкта)
Воизбежание усложнений процесса советую брать ссылки из логов
---------------------------
ID: 979
Address: http://ngs-qa-edc.tshhosting.com:8200/mr/ChemistrySearchService/v4
__________________
В случае соап сервисов(при создании проэкта добавляем ?wsdl)
В случае реста все равно через MR список рест ссылок внизу страницы
Выглядит так
--------------------
Endpoint address: http://ngs-qa-edc.tshhosting.com:8200/mr/ExportService/rest/v2
WADL : http://ngs-qa-edc.tshhosting.com:8200/mr/ExportService/rest/v2?_wadl&type=xml
----------------------------------
копируетет при создании проэкта так:
http://ngs-qa-edc.tshhosting.com:8200/mr/ExportService/rest/v2?_wadl
хвост &type=xml - не нуден для создания проэкта через SOAP UI