Słyszałem ostatnio , że wiele osób mówi o oprogramowaniu pośrednim , ale jaka jest dokładna definicja oprogramowania pośredniego? Kiedy patrzę na oprogramowanie pośrednie, znajduję wiele informacji i niektórych definicji, ale czytając te informacje i definicje, wydaje się, że w większości coś jest w środku czegoś. Czy wszystkie rzeczy są oprogramowaniem pośrednim?
A może masz przykład oprogramowania, które nie jest oprogramowaniem pośrednim?
źródło
Oprogramowanie pośrednie to strasznie mglisty termin. Co to jest „oprogramowanie pośrednie” w jednym przypadku, nie będzie w innym. Ogólnie rzecz biorąc, można oczekiwać, że coś sklasyfikowane jako oprogramowanie pośrednie będzie miało następujące cechy:
Przede wszystkim (zwykle wyłącznie) oprogramowanie; zwykle nie wymaga specjalistycznego sprzętu.
Gdyby go nie było, aplikacje, które od niego zależą, musiałyby włączyć go jako część swojej aplikacji i doświadczyłyby dużo powielania.
Niemal na pewno łączy dwie aplikacje i przekazuje dane między nimi.
Zauważysz, że jest to prawie taka sama definicja jak system operacyjny. Na przykład stos TCP / IP lub buforowanie można uznać za oprogramowanie pośrednie. Ale twój system operacyjny może również zapewniać te same funkcje. Rzeczywiście, oprogramowanie pośrednie można traktować jak specjalne rozszerzenie systemu operacyjnego, specyficzne dla zestawu zależnych od niego aplikacji. Po prostu zapewnia usługę wyższego poziomu.
Niektóre przykłady oprogramowania pośredniego:
źródło
Wikipedia ma całkiem dobre wytłumaczenie: http://en.wikipedia.org/wiki/Middleware
Zaczyna się od
Co to jest Middleware daje kilka przykładów.
źródło
Istnieją (przynajmniej) trzy różne definicje, o których wiem
w biznesie komputerowym oprogramowanie pośrednie to oprogramowanie do przesyłania wiadomości i integracji między aplikacjami i usługami
w grach oprogramowanie pośrednie to całkiem dobrze wszystko, co zapewnia firma zewnętrzna
w (niektórych) systemach oprogramowania wbudowanego oprogramowanie pośrednie zapewnia usługi używane przez aplikacje, które składają się z funkcji zapewnianych przez warstwę abstrakcji sprzętowej - znajduje się między warstwą aplikacji a warstwą abstrakcji sprzętowej.
źródło
Mówiąc najprościej Middleware to komponent oprogramowania, który zapewnia usługi integracji różnych systemów razem.
W złożonym środowisku korporacyjnym istnieje wiele wyzwań, gdy trzeba zintegrować dwa lub więcej systemów korporacyjnych, aby ze sobą rozmawiać. Zwykle systemy te nie rozumieją siebie nawzajem, ponieważ są rozwijane na różnych platformach przy użyciu różnych języków (takich jak C ++, Java, Cobol itp.).
Oto oprogramowanie pośrednie na zdjęciu, które świadczy takie usługi
Typowym przykładem oprogramowania pośredniego są produkty ESB , takie jak broker komunikatów IBM (WMB / IIB), WESB, Datapower XI50, Oracle Fusion, Mule i wiele innych.
Dlatego oprogramowanie pośrednie znajduje się głównie pomiędzy aplikacjami korzystającymi z usług a aplikacjami dostawcy usług i pomaga tym aplikacjom komunikować się ze sobą.
źródło
Oprogramowanie pośrednie polega na tym, jak nasza aplikacja reaguje na przychodzące żądania. Programy pośrednie sprawdzają przychodzące żądania i podejmują decyzje na podstawie tego żądania. Możemy budować całe aplikacje tylko przy użyciu oprogramowania pośredniego. Na przykład ASP.NET to platforma internetowa składająca się z następujących głównych komponentów oprogramowania pośredniego HTTP.
Jak pokazano na powyższym diagramie, w programie ASP.NET istnieją różne komponenty oprogramowania pośredniego, które odbierają przychodzące żądanie i przekierowują je do klasy C # (w tym przypadku klasy kontrolera).
źródło
Oprogramowanie pośrednie to ogólny termin określający oprogramowanie, które służy do „sklejania” oddzielnych, często złożonych i już istniejących programów. Niektóre komponenty oprogramowania, które często są połączone z oprogramowaniem pośrednim, obejmują aplikacje korporacyjne i usługi sieciowe.
źródło
W tworzeniu aplikacji internetowych istnieje powszechna definicja, która brzmi (a ja nadrabiam to sformułowanie, ale wydaje się, że pasuje): komponent zaprojektowany do modyfikowania żądania i / lub odpowiedzi HTTP, ale (zwykle) nie obsługuje odpowiedzi w całości, zaprojektowany tak, aby można go było łączyć ze sobą, tworząc szereg zmian zachowań podczas przetwarzania żądania.
Przykłady zadań często wdrażanych przez oprogramowanie pośrednie:
Kluczową kwestią jest to, że żaden z nich nie jest w pełni odpowiedzialny za reakcję na klienta. Zamiast tego każdy zmienia zachowanie w pewien sposób jako część potoku, pozostawiając faktyczną odpowiedź pochodzącą z czegoś później w sekwencji (potoku).
Zazwyczaj oprogramowanie pośrednie jest uruchamiane przed jakimś „routerem”, który analizuje żądanie (często ścieżkę) i wywołuje odpowiedni kod w celu wygenerowania odpowiedzi.
Osobiście nienawidzę terminu „oprogramowanie pośrednie” ze względu na jego ogólność, ale jest on powszechnie używany.
Oto dodatkowe wyjaśnienie dotyczące Ruby on Rails.
źródło
Middleware
stoi między aplikacjami internetowymi a usługami internetowymi, które natywnie nie mogą się komunikować i często są napisane w różnych językach / ramach.Jednym z takich przykładów jest
OWIN middleware for .NET
środowisko, zanim owin ludzie zostali zmuszeni do hostowania aplikacji internetowych w oprogramowaniu hostingowym MicrosoftIIS
. Po opracowaniu programu owin dodano możliwości hostowania zarówno w usługach IIS, jak i hostach wewnętrznych, w usługach IIS dodano właśnie obsługę Owin, który działał jako interfejs. Możliwe stało się również tohost .NET web apps on Linux via Mono
, co ponownie dodało obsługę Owin.Dodano również możliwość tworzenia
Single Page Applications
kontekstuHttp
żądania / odpowiedzi obsługi Owin , więc oprócz owin można dodaćauthentication/authorization
logikę za pośrednictwem OAuth2, na przykład, można skonfigurować oprogramowanie pośrednie, aby zarejestrować klasę zawierającą logikę uwierzytelniania użytkownika (np. Implementacja OAuth2) lub klasa, która zawiera logikę zarządzania wiadomościami / żądaniami HTTP, dzięki czemu jedna aplikacja może komunikować się z innymi aplikacjami / usługami przy użyciu różnych formatów danych (takich jak json, xml itp., jeśli celujesz w sieć).źródło
Niektóre przykłady oprogramowania pośredniego: CORBA, Remote Method Invocation (RMI), ...
Powyższe przykłady to wszystkie programy, które pozwalają zadbać o komunikację między różnymi procesami (działającymi na tej samej maszynie lub dystrybuowanymi np. Przez Internet).
źródło
Z własnego doświadczenia w pracy w sieci, oprogramowanie pośrednie było między użytkownikami (przeglądarką internetową) a bazą danych zaplecza. Było to oprogramowanie, które pobierało rzeczy, które użytkownicy wkładali (na przykład: zamówienia na iPady, robiło magiczną logikę biznesową, tj. Sprawdzało, czy jest wystarczająco dużo iPadów, aby wypełnić zamówienie) i aktualizowało bazę danych zaplecza, aby odzwierciedlić te zmiany.
źródło
Jest to po prostu oprogramowanie lub narzędzie, na którym wykonuje się Twoja aplikacja i możliwości rapplikacji w odniesieniu do wysokiej dostępności, skalowalności, integracji z innym oprogramowaniem lub systemami bez zawracania głowy zmianami kodu aplikacji.
Na przykład: system operacyjny, na którym działa aplikacja, wymaga zmiany adresu IP, nie musisz się tym martwić w kodzie, jest to stos oprogramowania pośredniego, na którym możesz w prosty sposób zaktualizować konfigurację.
Przykład 2: Występują problemy z alokacją pamięci środowiska wykonawczego i masz wrażenie, że zwiększyło się użycie aplikacji, nie musisz się tym zajmować, chyba że masz błąd lub wąskie gardło w kodzie, można to łatwo osiągnąć przez dostrojenie konfiguracji oprogramowania pośredniego na które uruchamia twoja aplikacja.
Przykład 3: Masz wiele różnych programów i potrzebujesz ich, aby ze sobą rozmawiać lub wysyłać dane we wspólnym formacie, który jest zrozumiały dla wszystkich systemów, wtedy przydatne są systemy oprogramowania pośredniego.
Mam nadzieję, że podane informacje pomogą.
źródło
jest to warstwa oprogramowania między systemem operacyjnym a aplikacjami po każdej stronie rozproszonego systemu komputerowego w sieci. W rzeczywistości łączy heterogeniczne sieci i systemy oprogramowania.
źródło
Zawsze uważałem to za najstarsze oprogramowanie, które musiałem zainstalować. Łącznie aplikacja korzystała z serwera WWW, serwera bazy danych i serwera aplikacji. Serwer WWW będący oprogramowaniem pośrednim między danymi a aplikacją.
źródło
Jeśli się nie mylę, w strukturze aplikacji opartej na kontekście można rozważyć
middleware
następujące role, które można łączyć, aby wykonywać określone czynności między użytkownikiemrequest
a aplikacjąresponse
.źródło