Najważniejsze informacje
Efektywność jest podstawowym kryterium oceny każdego działania, co w przypadku rozwiązań informatycznych dla przedsiębiorstw oznacza maksymalnie wydajne, bezpieczne i stabilne wsparcie procesów biznesowych — zarówno po wdrożeniu, jak i przez cały cykl życia oprogramowania. Kluczowym czynnikiem jest również koszt, który musi być na tyle zoptymalizowany, aby w ostatecznym rozrachunku tworzenie i użytkowanie systemu było jak najbardziej rentowne. Aby sprostać tym wyzwaniom, niezbędne jest działanie planowe, przewidywalne i w dużej mierze powtarzalne, co sprowadza się do stosowania odpowiedniej metodyki, sprawdzonych technologii i narzędzi. Tylko to umożliwia dostarczanie wysokiej jakości rozwiązań — na czas i przy zachowaniu kontroli nad kosztami.
Technologia
Zestaw stosowanych przez nas technologii w dużej mierze zdeterminowany jest charakterystyką środowisk korporacyjnych, z którymi mieliśmy styczność, i wyzwaniami tam spotkanymi. Posiadamy więc dogłębną wiedzę w obszarach, postrzeganych często jako charakterystyczne dla systemów legacy (co dobrze współgra z naszą misją), jak i w zdecydowanie nowszych technologiach, spełniających współczesne wymagania:
- Oracle® DB (włącznie z zaawansowanym PL/SQL)
- Java/Java EE
- Angular
- Serwery aplikacji (WildFly, JBoss, Tomcat)
- Amazon Cloud (hostowanie serwerów baz danych i aplikacji)
Członkowie naszego zespołu posiadają również wiedzę w innych popularnych obecnie obszarach jak Python, lokalne modele AI, Apache Camel, Kafka i inne.
Dysponujemy również potencjałem „odkurzenia” dużo starszych technologii: GWT (Google Web Toolkit),Borland Delphi, Oracle Forms, Oracle Case.
Metodyka
Na każdym etapie tworzenia i utrzymania oprogramowania stosujemy ściśle zdefiniowane, jednak elastyczne i dostosowywalne do szczególnych przypadków procedury, obejmujące kluczowe dla powodzenia projektów zagadnienia, jak między innymi:
- Strategia projektowa (Agile, Continuous Development with Prototyping).
- Dokumentacja wymagań funkcjonalnych i niefunkcjonalnych (UML).
- Dokumentacja projektowa (UML).
- Komunikacja i organizacja (system zarządzania zadaniami).
- Reguły tworzenia modelu danych i kodu (szczegółowe typy relacji, przestrzenie nazw, typy danych, itp.).
- Techniki optymalizacji
- Reguły i narzędzia tworzenia interfejsu użytkownika, raportów i warstwy integracji.
- Bezpieczna autentykacja i szczegółowa autoryzacja.
- Zarządzanie środowiskami (developerskie, testowe, przedprodukcyjne, produkcyjne).
- Automatyzacja wdrożenia (CI/CD – Continuous Integration / Continuous Delivery).
- Głęboki monitoring czyli wczesne wykrywanie obniżenia wydajności i diagnostyka ukrytych lub trudno reprodukowalnych błędów.
Wybrane Narzędzia
- Partonic – stosowany opcjonalnie, modułowy i elastyczny framework, który w kontrolowany sposób integruje bazę danych Oracle z serwerem aplikacji Java / Java EE oraz graficznym interfejsem użytkownika opartym na Angularze. Warstwa komunikacyjna frameworka, zaimplementowana w TypeScript jako niezależna biblioteka, może być również wykorzystywana w innych środowiskach frontendowych, takich jak React czy Vue.
- CI/CD – Jenkins, Maven, GitHub, Liquibase
- Enterprise Architect – narzędzie do tworzenia dokumentacji i diagramów UML
- Jira – system zarządzania zadaniami/projektem.
- Confluence – system zarządzania wiedzą.
- IntelliJ – środowisko programistyczne.
- PL/SQL Developer – dedykowane środowisko programistyczne dla bazy danych Oracle.