Macierz odpowiedzialności wygląda więc nastepująco:
Etap | dmt | Partner |
Analiza | opcjonalnie – na żądanie | TAK |
Koncepcja systemu | opcjonalnie – na żądanie | TAK |
Szczegółowy projekt | TAK | |
Implementacja | TAK | |
Testy modułów | TAK | |
Testy end-to-end | opcjonalnie – na żądanie | TAK |
Instalacja platformy Atom | opcjonalnie – na żądanie | TAK |
Instalacja modułów | opcjonalnie – na żądanie | TAK |
Konfiguracja platformy Atom | opcjonalnie – na żądanie | TAK |
Konfiguracja modułów oraz setup procesów | opcjonalnie – na żądanie | TAK |
Opieka gwarancyjna i pogwarancyjna w zakresie setupu procesów | opcjonalnie – na żądanie | TAK |
Opieka gwarancyjna i pogwarancyjna w zakresie platformy Atom i modułów | TAK |
Model współpracy z varem
Oczywiście w dzisiejszym świecie budowanie od zera (from scratch) systemu informatycznego nie ma wielkiego sensu. Byłby to proces kosztowny oraz obarczony wieloma ryzykami.
Dlatego w naszych wdrożeniach używamy przygotowanej przez nas platformy Atom, na której powstają dedykowane rozwiązania dla konkretnych klientów. Na platformie (która jest gotowym produktem), uruchamiane są poszczególne moduły realizujące różne atomowe czynności. Nasz system pozwala na połączenie małych modułów w pełne procesy realizujące nawet skomplikowane operacje biznesowe.
Na rynku istnieje sporo platform umożliwiających uruchamianie różnorakich systemów. Jednak zazwyczaj konieczne jest pozyskanie skomplikowanej wiedzy na temat ich budowy. Wydłuża to czas wdrożenia i czas testów. Programista tworzący takie moduły musi samodzielnie zdobywać swoją wiedzę. To z kolei oznacza, że nawet jeśli platforma jest dobra, to braki w wiedzy lub doświadczeniu programisty spowodują, że całościowy system nie będzie skuteczny, a jego wdrożenie będzie obarczone wieloma ryzykami.
Tymczasem w modelu współpracy jaki proponujemy w naszej firmie, całość prac programistycznych spoczywa na nas. To nasi deweloperzy, świetnie znający platformę Atom, przygotowują kod źródłowy poszczególnych modułów. W efekcie są w stanie w pełni wykorzystać wszelkie możliwości platformy.
Co jednak najważniejsze, moduły takie realizują pewne drobne, wręcz „atomowe” funkcjonalności. Przykładowo, jeśli w systemie konieczne będzie wygenerowanie danych na podstawie danych przychodzących mailowo w skompresowanych i zaszyfrowanych plikach, to odbieranie maili, dekompresja, deszyfracja i wreszcie samo przetwarzanie, będzie realizowane przez zupełnie różne atomowe moduły.
Dzięki takiemu podejściu nasz klient (lub nasz reseller), może samodzielnie skonfigurować cały system, łącząc niemal dowolnie poszczególne atomowe moduły w bardziej rozbudowane procesy. Nie ma jednak konieczności pisania nawet linijki jakiegokolwiek modułu.
Co więcej, poszczególny moduł może być wykorzystywany w wielu różnych procesach. W efekcie to my dostarczamy cały gotowy system klocków. Ale to nasz klient czy też reseller może budować z tych klocków niemal dowolne rozwiązania IT.
Nasze systemy budujemy w klasycznym cyklu produkcji (analiza/projekt/implementacja/testy/wdrożenie/opieka), przy czym model współpracy wygląda następująco:
- Analiza. Analiza potrzeb i problemów pojawiających się u naszego klienta, a także analiza uwarunkowań w jakich oprogramowanie będzie musiało funkcjonować. W szczególności analizę taką może przeprowadzić nasza firma lub samodzielnie nasz lokalny partner po przejściu odpowiednich szkoleń.
- Projekt systemu. Projekt składa się z dwóch części:
- Ogólna koncepcja systemu. Może ona zostać przygotowana bezpośrednio przez naszego lokalnego partnera i następnie przez nas weryfikowana. Koncepcja nie opisuje szczegółowej architektury systemu, a jedynie ogólny sposób realizacji oczekiwań klienta (jeszcze bez podziału całego systemu na moduły).
- Szczegółowy projekt modułów. Ta część projektu powstaje całkowicie w naszej firmie. W oparciu o naszą wiedzę o możliwościach platformy Atom projektujemy wszystkie moduły, interfejsy użytkownika, sposób wymiany danych oraz sposób przetwarzania danych. W efekcie nasz lokalny partner otrzymuje pełny opis „klocków”, z których będzie mógł skonfigurować procesy bezpośrednio u klienta.
- Implementacja. Nasze zespoły programistów implementują konkretne rozwiązania, tworząc konkretne moduły działające na platformie Atom. Wykorzystujemy tu całą naszą wiedzę na temat budowy systemów masowej przepustowości, od razu optymalizując wszystkie rozwiązania informatyczne. Co więcej, jako że moduły tworzone są przez osoby doskonale zaznajomione ze specyfiką platformy Atom, możliwe jest całkowite wykorzystanie wszelkich możliwości tej platformy.
- Testy:
- nasza firma samodzielnie wykonuje wszelkie testy pojedynczych modułów,
- na życzenie naszego partnera lub klienta wykonujemy również pełne testy end-to-end na bazie odpowiednich scenariuszy testowych.
- Wdrożenie. Nasz lokalny partner samodzielnie instaluje platformę Atom i moduły, konfiguruje je oraz przeprowadza odpowiednie szkolenia dla użytkowników końcowych i administratorów. Na życzenie klienta lub partnera wdrożenie może być realizowane bezpośrednio przez naszą firmę.
- Opieka gwarancyjna i pogwarancyjna. Nasze systemy objęte są pełną opieką. Ten element cyklu produkcji uważamy za najistotniejszy. Oprogramowanie tworzone jest bowiem tylko raz, zaś jego eksploatacja jest procesem ciągłym. Dlatego zapewnienie naszym klientom właściwej opieki jest naszym absolutnym priorytetem. Nasi specjaliści są do Państwa dyspozycji przy wszelkich pracach związanych czy to z usuwaniem błędów, czy to z wykonywaniem modyfikacji. Modyfikacje mogą być związane ze zmianą wymagań biznesowych, ale też np. ze zmianą wolumenu przetwarzanych danych.
Co ważne, przez cały okres trwania umowy o opiece gwarancyjnej i pogwarancyjnej nasz system objęty jest bezpłatną opieką gwarancyjną. Wszelkie błędy usuwane są w ramach tej umowy bez dodatkowych opłat przez tak długi czas, jak tylko trwa umowa – bez żadnych wstępnych ograniczeń.
Warto przy tym zaznaczyć, że nasz lokalny partner lub klient mogą samodzielnie zmieniać definicje procesów, korzystając z dostarczanych przez nas klocków – zupełnie bez naszego udziału. Udział naszej firmy jest niezbędny tylko wtedy, gdy zachodzi konieczność zmiany kodu źródłowego konkretnego modułu. Dlatego też nasz lokalny partner zapewnia opiekę nad samą konfiguracją modułów, my zaś zapewniamy pełną opiekę nad implementacją platformy Atom oraz wszystkich dostarczonych przez nas modułów.
Ogólne zasady współpracy z varem
System zbudowany w oparciu o platformę Atom może zostać wdrożony również przez naszego przedstawiciela – resellera (VARa).
Z punktu widzenia użytkownika najważniejszą częścią systemu opartego na platformie Atom są oddzielne atomowe moduły utworzone przez naszą firmę. Nasze systemy działają w szczególnie wymagających środowiskach i dlatego uznaliśmy, że bezpieczniej będzie jeśli cały kod źródłowy powstawać będzie tylko w jednym miejscu, tak by klient był pewien, że moduły tworzone są przez osoby dysponujące pełną wiedzą o platformie Atom. Oznacza to, że możemy zagwarantować naszemu klientowi, iż moduły są w pełni kompatybilne z samą platformą i przygotowane w taki sposób, by zapewnić największą możliwą wydajność.
W realnym wdrożeniu nasz partner za pomocą platformy Atom, zupełnie bez naszego udziału, może:
- W pełni konfigurować całą platformę i wszystkie moduły za pomocą wygodnego, ustandaryzowanego interfejsu konfiguracyjnego, dostępnego poprzez przeglądarkę WWW. Konfigurację może więc wykonywać zdalnie lub u klienta.
- Budować z różnych stworzonych przez nas modułów bardziej złożone zadania, w ramach których występują zależności pomiędzy modułami.
- Planować warunki i czas uruchamiania zadań – platforma sama uruchomi odpowiednie moduły we właściwym czasie lub według zależności pomiędzy zadaniami i procesami, zgodnie z wprowadzoną konfiguracją.
- Uruchamiać moduły na odpowiednich serwerach, przeznaczonych pod system.
- Zarządzać obciążeniem serwerów (load-balancing).
- Obsługiwać sytuacje awaryjne, np. uruchamianie konwerterów/mikrousług na innym serwerze w przypadku awarii serwera, na którym działały one wcześniej.
- Monitorować i nadzorować pracę systemu.
Warto przy tym podkreślić, że system konfiguruje się raz – potem cała jego praca jest zupełnie zautomatyzowana i nie wymaga nadzoru (unattended).
Każda firma chcąca zostać VARem musi podpisać odpowiednią umowę oraz obowiązkowo przejść szkolenie, tak by mogła profesjonalnie przeprowadzić cały proces wdrożeniowy u klienta końcowego. Zainteresowanych zapraszamy do kontaktu z nami.
Schemat architektury
Moduły uruchamiane na platformie Atom to niezależne małe bloki kodu wykonywalnego. Zazwyczaj w ramach jednego systemu działa wiele różnych modułów platformy, utworzonych specjalnie dla danego wdrożenia. Przykładowymi zadaniami, wykonywanymi przez moduły, mogą być:
- import plików,
- konwersja plików,
- przetwarzanie danych w bazie Atom_Convert,
- komunikacja z innymi systemami lub modułami,
- przetwarzanie grafiki lub rozpoznawanie pisma
itd.
Należy podkreślić, że nie ma narzuconej określonej specjalizacji modułów Atom. W każdym z systemów lub w ramach jednego systemu, mogą powstawać moduły bardzo różniące się i stopniem skomplikowania, i rodzajem wykonywanych zadań.
Na jednej fizycznej lub logicznej maszynie możliwe jest uruchomienie wielu różnych modułów platformy równocześnie. Każdy z takich modułów uruchomiony jest wraz z przypisaną do niego osobną konfiguracją. Taki moduł wraz z konfiguracją to tzw. proces.
Dany moduł może być przystosowany do działania na wielu maszynach na raz lub w kilku instancjach (procesach) na tej samej maszynie. O tym, gdzie (na jakich maszynach) oraz w ilu instancjach należy uruchomić taki moduł, decyduje platforma Atom na podstawie wprowadzonej konfiguracji.