Prezentacja Pracy Dyplomowej Obsługa repozytorium ofert biznesowych zgodnie z ebxml Dyplomant: Borys Mądrawski Promotor: dr inż. Jacek Rumiński Katedra Inżynierii Biomedycznej Gdańsk 2005
Cele pracy Opracowanie i implementacja oprogramowania do obsługi Rejestru Biznesowego zgodnego z ebxml. Zapoznanie się z rekomendacją ebxml i jej specyfikacjami. Zapoznanie się z technologiami pomocniczymi. Nabycie umiejętności praktycznego wykorzystania rekomendacji ebxml poprzez: zaprojektowanie projektu aplikacji zgodnej z rekomendacją ebxml, implementację aplikacji z użyciem interfejsu programistycznego JAXR. Rozwinięcie umiejętności projektowania. Rozwinięcie umiejętności programowania w środowisku Java.
Zakres pracy 1. Studia literaturowe dotyczące rekomendacji ebxml oraz dodatkowo UDDI, JAXR i metod obsługi usług katalogowych. 2. Analiza projektowa obejmująca opracowanie bezpiecznej, zdalnej obsługi rejestru usług biznesowych zgodnie z ebxml. 3. Opis metody dostępu do rejestru, opracowanie projektu oprogramowania (UML) z uwzględnieniem zadań dotyczących przeglądania, wyszukiwania i dodawania ofert biznesowych. 4. Konfiguracja środowiska i implementacja oprogramowania. 5. Testowanie i weryfikacja. 6. Sformułowanie wniosków.
Ogólnie o standardzie ebxml i jego otoczeniu Główne wezwania dla systemów B2B. Standaryzacja. Popularyzacja. Redukcja kosztów. Łatwość podjęcia współpracy. Automatyzacja (także negocjacji). Zgodność z wcześniejszymi technologiami. Co to jest ebxml i jakie są jego silne strony?
Co daje XML w systemach B2B? EDI Purchase Order Sample XML Purchase Order Sample These are not self-describing data!
Jak ebxml wypada na tle innych standardów B2B? RosettaNet ebxml OAGIS EDI Other Business Process PIP Scenario CPFR Scenario Process Definition ebpss ebpss ebpss Document PIP BOD X12 XBRL,ACORD Core Components RN NextGen CC CC EDIFACT CPFR,EAN.UCC Dictionary RNBD/TD EAN.UCC GDD Trading Partner Profile ebcpp ebcppa ebcppa Registry & Repository TBD ebregrep ebregrep UDDI Messaging RNIF ebms ebms/rnif EDI-INT/VAN ebms/as2 Packaging MIME SOAP Security S/MIME XMLDSIG S/MIME/VAN Defines Standard Describes how to use standard
Model komunikacji biznesowej przy użyciu ebxml. ebxml BO Library ebxml BP Model 12 9 8 3 Accept CPA 4 Submit CPA 1 Build local system implementation Request ebxml specifications ebxml specifications detail Register scenarios and implementation details Register company business profile 5 Confirm profile and scenarios accepted 6 10 Query about Company X Company X s Profile Request Company X s Scenario 2 Company X s Scenario 7 11 Specifications Profiles Scenarios INDUSTRY INPUT ebxml BO Library ebxml BP Model
Przewidywane problemy w realizacji pracy Zagrożenie: rekomendacja jest nowa, brak kompletnych implementacji, wzorców i usystematyzowanej wiedzy nowe technologie są z reguły niestabilne ograniczenia czasowe temat bardzo obszerny (zakres się rozmywa) brak literatury w języku polskim na temat ebxml Rozwiązanie: analiza pionierskich implementacji, wyszukiwanie wiedzy w przeglądarkach internetowych szukanie bibliotek alternatywnych lub zmodyfikowanie zakresu pracy ograniczenie zakresu pracy sprecyzowanie kierunku pracy przetłumaczenie fragmentu specyfikacji ebxml
Dlaczego powstała aplikacja Registry Client Rejestr ebxml jest sercem systemu zgodnego z ebxml. Rejestr ebxml jest najbardziej namacalnym fragmentem tego systemu (baza danych, ustandaryzowane usługi). Dostępna jest darmowa implementacja Usługi Rejestru ebxml. Dostępny jest interfejs programistyczny JAXR i dostarczyciel implementacji zapewniającej dostęp do Usługi Rejestru ebxml dla tego interfejsu. Od poznania Rejstru ebxml należało by zacząć. Aplikacja Registry Client jest edytorem Rejestru ebxml wykorzystującą funkcjonalność Usługi Rejestru ebxml poprzez interfejs programistyczny JAXR i dostarczyciela implementacji dla ebxml.
Założenia przy budowie aplikacji Registry Client Użycie bilioteki SWT/JFaces. Budowa aplikacji w formie MDI. Nie stosowanie okien blokujących interfejs okien modalnych (dialogów, okien powiadomień). Nie stosowanie zakładek. Redukcja linii kodu przez reużywalność klas ( dziedziczenie poprzez schowek niedopuszczalne) Budowa interfejsu z małych elementów paneli. Wydzielenie klas spinających kontrolki/klasy SWT z interfejsami modelu JAXR. Użycie wątku roboczego przy długotrwałych operacjach. Budowa uniwersalnej warstwy bibliotecznej do budowy aplikacji w oparciu o SWT w przyszłych projektach.
Diagram współpracy widoków aplikacji : Main : AssociationFindView 0..* : CallerAssociationFindView 1 1 1 0..* : OpenXmlView : XmlView : ConnectionView : ClassificationSchemeFindView : ConceptFindView : OrganizationFindView 1 1 : RegistryObjectManager 1 1 0..* : RegistryXmlView : RegistryPackageFindView : ServiceBindingFindView 0..* : RegistryObjectView : ServiceFindView : DeclarativeQueryView : FindRegistryObjectView
Diagram sekwencji powoływania widoków : Main : RegistryObjectManager 1: : Session 2: : ConnectionView 3: setimplementation( string ) 4: setquerymanagerurl( string ) 5: setlifecyclemanagerurl( string ) 6: setusername( string ) 7: setpassword( string ) 8: connect() 9: isconnected() 10: 11: 12: 13: : OrganizationFindView 14: getglobal() 15: open( registryobject ) 16: 17: return : RegistryObjectView 18: open( registryobject ) 20: return 22: close() 25: 19: : RegistryObjectView 21: open( registryobject ) 23: 24: return : RegistryObjectView 27: close() 28: close() 26: close() 31: 29: 30: 33: 34: 32:
Osiągnięta fukcjonalność aplikacji Registry Client Implementacja niemalże całej funkcjonalności JAXR, a w szczególności implementacja: Logowania. Wyszukiwania wpisów w Rejestrze poprzez: wykorzystanie dedykowanych dla typów wpisów funkcji, przekazanie filtru wyszukiwania (SQL), przekazanie identyfikatora obiektu. Edycji wpisów. Tworzenia nowych wpisów. Usuwania wpisów.
Prezentacja filmów Funkcjonalność bazowa ogólne dostępna funkcjonalność okna głównego Funkcjonalność wyszukiwania wpisów widoki wyszukiwania wpisów i widoki zawartości wpisu Funkcjonalność tworzenia wpisu utworzenie wpisu, edycja i zapisanie w Rejestrze Funkcjonalność przechowywania plików zapisanie pliku w Rejestrze i pobranie go z powrotem Widok zbudowany w oparciu o XUL
Napotkane problemy w realizacji pracy Problem: problem poprawnego skonfigurowania środowiska po stronie serwera i częściowo klienta surowość biblioteki SWT meta model JAXR trudny w użyciu w uniwersalnym podejściu do edycji forma MDI aplikacji czasochłonna w implementacji brak segmentacji pobierania Rozwiązanie: wytrwałość! wytworzenie namiastki framework'u GUI wytworzenie klas spinających lub otoczek dla interfejsów meta modelu JAXR maksymalne uproszczenie funkcjonalność zrezygnowanie z funkcji importu
Osiągnięte cele Lepsze poznanie języka/platformy Java. Poznanie biblioteki SWT/JFaces. Zaznajomienie się ze specyfikacją ebxml, a w szczególności z Usługą Rejestru ebxml. Poznanie interfejsu programistycznego JAXR. Przypomnienie sobie wiedzy o UML. Rozwinięcie umiejętności administratorskich w systemie Linux. Stworzenie prototypu edytora Rejestru: Registry Client.