Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałCelestyn Skorupa Został zmieniony 11 lat temu
1
XML w elektronicznej wymianie dokumentów i integracji aplikacji
2
Geneza elektronicznej wymiany danych (EDI)
Problemy z automatyzacją procesów między przedsiębiorstwami. „Izolowane wyspy” Przedsiębiorstwa najpierw automatyzują wewnętrzne procesy wymiany dokumentów. Połączenie między przedsiębiorstwami nie jest jednak zwykle możliwe bezpośrednio, ze względu na różne platformy sprzętowe, aplikacje i formaty danych. Dlatego wymiana dokumentów między przedsiębiorstwami pozostaje w postaci tradycyjnej – papierowej. Różne rodzaje „zygzaków” reprezentują różne formaty kodowania informacji (komunikatów). XML w elektronicznej wymianie dokumentów i integracji aplikacji
3
Pojedyncze rozwiązania
Wielka korporacja dostarcza kontrahentom narzędzia dostosowujące do własnego formatu. Wielka korporacja wymusza na kontrahentach dostosowanie do swojego formatu. Schemat przedstawia drugi z wymienionych wariantów, w którym konwersję implementuje mniejszy kontrahent. XML w elektronicznej wymianie dokumentów i integracji aplikacji
4
Standardy EDI Standard
EDIFACT – United Nations Standard Messages Directory for Electronic Data Interchange For Administration, Commerce and Transport. ANSI Accredited Standards Committee X12 sub-group. Standard Dlatego opracowano standardowe metody kodowania i przesyania komunikatów EDI. EDIFACT jest rozpowszechniony w Europie, zaś X12 jest bardziej popularny za oceanem. Wykorzystanie standardu wymaga zastosowania konwerterów – ale tym razem tylko jednego na system. Konwertery są zwykle dostarczane wraz z systemami klasy ERP. XML w elektronicznej wymianie dokumentów i integracji aplikacji
5
EDIFACT – przykład: Details of Transport
8051 TRANSPORT STAGE QUALIFIER M an CONVEYANCE REFERENCE NUMBER C an..17 C220 MODE OF TRANSPORT C Mode of transport, coded C an Mode of transport C an..17 C228 TRANSPORT MEANS C Type of means of transport identification C an Type of means of transport C an..17 C040 CARRIER C Carrier identification C an Code list qualifier C an Code list responsible agency, coded C an Carrier name C an TRANSIT DIRECTION, CODED C an..3 C401 EXCESS TRANSPORTATION INFORMATION C C222 TRANSPORT IDENTIFICATION C XML w elektronicznej wymianie dokumentów i integracji aplikacji
6
EDIFACT – przykład: 8051 Transport stage qualifier
1 Inland transport 2 At the statistical territory limit 10 Pre-carriage transport 11 At border 12 At departure 13 At destination 20 Main-carriage transport 21 Main carriage - first carrier 22 Main carriage - second carrier 23 Main carriage - third carrier 30 On-carriage transport XML w elektronicznej wymianie dokumentów i integracji aplikacji
7
EDIFACT – fragment komunikatu
TDT+20+57EP12+1++HLC:172: :146::HAMBURG EXPRESS:DE’ RFF+VM:DIHE’ RFF+VON:51WP11’ FTX+TRA+++CEE-CHINA EUROPE EXPRESS LOOP 4’ FTX+AAI+++MASTER PETER SUNSHINE’ XML w elektronicznej wymianie dokumentów i integracji aplikacji
8
Nowa EDI Pomysł: zakodować strukturę dokumentu EDI przy pomocy elementów XML. <faktura> <dostawca> <nazwa>empolis Polska sp. z o.o.</nazwa> <adres>ul. Płocka 5a</adres> <kod>01-231</kod> <miasto>Warszawa</miasto> </dostawca> ... </faktura> N1*BY*92*1287 N1*ST*92*87447 N1*ZZ*992*1287 PO1*1*1*EA*13.33**CB* 80211*IZ*364*UP* XML w elektronicznej wymianie dokumentów i integracji aplikacji
9
Tradycyjna EDI – XML EDI
Format dokumentów zapisany w specyfikacji. „Samoopisujący się” format dokumentów. Zwięzłe komunikaty, zawierające tylko niezbędne dane. Rozwlekłe komunikaty – narzut na „samoopisywanie się”. Scentralizowana, trudna zmiana standardu. Możliwość tworzenia własnych odmian standardów. Zmiany standardu pociągają uciążliwe zmiany oprogramowania. Większość problemów ze zmianą standardu bierze na siebie parser XML. Komunikaty EDIFACT zawierają jedynie dane, oddzielone od siebie odpowiednimi separatorami. Znaczenie każdej danej jest opisane w specyfikacji. Komunikaty EDIFACT są więc stosunkowo zwięzłe. W przeciwieństwie do nich, dokumenty XML zawierają nazwy elementów i atrybutów, które są w pewnym sensie informacją nadmiarową, powodującą rozwlekłość komunikatu. Dzięki temu XML jest jednak bardziej elastyczny i odporny na zmiany, bowiem aplikacje korzystające z komunikatów XML nie muszą mieć „zakodowanej w sobie” specyfikacji formatu komunikatu, lecz mogą być sparametryzowane strukturą komunikatu zawartą w samej jego treści. XML w elektronicznej wymianie dokumentów i integracji aplikacji
10
Tradycyjna EDI – XML EDI
Przetwarzanie przez specjalne aplikacje Interakcja przy pomocy przeglądarki Implementowanie od podstaw Możliwość korzystania z gotowych narzędzi Łącza dedykowane dla EDI (Value Added Networks) Internet + bezpieczne protokoły Możliwość integracji z tradycyjnymi systemami EDI Tradycyjne dokumenty EDI wymagają specjalnych aplikacji do ich przetwarzania, z reguły pisanych od zera. W przypadku XML EDI, możemy wykorzystać istniejące parsery XML-a i inne moduły programistyczne wspierające przetwarzanie dokumentów XML. Tradycyjna EDI jest zwykle realizowana na dedykowanych łączach, tzw. Value Added Networks (VAN). Dostawca takich łącz dzierżawi je zwykle od korporacji telekomunikacyjnej, dodając usługi takie jak wykrywanie błędów, bezpieczeństwo komunikatów. Takie usługi są kosztowne, w przeciwieństwie do Internetu, za który i tak się płaci, niezależnie od tego, czy korzysta z niego EDI. XML w elektronicznej wymianie dokumentów i integracji aplikacji
11
Elastyczność XML EDI empolis Polska
<firma nazwa=”empolis Polska” adres=”Płocka 5a” kod=”01-231” miasto=”Warszawa” /> <firma nazwa=”empolis Polska” /> empolis Polska Adres: Płocka 5a Kod: Miasto: Warszawa Tel. Pewne zmiany w ustalonym formacie danych mogą się obejść bez jakichkolwiek poprawek oprogramowania. Przykład: można stosować różne zestawy atrybutów opisujących firmę. Dodanie nowego atrybutu nie powoduje błędnego działania aplikacji, która takiego atrybutu nie oczekuje – jest on przez nią ignorowany. <firma nazwa=”empolis Polska” adres=”Płocka 5a” miasto=”Warszawa” /> XML w elektronicznej wymianie dokumentów i integracji aplikacji
12
XML EDI a przeglądarki internetowe
Najnowsze wersje przeglądarek wspomagają wyświetlanie dokumentów XML. XSL jako język opisu formatowania. Nowe zastosowanie EDI: podstawowa funkcjonalność – wymiana danych między aplikacjami przedsiębiorstw, nowe perspektywy: kontakt z klientami wyposażonymi tylko w przeglądarki, E-Commerce. Dzięki przeglądarkom można myśleć o wykorzystaniu technologii XML EDI wszędzie tam, gdzie klient nie zawsze jest wyposażony w systemy komputerowe wspierające EDI, a więc np. w sklepach internetowych, w firmach kurierskich (klient śledzi drogę przesyłki), itp. XML w elektronicznej wymianie dokumentów i integracji aplikacji
13
Inicjatywy standaryzacji XML-EDI
XML jest zbyt elastyczny. Inicjatywy standaryzacyjne: ogólne – dążą do ukierunkowania tej elastyczności, aby: można było wymieniać informacje dowolnego typu, informacje jednego typu były tak samo reprezentowane; np. Electronic Business XML – ebXML; branżowe – standaryzują konkretne komunikaty: SWIFT, RosettaNet, Automotive Industry Action Group, Health Level Seven, Open Travel Alliance, ... XML pozwala zamodelować i zakodować wszystko. Niestety, ten sam byt można zakodować na wiele sposobów, różniących się choćby nazwami elementów. Inicjatywy w różny sposób próbują ograniczyć tą dowolność, która w końcu może przeszkadzać w integracji. Inicjatywy tego typu dość intensywnie pączkują, tworzą się i upadają. Wśród inicjatyw ogólnych, nie związanych z konkretną branżą, najważniejsza to ebXML. XML XML w elektronicznej wymianie dokumentów i integracji aplikacji
14
ebXML ebXML: Electronic Business XML Working Group:
zbiór specyfikacji definiujących sposób prowadzenia biznesu i wymiany danych przez Internet, zaakceptowane 14 maja 2001 r., oczekiwane implementacje i wsparcie w istniejących systemach, wsparcie przez inne inicjatywy standaryzacyjne. Electronic Business XML Working Group: założona we wrześniu 1999 r., ok. 150 specjalistów, patronat OASIS i UN/CEFACT. Po 18 miesiącach prac, specyfikacje ebXML zostały zaakceptowane. Pojawiają się już pierwsze implementacje. Inicjatywa ebXML wygląda na najpoważniejszą na rynku i można wróżyć jej sukces. Znamienne jest, że powstała ona jedynie w celu zaprojektowania XML-owej ramy dla EDI, zaś nie zamierza nią zarządzać, rozpatrując przekazanie tej działalności (wraz z ewentualnym połączeniem) jednej z istniejących inicjatyw. Jest to o tyle prawdopodobne, że niektóre inne inicjatywy (np. RosettaNet, zajmująca się standaryzacją w branży informatycznej i elektronicznej) przejmują idee ebXML i stosują je w swoich rozwiązaniach. XML w elektronicznej wymianie dokumentów i integracji aplikacji
15
Podejście do standaryzacji
Meta-model pozwalający na opracowywanie modeli specyficznych dla zastosowań: zbiór podstawowych schematów, elementów XML oraz procesów biznesowych, sposób definiowania słowników danych, nie definiuje konkretnych, docelowych komunikatów. Metainformacje: informacje o wersjach, metadane odpowiadające nagłówkom z istniejących systemów EDI. Ramy architektury technicznej: sposoby implementacji repozytoriów, serwisów, itp., integracja z istniejącymi technologiami EDI. Grupa ebXML zaprojektowała ramę pozwalającą na opracowywanie specyficznych sub-standardów. Jej podstawą będzie repozytorium przechowujące typowe obiekty (schematy, elementy, encje). ebXML zakłada od początku integrację z istniejącymi technologiami. Podstawowy zbiór komponentów, używanych niezależnie od technologii, zostanie bowiem opisany w sposób niezależny od konkretnej implementacji. ebXML będzie ponadto wspierać konwersje i migracje z innych technologii. XML w elektronicznej wymianie dokumentów i integracji aplikacji
16
XML w integracji aplikacji
Cel: umożliwienie wymiany danych pomiędzy aplikacjami: aplikacje/komponenty/moduły posługują się różnymi formatami wewnętrznymi, wspólny mianownik: XML. Zastosowania: komunikacja między klientem a serwerem, komunikacja między elementami systemu rozproszonego, integracja komponentów aplikacji, konfigurowanie aplikacji i jej komponentów, ... Coraz częściej aplikacje (niekoniecznie rozproszone) są złożone z komunikujących się ze sobą składników. W XML-EDI XML pojawiał się w niewidocznej dla użytkownika warstwie komunikacji między aplikacjami. Podobnie jest tutaj – XML może być niewidoczny dla użytkownika i stanowić interfejs między składnikami aplikacji. Projektowanie wykorzystania XML-a w integracji aplikacji jest o tyle prostsze od projektowania komunikatów EDI, że obie strony wymiany są pod naszą (projektanta) kontrolą i to my decydujemy o formacie wymiany. Odpada więc – niezbędny w wymianie EDI – uciążliwy proces standaryzacji. XML w elektronicznej wymianie dokumentów i integracji aplikacji
17
EDI a integracja aplikacji
Komunikacja pomiędzy systemami biznesowymi różnych organizacji. Komunikacja systemów lub komponentów systemu w ramach organizacji. Brak kontroli nad systemem partnera w komunikacji. Kontrola nad komunikującymi się komponentami. Niezbędna standaryzacja komunikatów. Standaryzacja na poziomie metodologii ułatwia korzystanie z gotowych narzędzi. Internet kluczowym elementem infrastruktury XML-EDI. Internet tylko dla „rozległej” integracji. XML w elektronicznej wymianie dokumentów i integracji aplikacji
18
Web Services Pomysł na:
udostępnianie aplikacji/funkcjonalności/obiektów w Internecie, (bardzo) rozproszony RPC/messaging, „strony internetowe” przeznaczone dla aplikacji. Web service: samodzielna aplikacja (komponent), która może być: opisana, opublikowana w sieci, znaleziona przez potencjalnych użytkowników, wywołana poprzez sieć w sposób ustandaryzowany. Web Services: platforma do tworzenia takich aplikacji. XML w elektronicznej wymianie dokumentów i integracji aplikacji
19
Standaryzacja Standardowy system typów: Interfejs serwisu:
XML Schema. Interfejs serwisu: WSDL – Web Service Definition Language. Sposób wywołania serwisu i otrzymania odpowiedzi: SOAP – Simple Object Access Protocol, HTTP POST. Sposób znajdowania odpowiedniego serwisu: UDDI - Universal Description, Discovery and Integration. XML w elektronicznej wymianie dokumentów i integracji aplikacji
20
Typowe zastosowania Udostępnianie/sprzedaż użytecznych danych:
rozkłady lotów linii lotniczych, dane o pogodzie, aktualny czas wg zegara atomowego. Zdalne usługi: wyszukiwanie, pobieranie aktualnej wersji oprogramowania. Operacje biznesowe między partnerami: zamawianie, sprawdzanie stanu realizacji zamówienia. XML w elektronicznej wymianie dokumentów i integracji aplikacji
21
Źródło: Yasser Shohould, "Building XML Web Services with VB .NET"
Typowa architektura Źródło: Yasser Shohould, "Building XML Web Services with VB .NET" XML w elektronicznej wymianie dokumentów i integracji aplikacji
22
Źródło: Yasser Shohould, "Building XML Web Services with VB .NET"
Wywołanie serwisu Źródło: Yasser Shohould, "Building XML Web Services with VB .NET" XML w elektronicznej wymianie dokumentów i integracji aplikacji
23
Opis serwisu: WSDL Zawartość opisu: Zastosowania:
udostępniane metody (nazwy, parametry, zwracane wartości), protokół używany do wywołania (np. SOAP poprzez HTTP), typ wywołania (RPC czy messaging), URI serwisu. Zastosowania: do czytania przez developera, automatyczne generowanie kodu klienta, analiza dokumentu WSDL w czasie wykonania w celu wywołania serwisu. XML w elektronicznej wymianie dokumentów i integracji aplikacji
24
WSDL – przykład <definitions name='Weather' targetNamespace = ' xmlns:wsdlns=' ... <message name='Weather.GetTemperature'> <part name='zipcode' type='xsd:string'/> <part name='celsius' type='xsd:boolean'/> </message> <message name='Weather.GetTemperatureResponse'> <part name='Result' type='xsd:float'/> </message> <portType name='WeatherSoapPort'> <operation name='GetTemperature' parameterOrder='zipcode celsius'> <input message='wsdlns:Weather.GetTemperature' /> <output message='wsdlns:Weather.GetTemperatureResponse' /> </operation> </portType> ... </definitions> XML w elektronicznej wymianie dokumentów i integracji aplikacji
25
Źródło: Yasser Shohould, "Building XML Web Services with VB .NET"
Komunikacja: SOAP Standard kodowania komunikatów o dowolnej treści: Style komunikatów SOAP: document, RPC. Sposoby serializacji danych: encoded – dane są zserializowanymi obiektami programistycznymi, literal – dokument o dowolnej strukturze. Źródło: Yasser Shohould, "Building XML Web Services with VB .NET" XML w elektronicznej wymianie dokumentów i integracji aplikacji
26
SOAP – przykład <soapenv:Envelope xmlns:soapenv=" <soapenv:Body> <vbws:GetEmpOrders xmlns:wsdlns=" soapenv:encodingStyle= " <zipcode>23-456</zipcode> <celsius>true</celsius> </vbws:GetEmpOrders> </soapenv:Body> </soapenv:Envelope> XML w elektronicznej wymianie dokumentów i integracji aplikacji
27
UDDI: jak znaleźć odpowiedni serwis
UDDI - Universal Description, Discovery and Integration: katalog serwisów do automatycznego wyszukiwania. UDDI web services: Inquiry: find_business, get_businessDetail; Publish: save_business, delete_business. Serwery UDDI: publiczne i prywatne, replikacja między serwerami publicznymi, UDDI Business Registry (UBR) – publiczny serwis uruchomiony przez IBM, Microsoft, NTT Communications i SAP. XML w elektronicznej wymianie dokumentów i integracji aplikacji
28
Z lotu ptaka WSDL ... RPC Web Services UDDI SOAP messaging ... HTTP
XML w elektronicznej wymianie dokumentów i integracji aplikacji
29
Gdzie szukać dalej Bryan, M. et. al., Guidelines for using XML for Electronic Data Interchange EDISON – Narodowy Operator EDI Zioło, S. , Księżyk, R., Wykorzystanie języka XML w EDI Materiały na VIII Krajową Konferencję EDI-EC, Wydawca: Niedźwiedziński Consulting, Łódź, 2000 Shohoud, Y., Building XML Web Services with VB .NET Sulecki, M., Web Services na urządzeniach mobilnych Software 2.0, 6/2002, Wydawnictwo Software XML w elektronicznej wymianie dokumentów i integracji aplikacji
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.