Wyszukiwarka korespondencji dowodowej w Microsoft 365
W której skrzynce, kiedy i pod jakim tematem jest wiadomość do tej sprawy. Na to jedno pytanie aplikacja odpowiada, a na żadne inne nie potrafi.
- 0
- pól z treścią wiadomości w bazie
- 4
- pola docierają do ekranu
- 1250
- testów automatycznych przed każdą zmianą
- STATUS
- Rozwiązanie produkcyjne, rozwijane iteracyjnie
- ROLA
- Architektura, bezpieczeństwo, implementacja, wdrożenie, utrzymanie
- OBSZAR
- Microsoft 365 · Aplikacje wewnętrzne · Ochrona danych
Przy sporze z kontrahentem albo wyjaśnianiu rozliczenia księgowość potrzebuje korespondencji, w której zapadły ustalenia. Wiadomość jest gdzieś w skrzynce jednego z kilkudziesięciu handlowców. Dotąd oznaczało to pytanie wszystkich po kolei albo ręczne przeszukiwanie poczty przez dział IT, czyli dostęp osób trzecich do cudzych skrzynek. Zbudowałem aplikację, która wskazuje właściwą skrzynkę, datę, temat i folder, a resztę zostawia właścicielowi skrzynki.
Narzędzie odpowiada tylko na jedno pytanie: w której skrzynce, kiedy i pod jakim tematem jest wiadomość do tej sprawy. Nie pokazuje treści, nadawców, odbiorców ani załączników. Po wyniku użytkownik kontaktuje się z właścicielem skrzynki, a ten sam potwierdza fakty i przekazuje właściwą wiadomość. Prywatność korespondencji nie zależy od regulaminu, tylko od tego, czego aplikacja technicznie nie potrafi.
- 01Wiadomość mogła być w dowolnej z kilkudziesięciu skrzynek, także w elementach usuniętych, a szukający nie wiedział, w której.
- 02Dotychczasowa droga, czyli ręczne przeszukiwanie poczty przez dział IT, oznaczała dostęp osób trzecich do cudzych skrzynek.
- 03Narzędzie nie mogło pokazywać treści, nadawców, odbiorców ani załączników, a ta zasada miała wynikać z konstrukcji systemu, nie z instrukcji dla użytkowników.
- 04Limity i czasy odpowiedzi Microsoft 365 trzeba było zmierzyć na rzeczywistych skrzynkach, zanim ustalono równoległość przeszukiwania.
- 05Użytkownik z księgowości lub sprzedaży miał dostać wynik bez znajomości składni zapytań do poczty.
Aplikacja webowa w sieci firmowej, logowanie kontem domenowym bez dodatkowych haseł. Użytkownik wpisuje kontrahenta, numer zlecenia lub frazę i zakres dat. System przeszukuje równolegle wszystkie skrzynki działu sprzedaży, łącznie z elementami usuniętymi, i w kilka sekund zwraca listę: handlowiec, data, temat, folder. Każde wyszukiwanie trafia do historii spraw z numerem sprawy, a każda operacja do dziennika audytu.
- 01Administrator wskazuje z poziomu aplikacji grupy domenowe, których skrzynki są przeszukiwane. Zmiana zakresu nie wymaga zmiany w kodzie.
- 02Panel administratora pokazuje stan synchronizacji i ważność certyfikatu dostępu do Microsoft 365.
- 03Dziennik audytu ma eksport do CSV.
Treść, nadawcy, odbiorcy i załączniki nigdy nie opuszczają Microsoft 365.
- 01Aplikacja ma w Microsoft 365 wyłącznie uprawnienie do metadanych wiadomości, bez treści, ograniczone po stronie Exchange Online do jednej grupy skrzynek. Nawet błąd w kodzie nie da jej dostępu do skrzynki spoza tej grupy.
- 02Do ekranu, bazy danych, logów i audytu trafia tylko skrzynka, data, temat, folder i stan. Fraza wyszukiwana nie jest nigdzie zapisywana.
- 03Zapytanie do poczty buduje wyłącznie aplikacja z białej listy operatorów. Użytkownik nie może wpisać własnej składni.
- 04Uprawnienia są sprawdzane po stronie serwera przy każdej akcji. Konto usługi jest zarządzane przez domenę, uwierzytelnienie do chmury odbywa się certyfikatem, bez haseł w plikach.
- 05Automatyczne testy pilnują tych zasad na każdym ekranie. Jeśli jakikolwiek widok pokazałby niedozwolone pole, zmiana nie przejdzie bramki jakości.
Praca w krótkich iteracjach, każda zakończona wdrożeniem i raportem z odczytów, nie z deklaracji. Każda istotna decyzja ma zapisany rekord decyzji architektonicznej ze źródłami w dokumentacji producenta. Limity i czasy odpowiedzi Microsoft 365 zostały zmierzone na rzeczywistych skrzynkach przed ustaleniem konfiguracji. Wdrożenie jest powtarzalne: pakiet z manifestem sum kontrolnych porównywanym przed i po kopii na serwer, gotowa procedura wycofania i dokumentacja odtworzenia środowiska.
- 01Pierwsza wersja produkcyjna po pięciu dniach, wersja z eksportem audytu po dziewięciu iteracjach w dziewięć dni.
- 02Mediana czasu przeszukania jednej skrzynki około 0,3 s, całe przeszukanie około 11 s (pomiar na produkcji).
- 03Około 1250 testów automatycznych uruchamianych przed każdą zmianą, 14 udokumentowanych decyzji architektonicznych.
- 04Zero pól z treścią wiadomości w bazie danych. Odnalezienie korespondencji do sprawy nie wymaga już dostępu osób trzecich do cudzych skrzynek.
.NET 10 · Blazor · C# · Microsoft Graph · Exchange Online · SQL Server · IIS · Active Directory · SSO domenowe
Materiał zanonimizowany. Nazwy organizacji, grup, kont, serwerów i domen zostały pominięte. Dane na schematach są fikcyjne.
