Wykonanie funkcjonalności Zaufany Profil w ramach rozbudowy epuap
|
|
- Bronisława Kaczor
- 8 lat temu
- Przeglądów:
Transkrypt
1 POWYKONAWCZY PROJEKT TECHNICZNY ZAUFANY PROFIL Wykonanie funkcjonalności Zaufany Profil w ramach rozbudowy epuap Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, Warszawa
2 Autor Zamawiający Wersja dokumentu Liczba stron 54 epuap2 POWYKONAWCZY POWYKONAWCZY PROJEKT TECHNICZNY ZP Radosław Muniowski Ministerstwo Spraw Wewnętrznych i Administracji Historia zmian Wersja Data Kto Opis zmian Radosław Muniowski Ostateczna wersja dokumentu 2/54
3 Spis treści 1 Spis załączników i rysunków Pojęcia Architektura Systemu Architektura podsystemów Technologia wytwarzania Model projektu technicznego Komponenty Implementacja komponentów - klasy logiki Struktury informacji Zdarzenia Interfejsy Interfejs graficzny użytkownika Obsługa metod autoryzacji Profil Zaufany Unieważnienie profilu zaufanego Listy wniosków i profilów zaufanych Wniosek o założenie profilu zaufanego Interfejsy zewnętrzne Dostarczanie informacji o posiadaniu profilu ZP Podpisywanie z użyciem ZP Weryfikacja podpisu ZP Definicja WSDL interfejsu Architektura fizyczna Schemat bazy danych Tabela ADDITIONALATTRIBUTE Tabela LEGALPERSONAPPLICATION Tabela LEGALPERSONAPPLICATION_ADDITIONALATTRIBUTE Tabela NATURALPERSONAPPLICATION Tabela NATURALPERSONAPPLICATION_ADDITIONALATTRIBUTE Tabela ZP_AUTH_METHODS Tabela ZP_CONFIG Tabela ZP_CURR_AUTH /54
4 5.1.9 Tabela ZP_PROFILE Tabela ZP_REMOTE_DOCUMENTS Tabela ZP_SIGN_LOG Tabela ZP_STATE_CHANGES Schemat rozmieszczenia /54
5 1 Spis załączników i rysunków Rysunki Rysunek 1 Model projektu technicznego... 8 Rysunek 2 Diagram komponentów epuap... 9 Rysunek 3 Diagram komponentów ZP... 9 Rysunek 4 Diagram klas komponentu Wnioski Rysunek 5 Diagram klas komponentu Autoryzacja Rysunek 6 Diagram klas komponentu weryfikacji danych Rysunek 7 Diagram klas komponentu podpisu Rysunek 8 Diagram klas komponentu Magazyn ZP Rysunek 9 Schemat bazy danych (część 1) Rysunek 10 Schemat bazy danych (część 2) Rysunek 11 Diagram wdrożenia aplikacji ZP Rysunek 12 Przypisanie komponentów do maszyn w poszczególnych środowiskach Załączniki 1. zp_javadoc_ rar dokumentacja implementacji JAVADOC 5/54
6 2 Pojęcia System epuap Podsystem epuap Interfejs Pojęcie Opis Ogół elementów wchodzących w skład platformy epuap. Część systemu epuap wyodrębniony w architekturze. Definicja zbioru operacji, które mogą być wywoływane przez dwa komunikujące się elementy. Komponent Element składowy systemu (podsystemu) realizujący pewien spójny zakres funkcjonalności. Komunikacja między komponentami odbywa się wyłącznie przy użyciu interfejsów. WebSerwis Profil Zaufany Aplikacja ZP (Zaufany Profil) Jedna z form implementacji interfejsu. Cechą interfejsu jest jego dostępność może być wywołany zdalnie przez system zewnętrzny. Potwierdzony podpisem kwalifikowanym zbiór informacji wiążący profil epuap i zweryfikowane dane. Aplikacja dostarczająca funkcjonalności obsługi i zarządzania profilami zaufanymi Podpis ZP (podpis profilem zaufanym) Podpis cyfrowy dokonywany przez epuap zawierający informację o podmiocie zaufanym w imieniu, którego dokonano podpisu. Dodatkowe informacje umieszczone są w elemencie claimedrole struktury podpisu. HSM Hardware Security Module sprzętowy moduł kryptograficzny TSA Time Stamping Authority usługi służące do oznaczania czasem 6/54
7 SOPEL System Obsługi Podpisu Elektronicznego 3 Architektura Systemu 3.1 Architektura podsystemów Celem tego podrozdziału będzie opracowanie wewnętrznej architektury podsystemów, wyodrębnienie komponentów składowych oraz opracowanie modelu klas implementacji. W punkcie tym zostanie zawarte elementy wymienione poniżej. Prezentacja komponentów wchodzących w skład aplikacji ZP. Diagram i opis klas realizujących poszczególne komponenty Technologia wytwarzania Aplikację ZP jest budowana zgodnie z poniższymi wytycznymi. Architektura rozproszona i wielowarstwowa. Komunikacja pomiędzy poszczególnymi warstwami aplikacji realizowana jest przy pomocy technologii EJB. Komunikacja z podsystemami epuap realizowana jest z wykorzystaniem web-serwisów. Nie istnieją powiązania międzysystemowe na poziomie bazy danych. Wykorzystaną platformą programowania jest Java w wersji 1.4(WebSphere Portal) i 1.5 (WAS 6.1). Wykorzystaną bazą danych jest IBM DB Warstwa webowa została stworzona z wykorzystaniem technologii portletów uruchamianych na serwerze IBM WebSphere Portal 6.0 oraz serwerów aplikacyjnych IBM WebSphere Application Server 6.1. Strony aplikacji zachowują zgodność ze specyfikacją XHTML. Kod aplikacji zachowuje niezależność od używanego IDE i może być po wprowadzeniu zmian skompilowany z użyciem skryptów ANT pod warunkiem dostarczenia odpowiedniego zestawu bibliotek. Kod aplikacji utrzymywany jest za pomocą repozytorium CVS, które pozwala kontrolować zmiany do niego wprowadzane Model projektu technicznego Poniższy diagram prezentuje model projektu technicznego. 7/54
8 Rysunek 1 Model projektu technicznego Elementem o najszerszym zasięgu jest podsystem. Podsystem udostępnia zbiór interfejsów, którymi komunikuje się z innymi podsystemami. Podsystem zbudowany jest z komponentów implementowanych przy pomocy zbioru klas. Komponenty również udostępniają interfejsy, które używane są do komunikacji wewnętrznej w podsystemie. 8/54
9 3.1.3 Komponenty Na poniższych diagramach zaprezentowano budowę komponentową i zależności na poziomie całego systemu epuap i aplikacji ZP. composite structure epuap Komponenty::UB Komponenty::FE Komponenty::ZP Komponenty::PK Rysunek 2 Diagram komponentów epuap Komponent logiczny ZP do poprawnego działania potrzebuje informacji o kontach użytkowników oraz podmiotach z podsystemu bezpieczeństwa UB. Podsystem PK korzysta z interfejsów ZP do weryfikacji dokumentów przechodzących przez skrytki. Skrytki posiadają dodatkową właściwość określającą wymagalność obecności podpisu ZP. Podobne usługi do podpisywania i weryfikacji dokumentów tworzonych przez użytkownika wykorzystuje podsystem FrontEnd. Użytkownik ma możliwości dokonania podpisu kwalifikowanego lub podpisu ZP (w zależności od dostępnego dla danego użytkownika profilu ZP). Weryfikacja podpisu prezentowana użytkownikowi zawiera dodatkowe informacje pozwalające ustalić podmiot i użytkownika w imieniu, którego złożono podpis ZP. composite structure ZP Autoryzacja Magazyn ZP Podpis ZP Wnioski Weryfikacja danych Rysunek 3 Diagram komponentów ZP 9/54
10 Powyższy diagram prezentuje wewnętrzną strukturę komponentową aplikacji ZP. Komponent Wnioski odpowiada za zarządzanie i obsługę wniosków użytkownika nadanie \ przedłużenie \ unieważnienie profilu zaufanego. Wykorzystuje magazyn ZP, który odpowiada za zarządzanie profilami i ich ochronę. Komponent Weryfikacja danych stanowi mechanizm obsługujący proces weryfikacji danych użytkownika podczas zakładania ZP. Podstawowym testem jest sprawdzenie zgodność Imienia i Nazwiska i numeru PESEL w rejestrze centralnym. Komponent Autoryzacja odpowiedzialny jest za przeprowadzenie autoryzacji użytkownika przed złożeniem podpisu ZP jak również przy unieważnianiu profilu zaufanego. Mechanizm umożliwia definiowanie kanałów autoryzacji poprzez implementację interfejsu WebServices. Kluczowym komponentem jest Podpis ZP. Proces podpisywania wymaga komunikacji z komponentem Magazyn ZP w celu pobrania danych z profilu zaufanego oraz komponentem obsługującym autoryzację (Autoryzacja) Implementacja komponentów - klasy logiki Poniższe diagramy przedstawiają wewnętrzną budowę poszczególnych komponentów. Wnioski class zp_applications «interface» ApplicationRemote + approveapplication(application, byte[], String) : Application + findlegalpersonapplications(string, String, String, String, String, String, ApplicationStatus, Date, QueryInfo) : List<LegalPersonApplication> + findlegalpersonapplicationscount(string, String, String, String, String, String, ApplicationStatus, Date) : Long + findnaturalpersonapplications(string, String, String, String, String, ApplicationStatus, Date, QueryInfo) : List<NaturalPersonApplication> + findnaturalpersonapplicationscount(string, String, String, String, String, ApplicationStatus, Date) : Long + getfulllegalpersonapplication(long) : LegalPersonApplication + getfullnaturalpersonapplication(long) : NaturalPersonApplication + registernewlegalpersonapplication(legalpersonapplication) : LegalPersonApplication + registernewnaturalpersonapplication(naturalpersonapplication) : NaturalPersonApplication + rejectapplication(application, String, String) : Application IllegalArgumentException VerificationFailureException - serialversionuid: long = 1L {readonly} «interface» ApplicationDaoLocal + findlegalpersonapplications(string, String, String, String, String, String, ApplicationStatus, Date, QueryInfo) : List<LegalPersonApplication> + findlegalpersonapplicationscount(string, String, String, String, String, String, ApplicationStatus, Date) : Long + findnaturalpersonapplications(string, String, String, String, String, ApplicationStatus, Date, QueryInfo) : List<NaturalPersonApplication> + findnaturalpersonapplicationscount(string, String, String, String, String, ApplicationStatus, Date) : Long + getfulllegalpersonapplication(long) : LegalPersonApplication + getfullnaturalpersonapplication(long) : NaturalPersonApplication + save(application) : Application + update(application) : Application -applicationdaolocal ApplicationBean - applicationdaolocal: ApplicationDaoLocal - dataverifierlocal: DataVerifierLocal - log: Logger = Logger.getLogge... - trustedprofilelocal: TrustedProfileLocal + approveapplication(application, byte[], String) : Application + findlegalpersonapplications(string, String, String, String, String, String, ApplicationStatus, Date, QueryInfo) : List<LegalPersonApplication> + findlegalpersonapplicationscount(string, String, String, String, String, String, ApplicationStatus, Date) : Long + findnaturalpersonapplications(string, String, String, String, String, ApplicationStatus, Date, QueryInfo) : List<NaturalPersonApplication> + findnaturalpersonapplicationscount(string, String, String, String, String, ApplicationStatus, Date) : Long + getfulllegalpersonapplication(long) : LegalPersonApplication + getfullnaturalpersonapplication(long) : NaturalPersonApplication + registernewlegalpersonapplication(legalpersonapplication) : LegalPersonApplication + registernewnaturalpersonapplication(naturalpersonapplication) : NaturalPersonApplication + rejectapplication(application, String, String) : Application ApplicationDaoBean - em: EntityManager - log: Log = LogFactory.getL... + findlegalpersonapplications(string, String, String, String, String, String, ApplicationStatus, Date, QueryInfo) : List<LegalPersonApplication> + findlegalpersonapplicationscount(string, String, String, String, String, String, ApplicationStatus, Date) : Long - findlpainternal(string, String, String, String, String, String, ApplicationStatus, Date, QueryInfo, StringBuffer, String) : Query + findnaturalpersonapplications(string, String, String, String, String, ApplicationStatus, Date, QueryInfo) : List<NaturalPersonApplication> + findnaturalpersonapplicationscount(string, String, String, String, String, ApplicationStatus, Date) : Long - findnpainternal(string, String, String, String, String, ApplicationStatus, Date, QueryInfo, StringBuffer, String) : Query + getfulllegalpersonapplication(long) : LegalPersonApplication + getfullnaturalpersonapplication(long) : NaturalPersonApplication + save(application) : Application + update(application) : Application Rysunek 4 Diagram klas komponentu Wnioski Komponent Wnioski odpowiedzialny jest za obsługę wniosków o nadanie zaufanego profilu. Sercem modułu jest bezstanowy komponent EJB ApplicationBean realizujący zadania logiki biznesowej, oferujący swoje usługi przez interfejs zdalny (ApplicationRemote). Do realizacji swoich zadań korzysta z interfejsu lokalnego ApplicationDaoLocal, który definiuje kontrakt utrwalania danych. W ramach projektu stworzono implementację interfejsu ApplicationDaoLocal w postaci bezstanowego komponentu ApplicationDaoBean, który korzysta ze standardowej technologii Java Persistence API. Jako dostawcę usług utrwalania wybrano oprogramowanie OpenJPA dostępne w wykorzystywanym serwerze aplikacyjnym IBM WebSphere Application Server. W celu weryfikacji zgodności danych z kontem użytkownika lub profilem podmiotu ApplicationBean wykorzystuje interfejs DataVerifierLocal, natomiast interfejs SecurityLocal udostępnia informacje na 10/54
11 temat uprawnień użytkownika, w kontekście, którego system aktualnie realizuje zadanie. Oba interfejsy zostały zaimplementowane w komponencie Weryfikacja danych w postaci bezstanowych komponentów EJB. Realizacja zadań cyklicznych (takich jak odrzucanie nierozpatrzonych wniosków po określonym czasie) wykorzystuje standardowy mechanizm EJB, tj. EJB Timer Service. Komunikacja z modułem magazynu zaufanych profili przebiega za pomocą interfejsu lokalnego TrustedProfileLocal. Do obsługi wysyłki korespondencji (przyjęcie oraz odrzucenie wniosku) wykorzystywany jest interfejs lokalny MailSenderLocal oraz klasy TemplatesStore i XsltConverter, które wspomagają korzystanie z przekształceń XSLT, który wykorzystywane są do tworzenia szablonów wiadomości . class zp_auth Autoryzacja «interface» IAuth + approveauthmethod(long) : boolean + authorization2finalize(string) : AuthorizationResult + authorization2prepare(trustedprofile, String, String) : String + authorizationfinalize(string, String) : AuthorizationResult + authorizationprepare(trustedprofileperson, String) : String + authorizationprepare(trustedprofileperson, TrustedProfileInstitution, String) : String + createauthmethod(authmethod) : AuthMethod + deleteauthmethod(long) : boolean + deleteauthmethod(authmethod) : boolean + findauthmethods(searchconditions) : ResultSet + getactiveauthmethod(long) : AuthMethod + getauthmethod(long) : AuthMethod + getcurrauthbypasswd(string) : CurrAuth + modifyauthmethod(authmethod) : AuthMethod «interface» CurrAuthDAO + create(currauth) : CurrAuth + getbypasswd(string) : CurrAuth + getcurrauth(long) : CurrAuth + remove(currauth) : void CurrAuthDAOImpl ~ em: EntityManager # logger: Log = LogFactory.getL... {readonly} CurrAuthColumnMap Serializable + String = " " + EPUAP_ID: String = "epuapid" + ID: String = "id" + PASSWORD: String = "passwd" - serialversionuid: long = 1L {readonly} + START_TIME: String = "starttime" + TRUSTED_PROFILE_ID: String = "trustedprofileid" «interface» AuthRemote «interface» AuthLocal - checkmanager() : void + create(currauth) : CurrAuth + CurrAuthDAOImpl(EntityManager) + getbypasswd(string) : CurrAuth + getcurrauth(long) : CurrAuth + remove(currauth) : void CurrAuth AuthBean ~ em: EntityManager # logger: Log = LogFactory.getL... {readonly} + approveauthmethod(long) : boolean + authorization2finalize(string) : AuthorizationResult + authorization2prepare(trustedprofile, String, String) : String + authorizationfinalize(string, String) : AuthorizationResult + authorizationprepare(trustedprofileperson, String) : String + authorizationprepare(trustedprofileperson, TrustedProfileInstitution, String) : String - authorizeandgetpassword(string, String, String) : String + createauthmethod(authmethod) : AuthMethod + deleteauthmethod(authmethod) : boolean + deleteauthmethod(long) : boolean + findauthmethods(searchconditions) : ResultSet + getactiveauthmethod(long) : AuthMethod + getauthmethod(long) : AuthMethod + getcurrauthbypasswd(string) : CurrAuth - getdao() : AuthDAO + modifyauthmethod(authmethod) : AuthMethod + CURR_AUTH_TYPE_EPUAP: int = 2 + CURR_AUTH_TYPE_KEY_PASSWD: int = String - epuapid: String - id: Long - passwd: String - starttime: Date - trustedprofileinstid: Long - trustedprofilepersonid: Long - type: int + CurrAuth(Long, Long, Long, String, String, Date) + CurrAuth(Long, Long, Long, String, String, Date, String) + CurrAuth() + get () : String + getepuapid() : String + getid() : Long + getpasswd() : String + getstarttime() : Date + gettrustedprofileinstid() : Long + gettrustedprofilepersonid() : Long + gettype() : int + set (string) : void + setepuapid(string) : void + setid(long) : void + setpasswd(string) : void + setstarttime(date) : void + settrustedprofileinstid(long) : void + settrustedprofilepersonid(long) : void + settype(int) : void - instance: AuthBO AuthBO - AuthBO() + checkauthmethod(authmethod, int) : List<String> + getinstance() : AuthBO -instance AuthServ icelocator + getauth() : IAuth AuthHelper - CHAR_TAB: char ([]) = null ~ i: int = 0 # logger: Log = LogFactory.getL... {readonly} ~ tmp: char ([]) = new char[200] + generatepassword(int) : String + listtostring(list<string>, String) : String + sendmail(string, String, String, String) : void Rysunek 5 Diagram klas komponentu Autoryzacja 11/54
12 Moduł autoryzacyjny odpowiedzialny za zarządzanie metodami autoryzacji i autoryzację użytkownika. Powyższe funkcjonalności udostępnia na zewnątrz interfejs IAuth, po którym dziedziczą AuthLocal i AuthRemote, implementację dostarcza AuthBean. W ramach zarządzania metodami autoryzacji możliwe jest tworzenie, akceptacja, usuwanie i modyfikacja metod autoryzacji. Trzy ostatnie operacje możliwe są tylko dla metod mających status w trakcie tworzenia. Wszystkie operacje wymagają odpowiednich uprawnień w systemie EPUAP. Komunikację z bazą danych w przypadku metod autoryzacji umożliwia interfejs AuthDAO znajdujący się we wspólnym module zp_commons.jar. Druga z funkcjonalności udostępnianych przez moduł to autoryzacja. Autoryzacja jest dwuetapowa: w pierwszym kroku wysyłany jest użytkownikowi kod autoryzacyjny, służą do tego metody authorizationprepare(). Przy wywołaniu wspomniana metoda zwraca id sesji autoryzacyjnej. Metoda wysyłania kodu autoryzacyjnego zależy od wybranej metody autoryzacji, obecnie obsługiwany kanał to , ale istnieje możliwość dynamicznego dodania nowej metody autoryzacji np. SMS em. Wymagane będzie przy tym zaimplementowanie WebService u wysyłającego SMS y. Przed wysłaniem kodu do użytkownika jest on zapisywany w bazie danych. Wykorzystywane są to do tego klasy CurrAuthDAO (udostępnia operacje zapisu, odczytu modyfikacji itp. danych na bazie) i CurrAuth (przechowuje informacje o bieżącej autoryzacji, tj. kod, data wysłania, id zaufanego profilu). Ze względów bezpieczeństwa klasy te nie są umieszczone we wspólnym module tak jak to ma miejsce w przypadku innych klas DAO. W kroku drugim weryfikowana jest zgodność id sesji autoryzacyjnej z kodem otrzymanym przez użytkownika (np. drogą mailową). Powyższa para musi być zgodna z danymi przechowanymi w bazie danych. Weryfikacja danych class zp_dataverification ZP DefaultSystemImpl - log: Logger = Logger.getLogge... - ZP_SUBSYSTEM_SHORT_NAME: String = "zp" {readonly} + dajinterfejs(string, String) : Object + dajskrotpodsystemu() : String «interface» DataVerifierLocal «interface» DataVerifierRemote + getorganisationinfo(string) : PodmiotInformacje + getuserinfo(string) : Uzytkownik + verifyapplication(application, boolean) : VerificationSummary + verifylegalpersondata(string, String, String, String, String, boolean) : VerificationSummary + verifynaturalpersondata(string, String, String, String, boolean) : VerificationSummary -system DataVerifierBean - iua: IUwierzytelnianieAutoryzacja - log: Logger = Logger.getLogge... - system: ZP - addlegalpersonverificationresults(string, String, String, String, PodmiotInformacje, List<VerificationResult>, boolean) : void - addnaturalpersonverificationresults(string, String, String, Uzytkownik, List<VerificationResult>, boolean) : void + comparescalar(string, String) : boolean + getorganisationinfo(string) : PodmiotInformacje + getuserinfo(string) : Uzytkownik + postconstruct() : void + predestroy() : void + verifyapplication(application, boolean) : VerificationSummary - verifylegalpersonapplication(legalpersonapplication, boolean) : VerificationSummary + verifylegalpersondata(string, String, String, String, String, boolean) : VerificationSummary - verifynaturalpersonapplication(naturalpersonapplication, boolean) : VerificationSummary + verifynaturalpersondata(string, String, String, String, boolean) : VerificationSummary «enumeration» VerificationSubject USER_OR_ORGANISATION_ID ORGANISATION_NAME USER_FIRST_NAME USER_SURNAME USER_PESEL ORGANISATION_REGON ORGANISATION_NIP ORGANISATION_KRS + getstring() : String VerificationSummary - fullverificationperformed: boolean - serialversionuid: long = 1L {readonly} - verificationresults: List<VerificationResult> Serializable + getverificationresults() : List<VerificationResult> + iseverythingcorrect() : boolean + isfullverificationperformed() : boolean + tostring() : String + VerificationSummary(boolean, Collection<VerificationResult>) Rysunek 6 Diagram klas komponentu weryfikacji danych «enumeration» VerificationStatus POSITIVE NEGATIVE CONNECTION_ERROR + getstring() : String Komponent zdefiniowano oraz zaimplementowano w postaci bezstanowych komponentów EJB dwa interfejsy lokalne: DataVerifierLocal oraz SecurityLocal. DataVerifierLocal odpowiedzialny jest za weryfikację danych zawartych we wniosku lub w zaufanym profilu z danymi zawartymi w koncie użytkownika lub profilu podmiotu epuap oraz za udostępnianie danych z konta użytkownika lub profilu podmiotu na podstawie identyfikatorów epuap-owych. W celu realizacji tych zadań 12/54
13 implementacja, klasa DataVerifierBean, korzysta z systemu ZP (w sensie epuap-owym, tj. klasy implementującej interfejs ISystem), za pomocą uzyskuje dostęp do interfejsu IUwierzytelnianieAutoryzacja, który udostępnia dane z bazy danych UB (podmioty) lub Draco (użytkownicy). Drugi komponent EJB - SecurityBean realizuje odpowiedzialność zdefiniowaną przez SecurityLocal w sposób podobny do DataVerifierBean, lecz korzysta z interfejsu IZarzadzanieUprawnieniami. SecurityLocal określa funkcje zwracające uprawnienia zalogowanego użytkownika oraz pomocnicze zwracające identyfikator użytkownika i podmiotu na podstawie tokenu bezpieczeństwa TGSID przekazywanego jako "ciasteczko" (ang. cookie) po łączu szyfrowanym. Podpis Komponent umożliwia podpisywanie dokumentów XML przy użyciu zaufanego profilu. Na zewnątrz wystawione są dwa interfejsy SignatureLocal dla wywołań z maszyny lokalnej i SignatureRemote do wywołań zdalnych. Implementacja znajduje się z bean ie SignatureBean. Podpisanie dokumentu zaufanym profilem wymaga autoryzacji użytkownika i z tego powodu jest dwuetapowe. W pierwszym kroku należy wywołać funkcję preparesignwithtrustedprofileorg lub preparesignwithtrustedprofileperson w zależności czy chcemy podpisać zaufanym profilem organizacji czy użytkownika. W parametrach funkcji przekazywane są nazwa użytkownika i nazwa organizacji, dla których istnieją ZP. System wysyła kod autoryzacyjny i zwraca klientowi id sesji. W kroku drugim wywoływana jest funkcja signwithtrustedprofile(), do której przekazywany jest dokument do podpisania i id sesji. Po poprawnej weryfikacji użytkownika dokument jest podpisywany przy użyciu zaufanych profili przekazanych w kroku pierwszym i zwracany do klienta. Poza podpisywaniem moduł umożliwia kontrasygnowanie profilem organizacji podpisu kwalifikowanego i weryfikację podpisu pod dokumentem 13/54
14 class zp_storage «interface» ITrustedProfile + PROFILE_TYPE_INSTYTUTION: int = 2 {readonly} + PROFILE_TYPE_PERSON: int = 1 {readonly} + VERIFY_DATA_WITH_XML: String = "XMLDATA" {readonly} + VERIFY_PERIOD: String = "PERIOD" {readonly} + VERIFY_SIGNATURE: String = "SIGN" {readonly} + VERIFY_SIGNATURE_EXT: String = "SIGN_EXT" {readonly} + VERIFY_STATE: String = "STATE" {readonly} + VERIFY_WITH_EPUAP: String = "EPUAP" {readonly} + createprofile(byte[]) : Long + createprofile(byte[], ContextInfo) : Long + extendprofile(byte[]) : Long + extendprofile(byte[], ContextInfo) : Long + findprofilefororganization(string, String, String, String) : TrustedProfile + findprofileforperson(string, String, String) : TrustedProfile + findprofilesorg(searchconditions) : ResultSet + findprofilesperson(searchconditions) : ResultSet + getadditionalattr(long) : List + getinvalidatingdata(string) : InvalidatedData + getprofile(long) : TrustedProfile + getprofile(long, boolean) : TrustedProfile + getprofileorgbyepuapaccount(string) : TrustedProfileInstitution + getprofileorgbyepuapaccount(string, boolean) : TrustedProfileInstitution + getprofilepersonbyepuapaccount(string) : TrustedProfilePerson + getprofilepersonbyepuapaccount(string, boolean) : TrustedProfilePerson + invalidate(long, String, String) : boolean + invalidateprofile(string, String, String) : boolean + prepareextendprofile(long) : byte[] + prepareinvalidateprofile(string, String, int) : String + prepareprofilefile(trustedprofile, List<AdditionalAttr>) : byte[] + verifyandgetprofile(long, boolean) : TrustedProfile + verifyandgetprofile(long, boolean, ContextInfo) : TrustedProfile + verifyandgetprofileorgbyepuapaccount(string, ContextInfo) : TrustedProfileInstitution + verifyandgetprofilepersonbyepuapaccount(string, ContextInfo) : TrustedProfilePerson + verifyprofile(long, String[], boolean) : VerificationResult + verifyprofile(long, String[], boolean, ContextInfo) : VerificationResult + verifyprofileext(long, ContextInfo) : VerificationResultExt «interface» TrustedProfileRemote «interface» TrustedProfileLocal TrustedProfileBean ~ auth: AuthLocal = null ~ em: EntityManager # logger: Log = LogFactory.getL... {readonly} ~ verifier: DataVerifierLocal = null + createprofile(byte[]) : Long + createprofile(byte[], ContextInfo) : Long + extendprofile(byte[]) : Long + extendprofile(byte[], ContextInfo) : Long + findprofilefororganization(string, String, String, String) : TrustedProfile + findprofileforperson(string, String, String) : TrustedProfile + findprofilesorg(searchconditions) : ResultSet + findprofilesperson(searchconditions) : ResultSet + getadditionalattr(long) : List - getdao() : TrustedProfileDAO + getinvalidatingdata(string) : InvalidatedData + getprofile(long) : TrustedProfile + getprofile(long, boolean) : TrustedProfile + getprofileorgbyepuapaccount(string) : TrustedProfileInstitution + getprofileorgbyepuapaccount(string, boolean) : TrustedProfileInstitution + getprofilepersonbyepuapaccount(string) : TrustedProfilePerson + getprofilepersonbyepuapaccount(string, boolean) : TrustedProfilePerson + invalidate(long, String, String) : boolean + invalidateprofile(string, String, String) : boolean + prepareextendprofile(long) : byte[] + prepareinvalidateprofile(string, String, int) : String + prepareprofilefile(trustedprofile, List<AdditionalAttr>) : byte[] - validatewithepuap(trustedprofile) : boolean + verifyandgetprofile(long, boolean, ContextInfo) : TrustedProfile + verifyandgetprofile(long, boolean) : TrustedProfile + verifyandgetprofileorgbyepuapaccount(string, ContextInfo) : TrustedProfileInstitution + verifyandgetprofilepersonbyepuapaccount(string, ContextInfo) : TrustedProfilePerson - verifyprofile(trustedprofile, String[], boolean, ContextInfo) : VerificationResult + verifyprofile(long, String[], boolean, ContextInfo) : VerificationResult + verifyprofile(long, String[], boolean) : VerificationResult + verifyprofileext(long, ContextInfo) : VerificationResultExt Constraints + TP_PROFILE_DEFAULT_LIFESPAN: int = 3 + TP_XML_PARAM_ADD_ATTR_NAME: String = "nazwa" + TP_XML_TAG_ADD_ATTR: String = "zp:atrybutdoda... + TP_XML_TAG_AUT_ID: String = "zp:idpolitykia... + TP_XML_TAG_AUT_PARAM: String = "zp:parametrpol... + TP_XML_TAG_CREATION_DATE: String = "zp:datautworzenia" + TP_XML_TAG_EXPIRATION_DATE: String = "zp:datawygasniecia" + TP_XML_TAG_ORG_DATA: String = "zp:potwierdzon... + TP_XML_TAG_ORG_ String = "adr: " + TP_XML_TAG_ORG_EPUAP_ACCOUNT: String = "zp:idkontaorga... + TP_XML_TAG_ORG_KRS: String = "ins:krs" + TP_XML_TAG_ORG_LOCATION: String = "zp:siedziba" + TP_XML_TAG_ORG_NAME: String = "ins:nazwainsty... + TP_XML_TAG_ORG_NIP: String = "ins:nip" + TP_XML_TAG_ORG_REGON: String = "ins:regon" + TP_XML_TAG_PERSON_DATA: String = "zp:potwierdzon... + TP_XML_TAG_PERSON_ String = "adr: " + TP_XML_TAG_PERSON_EPUAP_ACCOUNT: String = "zp:idkontauzyt... + TP_XML_TAG_PERSON_NAME: String = "os:imie" + TP_XML_TAG_PERSON_PESEL: String = "os:pesel" + TP_XML_TAG_PERSON_PHONE: String = "adr:telefon" + TP_XML_TAG_PERSON_SURNAME: String = "os:nazwisko" + TP_XML_TAG_PROPERTIES: String = "zp:wlasciwoscizp" + TP_XML_TAG_ROOT: String = "zp:zaufanyprofil" + TP_XML_TAG_ROOT_ATTR_NS_ADR_NAME: String = "xmlns:adr" + TP_XML_TAG_ROOT_ATTR_NS_ADR_VALUE: String = " + TP_XML_TAG_ROOT_ATTR_NS_DS_NAME: String = "xmlns:ds" + TP_XML_TAG_ROOT_ATTR_NS_DS_VALUE: String = " + TP_XML_TAG_ROOT_ATTR_NS_INS_NAME: String = "xmlns:ins" + TP_XML_TAG_ROOT_ATTR_NS_INS_VALUE: String = " + TP_XML_TAG_ROOT_ATTR_NS_PPZP_NAME: String = "xmlns:ppzp" + TP_XML_TAG_ROOT_ATTR_NS_PPZP_VALUE: String = "PPZP" + TP_XML_TAG_ROOT_ATTR_NS_XSI_NAME: String = "xmlns:xsi" + TP_XML_TAG_ROOT_ATTR_NS_XSI_VALUE: String = " + TP_XML_TAG_ROOT_ATTR_NS_ZP_NAME: String = "xmlns:zp" + TP_XML_TAG_ROOT_ATTR_NS_ZP_VALUE: String = "Zaufany Profil" + TP_XML_TAG_ROOT_ATTR_SCHEMA_LOCATION_NAME: String = "xsi:schemalocation" + TP_XML_TAG_ROOT_ATTR_SCHEMA_LOCATION_VALUE: String = "Zaufany Profil... + TP_XML_TAG_TP_ID: String = "ppzp:idzaufane... + TP_XML_TAG_TRUSTED_DATA: String = "zp:potwierdzon... TrustedProfileHelper - instance: TrustedProfileHelper -instance - logger: Log = LogFactory.getL... {readonly} - profiletemplateorg: byte ([]) - profiletemplateperson: byte ([]) - profilexsd: byte ([]) + getadditionalattributes(byte[]) : List<AdditionalAttr> + getinstance() : TrustedProfileHelper - getprofileschema() : byte[] - getprofiletemplateorg() : byte[] - getprofiletemplateperson() : byte[] + parsetrustedprofile(byte[], Object) : TrustedProfile + preparetrusteprofilefile(trustedprofile, List<AdditionalAttr>) : XmlHelper - TrustedProfileHelper() + validatesignature(trustedprofile, ContextInfo) : boolean + validatesignature(trustedprofile, ContextInfo, boolean) : boolean + verifyprofileext(trustedprofile, ContextInfo) : VerificationResultExt Serializable ZPServ icelocator - serialversionuid: long = 1L {readonly} + gettrustedprofile() : ITrustedProfile Serializable VerificationResult - reason: String - serialversionuid: long = 1L {readonly} - state: String + getreason() : String + getstate() : String + setreason(string) : void + setstate(string) : void + tostring() : String + VerificationResult(String, String) + VerificationResult(String) Serializable VerificationResultExt - OPcertificateValid: boolean - OPname: String - serialversionuid: long = 1L {readonly} - state: String + getstate() : String + isopcertificatevalid() : boolean + setstate(string) : void + tostring() : String + VerificationResultExt(String, String, boolean) + VerificationResultExt() «property get» + getopname() : String «property set» + setopcertificatevalid(boolean) : void + setopname(string) : void Rysunek 7 Diagram klas komponentu podpisu 14/54
15 Magazyn ZP class zp_signature «interface» ISignature + countersignwithtrustedprofile(byte[], String, String, String, ContextInfo, boolean) : SigningResult + preparesignwithtrustedprofileorg(string, String) : String + preparesignwithtrustedprofileperson(string) : String + signwithtrustedprofile(byte[], String, String, ContextInfo, boolean) : SigningResult + verifysignature(byte[], ContextInfo) : VerifyResult + verifysignaturexml(byte[], ContextInfo) : String SignException TPException - serialversionuid: long = 1L {readonly} + SignException(String) + SignException(String, Throwable) + SignException(Throwable) «interface» SignatureLocal «interface» SignatureRemote ~ authbean: AuthLocal = null # logger: Log = LogFactory.getL... {readonly} ~ profilebean: TrustedProfileLocal = null ~ slog: SLoggerLocal = null SignatureBean + countersignwithtrustedprofile(byte[], String, String, String, ContextInfo, boolean) : SigningResult - log(byte[], Long, String, String) : boolean + preparesignwithtrustedprofileorg(string, String) : String + preparesignwithtrustedprofileperson(string) : String + signwithtrustedprofile(byte[], String, String, ContextInfo, boolean) : SigningResult + verifysignature(byte[], ContextInfo) : VerifyResult + verifysignaturexml(byte[], ContextInfo) : String - logger: Log = LogFactory.getL... {readonly} - signaturetemplateorg: byte ([]) - signaturetemplateorgperson: byte ([]) - signaturetemplateperson: byte ([]) SignatureHelper - getsignaturetemplateorg() : byte[] - getsignaturetemplateorgperson() : byte[] - getsignaturetemplateperson() : byte[] + prepareclaimedrolestructure(trustedprofile, String) : byte[] + prepareclaimedrolestructure(trustedprofileperson, TrustedProfileInstitution, String) : byte[] - settrusteddata(trustedprofile, XmlHelper[]) : void Rysunek 8 Diagram klas komponentu Magazyn ZP Komponent udostępnia API do zarządzania zaufanymi profilami. Główny interfejs wystawiany na zewnątrz to ITrustedProfile, po którym dziedziczą TrustedProfileRemote i TrustedProfileLocal odpowiednio dla wywołań zdalnych i lokalnych. Główne funkcjonalności modułu to tworzenie, usuwanie, przedłużanie, wyszukiwanie i weryfikacja zaufanych profili. Przed utworzeniem zaufanego profilu moduł zewnętrzny może pobrać szablon profilu w formie pliku XML (plik profilu). Po wypełnieniu danych i podpisaniu pliku profilu moduł zewnętrzny wywołuje funkcję createprofile(), która weryfikuje poprawność otrzymanego pliku profilu, zgodność z systemami zewnętrznymi (np. PESEL em, EPUAP em), poprawność podpisu itp. Po pozytywnej weryfikacji profil zostaje zapisany do bazy. O operacjach tworzenia, usuwania, przedłużania użytkownik jest powiadamiany mailem. Moduł wysyła także maile w przypadku, gdy kończy się okres ważności zaufanego profilu Struktury informacji Struktura profilu zaufanego <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" xmlns:zp=" xmlns:ins=" xmlns:adr=" xmlns:os=" xmlns:ppzp=" xmlns:ds=" 15/54
16 targetnamespace=" elementformdefault="qualified" attributeformdefault="unqualified"> <xs:import namespace=" schemalocation=" ucja.xsd"/> <xs:import namespace=" schemalocation=" > <xs:import namespace=" schemalocation=" > <xs:import namespace=" schemalocation="podpiszp.xsd"/> <xs:import namespace=" schemalocation=" /xmldsig-core-schema.xsd"/> <xs:simpletype name="string255"> <xs:restriction base="xs:string"> <xs:maxlength value="255"/> </xs:restriction> </xs:simpletype> <xs:complextype name="atrybutdodatkowytyp"> <xs:simplecontent> <xs:extension base="zp:string255"> <xs:attribute name="nazwa" type="zp:string255"/> </xs:extension> </xs:simplecontent> </xs:complextype> <xs:simpletype name="siedzibatyp"> <xs:restriction base="zp:string255"/> </xs:simpletype> <xs:simpletype name="idkontaepuaptyp"> <xs:restriction base="zp:string255"/> </xs:simpletype> <xs:complextype name="potwierdzonedanezposobyfizycznejtyp"> <xs:sequence> <xs:element ref="os:imie"/> <xs:element ref="os:nazwisko"/> <xs:element ref="os:pesel"/> <xs:element name="idkontauzytkownikaepuap" type="zp:idkontaepuaptyp"/> <xs:element ref="adr: "/> <xs:element ref="adr:telefon" minoccurs="0"/> <xs:element name="atrybutdodatkowy" type="zp:atrybutdodatkowytyp" minoccurs="0" maxoccurs="unbounded"/> </xs:sequence> </xs:complextype> <xs:complextype name="potwierdzonedanezporganizacjityp"> <xs:sequence> <xs:element ref="ins:nazwainstytucji"/> <xs:element ref="ins:nip"/> <xs:element ref="ins:krs" minoccurs="0"/> <xs:element ref="ins:regon"/> <xs:element name="siedziba" type="zp:siedzibatyp"/> <xs:element name="idkontaorganizacjiepuap" type="zp:idkontaepuaptyp"/> <xs:element ref="adr: "/> 16/54
17 <xs:element name="atrybutdodatkowy" type="zp:atrybutdodatkowytyp" minoccurs="0" maxoccurs="unbounded"/> </xs:sequence> </xs:complextype> <xs:complextype name="potwierdzonedanezptyp"> <xs:choice> <xs:element name="potwierdzonedanezposobyfizycznej" type="zp:potwierdzonedanezposobyfizycznejtyp"/> <xs:element name="potwierdzonedanezporganizacji" type="zp:potwierdzonedanezporganizacjityp"/> </xs:choice> </xs:complextype> <xs:complextype name="wlasciwoscizptyp"> <xs:sequence> <xs:element name="datautworzenia" type="xs:date"/> <xs:element name="datawygasniecia" type="xs:date"/> <xs:element ref="ppzp:idzaufanegoprofilu"/> <xs:element name="idpolitykiautoryzacji" type="xs:positiveinteger"/> <xs:element name="parametrpolitykiautoryzacji" type="xs:string"/> </xs:sequence> </xs:complextype> <xs:complextype name="zaufanyprofiltyp"> <xs:sequence> <xs:element name="potwierdzonedanezp" type="zp:potwierdzonedanezptyp"/> <xs:element name="wlasciwoscizp" type="zp:wlasciwoscizptyp"/> <xs:element ref="ds:signature"/> </xs:sequence> </xs:complextype> <xs:element name="zaufanyprofil" type="zp:zaufanyprofiltyp"/> </xs:schema> Struktura podpisu ZP <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" xmlns:ppzp=" xmlns:os=" xmlns:ins=" targetnamespace=" elementformdefault="qualified" attributeformdefault="unqualified"> <xs:import namespace=" schemalocation=" ucja.xsd"/> <xs:import namespace=" schemalocation=" > <xs:element name="idzaufanegoprofilu" type="xs:positiveinteger"/> <xs:element name="idkontaorganizacjiepuap" type="ppzp:idkontaepuaptyp"/> <xs:element name="idkontauzytkownikaepuap" type="ppzp:idkontaepuaptyp"/> <xs:simpletype name="string255"> <xs:restriction base="xs:string"> 17/54
18 <xs:maxlength value="255"/> </xs:restriction> </xs:simpletype> <xs:simpletype name="idkontaepuaptyp"> <xs:restriction base="ppzp:string255"/> </xs:simpletype> <xs:complextype name="danezporganizacjityp"> <xs:sequence> <xs:element ref="ins:nazwainstytucji"/> <xs:element ref="ins:nip"/> <xs:element ref="ins:regon"/> <xs:element ref="ppzp:idzaufanegoprofilu"/> <xs:element ref="ppzp:idkontaorganizacjiepuap"/> </xs:sequence> </xs:complextype> <xs:complextype name="danezposobyfizycznejtyp"> <xs:sequence> <xs:element ref="os:nazwisko"/> <xs:element ref="os:imie"/> <xs:element ref="os:pesel"/> <xs:element ref="ppzp:idzaufanegoprofilu"/> <xs:element ref="ppzp:idkontauzytkownikaepuap"/> </xs:sequence> </xs:complextype> <xs:complextype name="danezptyp"> <xs:sequence> <xs:element name="danezporganizacji" type="ppzp:danezporganizacjityp" minoccurs="0"/> <xs:element name="danezposobyfizycznej" type="ppzp:danezposobyfizycznejtyp" minoccurs="0"/> </xs:sequence> </xs:complextype> <xs:simpletype name="idpolitykiautoryzacjityp"> <xs:restriction base="xs:positiveinteger"/> </xs:simpletype> <xs:complextype name="danepodpisutyp"> <xs:sequence> <xs:element ref="ppzp:idkontauzytkownikaepuap"/> <xs:element name="idpolitykiautoryzacji" type="ppzp:idpolitykiautoryzacjityp"/> </xs:sequence> </xs:complextype> <xs:complextype name="podpiszptyp"> <xs:sequence> <xs:element name="danezp" type="ppzp:danezptyp"/> <xs:element name="danepodpisu" type="ppzp:danepodpisutyp"/> </xs:sequence> </xs:complextype> <xs:element name="podpiszp" type="ppzp:podpiszptyp"/> </xs:schema> Zdarzenia Działanie aplikacji ZP powoduje rejestrowanie w systemie EPUAP poniższych zdarzeń: podpisanie dokumentu przy użyciu ZP, kontrasygnata podpisu przy użyciu ZP, dodawanie metod autoryzacji, 18/54
19 usuwanie metod autoryzacji, modyfikacja metod autoryzacji, akceptacja metod autoryzacji, tworzenie zaufanego profilu, przedłużanie zaufanego profilu, unieważnianie zaufanego profilu. 19/54
20 4 Interfejsy 4.1 Interfejs graficzny użytkownika W podpunktach zaprezentowano makiety formatek implementowanych w ramach interfejsu użytkownika Obsługa metod autoryzacji 20/54
21 21/54
22 22/54
23 23/54
24 4.1.2 Profil Zaufany 24/54
25 25/54
26 26/54
27 4.1.3 Unieważnienie profilu zaufanego 27/54
28 28/54
29 29/54
30 4.1.4 Listy wniosków i profilów zaufanych 30/54
31 31/54
32 32/54
33 4.1.5 Wniosek o założenie profilu zaufanego 33/54
34 34/54
35 35/54
36 36/54
37 37/54
38 4.2 Interfejsy zewnętrzne Dostarczanie informacji o posiadaniu profilu ZP Interfejs odpowiada rezultatem logicznym (prawda, fałsz) po wywołaniu operacji hastrustedprofileinstitution oraz hastrustedprofileperson odpowiednio dla ZP podmiotu i ZP użytkownika Podpisywanie z użyciem ZP Podpisywanie przez systemy zewnętrzne opisuje poniższy przebieg: 1. System zewnętrzny za pośrednictwem usługi WebServices (WSSecurity) rejestruje zlecenie podpisu dokumentu. W rezultacie otrzymuje URL, pod który ma przekierować użytkownika 2. Użytkownik loguje się do epuap i podpisuje dokument. Jeśli operacja zostanie sukcesem epuap przekierowuje użytkownika na stronę przekazaną w zleceniu w parametrze "successurl, w przeciwnym wypadku epuap przekierowuje użytkownika na stronę określoną w "failureurl". 3. System zewnętrzny za pośrednictwem usługi WebServices (WSSecurity) pobiera podpisany dokument z epuap. Dokument jest usuwany z systemu epuap Weryfikacja podpisu ZP Operacja verifysignature umożliwia przekazanie dokumentu, który będzie poddany weryfikacji. Rezultatem weryfikacji jest struktura XML zawierająca wszystkie niezbędne informacje dotyczące podpisu dokumentu Definicja WSDL interfejsu Poniżej definicja WSDL interfejsu. Usługi WebServices będą implementowane zgodnie w wymaganiami dla epuap tj. WebServices Security komunikaty podpisywane x.509 w bezpiecznym kanale SSL. <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:impl=" xmlns:intf=" xmlns:tns2=" xmlns:wsdl=" xmlns:wsdlsoap=" xmlns:wsi=" xmlns:xsd=" <wsdl:types> <schema targetnamespace=" xmlns=" xmlns:wsdl=" xmlns:xsd=" <element name="tgsid" nillable="true" type="xsd:string"/> <element name="hastrustedprofileinstitutionreturn" type="xsd:boolean"/> <element name="string" nillable="true" type="xsd:string"/> 38/54
39 <element name="hastrustedprofilepersonreturn" type="xsd:boolean"/> <element name="doc" type="xsd:base64binary"/> <element name="successurl" nillable="true" type="xsd:string"/> <element name="failureurl" nillable="true" type="xsd:string"/> <element name="additionalinfo" nillable="true" type="xsd:string"/> <element name="adddocumenttosigningreturn" nillable="true" type="xsd:string"/> <element name="id" nillable="true" type="xsd:string"/> <element name="getsigneddocumentreturn" type="xsd:base64binary"/> <element name="document" type="xsd:base64binary"/> <element name="verifysigneddocumentreturn" nillable="true" type="xsd:string"/> </schema> <schema targetnamespace=" xmlns=" xmlns:wsdl=" xmlns:xsd=" <complextype name="wssigningexception"> <sequence> <element name="code" nillable="true" type="xsd:string"/> <element name="errmessage" nillable="true" type="xsd:string"/> </sequence> </complextype> <element name="wssigningexception" nillable="true" type="tns2:wssigningexception"/> </schema> </wsdl:types> <wsdl:message name="verifysigneddocumentrequest"> <wsdl:part name="document" type="xsd:base64binary"/> </wsdl:message> <wsdl:message name="adddocumenttosigningresponse"> <wsdl:part name="adddocumenttosigningreturn" type="xsd:string"/> </wsdl:message> <wsdl:message name="getsigneddocumentresponse"> <wsdl:part name="getsigneddocumentreturn" type="xsd:base64binary"/> </wsdl:message> <wsdl:message name="hastrustedprofilepersonrequest"> <wsdl:part name="tgsid" type="xsd:string"/> </wsdl:message> <wsdl:message name="hastrustedprofileinstitutionresponse"> <wsdl:part name="hastrustedprofileinstitutionreturn" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="wssigningexception"> <wsdl:part name="fault" type="tns2:wssigningexception"/> </wsdl:message> <wsdl:message name="hastrustedprofileinstitutionrequest"> 39/54
40 <wsdl:part name="tgsid" type="xsd:string"/> </wsdl:message> <wsdl:message name="getsigneddocumentrequest"> <wsdl:part name="id" type="xsd:string"/> </wsdl:message> <wsdl:message name="hastrustedprofilepersonresponse"> <wsdl:part name="hastrustedprofilepersonreturn" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="verifysigneddocumentresponse"> <wsdl:part name="verifysigneddocumentreturn" type="xsd:string"/> </wsdl:message> <wsdl:message name="adddocumenttosigningrequest"> <wsdl:part name="doc" type="xsd:base64binary"/> <wsdl:part name="successurl" type="xsd:string"/> <wsdl:part name="failureurl" type="xsd:string"/> <wsdl:part name="additionalinfo" type="xsd:string"/> </wsdl:message> <wsdl:porttype name="tpsigning"> <wsdl:operation name="hastrustedprofileinstitution" parameterorder="tgsid"> <wsdl:input message="intf:hastrustedprofileinstitutionrequest" name="hastrustedprofileinstitutionrequest"/> <wsdl:output message="intf:hastrustedprofileinstitutionresponse" name="hastrustedprofileinstitutionresponse"/> <wsdl:fault message="intf:wssigningexception" name="wssigningexception"/> </wsdl:operation> <wsdl:operation name="hastrustedprofileperson" parameterorder="tgsid"> <wsdl:input message="intf:hastrustedprofilepersonrequest" name="hastrustedprofilepersonrequest"/> <wsdl:output message="intf:hastrustedprofilepersonresponse" name="hastrustedprofilepersonresponse"/> <wsdl:fault message="intf:wssigningexception" name="wssigningexception"/> </wsdl:operation> <wsdl:operation name="adddocumenttosigning" parameterorder="doc successurl failureurl additionalinfo"> <wsdl:input message="intf:adddocumenttosigningrequest" name="adddocumenttosigningrequest"/> 40/54
41 <wsdl:output message="intf:adddocumenttosigningresponse" name="adddocumenttosigningresponse"/> <wsdl:fault message="intf:wssigningexception" name="wssigningexception"/> </wsdl:operation> <wsdl:operation name="getsigneddocument" parameterorder="id"> <wsdl:input message="intf:getsigneddocumentrequest" name="getsigneddocumentrequest"/> <wsdl:output message="intf:getsigneddocumentresponse" name="getsigneddocumentresponse"/> <wsdl:fault message="intf:wssigningexception" name="wssigningexception"/> </wsdl:operation> <wsdl:operation name="verifysigneddocument" parameterorder="document"> <wsdl:input message="intf:verifysigneddocumentrequest" name="verifysigneddocumentrequest"/> <wsdl:output message="intf:verifysigneddocumentresponse" name="verifysigneddocumentresponse"/> <wsdl:fault message="intf:wssigningexception" name="wssigningexception"/> </wsdl:operation> </wsdl:porttype> <wsdl:binding name="tpsigningsoapbinding" type="intf:tpsigning"> <wsaw:usingaddressing wsdl:required="false" xmlns:wsaw=" <wsdlsoap:binding style="rpc" transport=" <wsdl:operation name="hastrustedprofileinstitution"> <wsdlsoap:operation soapaction="hastrustedprofileinstitution"/> <wsdl:input name="hastrustedprofileinstitutionrequest"> <wsdlsoap:body namespace=" use="literal"/> </wsdl:input> <wsdl:output name="hastrustedprofileinstitutionresponse"> <wsdlsoap:body namespace=" use="literal"/> </wsdl:output> <wsdl:fault name="wssigningexception"> <wsdlsoap:fault name="wssigningexception" use="literal"/> 41/54
42 </wsdl:fault> </wsdl:operation> <wsdl:operation name="hastrustedprofileperson"> <wsdlsoap:operation soapaction="hastrustedprofileperson"/> <wsdl:input name="hastrustedprofilepersonrequest"> <wsdlsoap:body namespace=" use="literal"/> </wsdl:input> <wsdl:output name="hastrustedprofilepersonresponse"> <wsdlsoap:body namespace=" use="literal"/> </wsdl:output> <wsdl:fault name="wssigningexception"> <wsdlsoap:fault name="wssigningexception" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="adddocumenttosigning"> <wsdlsoap:operation soapaction="adddocumenttosigning"/> <wsdl:input name="adddocumenttosigningrequest"> <wsdlsoap:body namespace=" use="literal"/> </wsdl:input> <wsdl:output name="adddocumenttosigningresponse"> <wsdlsoap:body namespace=" use="literal"/> </wsdl:output> <wsdl:fault name="wssigningexception"> <wsdlsoap:fault name="wssigningexception" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getsigneddocument"> <wsdlsoap:operation soapaction="getsigneddocument"/> <wsdl:input name="getsigneddocumentrequest"> <wsdlsoap:body namespace=" use="literal"/> </wsdl:input> <wsdl:output name="getsigneddocumentresponse"> <wsdlsoap:body namespace=" use="literal"/> 42/54
43 </wsdl:output> <wsdl:fault name="wssigningexception"> <wsdlsoap:fault name="wssigningexception" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="verifysigneddocument"> <wsdlsoap:operation soapaction="verifysigneddocument"/> <wsdl:input name="verifysigneddocumentrequest"> <wsdlsoap:body namespace=" use="literal"/> </wsdl:input> <wsdl:output name="verifysigneddocumentresponse"> <wsdlsoap:body namespace=" use="literal"/> </wsdl:output> <wsdl:fault name="wssigningexception"> <wsdlsoap:fault name="wssigningexception" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="tpsigningservice"> <wsdl:port binding="intf:tpsigningsoapbinding" name="tpsigning"> <wsdlsoap:address location=" > </wsdl:port> </wsdl:service> </wsdl:definitions> 43/54
44 5 Architektura fizyczna 5.1 Schemat bazy danych Rozdziała zawiera listę tabel aplikacji ZP. 44/54
45 Rysunek 9 Schemat bazy danych (część 1) 45/54
46 Rysunek 10 Schemat bazy danych (część 2) Tabela ADDITIONALATTRIBUTE 46/54
elektroniczna Platforma Usług Administracji Publicznej
elektroniczna Platforma Usług Administracji Publicznej Instrukcja integracji z epuap w zakresie interfejsów Profilu Zaufanego wersja 02-02. Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego
Bardziej szczegółowoelektroniczna Platforma Usług Administracji Publicznej
elektroniczna Platforma Usług Administracji Publicznej Instrukcja użytkownika Profil Zaufany wersja 04-01 SPIS TREŚCI Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, 02-591 Warszawa www.epuap.gov.pl.
Bardziej szczegółowoelektroniczna Platforma Usług Administracji Publicznej
elektroniczna Platforma Usług Administracji Publicznej Instrukcja użytkownika Profil Zaufany wersja 02-02. Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, 02-591 Warszawa www.epuap.gov.pl
Bardziej szczegółowoelektroniczna Platforma Usług Administracji Publicznej
elektroniczna Platforma Usług Administracji Publicznej Instrukcja użytkownika Profil Zaufany wersja 7.3. Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, 02-591 Warszawa www.epuap.gov.pl
Bardziej szczegółowoModyfikacja systemu w ramach projektu Rozbudowa elektronicznej platformy usług administracji publicznej
TECHNICZNY SYSTEMU Modyfikacja systemu w ramach projektu Rozbudowa elektronicznej platformy usług administracji publicznej Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, 02-591 Warszawa
Bardziej szczegółowoSzczegółowy Opis Interfejsu Wymiany Danych. Załącznik nr 1.8.
Szczegółowy Opis Interfejsu Wymiany Danych Załącznik nr 1.8. Spis treści: 1 Wstęp... 3 2 Schemat wymiany danych:... 3 3 Opis wymagań dla transmitowanych danych... 4 4 Metody... 4 4.1 Logowanie... 4 4.1.1
Bardziej szczegółowoelektroniczna Platforma Usług Administracji Publicznej
elektroniczna Platforma Usług Administracji Publicznej Instrukcja użytkownika Profil Zaufany wersja 7.4. Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, 02-591 Warszawa www.epuap.gov.pl
Bardziej szczegółowoProgramowanie komponentowe 5
Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf
Bardziej szczegółowoE-administracja. Korzystanie z Elektronicznej Platformy Usług Administracji Publicznej
Szkolenie komputerowe: E-administracja. Korzystanie z Elektronicznej Platformy Usług Administracji Publicznej W ramach projektu Seniorzy w przestrzeni publicznej (FIO 2014) PROWADZĄCY: ŁUKASZ KUCHA 1 Czym
Bardziej szczegółowoIntegracja Obieg Dokumentów - GiS Spis treści
Integracja Obieg Dokumentów - GiS Spis treści 1.Opis integracji.... 2 2.Interfejs po stronie Obiegu Dokumentów... 4 3.Interfejs po stronie Gis-u.... 7 4.Schematy przesyłanych plików xml.... 8 1 1. Opis
Bardziej szczegółowoWarstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.
Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy
Bardziej szczegółowoKatedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium
Bardziej szczegółowoDokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...
Bardziej szczegółowoInstrukcja integratora - obsługa dużych plików w epuap2
Instrukcja integratora - obsługa dużych plików w epuap2 Wersja: 1.1 Strona 1 z 18 Spis treści SPIS TREŚCI... 2 WPROWADZENIE ORAZ INFORMACJE OGÓLNE... 3 1.1 WSTĘP... 3 1.2 WARUNKI KONIECZNE DO SPEŁNIENIA
Bardziej szczegółowoUCHWAŁA NR IX.88. 2015 RADY MIEJSKIEJ W BOGUCHWALE. z dnia 28 maja 2015 r.
UCHWAŁA NR IX.88. 2015 RADY MIEJSKIEJ W BOGUCHWALE z dnia 28 maja 2015 r. w sprawie określenia warunków i trybu składania deklaracji o wysokości opłaty za gospodarowanie odpadami komunalnymi za pomocą
Bardziej szczegółowoInstrukcja dla osoby potwierdzającej profil zaufany
Załącznik nr 3 do Procedury działania Punktu Potwierdzającego Profile Zaufane epuap w Urzędzie Miejskim w Gdańsku Instrukcja dla osoby potwierdzającej profil zaufany Spis treści 1. Cel i zakres dokumentu...3
Bardziej szczegółowoDokumentacja podłączeniowa dla procesu przenoszenia danych osobowych. Czyli opis jak skorzystać z usługi: rodotransferservice
Dokumentacja podłączeniowa dla procesu przenoszenia danych osobowych Czyli opis jak skorzystać z usługi: rodotransferservice Spis treści Dokumentacja podłączeniowa dla procesu przenoszenia danych osobowych...
Bardziej szczegółowoEXSO-CORE - specyfikacja
EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.
Bardziej szczegółowoDokumentacja techniczna interfejsu komunikacyjnego Cyfrowego Urzędu z systemami EOD
Pełnienie funkcji Generalnego Wykonawcy w zakresie dostawy sprzętu komputerowego, aplikacji internetowych, systemu elektronicznego obiegu dokumentów, realizacji prac wdrożeniowych oraz szkoleń związanych
Bardziej szczegółowoNowa odsłona wyodrębnienie i kierunki jego rozwoju
Nowa odsłona wyodrębnienie i kierunki jego rozwoju 08.09.2016 Plan Wystąpienia 1.Rozbudowa epuap, 2.Co się zmieniło w epuap, 3.Wyodrębnienie profilu zaufanego epuap i kierunki jego rozwoju Czym jest epuap2
Bardziej szczegółowoFunkcjonowanie profilu zaufanego na elektronicznej Platformie Usług Administracji Publicznej (epuap) Szkolenie informatyczne
Funkcjonowanie profilu zaufanego na elektronicznej Platformie Usług Administracji Publicznej (epuap) Szkolenie informatyczne Agenda 1. Platforma epuap informacje ogólne, założenia, korzyści stosowania
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje
Bardziej szczegółowoMinisterstwo Finansów
Ministerstwo Finansów Departament Informatyzacji Specyfikacja Wejścia-Wyjścia Wersja 1.0 Warszawa, 16.02.2017 r. Copyright (c) 2017 Ministerstwo Finansów MINISTERSTWO FINANSÓW, DEPARTAMENT INFORMATYZACJI
Bardziej szczegółowoWzorce logiki dziedziny
Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),
Bardziej szczegółowoelektroniczna Platforma Usług Administracji publicznej Instrukcja użytkowania oraz złożenia wniosku o Profil zaufany
elektroniczna Platforma Usług Administracji publicznej Instrukcja użytkowania oraz złożenia wniosku o Profil zaufany Niniejsza instrukcja ma za zadanie stanowić pomoc dla użytkowników zewnętrznych w zakresie
Bardziej szczegółowoInstrukcja tworzenia, logowania i obsługi kont w portalu:
Instrukcja tworzenia, logowania i obsługi kont w portalu: S24 (składania elektronicznych wniosków w celu rejestracji w KRS: spółki z o.o., jawnej i komandytowej w trybie jednego dnia i sprawozdania Z30)
Bardziej szczegółowoDOTYCZY KLIENTA PKO BIURO OBSŁUGI LEASING ZAPYTANIE O INFORMACJĘ OTYCZY: DOSTAWY PLATFORMY ELEKTRONICZNE DLA PKO
ZAPYTANIE O INFORMACJĘ DOTYCZY OTYCZY: DOSTAWY PLATFORMY ELEKTRONICZNE BIURO OBSŁUGI KLIENTA DLA PKO LEASING SA SA PKO ŁÓDŹ, MARZEC 2014 PYTAJĄCY PKO Leasing SA ul. Śmigłego Rydza 20, 93 281 Łódź tel.
Bardziej szczegółowoAKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki
AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Elektroniki i Informatyki Computer Games Poker Bot - komunikacja Dokumentacja Wersja z dnia 01.01.2012 Zespół: Kamil Mazurek Tomasz Kruczkowski
Bardziej szczegółowo1.2 Prawa dostępu - Role
Portlet Użytkownik Login Uprawnienie Rola Kontekst podmiotu Okno w serwisie portalu, udostępniające konkretne usługi lub informacje, na przykład kalendarz lub wiadomości Jest to osoba korzystająca z funkcjonalności
Bardziej szczegółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoDokumentacja techniczna API systemu SimPay.pl
Wprowadzenie Dokumentacja techniczna API systemu SimPay.pl Wersja 1.0 z dnia 24.03.2015 r. API serwisu SimPay.pl opiera się o danych wysyłanych i zwracanych w formie JSON. W przypadku napotkania jakiegokolwiek
Bardziej szczegółowoNowa odsłona wyodrębnienie i kierunki jego rozwoju Łysomice
Nowa odsłona wyodrębnienie i kierunki jego rozwoju 15.06.2016 Łysomice Plan Wystąpienia 1.Rozbudowa epuap 2.Co się zmieniło w epuap 3.Wyodrębnienie profilu zaufanego epuap i kierunki jego rozwoju Czym
Bardziej szczegółowoNowa odsłona wyodrębnienie i kierunki jego rozwoju Międzyzdroje
Nowa odsłona wyodrębnienie i kierunki jego rozwoju 29.09.2016 Międzyzdroje Plan Wystąpienia 1.Rozbudowa epuap, 2.Co się zmieniło w epuap, 3.Wyodrębnienie profilu zaufanego epuap i kierunki jego rozwoju
Bardziej szczegółowoInstrukcja logowania i realizacji podstawowych transakcji w systemie bankowości internetowej dla klientów biznesowych BusinessPro.
Instrukcja logowania i realizacji podstawowych transakcji w systemie bankowości internetowej dla klientów biznesowych BusinessPro aktualizacja: 8 listopada 2017 r. Spis treści: 1. Logowanie do bankowości
Bardziej szczegółowoDokumentacja API sender sms
Dokumentacja API sender sms Wersja Autor Zakres zmian Data utworzenia 1.0 Michał Klimek Wersja bazowa 21.10.2016 Strona 1 z 15 Spis treści Wstęp... 3 Autoryzacja... 4 Informacje ogólne... 4 Co jest potrzebne...
Bardziej szczegółowoSzczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.
Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania. Założenia projektowe systemu NETDOC. część 1: założenia ogólne i funkcjonalność rdzenia systemu Założenia ogólne Celem projektu jest
Bardziej szczegółowoZałącznik Nr 1 do Uchwały Nr XX/356/11 Rady Miasta Gdańska z dnia 24 listopada 2011 r.
Załącznik Nr 1 do Uchwały Nr XX/356/11 Rady Miasta Gdańska z dnia 24 listopada 2011 r.
Bardziej szczegółowoAplikacja serwerowa Platformy Prezentacyjnej Opis produktu
Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu Polska Organizacja Turystyczna ul. Chałubińskiego 8 00-613 Warszawa Spis treści 1 Założenia wstępne... 1 1.1 Informacje wstępne... 1 1.2 Cel projektu...
Bardziej szczegółowo1. Cel i zakres dokumentu Słownik pojęć użytych w instrukcji... 3
INSTRUKCJA DLA OSOBY POTWIERDZAJĄCEJ PROFIL ZAUFANY WERSJA 02.03 Spis treści 1. Cel i zakres dokumentu... 3 1.1. Słownik pojęć użytych w instrukcji... 3 2. Menu osoby potwierdzającej... 4 3. Uprawnienia
Bardziej szczegółowoPlatforma epuap. Igor Bednarski kierownik projektu epuap2 CPI MSWiA. Kraków, 16.05.2011 r.
Platforma epuap Igor Bednarski kierownik projektu epuap2 CPI MSWiA Kraków, 16.05.2011 r. Agenda 1. Czym jest epuap 2. Cele projektu epuap2 3. Możliwości portalu 4. Komunikacja poprzez epuap 5. Stan zaawansowania
Bardziej szczegółowoProgramowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
Bardziej szczegółowoMINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP
MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP WERSJA 1 z 15 Spis treści 1. Kanał email dla podmiotów zewnętrznych...
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Bardziej szczegółowoPłatności CashBill - SOAP
Dokumentacja techniczna 1.0 Płatności CashBill - SOAP Dokumentacja wdrożenia systemu Płatności CashBill w oparciu o komunikację według protokołu SOAP CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa
Bardziej szczegółowoProgramowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)
Programowanie w języku Java Wykład 13: Java Platform, Enterprise Edition (Java EE) Standard J2EE Programowanie w języku Java 2 J2EE - komunikacja Programowanie w języku Java 3 J2EE warstwa biznesowa Programowanie
Bardziej szczegółowoFunkcjonowanie Profilu Zaufanego
Materiały szkoleniowe Funkcjonowanie Profilu Zaufanego na elektronicznej Platformie Usług Administracji Publicznej (epuap) Instrukcja osoby potwierdzającej profil zaufany 2 SPIS TREŚCI 1. WPROWADZENIE...
Bardziej szczegółowoOpis przykładowego programu realizującego komunikację z systemem epuap wykorzystując interfejs komunikacyjny "doręczyciel"
Opis przykładowego programu realizującego komunikację z systemem epuap wykorzystując interfejs komunikacyjny "doręczyciel" dn.24.09.2009 r. Dokument opisuje przykładowy program doręczający dokumenty na
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Bardziej szczegółowoRozdział 3. ROZWÓJ APLIKACJI CENTRALNEJ
Załącznik nr 2 do umowy nr 11/DI/PN/2013 PROCEDURA UTRZYMANIA I ROZWOJU APLIKACJI CENTRALNEJ Rozdział 1. WPROWADZENIE Celem niniejszego dokumentu jest sprecyzowanie procedury zarządzania realizacją umowy
Bardziej szczegółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoZAŁOŻENIA TECHNICZNO-TECHNOLOGICZNE SYSTEMU BUDOWANEGO W RAMACH PROJEKTU
Projekt Rozwój elektronicznej administracji w samorządach województwa mazowieckiego wspomagającej niwelowanie dwudzielności potencjału województwa ZAŁOŻENIA TECHNICZNO-TECHNOLOGICZNE SYSTEMU BUDOWANEGO
Bardziej szczegółowoPodstawowe informacje o technologii Java Persistence API - przykład
Podstawowe informacje o technologii Java Persistence API - przykład na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe 3_2 1 1. Wykonanie kopii programu Sklep_6 2 1. Wykonanie
Bardziej szczegółowoAplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Bardziej szczegółowoZarządzanie kontem użytkownika Lokalnego Systemu Informatycznego w ramach RPO WSL 2014-2020. Katowice, 15 października 2015r
Zarządzanie kontem użytkownika Lokalnego Systemu Informatycznego w ramach RPO WSL 2014-2020 Katowice, 15 października 2015r Rejestracja konta Użytkownicy rejestrują konta samodzielnie poprzez formularz
Bardziej szczegółowoUsługa TimerService ejbtimeout() @javax.ejb.timeout
TimerService i JNDI 1. Usługa TimerServiece, interfejsy TimedObject, TimerService, Timer, TimerHandle transakcje, zastosowanie usługi w komponentach EJB, cykl życia EJB, problemy. 2. Zasoby JNDI i wstrzykiwanie,
Bardziej szczegółowoEnterprise JavaBeans (EJB)
Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z sesyjnymi komponentami Enterprise JavaBeans. Zilustrowane będą różnice między komponentami stanowymi i bezstanowymi. Pokazane będzie
Bardziej szczegółowoProjekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie
Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie
Bardziej szczegółowoInstrukcja składania wniosku w ramach konkursów na finansowanie projektów ze środków Regionalnego Programu Operacyjnego Województwa Śląskiego
Instrukcja składania wniosku w ramach konkursów na finansowanie projektów ze środków Regionalnego Programu Operacyjnego Województwa Śląskiego 2014-2020 1 Spis treści 1. Zakładanie skrzynki kontaktowej
Bardziej szczegółowoInstrukcja użytkownika
Instrukcja użytkownika Bydgoszcz 2017 Strona: 1/12 Spis treści 1 Konfiguracja i obsługa funkcjonalności... 3-1.1 Wstęp... 3 1.2 Konfiguracja stacji klienckiej... 3 1.3 Weryfikacja istniejącego dokumentu...
Bardziej szczegółowoZmiany na. wyodrębnienie i kierunki jego rozwoju Dubiecko
Zmiany na wyodrębnienie i kierunki jego rozwoju 20.10.2016 Dubiecko 1 Plan Wystąpienia 1. Co się zmieniło w epuap 2. Wyodrębnienie Profilu Zaufanego 3. Kierunki rozwoju Profilu Zaufanego 2 Czym jest epuap2
Bardziej szczegółowoNowy sposób autoryzacji przelewów w Usłudze Bankowości Elektronicznej
Nowy sposób autoryzacji przelewów w Usłudze Bankowości Elektronicznej mtoken Asseco MAA to nowoczesna aplikacja do bezpiecznej autoryzacji bankowych transakcji online. Działa ona na urządzeniach mobilnych
Bardziej szczegółowoProjekt epuap obecny stan realizacji i plany na przyszłość
Projekt epuap obecny stan realizacji i plany na przyszłość Waldemar Ozga Centrum Projektów Informatycznych MSWiA Projekt współfinansowany Agenda 1. Czym jest epuap 2. Korzyści z zastosowanie epuap 3. Funkcjonowanie
Bardziej szczegółowoZałożenia i stan realizacji projektu epuap2
Założenia i stan realizacji projektu epuap2 Michał Bukowski Analityk epuap Serock, 28 października 2009 r. Agenda 1. Projekt epuap - cele i zakres. 2. Zrealizowane zadania w ramach epuap. 3. Projekt epuap2
Bardziej szczegółowoEJB 3.0 (Enterprise JavaBeans 3.0)
EJB 3.0 (Enterprise JavaBeans 3.0) Adrian Dudek Wirtualne Przedsiębiorstwo 2 Wrocław, 1 czerwca 2010 Plan prezentacji 1 Wprowadzenie Cel prezentacji Czym jest EJB 3.0? Historia 2 3 Cel prezentacji Wprowadzenie
Bardziej szczegółowoOPIS i SPECYFIKACJA TECHNICZNA
OPIS i SPECYFIKACJA TECHNICZNA Dotyczy Konkursu ofert numer 1/POIG 8.2/2013 WdroŜenie internetowego systemu klasy B2B do automatyzacji procesów biznesowych oraz koordynacji działań z partnerami w firmie
Bardziej szczegółowoSpecyfikacja techniczna. mprofi Interfejs API
Warszawa 09.04.2015. Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 1 Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 WERSJA DATA STATUTS AUTOR 1.0.0 10.03.2015 UTWORZENIE DOKUMENTU
Bardziej szczegółowoDZIENNIK URZĘDOWY WOJEWÓDZTWA ŁÓDZKIEGO
DZIENNIK URZĘDOWY WOJEWÓDZTWA ŁÓDZKIEGO Łódź, dnia 17 grudnia 2013 r. Poz. 5634 UCHWAŁA NR LXXVII/1624/13 RADY MIEJSKIEJ W ŁODZI z dnia 13 grudnia 2013 r. w sprawie wzoru deklaracji o wysokości opłaty
Bardziej szczegółowoDokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV
Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium
Bardziej szczegółowoInstrukcja zakładania konta w portalu epuap i profilu zaufanego.
Instrukcja zakładania konta w portalu epuap i profilu zaufanego. Zakładanie konta użytkownika w epuap Aby użytkownik mógł w pełni korzystać z systemu epuap powinien w pierwszej kolejności zarejestrować
Bardziej szczegółowoZmiany na. wyodrębnienie i kierunki jego rozwoju Kraków
Zmiany na wyodrębnienie i kierunki jego rozwoju 07.10.2016 Kraków 1 Plan Wystąpienia 1. Co się zmieniło w epuap, 2. Wyodrębnienie Profilu Zaufanego, 3. Kierunki rozwoju Profilu Zaufanego. 2 Czym jest epuap2
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoProgramowanie Urządzeń Mobilnych. Część II: Android. Wykład 2
Programowanie Urządzeń Mobilnych Część II: Android Wykład 2 1 Aplikacje w systemie Android Aplikacje tworzone są w języku Java: Skompilowane pliki programów ( dex ) wraz z plikami danych umieszczane w
Bardziej szczegółowo1. Architektura logiczna Platformy Usługowej
Kielce, dnia 12.01.2012 roku HB Technology Hubert Szczukiewicz ul. Kujawska 26 / 39 25-344 Kielce Tytuł Projektu: Wdrożenie innowacyjnego systemu dystrybucji usług cyfrowych, poszerzenie kanałów sprzedaży
Bardziej szczegółowoEnterprise JavaBeans
Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans
Bardziej szczegółowoZarządzanie kontem użytkownika Lokalnego Systemu Informatycznego w ramach RPO WSL 2014-2020
Zarządzanie kontem użytkownika Lokalnego Systemu Informatycznego w ramach RPO WSL 2014-2020 Rejestracja konta Użytkownicy rejestrują konta samodzielnie poprzez formularz dostępny na stronie logowania https://lsi.slaskie.pl.
Bardziej szczegółowoINFRA. System Connector. Opis systemu
INFRA System Connector Opis systemu Spis treści Opis składników systemu... 3 Bezpieczeństwo systemu... 4 Bezpieczeństwo komunikacji... 4 Zabezpieczenie dostępu do serwisów... 4 Autoryzacja użytkowników...
Bardziej szczegółowoMałopolska wobec epuap
Małopolska wobec epuap Zasady integracji samorządów Małopolski na platformie epap poprzez Cyfrowy Urząd Kraków, 2 kwietnia 2004 r. Cyfrowy Urząd stan obecny Elektroniczna platforma komunikacyjna umoŝliwiającą
Bardziej szczegółowoMinisterstwo Finansów
Ministerstwo Finansów Departament Informatyzacji Rejestr Domen Służących do Oferowania Gier Hazardowych Niezgodnie z Ustawą Specyfikacja Wejścia-Wyjścia Wersja 1.1 Warszawa, 16.02.2017 r. Copyright (c)
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Bardziej szczegółowoProgramowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoRzeszów, dnia 18 czerwca 2015 r. Poz. 1866 UCHWAŁA NR IX.87.2015 RADY MIEJSKIEJ W BOGUCHWALE. z dnia 28 maja 2015 r.
DZIENNIK URZĘDOWY WOJEWÓDZTWA PODKARPACKIEGO Rzeszów, dnia 18 czerwca 2015 r. Poz. 1866 UCHWAŁA NR IX.87.2015 RADY MIEJSKIEJ W BOGUCHWALE z dnia 28 maja 2015 r. w sprawie warunków i trybu składania informacji
Bardziej szczegółowoBazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Bardziej szczegółowoProfil zaufany e-puap
Profil zaufany e-puap Nota Materiał powstał w ramach realizacji projektu e-kompetencje bez barier dofinansowanego z Programu Operacyjnego Polska Cyfrowa działanie 3.1 Działania szkoleniowe na rzecz rozwoju
Bardziej szczegółowoepuap kwiecień 2014r. Izba Skarbowa w Poznaniu ElektronicznaPlatforma UsługAdministracji Publicznej pl. Cyryla Ratajskiego Poznań
ElektronicznaPlatforma UsługAdministracji Publicznej epuap kwiecień 2014r. Podstawowe informacje epuap jest narzędziem, które ma udostępniać obywatelom, przedsiębiorcom usługi administracji publicznej
Bardziej szczegółowoREJESTRACJA, LOGOWANIE I USTAWIENIA PROFILU
ZUS PRZEZ INTERNET KROK PO KROKU REJESTRACJA, LOGOWANIE I USTAWIENIA PROFILU REJESTRACJA I LOGOWANIE DLA ŚWIADCZENIOBIORCÓW DLA UBEZPIECZONYCH DLA PŁATNIKÓW SKŁADEK REJESTRACJA Rejestracja na Platformie
Bardziej szczegółowoMINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI
MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI ul. Wspólna 1/3 00-529 Warszawa URZĘDOWE POŚWIADCZENIA ODBIORU UPP ORAZ UPD Projekt współfinansowany Przez Unię Europejską Europejski
Bardziej szczegółowoKielce, dnia 27.02.2012 roku. HB Technology Hubert Szczukiewicz. ul. Kujawska 26 / 39 25-344 Kielce
Kielce, dnia 27.02.2012 roku HB Technology Hubert Szczukiewicz ul. Kujawska 26 / 39 25-344 Kielce Tytuł Projektu: Wdrożenie innowacyjnego systemu dystrybucji usług cyfrowych, poszerzenie kanałów sprzedaży
Bardziej szczegółowoD:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoPRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM
PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM Autor: Piotr Marek Ciecierski Kierujący pracą: prof. dr hab. inż. Zbigniew Kotulski Plan prezentacja Spis treści: 1) Wprowadzenie
Bardziej szczegółowoEnterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.
1 Enterprise JavaBeans 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 2 Enterprise JavaBeans Enterprise JavaBeans (EJB) to specyfikacja
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Bardziej szczegółowoTypy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone
Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa
Bardziej szczegółowoĆwiczenie 1. Kolejki IBM Message Queue (MQ)
Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając
Bardziej szczegółowoOnePlace - INSTRUKCJA OFERENTA
OnePlace - INSTRUKCJA OFERENTA [ Zakres stosowania: rejestracja, logowanie ] Bartosz Walecki, Marketplanet Strona - 1 Konto typ: BASIC Spis treści Spis treści... 2 1. Definicje... 3 2. Wprowadzenie...
Bardziej szczegółowoKomunikacja i wymiana danych
Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX
Bardziej szczegółowoJPK VAT wysyłka za pośrednictwem profilu zaufanego z systemu epuap
JPK VAT wysyłka za pośrednictwem profilu zaufanego z systemu epuap Uwaga: Jeżeli Użytkownik chce podpisać plik za pomocą Profilu Zaufanego epuap, w pierwszej kolejności zobowiązany jest do założenia konta
Bardziej szczegółowoKraków, 2 kwietnia 2004 r.
Realizacja projektu Rozbudowa systemów elektronicznej administracji w Małopolsce w kontekście Wrót Małopolski oraz E-PUAP Kraków, 2 kwietnia 2004 r. 1 Agenda Podstawowe założenia Miejsce Wrót Małopolski
Bardziej szczegółowoE-administracja warunkiem rozwoju Polski. Obecna i potencjalna rola epuap w procesowym zarządzaniu w administracji
E-administracja warunkiem rozwoju Polski Obecna i potencjalna rola epuap w procesowym zarządzaniu w administracji Mariusz Madejczyk Ministerstwo Spraw Wewnętrznych i Administracji 1 epuap, a zarządzanie
Bardziej szczegółowo