Jako administrator oraz programista realizowałem kilkanaście projektów i w każdym z nich brakowało mi czegoś, jakiejś funkcjonalności, która wspierała by moją pracę. Dlatego też stworzyłem szereg bibliotek, które wykorzystuję w swoich projektach. Poniżej skrócona lista projektów, które przechowuje w repozytorium kodów źródłowych GitHub. Może komuś się przydadzą, albo posłużą jako przykłady gotowych rozwiązań.
Licencja
Większość projektów, o ile to nie zostało wyszczególnione w opisie projektu, objęte są licencją opartą o Apache License, Version 2.0:
Copyright 2022 Sławomir Cichy Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Centrum Certyfikacyjne
https://github.com/slawascichy/certificate_center
Nazwa projektu: Centrum Certyfikacyjne | Akronim: HgDB | Status: | Ostatnia wersja: | Inspekcja kodu: |
Centrum zarządzania certyfikatami SSL oparte o oprogramowanie OpenSSL oraz skrypty bash. Zbiór skryptów wspiera pracę administratora związaną z generacją oraz prowadzeniem ewidencji certyfikatów podpisanych samodzielnie. Narzędzie przydatne gdy chcemy skutecznie, bezkosztowo, zarządzać certyfikatami SSL naszej wewnętrznej infrastruktury.
SC Common
https://github.com/slawascichy/sccommon
Nazwa projektu: SC Common Libraries | Akronim: SCcommon | Status: | Ostatnia wersja: |
Każdy twórca oprogramowania w trakcie swojej kariery zawodowej wypracowuje sobie rozwiązania ułatwiające mu tworzenie większych projektów. Na podobieństwo serii bibliotek Apache Commons stworzyłem sobie zbiór bibliotek, które wykorzystuje w swoich projektach, zarówno Open Source jak i komercyjnych. Projekt SC Common to zbiór bibliotek pomocniczych, do których należą:
- sccommon-cache - w bibliotece skonstruowano uniwersalne API obsługi pamięci podręcznej. Jako, że najczęściej wykorzystuję Ehcache, biblioteka zawiera implementację realizującą obsługę właśnie tego engine. W pewnym momencie projekt Hibernate przestał wspierać implementację Ehcache jako engine pamięci podręcznej. Moja implementacja pozwala na kontynuacje wykorzystania tandemu Hibernate+Ehcache przy wykorzystaniu nowszych wersji Hibernate.
- sccommon-eclipse-emf-api - biblioteka pomocnicza zawierająca API `org.eclipse.wst.common.internal.emf.utilities.EncoderDecoder.class` - biblioteka wykorzystywana do kompilacji projektów, w których wykorzystywane jest to API w celu tworzenia własnych rozwiązań szyfrujących, np. do szyfrowania danych przechowywanych w plikach konfiguracyjnych.
- sccommon-http-client - biblioteka wspierająca komunikacje HTTP/HTTPS.
- sccommon-ldap - biblioteka wspierająca komunikację, wyszukiwanie oraz zarządzanie entry w repozytorium użytkowników LDAP.
- sccommon-mail - biblioteka wspierająca mechanizmy wysyłania, odbioru oraz przetwarzania wiadomości e-mail.
- sccommon-utils - biblioteka narzędziowa powstała na bazie moich poprzednich projektów: schelper oraz scjdbc4jpa. Część funkcjonalności można zastąpić bardziej popularnymi rozwiązaniami takimi jak np. te. które oferują projekty Apache Commons, co też bardzo często robię, jednak doświadczenie jakie zdobyłem podczas jej pisania jest bardzo duże. Znaleźć w niej można obsługę łańcuchów znakowych takie jak konwersje z UTF-8 na ASCII, "po polskawemu" czyli bez polskich ogonków, metody sortowania list z łańcuchami, operacje przycinania i dopełniania łańcuchów (popularne metody ltrim, rtrim, lrtrim, lpad, rpad). Znajdziemy tam również przykłady wykorzystanie annotation i wiele innych.
HgDB Client Open
https://github.com/slawascichy/hgdb-client-open
Nazwa projektu: HgDB Client Open | Akronim: hgdb-client-open | Status: | Ostatnia wersja: | Inspekcja kodu: |
Otwarty projekt implementacji klienta Java dla produktu Mercury DB (HgDB) 3.0.
Projekt ma inne licencjonowanie. Jest on projektem Open Source, ale można go wykorzystywać tylko i wyłącznie w celu realizacji projektu komunikacji z bazą HgDB. Licencja bazuje na BSD 3-Clause License. Zobacz HgDB Client License 1.0.
CCRTO OpenAPI
https://github.com/slawascichy/ccrto-openapi
Nazwa projektu: CCRTO Open API | Akronim: ccrto-openapi | Status: | Ostatnia wersja: | Inspekcja kodu: |
Context and Case Request Transportable Objects Open API - biblioteka Java implementująca standard komunikacji wypracowany na rzecz integracji systemów informatycznych. Standard został opracowany na wzór rozwiązań opracowanych w open API. Obecnie standard ten jest wykorzystywany w komunikacji pomiędzy komponentami Mercury DB (HgDB) 3.0: implementacją serwera a usługami Iron - POI Excel Serwer.
- Sławomir Cichy Przygotuj przestrzeń CCRTO z dokumentującą/opisującą standard komunikacji.
- Sławomir Cichy Realizacja implementacji CCRTO jako ogólnego protokołu dostępu do usług Mercury DB (HgDB) 3.0.
HgDB Grafana Datasource
https://github.com/slawascichy/hgdb-grafana-datasource
Nazwa projektu: MercuryDB (HgDB) 3.0 Data Source | Akronim: sci-software-hgdb-datasource | Status: | Ostatnia wersja: |
Otwarty projekt źródła danych dla oprogramowania Grafana. Celem jest stworzenie odpowiedniego plugin'u pozwalającego na komunikację z produktem Mercury DB (HgDB) 3.0.
Projekt ma inne licencjonowanie. Jest on projektem Open Source, ale można go wykorzystywać tylko i wyłącznie w celu realizacji projektu komunikacji z bazą HgDB. Licencja bazuje na BSD 3-Clause License. Zobacz HgDB Client License 1.0.
DB2 ODBC Config Reader
https://github.com/slawascichy/Db2OdbcConfigReader
Nazwa projektu: DB2 ODBC Config Reader | Akronim: db2odbcconfigreader | Status: | Ostatnia wersja: | Inspekcja kodu: |
Biblioteka zawierająca mechanizmy czytania konfiguracji ODBC dla baz danych IBM DB2 oraz, możliwości nawiązania połączeń JDBC na podstawie tak pozyskanych danych.