API Gateway to wzorzec integracyjny. W wzorcu tym, tylko jeden serwis (może być oczywiście replikowany) udostępniony jest publicznie. Klientami naszego API mogą być aplikacje mobilne, strony web lub inne urządzenia. Musimy zapewnić im możliwość korzystania z naszego API w sposób zunifikowany. Aby to osiągnąć udostępniamy jeden publiczny serwis zwany API Gateway, który odpytywany przez różnych klientów zajmuje się kierowaniem ruchu na podstawie filtrów i określonych routingów.
Autor: Krzysztof Chruściel
Java 9 – JShell czyli read-eval-print loop
Java 9 jest już z nami oficjalnie od pewnego czasu, pewnie u niektórych osób działa już na produkcji. Najnowsza wersja nie przyniosła aż tak dużych zmian jak Java 8. Oprócz modularności czy zmian związanych ze składnią tak zwanych syntactic sugar, pojawił się mechanizm, który występuje w wielu innych językach, a mianowicie REPL (ang. Read-Eval-Print Loop). W Javie 9 nazywa się JShell i jest najczęściej wykorzystywany do prototypowania oraz nauki języka.
#30 Spring Boot – Resource Server
W poprzednim wpisie przygotowaliśmy rozwiązanie korzystające z Single Sign-On. Teraz korzystając z tego mechanizmu chcielibyśmy zabezpieczyć inne moduły naszej aplikacji. Aby to osiągnąć, nasze moduły muszą stać się serwerami zasobów (ang. Resource Server). Jak to zrobić wykorzystując Spring Boot’a? Zapraszamy do wpisu!
#Book – NEGOCJUJ! Czyli jak zwyciężać w codziennych sytuacjach
Wiem, że nie jest to blog typowo “lajfstajlowy” tylko techniczny, jednakże często czytam książki niekoniecznie związane z programowaniem i światem IT. Tym razem zostałem przekonany bardzo dobrym wystąpieniem Wojtka Wóźniczki w podcaście “Więcej niż oszczędzanie pięniedzy” Michała Szafrańskiego i postanowiłem zakupić książkę dotyczącą negocjacji. Negocjowanie to umiejętność, która może znacząco (pieniądze) wpłynąć na nasze życie!
#29 Spring Boot – Single Sign-On
Podczas tworzenia aplikacji prędzej czy później pojawi się temat bezpieczeństwa. Musimy zastanowić się w jaki sposób chcemy chronić nasze zasoby oraz jaki typ uwierzytelniania wybierzemy. W dobie mikroserwisów nie jest to już takie proste jak w monolicie. Dziś wpis dotyczący podejścia Single Sign-On, zapraszamy!
#28 Spring Boot – Testowanie z GreenMail
Podczas przygotowania mojej prezentacji na SpreadIT, obracałem się wokół domeny związanej z mejlami. Ponieważ była to prezentacja o TDD, musiałem w jakiś sposób przetestować moją usługę do wysyłania mejli. Po wyszukaniu dostępnych rozwiązań postanowiłem wybrać bibliotekę GreenMail. Jest to prawdopodobnie jedyna biblioteka, która może być wykorzystywana jednocześnie do wysyłania jak i odbierania emaili.
#0 Spring Basic – o co chodzi z tym Springiem
Rozpoczynamy kolejny cykl wpisów. Tym razem na tapecie framework Spring. Zamierzamy przedstawić wam podstawowe funkcjonalności Spring’a. Wiele osób zaczyna przygodę ze Spring’iem od Spring Boot’a, bez zrozumienia co dzieje się pod spodem. Poruszymy tematy takie jak tworzenie beanów, zasięg beanów czy rodzaje wstrzykiwania zależności. Jednakże, na początek zapraszamy na wpis wprowadzający do Spring’a,
#27 Spring Boot – Consumer Driven Contract
Z każdym kolejny mikroserwisem testowanie naszej aplikacji staje się coraz bardziej trudne (w przypadku gdy są one ze sobą powiązane). Oczywiście możemy zamokować zachowanie innych serwisów korzystając na przykład z biblioteki WireMock, jednakże po wdrożeniu naszej aplikacji na produkcję okazuje się, że aplikacja nie integruje się poprawnie. A no właśnie, okazało się, iż mój serwis odpytywał zły endpoint, ale jak to możliwe, skoro wszystkie testy były uzależniająco zielone?
#3 Wzorce projektowe: Wstrzykiwanie zależności
Bardzo ciekawy wzorzec, który w środowisku Javowym wydaje się normalnością. Wstrzykiwanie zależności (ang. Dependency Injection) jest to wzorzec, którego stosowanie spowoduje, iż nasz kod stanie się mniej związany z innymi elementami, a tym samym będzie bardziej otwarty na rozszerzenia. Oczywiście w tematyce DI pojawić musi się również pojęcie odwróconej kontroli (ang. Inversion of Control). Zapraszamy!
#25 Spring Boot – Turbine – wspólny dashboard
W poprzednim wpisie pokazywałem jak wykorzystać Hystrix’a jako jeden ze sposób realizacji wzorca Circuit Breaker. Pojawił się także wpis dotyczący dashboard’u, na którym wyświetlane były informacje dla danego Circuit Breaker’a. Niestety wadą tego rozwiązania było to, iż mieliśmy jeden dashboard per aplikacja, więc jeśli chcielibyśmy sprawdzać stan kilku Circuit Breaker’ów musielibyśmy przełączać się pomiędzy dashboardami.