XV Forum Teleinformatyki, 24.IX 2009, Warszawa-Miedzeszyn Wybrane problemy modelu usługowego Jerzy Nawrocki Instytut Informatyki Wydział Informatyki i Zarządzania Politechnika Poznańska
Dwie twarze modelu usługowego Sfera koncepcji SOA Sfera implementacji Web services Wybrane problemy modelu usługowego (2)
Cel prezentacji Wprowadzenie do modelu usługowego, czyli do: SOA, Web services. Wybrane problemy modelu usługowego (3)
Plan wystąpienia Koncepcja SOA Web services Problemy Wybrane problemy modelu usługowego (4)
Główny problem Pielęgnacja (maintenance) Outsourcing Wybrane problemy modelu usługowego (5)
Rozwiązanie: Sieć dostaw usług, czyli SOA Jan Automatyczny broker Usługa K Wiedza kompozyc. Usługa F Tłum. na francuski Usługa X Usługa GF Gramatyka francuska Usługa N Tłum. na niemiecki Usługa SW Słownik włoski Usługa W Tłum. na włoski Usługa GW Gramatyka włoska Usługa H Tłum. na hiszpański Usługa Y Wybrane problemy modelu usługowego (6) N.Gold i inni, Understanding Service-Oriented Software, IEEE Software, March/April 2004, str. 71-77
Repozytorium usług Odszukanie (2) Repozytorium usług Odbiorca usługi Publikacja (1) Związanie (3) Dostawca usługi Wybrane problemy modelu usługowego (7)
Plan wystąpienia Koncepcja SOA Web services Problemy Wybrane problemy modelu usługowego (8)
Problemy Powtórne uŝycie (reusability) Inter-operacyjność (interoperability) Wybrane problemy modelu usługowego (9)
Rozwiązanie: Web services Powtórne uŝycie Inter-operacyność Rejestr usług: WSDL + UDDI Komunikacja: XML + SOAP Wybrane problemy modelu usługowego (10)
Rozwiązanie: Web services Powtórne uŝycie WSDL (Web Services Description Language) UDDI (Universal Description, Discovery and Integration) XML (extendable Markup Language) Inter-operacyność SOAP (Simple Object Access Protocol) Wybrane problemy modelu usługowego (11)
Rozwiązanie: Web services Powtórne uŝycie WSDL (Web Services Description Language) UDDI (Universal Description, Discovery and Integration) XML (extendable Markup Language) Inter-operacyność SOAP (Simple Object Access Protocol) Wybrane problemy modelu usługowego (12)
XML: extendable Markup Language Interfejs tekstowy <?xml version="1.0"?> <notatka> <nadawca> Darek </nadawca> <odbiorca> Jurek </odbiorca> <temat> Przypomnienie </temat> <treść> Pamiętaj przyjechać na Forum! </treść> </notatka> http://www.w3schools.com/soap/default.asp Wybrane problemy modelu usługowego (13)
XML: extendable Markup Language Interfejs tekstowy <?xml version="1.0"?> <notatka nadawca="darek odbiorca="jurek > <temat> Przypomnienie </temat> <treść> Pamiętaj przyjechać na Forum! </treść> </notatka> http://www.w3schools.com/soap/default.asp Wybrane problemy modelu usługowego (14)
SOAP: Simple Object Access Protokol <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:header>... </soap:header> <soap:body>... <soap:fault>... </soap:fault> </soap:body> </soap:envelope> http://www.w3schools.com/soap/default.asp Wybrane problemy modelu usługowego (15)
SOAP request <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body> <m:getprice xmlns:m="http://www.w3schools.com/prices"> <m:item> Apples </m:item> </m:getprice> </soap:body> </soap:envelope> http://www.w3schools.com/soap/default.asp Wybrane problemy modelu usługowego (16)
SOAP response <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body> <m:getpriceresponse xmlns:m="http://www.w3schools.com/prices"> <m:price> 1.90 </m:price> </m:getpriceresponse> </soap:body> </soap:envelope> http://www.w3schools.com/soap/default.asp Wybrane problemy modelu usługowego (17)
Rozwiązanie: Web services Powtórne uŝycie WSDL (Web Services Description Language) UDDI (Universal Description, Discovery and Integration) XML (extendable Markup Language) Inter-operacyność SOAP (Simple Object Access Protocol) Wybrane problemy modelu usługowego (18)
WSDL = Web Services Description Language <definitions> <types> definicja typów... </types> <message> definicja komunikatów... </message> <porttype> definicja portu... </porttype> <binding> definicja wiązania... </binding> </definitions> Wybrane problemy modelu usługowego (19)
WSDL = Web Services Description Language <definitions> <types> definicja typów... </types> <message> definicja komunikatów... </message> <porttype> definicja portu... </porttype> <binding> definicja wiązania... </binding> </definitions> Wybrane problemy modelu usługowego (20)
Uproszczony fragment dokumentu WSDL getterm( in term: string; out value: string) Wybrane problemy modelu usługowego (21)
Uproszczony fragment dokumentu WSDL getterm( in term: string; out value: string) Wybrane problemy modelu usługowego (22)
Uproszczony fragment dokumentu WSDL getterm( in term: string; out value: string) <porttype name="glossaryterms"> <operation name="getterm"> <input message="gettermrequest"/> <output message="gettermresponse"/> </operation> </porttype> Wybrane problemy modelu usługowego (23)
Uproszczony fragment dokumentu WSDL <message name="gettermrequest"> <part name="term" type="xs:string"/> </message> getterm( in term: string; out value: string) <message name="gettermresponse"> <part name="value" type="xs:string"/> </message> <porttype name="glossaryterms"> <operation name="getterm"> <input message="gettermrequest"/> <output message="gettermresponse"/> </operation> </porttype> Wybrane problemy modelu usługowego (24)
Plan wystąpienia Koncepcja SOA Web services Problemy Wybrane problemy modelu usługowego (25)
Zalety SOA Naprawdę? Krótszy czas dostawy na rynek (time to market) Legacy systems renovation to SOA, September 2006: ftp://ftp.software.ibm.com/software/solutions/pdfs/transforming_legacy_applications_into_an_soa_framework.pdf Wybrane problemy modelu usługowego (26)
Jan XV Forum Teleinformatyki, 24-25.IX 2009 Sieć dostaw usług, czyli SOA Automatyczny broker Usługa K Wiedza kompozyc. Usługa F Tłum. na francuski Usługa X Usługa GF Gramatyka francuska Usługa N Tłum. na niemiecki Usługa SW Słownik włoski Usługa W Tłum. na włoski Usługa GW Gramatyka włoska Usługa H Tłum. na hiszpański Usługa Y Wybrane problemy modelu usługowego (27) N.Gold i inni, Understanding Service-Oriented Software, IEEE Software, March/April 2004, str. 71-77
Zalety SOA Naprawdę? Krótszy czas dostawy na rynek (time to market) Silniejsze zorientowanie biznesu na wzrost Legacy systems renovation to SOA, September 2006: ftp://ftp.software.ibm.com/software/solutions/pdfs/transforming_legacy_applications_into_an_soa_framework.pdf Wybrane problemy modelu usługowego (28)
Zalety SOA Naprawdę? Krótszy czas dostawy na rynek (time to market) Silniejsze zorientowanie biznesu na wzrost Zredukowane koszty Legacy systems renovation to SOA, September 2006: ftp://ftp.software.ibm.com/software/solutions/pdfs/transforming_legacy_applications_into_an_soa_framework.pdf Wybrane problemy modelu usługowego (29)
Zalety SOA Naprawdę? Krótszy czas dostawy na rynek (time to market) Silniejsze zorientowanie biznesu na wzrost Zredukowane koszty Zredukowane ryzyko biznesowe Legacy systems renovation to SOA, September 2006: ftp://ftp.software.ibm.com/software/solutions/pdfs/transforming_legacy_applications_into_an_soa_framework.pdf Wybrane problemy modelu usługowego (30)
Jan XV Forum Teleinformatyki, 24-25.IX 2009 Sieć dostaw usług, czyli SOA Automatyczny broker Usługa K Wiedza kompozyc. Usługa F Tłum. na francuski Usługa X Usługa GF Gramatyka francuska Usługa N Tłum. na niemiecki Usługa SW Słownik włoski Usługa W Tłum. na włoski Usługa GW Gramatyka włoska Usługa H Tłum. na hiszpański Usługa Y Wybrane problemy modelu usługowego (31) N.Gold i inni, Understanding Service-Oriented Software, IEEE Software, March/April 2004, str. 71-77
Elegancja czy wydajność? ZałoŜenie: Wszystko jest usługą, łącznie z logowaniem i transformacją danych S1 S2 4 rozproszone transakcje + 24 zdalne wywołania + 14 komunikatów Ch. Bussler: The Fractal Nature of Web Services, IEEE Software, March 2007, 93-95. Wybrane problemy modelu usługowego (32)
Pozyskiwanie usługi w SOA: Kogo wybrać? Jan Automatyczny broker Usługa K Wiedza kompozyc. Usługa W1 Usługa W2 Usługa W3 Tłum. na Tłum. na Tłum. na włoski włoski włoski Usługa SW Usługa GW Usługa SW3 Słownik Gramatyka Słownik włoski włoska włoski Wybrane problemy modelu usługowego (33)
Pozyskiwanie usługi w SOA Testowanie: Usługa W1 Tłum. na włoski Ryzyko dla dostawcy (bezpłatne usługi) Wybrane problemy modelu usługowego (34)
Pozyskiwanie usługi w SOA Testowanie: Usługa W1 Tłum. na włoski Ryzyko dla dostawcy (bezpłatne usługi) Wzajemne polecanie: Ryzyko dla zlecającego (nowe nieznane usługi?) Wybrane problemy modelu usługowego (35)
Pozyskiwanie usługi w SOA Testowanie: Usługa W1 Tłum. na włoski Ryzyko dla dostawcy (bezpłatne usługi) Wzajemne polecanie: Ryzyko dla zlecającego (nowe nieznane usługi?) Certyfikacja? Wybrane problemy modelu usługowego (36)
SOA chałupnictwo Zlecenie.xml Wyniki.xml Zleceniodawca Zleceniobiorca Robienie swetrów Sprzątanie TAK NIE Wybrane problemy modelu usługowego (37)
SZNapS: Sprawne Zarządzanie Naprawami Systemu Utrzymywany system API monitora Pytanie.xml Odpowiedz.xml Usługa automatycznego (maintained system) API naprawy Akcja.xml monitorowania i naprawiania M.Kamiński, System zarządzania naprawami, w: Systemy czasu rzeczywistego, WKŁ, 2009, 159-168 Wybrane problemy modelu usługowego (38)
SZNapS: Repozytorium usług jest zbędne Odszukanie (2) Odbiorca usługi Związanie (3) Odbiorca usługi Repozytorium usług Publikacja (1) Dostawca usługi Dostawca usługi Wybrane problemy modelu usługowego (39)
Inne problemy Brak mechanizmu sesji Prędkość i zawodność sieci Semantyczne wyszukiwanie usług? Nadmierny dynamizm Wybrane problemy modelu usługowego (40)
Podsumowanie Model usługowy (SOA i Web services) jest ciekawą propozycją. Niestety, niesie ze sobą wszystkie zagroŝenia charakterystyczne dla nowych technologii. Wybrane problemy modelu usługowego (41)