Czym jest API Foundation?
API Foundation oferuje rozwiązania do budowania aplikacji i usług w dowolnym środowisku.
Podstawowy interfejs API oparty na skryptach powłoki, które
umożliwiają pobieranie, zarządzanie, przetwarzania i publikowanie danych.
Modularyzacja -> Standaryzacja -> Specjalizacja -> Automatyzacja
API Foundation służy doświadczeniem w zakresie integracji oprogramowania, wspierając powstawanie najlepszych produktów i usług! Naszym celem jest rozpowszechnianie i wsparcie tych idei i rozwiązań dla każdej otwartej organizacji, społeczności i specjalistów.
- skąd wzięła się idea ekosystemu API Foundation?
Jako programiści, na co dzień używamy wielu zestawów narzędzi, pozwalających kontrolować pracę
- działamy w oparciu o sprawdzone standardy,
- korzystamy z ekosystemów zapewniających jakość finalnej usługi, aplikacji.
Idea wzięła sie z praktyki, lat doświadczeń i małych ale setek kroków w trakcie tworzenia i korzystania z własnych narzędzi, które
obecnie rozwijamy i udostępniamy w ramach organizacji.
zaczęło się od potrzeby modularyzacji po stronie frontendu. Następnie konieczne było stworzenie do tego szybkiego deplymentu. W sumie powstało kilka projektów działających w jednym ekosystemie.
Streamowanie danych i aplikacji, coś co należy do przyszłosci w IoT, gdzie konieczxne jest dopasowanie obszernego ekosystemu automatycznie do warunków w jakich będzie pracował, nie jest to tylko kwestia konfuguracji, ale też dopasowanie w zależności od użycia i interfejsów.
# IoT
# Streamowanie Aplikacji bez przełaowywania
# Streamowanie środowiska dla aplikacji
# Budowanie Interfejsów w locie, MVP
Ekosystem rozwiązań dla wielu społeczności:
- programistów
- providerów usług
- artystów (grafików, muzyków, itd)
- marketerów
- zewnętrznych usługodawców
W skład których wchodzą:
- oprogramowanie do budowania modularnych web-aplikacji, konfiguruje się tylko URL-e z dostępem do modułów w html, javascript, css, itd
- oprogramowanie do deploymentu, ładuje Twoją aplikację bezpośrednio na VPS, podpinasz domenę przez rekordy: CNAME, A
- oprogramowanie do zarządzania darmowymi bibliotekami mediów,
- .. być może w przyszłości jescze marketplace z płatnymi autorskimi skryptami, modułami, mediami, itp, które będą po prostu opłacane w modelu subskrypcji miesięcznej/rocznej.
Tak w kilka lat powstał gotowy do pokazania ekosystem, który z powodzeniem może być stosowane przez dowolnej skali firmy i aplikacje. Warto zadać sobie pytanie, czego oczekujemy w codziennej pracy?
Środowisko:
- czy wolimy bardziej kontrolować lokalne środowiska?
- czy delegować zarządzanie chmurze?
Jakie jest lepsze rozwiązanie?
- język skryptowy w natywnym środowisku systemu operacyjnego linux/ios/windows?
- język natywny chmury?
W praktyce często nie ma jasnej drogi, rozwiązania dopiero klarują sie w trakcie realizacji dlatego lepiej od razu korzystać z elastycznych narzędzi, wspierających natywne środowisko, bez niepotrzebnej abstrakcji, której korzyści są dopiero widoczne w dojrzałej apikacji.
APIfoundation wspiera natywne języki skryptowe systemów operacyjnych. W jakim celu i dlaczego? Chcemy być blisko naturalnego środwiska jak to tylko możliwe i używać bstrakcji bądź specyficznych rozwiązań, wtedy gdy nie ma lepszego. Jednak pierwsze kroki niezaleznie od wybranej technologi sprawiają, że każdy może odnaleźć się w takim środowisku i napisać działającą apkację, by następnie rozwijać ją w docelowym srodowisko migrując dane i technologie.
Naszym celem nie jest pisanie tylko w skryptach bash'a, gdyż skrypty natywne systemu operacyjnego mają pomóc w konfiguracji środowiska a nie tworzeniu aplikacji, dlatego każdy może użyć preferowanego języka programowania.
Kontrola środowiska przez programistę, poprzez definiowanie oczekiwań w skryptach:
- bash (APIcra)
- python (APIcra)
- javascript (jLoads)
Rozwiązanie API Foundation docenią organizacje ceniące sobie zasoby, gdyż ani techniczne, finansowe czy merytoryczne nie są tutaj przeszkodą nawet dla jednoosobowej organizacji, wszystkie elementy można wdrożyć w kilka godzin w ciągu normalnego dnia roboczego online.
Dlaczego uważamy, że nasze rozwiązanie jest najlepsze? Ponieważ nie tworzymy sztucznych bytów, pseudo-języków. Opieramy projekty o istniejące standardy, APIFoundation udsotępnia je w postaci zmodularyzowanej.
Tutaj nie ma ograniczeń, potrzebna jest (wolna) wola i (otwarty) edytor.
Zapewniamy narzędzia do komunikacji oraz darmowe materiały edukacyjne, również na platformie Youtube, za darmo. Naszym celem jest udostępnienie wielu organizacjom na świecie sprawdzonych praktyk w budowaniu oprogramowania i jego zarządzania. Chcemy pokazać, że bycie liderem na rynku jest osiągalne bardzo szybko w oparciu o dobre rozwiązania. Zgodnie z zasadami panującymi w firmie, która jest patronem API Foundation, Softreck - Leadership Through Software Development.
w zasadzie niczego nie trzeba zmieniać, warto spojrzeć na to rozwiązanie jako na zbiór dobrych praktyk
zestawionych w jeden spójny ekosystem i co ważne ze wsparciem merytorycznym samych twórców.
API foundation dedykuje rozwiązania do natywnych środowisk różnych systemów operacyjnych, nie chcemy narzucać własnych rozwiązać a pomóc tym, którzy je sobie chcą sami zorganizować w oparciu o sprawdzony i przetestowany kod.
Wyobraźmy sobie kolejny dzień pracy, tym razem zaczynamy nowy projekt, nowe środowisko. Początki bywają trudne, dlatego powoli zagłębiamy się w dokumentację, szukamy rozwiązania na napotkane błędy.
Oczywiście jest masa rozwiązań chmurowych, wirtualizacji, ale w naszym małym projekcie nie mamy tyle czasu,
dlatego wszystko jest z jednej strony proste ale z drugiej nowe i trzeba samemu sobie poradzić, gdyż nie ma osoby, która wcześniej się tym zajmowała.
Tutaj jest właśnie miejsce na rozwiązanie, jakie na co dzień po części stosujemy, ale nową jakość daje sam ekosystem, który zdefiniowany przez API Foundation daje przewagę wielu lat doświadczenia.
Tak jak przy pisaniu oprogramowania - to kod jest dokumentacją, tak samo przy instalowaniu środowiska do uruchomienia kodu,
to skrypty powłoki shell są dokumentacją wymaganych zależności.
Przykładowo, instalacja odpowiedniej wersji języka PHP wymaga sprawdzenia i decyzji:
- czy język PHP istnieje w systemie?
- jeśli tak, to czy obecna wersja jest zgodna z oczekiwaną?
Skrypt powinien jak najlepiej określić sytuację i zasugerować dalsze rozwiązania, poprzez np.
doinstalowanie innego modułu, który rozwiąże brak komponentu, aplikacji, biblioteki.
Często odpowiedzialny jest za to composer, ale nawet jeśli go nie ma, lub jeszcze nie jest zainstalowany to skrypty shell zainicjują go w lokalnym lub produkcyjnym środowisku.
Język opisowy w rozwiązaniu APICRA jest standardem, daje od razu informację o tym co chcemy osiągnąć. Każdy skrypt zaczyna się od wyświetlanego przez komendę @echo informacji o przeznaczeniu danego skryptu, np:
@ECHO OFF
echo Check if the application works correctly
WHERE php
IF %ERRORLEVEL% NEQ 0 (
echo PHP is NOT installed!
)
Istnieją inne dobre rozwiązania i podejścia, API Foundation skupia się na długofalowym wsparciu środowiska tworzenia oprgramowania, rzędu dekad a nie lat.
- tak jak wiele projektów typu open source, dzielimy się pomysłami i praktyczną wiedzą
- nasze cele są skupione na osiąganiu lepszego poziomu technicznego a nie zarabianiu
- to jest powód, dla którego nie zależy nam na monetyzacji, ale na szybkim tworzeniu orpgroamowania i jego praktycznego wykorzystania
We Love Software Development and we create the best solutions with pleasure! We are able to create the best solutions, because we have deep understanding of technology based on advanced projects. We are earning money on trainings for teams which are opened to increase quality of software deelopment at any time. We are independent and free to create the best IT solutions on the World!
if You need solve technical problem based on Python/Java/NodeJS, many solutions are based on one language. In APIFoundation case we are supporting and proiding for each language the same SDK solution, which aaliable to use in your application programming language.
Who give you the opportunity to use your own technical solutions in external libraries? We're opened and we're giving You opensource code which is ready to set and go!
No license, no subscriptions, ready to use!
to zbiór reguł opisujący to jak programy komunikują się ze sobą
API jest przede wszystkim specyfikacją wytycznych Implementacja API jest zestawem rutyn, protokołów i rozwiązań informatycznych do budowy aplikacji komputerowych.
Dodatkowo API może korzystać z komponentów graficznego interfejsu użytkownika.
Definiuje się go na poziomie kodu źródłowego dla składników oprogramowania, na przykład aplikacji, bibliotek, systemu operacyjnego.
Zadaniem API, interfejsu programowania aplikacji jest dostarczenie:
- specyfikacji podprogramów
- struktur modeli danych
- definicji klas obiektów
- oczekiwanych protokołów do komunikacji między aplikacjami
A + (number) PI = API
procesy określające kolejności powstawania nowych wersji oprogramowania, pozwala na odróżnienie wersji między sobą.
Zazwyczaj jest liczbą naturalną (np. numerowanie wersji od 1 lub według roku powstania), liczbą rzeczywistą lub zestawieniem kilku liczb naturalnych. W ostatnim przypadku kolejne liczby oddziela się zazwyczaj kropką, a ich znaczenie jest następujące:
- Major (numer główny),
- Minor (numer dodatkowy),
- Release (numer wydania)
Odpowiedzialna osoba:
- #MANAGER-ROLE
definition of application for generating project on enironment with source code
Odpowiedzialna osoba:
- #MANAGER-ROLE
- #ADMIN-ROLE
- #DEV-ROLE
Środowisko do wykonania kodu jednej prostej funkcji dla dowolnego języka programowania z listy:
- javascript/nodeJS
- python
- php
Odpowiedzialna osoba:
- #DEV-ROLE
Data integration for models statements
Odpowiedzialna osoba:
- #DEV-ROLE
library of shell scripts
Odpowiedzialna osoba:
- #DEV-ROLE
runner for APIcra scripts
Odpowiedzialna osoba:
- #DEV-ROLE
https://github.com/DevOpsTerminal
Console Client with WebUI to acces by SSH many servers
Odpowiedzialna osoba:
- #ADMIN-ROLE
Components:
- APIexec
Project Manager & Generator is WebUI client installed on selected server to acces Customers on own projects, by executong defined shell scripts
Odpowiedzialna osoba:
- #END-USER-ROLE
- #MANAGER-ROLE
Components:
- APIexec
- APIcra
Narzędzia programisty, software developera - Tom Sapletta 'Blog
VodApi
UnitApi
ApiCra
ApiBuild
ApiSql
dotyczy
specyfikacja organizacji
specyfikacja aplikacji
definicja procesów środowiska
komunikacji pomiędzy aplikacjami
komunikacji pomiędzy modułami w aplikacji
dokumentacja
definicja procesów
definicja komunikacji pomiędzy aplikacjami
definicja modeli danych – parametrów i procesów
definicja
vodapi.yaml
unitapi.yaml
język programowania
naturalny
naturalny
skrypty bash: .bat, .sh
w zależności od języka
klasy w danym języku
- Narzędzia dla programistów:
- VodApi
- Dokumentacja dla firmy
- Opis każdego elementu niezbędnego do działania firmy
- oraz opis procesów koniecznych do uzyskania produktów, usług oferowanych w ramach działalności organizacji
- Specyfikacja narzędzi, ludzi, warunków potrzebnych do uzyskania optymalnych efektów
- Opis zasobów, idei, wykorzystanie do tego UnitApi, gdzie każda aplikacja jest opisana
- np:. Opis sposobów dokumentowania, developmentu, testowania, deploymentu
- Możliwość tworzenia mierzalnych wyników z analizy okresowej zebranych danych
- https://vodapi.com/
- UnitApi
- Definicja aplikacji oraz procesów koniecznych do jej tworzenia
- oraz każdego jej elementu, również zewnętrznego (RESTAPI) w języku naturalnym
- definicja procesów, wykonywanych za pomocą skryptów ApiCra
- create, commit, update, upgrade, test
- https://unitapi.com/
- ApiCra
- implementacja narzędzi i procesów za pomocą skryptów bash’a
- Ustandaryzowanie bibliotek skryptów oraz używania
- skrypty usprawniające tworzenie, aktualizację i serwisowanie aplikacji
- procesy opisane na podstawie definicji UnitApi
- https://apicra.com/
- DevopsTerminal
- Narzędzie do wizualnego uruchamiania skryptów ApiCra, za pomocą przeglądarki internetowej
- Wykorzystuje specyfikację UnitApi
- https://devopsterminal.com/
- ApiBuild
- generator kodu API na różne platformy w różnych językach programowania
- biblioteki wspierające komunikacje na zewnątrz aplikacji
- generowanie kodu SDK ze specyfikacji UnitApi oraz innych specyfikacji jak **swagger,
- https://apibuild.com/
- ApiSql
- Definicja klas Parametrów oraz Procesów w języku programowania aplikacji
- biblioteki wspierające komunikacje wewnątrz aplikaci, pomiędzy jej modułami
- modelowanie danych i procesów za wykorzystaniem definicji UnitApi
- np. wymiana danych pomiędzy bazą danych, formularzem, a RESTAPI
- ustandaryzowanie i przygotowywanie kodu na różne środowiska programowania
- https://apisql.com/
The API Foundation is created and sponsored by the Softreck from Estonia. Softreck Company is sharing tools to give Organisations more benefits, to have under control all steps in software and Hardware Development.
At Softreck, we strive to go beyond securing smart technical resources by aiming to become your strategic advisors, providing both thought leadership and best practice to ensure that you are confident in being able to deliver solid results in less time and increase your ROI (Return on Investment).
That is why our specialised team is built with the right mix of highly skilled architects and consultants, supported by management with years of industry experience.
The selection and deployment of an initial production API capability is used to prioritise and showcase the baseline platform, whilst delivering a tangible benefit to the business through better alignment and communication of capabilities and requirements.
Another key deliverable is a detailed report and executive presentation that provides Softreck’s assessment for the customer’s desired connectivity/integration platform maturity.
We use technology such as Open API and Deep-Link connections, we can integrate that service into your business platform.
Whether it’s through embedded technology or something as simple as a booking widget, your clients can now access our booking system directly. We’ll even offer you a return on any reservations made.
Turning a clever feature into a profitable solution.
You can exercise all of the Foundation API methods through the API Console as well as view documentation and descriptions of the inputs and outputs of each API method.
We started in 2018 with few concepts but one idea: fastest development. Now, in 2020 we are giving solutions:
- APIexec - executor library for shell scripts
- APIcra - shell scripts libraries
- APIunit - definition of application, CI, CD
- APIbuild - build process definition, focused on quality, versioning
- APIsql - bazy danych, zapytania, modele
- APIfunc - rozwiązania dla FaaS
We are preparing cloud FaaS implementation
Simple open solution for public FaaS
For private usage, API with authorisation