Data dodania: 2019-12-14 Ilość odsłon: 269
https://www.full-stack-developer.pl/autorski-framework Lata programowania sprawiły, że potrzebowałem narzędzia, które maksymalnie usprawni moją pracę. Znane na rynku frameworki zamiast pomagać, tak naprawdę utrudniały życie. Wiele rzeczy stało się niemożliwe, bądź ich oprogramowanie zajmowało nadmierną ilość czasu. Ze względu, że całość zagadnień "ogarniam" samodzielnie, póki nie będę musiał pracować w zespole - postawiłem na szybkość i automatyzację działań - w ten sposób powstał mój autorski framework, a znane na rynku rozwiązania odstawiłem na półkę. Mój Framework jest rozwiązaniem, które służy do szybkiego tworzenia dużych i złożonych portali internetowych. Mogą to być aplikacje biznesowe, portale społecznościowe, systemy narzędziowe, katalogi produktowe, strony internetowe o dowolnej złożoności czy duże portale, których używasz na co dzień. Centralizacja kodu Framework CORE Tworzone przez mnie rozwiązania nie są porozrzucane po wielu serwerach i kontach hostingowych. Centralizacja kodu polega na tym, że kod całego rozwiązania znajduje się w jednym katalogu. Są to pliki systemowe, które są niejako podłączone do poszczególnych domen klienckich. Dzięki temu każdy klient używa tego samego kodu Framework CORE. W ten sposób nie ma czegoś takiego, jak wersjonowanie kodu - każdy klient zawsze używa tego samego i najnowszego kodu systemu obsługującego daną aplikację kliencką. W katalogach domenowych poszczególnych aplikacji - przechowywane są pliki klienta (obrazki, załączniki, pliki robocze). Każdy klient ma również własną bazę danych. Takie innowacyjne podejście znacznie zmniejsza czas i koszt utrzymania oprogramowania oraz pozwala na dokonywanie zmian w jednym miejscu dla wszystkich portali jednocześnie. Identyczna struktura bazy danych Konserwacja bazy danych systemu to ważne zagadnienie. Narzędzia do konserwacji bazy danych tworzą identyczną strukturę u wszystkich klientów systemu. Dzięki takiemu podejściu wszystkie moduły są w stanie działać u dowolnego klienta zaraz po ich aktywacji. Wszelkie zmiany struktury są nanoszone na wszystkie bazy danych dzięki zastosowaniu autorskiego (napisanego na potrzeby tego framework) mechanizmu ORM. Dedykowany mechanizm klasy ORM Framework posiada własną bibliotekę klasy ORM, napisaną przeze mnie. Jedną z jej funkcjonalności jest tworzenie bazy danych, tabel oraz katalogów serwerowych w locie podczas pierwszego użycia danego modułu. Dotyczy to również aktualizacji struktury bazy danych. Specjalnie wytworzony język skryptowy pozwala na zdefiniowanie struktury bazy danych na potrzeby każdego modułu. Mechanizm tworzy również niezbędne katalogi, potrzebne do pracy danego modułu, w obrębie domeny klienta. Centralizacja kodu modułów Tworząc funkcjonalność danego modułu dla danego klienta (np. komisu samochodowego) - kod widoczny jest przez wszystkie rozwiązania naszych klientów. Biorąc pod uwagę, że każdy klient używa bazy danych z identyczną strukturą - uruchomienie danej funkcjonalności polega tylko i wyłącznie na aktywacji danego modułu. Podsumowując - jeżeli klient portalu randkowego będzie chciał przetestować funkcjonalność portalu urlopowego, wystarczy aktywować go pod nową subdomeną w domenie klienta. System centralnych statystyk Każda wizyta w dowolnym serwisie, obsługiwanym przez Framework, jest rejestrowana w centralnej bazie danych. System notuje każde wywołanie systemu (standardowe użytkowanie, ataki hackerskie, wywołania ajax, roboty skanujące, błędne wywołania ze strony serwera). Struktura bazy statystyk jest mocno zoptymalizowana pod kątem powtórzeń, co zapewnia maksymalną oszczędność i wydajność. System może notować miliony wywołań bez obawy o nadmierną zajętość bazy danych. Technologie Framework wykonany jest w technologiach PHP 7 oraz ORACLE / MSSQL / MySQL / PostgreSQL (w zależności od potrzeby). Dzięki zastosowaniu biblioteki PDO - możliwe jest podłączenie dowolnych baz danych (j.w.) oraz zwiększenie wydajności i bezpieczeństwa. Framework jest nieustannie aktualizowany, wykorzystuje język PHP oraz bazy danych w najnowszych wersjach, dostępnych na danym hostingu. Aktualnie system pracuje na wersji 7.3.9 języka PHP oraz na wersji 5.6.35 bazy MySQL. Szybka instalacja System może pracować w kilku trybach: domenowym, subdomenowym oraz przy użyciu katalogu. Aby uruchomić nową instancję systemu - wystarczy podłączyć domenę lub subdomenę do serwera, stworzyć plik o nazwie index.php i wypełnić go zawartością jak niżej: $cms['db']['user'] = 'nazwa_uzytkownika_bazy_danych'; $cms['db']['pass'] = 'Haslo234%'; $cms['db']['name'] = 'nazwa_bazy_danych'; //podajemy dane nie istniejącej bazy danych - system ją utworzy w locie require '/home/konto_hostingowe/_cms/_start.php'; Te 4 linie kodu wystarczą, aby Framework w danej domenie lub subdomenie założył nową bazę danych, wypełnił ją tabelami, początkową zawartością, utworzył katalogi dla poszczególnych modułów oraz podpiął pliki Framework CORE. Całość prac wykonywanych przez człowieka trwa ok. 5 minut, a klient po propagacji domeny może logować się do swojego własnego portalu.