Wzorców integracji przedsiębiorstw (EIP)to książka autorstwa Gregora Hohpe i Bobby’ego Woolfa, która opisuje 65 wzorców do wykorzystania integracji aplikacji przedsiębiorstw oraz oprogramowania pośredniczącego zorientowanego na wiadomości w formie języka wzorców. Pomagają nam korzystać ze standardowych sposobów integracji aplikacji, nie ma potrzeby wynajdywania koła na nowo za każdym razem, gdy masz problem.
Celem wzorców integracji przedsiębiorstw jest stworzenie wspólnego języka i zestawu działań roboczych, aby połączyć je razem w celu stworzenia dojrzałego, praktycznego procesu biznesowego. Oferuje katalog sześćdziesięciu pięciu wzorców, które pomagają w projektowaniu skutecznych rozwiązań komunikacyjnych dla twojego przedsiębiorstwa.
Książka wyróżnia cztery główne alternatywy dla integracji:
- Transfer plików
- Wspólna baza danych
- Zdalne wywołanie procedury
- Wiadomości
Wprowadzane są następujące typy integracji:
- Portal informacyjny
- Replikacja danych
- Wspólna funkcja biznesowa
- Architektura zorientowana na usługi
- Rozproszony proces biznesowy
- Integracja między przedsiębiorstwami
- Silnie sprzężona interakcja vs. luźno sprzężona interakcja
Rysuj diagram wzorców integracji przedsiębiorstw za pomocą darmowego narzędzia online
Darmowe narzędzie Visual Paradigm narzędzie wzorców integracji przedsiębiorstw (narzędzie diagramów EIP) oferuje zestaw funkcji edycyjnych, które ułatwiają i przyspieszają tworzenie diagramów, takich jak przeciąganie i upuszczanie oraz przewodnik wyrównania, co sprawia, że edytowanie jest płynne i intuicyjne. Narzędzie diagramów EIP zawiera również zestaw symboli i kształtów EIP, które pozwalają na tworzenie różnych rodzajów diagramów EIP.

Możesz łatwo rozwijać swoje wzorce, a następnie eksportować i udostępniać je w formatach takich jak PNG, JPG, GIF, SVG i PDF.
Ucz się EIP na podstawie przykładów i szablonów
Możesz zacząć od pustego diagramu lub szablonu EIP. Oto kilka szablonów. Kliknij przycisk Edytuj, aby rozpocząć edytowanie od razu. To jest darmowe i nie wymaga rejestracji.
Przykład wzorca integracji przedsiębiorstw: Inteligentny proxy

Przykład wzorca integracji przedsiębiorstw: Złożona komunikacja MSMQ

Edytuj powyższy przykład online
Chcesz przyjąć inne wzorce integracji przedsiębiorstw?
Repozytorium edycji online EIP z Visual Paradigm
Ramowy program wdrażania dla EIP
Apache Camel wspiera większość Wzorców integracji przedsiębiorstw z doskonałej książki autorstwa Gregora Hohpe i Bobby’ego Woolfa. Oparty na wzorcach integracji przedsiębiorstw (EIP), aby pomóc Ci rozwiązać problem integracji, stosując najlepsze praktyki od razu. Camel wspiera większość wzorców integracji przedsiębiorstw z doskonałej książki autorstwa Gregora Hohpe i Bobby’ego Woolfa oraz nowsze wzorce integracji z architektur mikroserwisowych.
Jeśli jesteś nowy w Camel, możesz chcieć spróbować Rozpoczęcie w podręczniku użytkownika przed próbą wdrożenia tych wzorców.
SYSTEMY KOMUNIKACYJNE

Kanał wiadomości
Jak jedna aplikacja komunikuje się z inną za pomocą komunikacji?

Wiadomość
Jak mogą dwie aplikacje połączone kanałem wiadomości wymieniać się informacjami?

Jak możemy przeprowadzić złożone przetwarzanie wiadomości, zachowując niezależność i elastyczność?

Jak możesz odłączyć poszczególne kroki przetwarzania, aby wiadomości mogły być przekazywane do różnych filtrów w zależności od zestawu warunków?

Jak systemy używające różnych formatów danych mogą komunikować się ze sobą za pomocą wiadomości?

Jak aplikacja łączy się z kanałem wiadomości, aby wysyłać i odbierać wiadomości?
KANAŁY WIADOMOŚCI

Jak dzwoniący może być pewny, że dokładnie jeden odbiorca otrzyma dokument lub wykona połączenie?

Kanał publikacji i subskrypcji
Jak nadawca może rozesłać zdarzenie do wszystkich zainteresowanych odbiorców?

Co system wiadomości zrobi z wiadomością, której nie może dostarczyć?

Jak nadawca może upewnić się, że wiadomość zostanie dostarczona, nawet jeśli system wiadomości zawiedzie?

Jak możesz połączyć aplikację z systemem wiadomości, aby mogła wysyłać i odbierać wiadomości?

Jak można połączyć wiele systemów wiadomości, aby wiadomości dostępne w jednym były również dostępne w innych?

Czym jest architektura, która umożliwia oddzielnym aplikacjom współpracę, ale w sposób odłączony, tak aby aplikacje mogły być łatwo dodawane lub usuwane bez wpływu na inne?

Synchronizacja danych poprzez przechwytywanie zmian wprowadzonych do bazy danych i zastosowanie tych zmian w innym systemie.
BUDOWA WIADOMOŚCI

Jak można wykorzystać wiadomości do przesyłania zdarzeń z jednej aplikacji do drugiej?

Kiedy aplikacja wysyła wiadomość, jak może uzyskać odpowiedź od odbiorcy?

Jak odpowiadający wie, gdzie wysłać odpowiedź?

Jak wnioskodawca, który otrzymał odpowiedź, wie, do którego żądania ta odpowiedź się odnosi?

Jak nadawca może wskazać, kiedy wiadomość powinna być uznana za nieaktualną i nie powinna być przetwarzana?
ROUTING WIADOMOŚCI

Jak radzimy sobie z sytuacją, w której implementacja jednej funkcji logicznej (np. sprawdzenie stanu magazynowego) jest rozproszona w wielu systemach fizycznych?

Jak komponent może uniknąć otrzymywania nieinteresujących wiadomości?

Jak możesz uniknąć zależności routera od wszystkich możliwych miejsc docelowych, zachowując jego wydajność?

Jak kierujemy wiadomość do listy (statycznie lub dynamicznie) określonych odbiorców?

Jak możemy przetworzyć wiadomość, jeśli zawiera wiele elementów, z których każdy może wymagać przetwarzania w inny sposób?

Jak łączymy wyniki poszczególnych, ale powiązanych wiadomości, aby mogły być przetwarzane jako całość?

Jak możemy przywrócić strumień powiązanych, ale nieuporządkowanych wiadomości do właściwej kolejności?

Jak możesz utrzymać ogólny przepływ wiadomości podczas przetwarzania wiadomości składającej się z wielu elementów, z których każdy może wymagać innego przetwarzania?
Jak utrzymujesz ogólny przepływ wiadomości, gdy wiadomość musi być wysłana do wielu odbiorców, z których każdy może wysłać odpowiedź?

Jak kierujemy wiadomość kolejno przez szereg kroków przetwarzania, gdy sekwencja kroków nie jest znana w czasie projektowania i może się różnić dla każdej wiadomości?

Jak kierujemy wiadomość przez wiele kroków przetwarzania, gdy wymagane kroki mogą nie być znane w czasie projektowania i mogą nie być sekwencyjne?

Jak możesz oddzielić miejsce docelowe wiadomości od nadawcy i utrzymać centralną kontrolę nad przepływem wiadomości?
Jak mogę ograniczyć wiadomości, aby upewnić się, że konkretne miejsce docelowe nie zostanie przeciążone, lub aby nie przekroczyć uzgodnionego SLA z jakąś zewnętrzną usługą?
Jak mogę pobrać jedną wiadomość z wielu w danym okresie, aby uniknąć przeciążenia trasy downstream?
Jak mogę opóźnić wysyłanie wiadomości?
Jak mogę zrównoważyć obciążenie pomiędzy wieloma punktami końcowymi?
Jak mogę przestać wywoływać zewnętrzną usługę, jeśli usługa jest uszkodzona?
Jak mogę wywołać zdalną usługę w rozproszonym systemie, gdzie usługa jest wyszukiwana w rejestrze usług?
Jak mogę zdefiniować serię powiązanych działań w trasie Camel, które powinny być zakończone pomyślnie (wszystkie) lub nie wykonane/skompensowane?
Jak mogę skierować wiadomość do wielu punktów końcowych jednocześnie?
Jak mogę powtórzyć przetwarzanie wiadomości w pętli?
TRANSFORMACJA WIADOMOŚCI

Jak komunikujemy się z innym systemem, jeśli nadawca wiadomości nie ma dostępnych wszystkich wymaganych elementów danych?

Jak upraszczasz obsługę dużej wiadomości, gdy interesuje cię tylko kilka elementów danych?

Jak możemy zmniejszyć objętość danych wiadomości wysyłanej w systemie bez poświęcania zawartości informacyjnej?

Jak przetwarzasz wiadomości, które są semantycznie równoważne, ale przychodzą w innym formacie?
Jak mogę posortować treść wiadomości?
Jak mogę wykonać skrypt, który może nie zmieniać wiadomości?
Jak mogę zwalidować wiadomość?
PUNKTY KOŃCOWE WIADOMOŚCI
Jak przenosisz dane między obiektami domenowymi a infrastrukturą wiadomości, zachowując niezależność obu?

Konsument oparty na zdarzeniach
Jak aplikacja może automatycznie konsumować wiadomości, gdy stają się dostępne?

Jak aplikacja może odebrać wiadomość, gdy jest gotowa?

Jak klient wiadomości może przetwarzać wiele wiadomości jednocześnie?

Jak wielu konsumentów na jednym kanale może koordynować przetwarzanie wiadomości?

Jak konsument wiadomości może wybrać, które wiadomości chce otrzymać?

Jak subskrybent może uniknąć pominięcia wiadomości, gdy ich nie odbiera?
Jak odbiorca wiadomości może radzić sobie z duplikatami wiadomości?

Jak klient może kontrolować swoje transakcje z systemem wiadomości?

Jak zrealizować dostęp do systemu wiadomości z reszty aplikacji?

Jak aplikacja może zaprojektować usługę, aby była wywoływana zarówno za pomocą różnych technologii wiadomości, jak i technik nieopartych na wiadomościach?
ZARZĄDZANIE SYSTEMEM

Jak skutecznie zarządzać systemem wiadomości, który jest rozproszony na wielu platformach i w szerokim obszarze geograficznym?

Jak możesz skierować wiadomość przez pośrednie kroki, aby wykonać funkcje walidacji, testowania lub debugowania?

Jak inspekcjonować wiadomości, które podróżują po kanale punkt-punkt?
Jak skutecznie analizować i debugować przepływ wiadomości w luźno powiązanym systemie?
Jak mogę zarejestrować przetwarzanie wiadomości?
Kroki grupują zestaw EIP w złożoną jednostkę logiczną do metryk i monitorowania.
Ten post dostępny jest również w Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文