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.