Projekty Open Source

Jako 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 źródła oraz skompilowane biblioteki. Może komuś się przydadzą, albo posłużą jako przykłady gotowych rozwiązań.

Licencja

Wszystkie projekty objęte są liecncją opartą o Apache License, Version 2.0:

				
Copyright 2014 Sci Software 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.				
				

schelper

Moja pierwsza poważniejsza biblioteka pomocnicza. Powstała ponad 10 lat temu. Teraz część funkcjonalności można zastąpić bardziej popularnymi rozwiązaniami jakie np. oferują projekty Apache (biblioteki serii common-*), 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, oparcje przycinania i dopełniania łańcuchów (popularne metody ltrim, rtrim, lrtrim, lpad, rpad). Znajdziemy tam również przykłady wykorzystanie annotacji i wiele innych.

scjdbc4jpa

Moja próba zastąpienia Hibernate'a własnym rozwiązaniem. Nigdy nie odważyłem się tej biblioteki wykorzystać produkcyjnie, ale jest bardzo pomocna podczas budowania/pisania testów. Z jej pomocą oraz Spring'a można zaemulować kontener do testowania encji EJB oraz Hibernate'a. Założeniem było, ze będzie ona obsługiwać wszystkie znane mi serwery relacyjnych baz danych, ale po prostu nie znalazłem czasu by ją dokończyć i zaimplementowałem tylko dla serwera Oracle'a.

sctest-package

Aby mieć pewność, że prawidłowo testuję bibliotekę scjdbc4jpa musiałem sobie przygotować pakiet, który symuluje schemat bazy danych. Na przykładzie prostych encji TMother, TFather oraz TChild oraz ich powiązań, branych prosto z życia, budowany jest, moim zdaniem, przykład, który jest w stanie obsłużyć 90% przypadków złożoności architektury relacyjnej bazy danych.

scbpm

Jednym z moich projektów było dostosowanie systemu IBM BPM do działania w środowisku określonej firmy. Wykorzystując swoja wiedzę stworzyłem zbiór bibliotek, które zawierają szereg mechanizmów wspierających synchronizację danych o użytkownikach pomiędzy systemem IBM BPM a centralnym repozytorium użytkowników zanjdującym się w danej firmie - LDAP/AD. Postanowiłem opublikować źródła dwóch z nich: scbpm-lib oraz scbpm-integrations.

scbpm-lib

Biblioteka główna

scbpm-integrations

Biblioteka integracyjna z aplikacją IBM BPM