Co to jest Apigee Edge?

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Apigee Edge to platforma do tworzenia interfejsów API i zarządzania nimi. Dzięki frontendowi usług za pomocą warstwy serwera proxy Edge zapewnia abstrakcyjny lub fasadowy interfejs API usług backendu i zapewnia zabezpieczenia, ograniczanie liczby żądań, limity, analizy i nie tylko.

Możesz na przykład obejrzeć prezentację o tym, jak firma Walgreens wykorzystuje interfejsy API i Apigee Edge do tworzenia rozbudowanego ekosystemu aplikacji na potrzeby drukowania zdjęć, recept i innych świadczonych przez nią usług.

Utwórz swój pierwszy serwer proxy.

Cyfrowe przyspieszanie

Ten film pokazuje, jak Apigee pomaga Ci przejść na biznes internetowy.

Wybór między zarządzaniem usługami a zarządzaniem interfejsami API

Z tego filmu dowiesz się, jakie są ważne różnice między zarządzaniem usługami a zarządzaniem interfejsami API. firmy.

Udostępnianie usług w internecie

Obecnie firmy chcą udostępnić swoje usługi backendu w internecie, aby aplikacje mogły z nich korzystać na urządzeniach mobilnych i komputerach. Firma może zechcieć udostępnić usługi, które oferują informacje o cenach i dostępności produktów, świadczą usługi sprzedaży i zamawiania, śledzenie zamówień oraz inne usługi wymagane przez aplikacje klienckie.

Firmy często ujawniają usługi jako zestaw punktów końcowych HTTP. Następnie deweloperzy aplikacji klienckich wysyłają żądania HTTP do tych punktów końcowych. W zależności od punktu końcowego usługa może następnie zwrócić do aplikacji klienckiej dane w formacie XML lub JSON.

Aplikacje klienckie korzystające z tych usług można wdrażać jako samodzielne aplikacje na urządzenia mobilne lub tablety, aplikacje HTML5 działające w przeglądarce lub jako dowolny inny typ aplikacji, który może wysyłać żądania do punktu końcowego HTTP i wykorzystywać wszelkie dane odpowiedzi. Mogą one być opracowywane i opublikowane przez tę samą firmę, która udostępniła usługi, lub przez deweloperów aplikacji innych firm, którzy korzystają z publicznie dostępnych usług.

Ilustracja przedstawia ten typ modelu:

Wiele rodzajów aplikacji, takich jak aplikacje mobilne, aplikacje punktu sprzedaży, aplikacje partnerów i aplikacje internetowe, łączy się z usługami backendu, takimi jak ESB, SOA, serwery aplikacji i bazy danych.

Dostawcy udostępniają swoje usługi w internecie, dlatego muszą dopilnować, aby podjęli wszystkie niezbędne kroki w celu zabezpieczenia tych usług przed nieautoryzowanym dostępem. Jeśli jesteś dostawcą usług, weź pod uwagę te kwestie:

  • Bezpieczeństwo: jak będziesz kontrolować dostęp do swoich usług, aby zapobiec nieautoryzowanemu dostępowi?
  • Zgodność: czy Twoje usługi będą działać na różnych platformach i urządzeniach?
  • Wymierność: jak możesz monitorować usługi, aby mieć pewność, że są dostępne?
  • Zarabianie: jak możesz monitorować i rozliczać klientów za dostęp do Twoich usług?
  • I wiele innych kwestii, które należy wziąć pod uwagę

Po opublikowaniu aplikacji klienckiej, która uzyskuje dostęp do jakichkolwiek usług, dostawca usług musi dopilnować, aby te usługi nadal działały podczas dodawania, modyfikowania lub usuwania tych usług. Dostawca usług musi też mieć możliwość informowania deweloperów aplikacji o wszelkich zmianach w usługach, aby zapewnić synchronizację aplikacji klienckich z tymi usługami.

Deweloperzy aplikacji klienckich napotykają trudności, gdy próbują korzystać z usług różnych dostawców. Obecnie dostawcy usług mogą korzystać z wielu technologii do udostępniania swoich usług. Ta sama aplikacja kliencka może wymagać korzystania z jednego mechanizmu do korzystania z usługi jednego dostawcy, a innego do korzystania z usługi od innego. Deweloperzy aplikacji mogą nawet spotkać się z sytuacją, w której muszą używać różnych mechanizmów związanych z korzystaniem z usług tego samego dostawcy.

Udostępnianie usług za pomocą Apigee Edge

Apigee Edge umożliwia zapewnianie bezpiecznego dostępu do usług za pomocą dobrze zdefiniowanego interfejsu API, który jest spójny we wszystkich usługach niezależnie od implementacji. Spójny interfejs API:

  • Ułatwia deweloperom aplikacji korzystanie z Twoich usług.
  • Umożliwia zmianę implementacji usługi backendu bez wpływu na publiczny interfejs API.
  • Umożliwia korzystanie ze statystyk, zarabiania, portalu dla programistów i innych funkcji wbudowanych w Edge.

Poniższy obraz przedstawia architekturę, w której Edge obsługuje żądania wysyłane z aplikacji klienckich do usług backendu:

Apigee Edge jest częścią aplikacji klienckich i usług backendu.

Zamiast bezpośrednio korzystać z usług deweloperzy aplikacji, mają dostęp do serwera proxy interfejsu API utworzonego w Edge. Serwer proxy interfejsu API pełni funkcję mapowania publicznie dostępnego punktu końcowego HTTP na usługę backendu. Tworząc serwer proxy interfejsu API, pozwalasz Edge obsługiwać zadania związane z bezpieczeństwem i autoryzacją wymagane do ochrony Twoich usług, a także analizowanie i monitorowanie tych usług oraz zarabianie na nich.

Deweloperzy aplikacji wysyłają żądania HTTP do serwera proxy interfejsu API, a nie bezpośrednio do Twoich usług, dlatego nie muszą nic wiedzieć o implementacji Twoich usług. Deweloper musi wiedzieć tylko:

  • URL punktu końcowego serwera proxy interfejsu API.
  • Wszystkie parametry zapytania, nagłówki lub parametry treści przekazywane w żądaniu.
  • Wszystkie wymagane dane uwierzytelniające i autoryzacyjne.
  • Format odpowiedzi, w tym format danych odpowiedzi, na przykład XML lub JSON.

Serwer proxy interfejsu API izoluje dewelopera aplikacji od usługi backendu. Dlatego możesz zmienić implementację usługi, o ile publiczny interfejs API pozostanie spójny. Dzięki utrzymywaniu spójnego interfejsu API frontendu istniejące aplikacje klienckie będą nadal działać niezależnie od zmian w backendzie.

Za pomocą zasad dotyczących serwera proxy interfejsu API możesz dodawać funkcje do usługi bez konieczności wprowadzania zmian w usłudze backendu. Możesz na przykład dodać do serwera proxy zasady, aby przeprowadzać transformacje i filtrowanie danych, dodawać zabezpieczenia, wykonywać logikę warunkową lub niestandardowy kod oraz wykonywać wiele innych działań. Pamiętaj, że zasady wdraża się na brzegu sieci, a nie na serwerze backendu.

Więcej informacji znajdziesz w opisie interfejsów API i serwerów proxy interfejsów API.

Tworzenie usługi API

Serwer proxy interfejsu API to punkt końcowy HTTP w Apigee Edge używany przez programistów do uzyskiwania dostępu do usług backendu. Mimo że jest to możliwe, zazwyczaj nie udostępniasz poszczególnych serwerów proxy interfejsów API. Zamiast tego należy zgrupować jeden lub więcej serwerów proxy interfejsu API w produkt API.

Usługa API to pakiet serwerów proxy interfejsu API połączony z abonamentem. Ten abonament może określać limity dostępu do serwerów proxy interfejsów API, zapewniać bezpieczeństwo, umożliwiać monitorowanie i analizy oraz udostępniać dodatkowe funkcje. Usługi API stanowią też główny mechanizm używany przez Edge do autoryzacji i kontroli dostępu do interfejsów API.

Podczas tworzenia usług API masz dużą elastyczność. Na przykład wiele usług API może korzystać z tego samego serwera proxy interfejsu API. Na ilustracji poniżej widać 3 usługi API. Zwróć uwagę, że wszystkie usługi umożliwiają dostęp do serwera proxy interfejsu API 3, ale tylko usługa A umożliwia dostęp do serwera proxy interfejsu API 1.

Produkt A uzyskuje dostęp do serwerów proxy 1 i 3. Produkt B uzyskuje dostęp do serwera proxy 3.
    Produkt C uzyskuje dostęp do serwera proxy 2, 3 i 4.

W każdej usłudze interfejsu API możesz ustawić inne właściwości. Możesz na przykład udostępnić jedną usługę API z niskim limitem dostępu, np. 1000 żądań dziennie, za okazjonalną cenę. Następnie publikujesz inną usługę API, która zapewnia dostęp do tego samego serwera proxy interfejsu API, ale ze znacznie wyższym limitem dostępu i za wyższą cenę. Możesz też utworzyć bezpłatną usługę API, która zezwala na dostęp tylko do odczytu do Twoich usług, a potem sprzedawać ją tym samym serwerom proxy API, które umożliwiają dostęp do odczytu i zapisu.

Więcej informacji znajdziesz w artykule o zarządzaniu usługami API.

Zezwalanie aplikacji po stronie klienta na dostęp do interfejsu API

Gdy deweloperzy aplikacji zdecydują, że chcą mieć dostęp do Twoich usług, muszą najpierw zarejestrować aplikację kliencką w Twojej usłudze interfejsu API.

Aplikacja kliencka potrzebuje klucza do wywoływania interfejsu API powiązanego z usługą API.

Po rejestracji programista aplikacji otrzymuje klucz interfejsu API, który musi następnie dołączać do każdego żądania wysyłanego do serwera proxy interfejsu API zawartego w usłudze API. Ten klucz jest uwierzytelniony i jeśli uwierzytelnianie się powiedzie, żądanie może uzyskać dostęp do usługi backendu.

W każdej chwili możesz unieważnić ten klucz, aby aplikacja kliencka nie miała już dostępu do Twoich usług. Możesz też określić limit czasu działania klucza, tak aby deweloper musiał odświeżać go po określonym czasie.

To Ty decydujesz, jak obsługiwać żądania rejestracji deweloperów dotyczące usług interfejsu API. Korzystając z usług dla programistów Apigee Edge, możesz zautomatyzować proces rejestracji lub kontrolować dostęp za pomocą procesu ręcznego.

Twórz produkty API i udostępniaj je deweloperom.

  1. Utwórz co najmniej 1 serwer proxy interfejsu API, który mapuje publicznie dostępne adresy URL na usługi backendu.
  2. Utwórz usługę API, która obejmuje pakiety proxy interfejsu API.
  3. Wdróż serwery proxy API i usługę API.
  4. Poinformuj programistów o dostępności produktu API.

Gdy deweloperzy aplikacji wiedzą o dostępności produktu korzystającego z interfejsu API, mogą:

  1. zarejestrować aplikacje klienckie za pomocą usługi API;
  2. Otrzymaj klucz interfejsu API usługi API.
  3. Przesyłaj żądania do usług za pomocą serwerów proxy interfejsu API (które są dołączone do usługi API) i przekazuj klucz interfejsu API z każdym żądaniem.

Komponenty Apigee Edge

Apigee Edge składa się ze środowiska wykonawczego, monitorowania i analizy interfejsów API oraz usług dla programistów, które razem zapewniają kompleksową infrastrukturę do tworzenia, zabezpieczania, zarządzania i operacji interfejsów API.

Ten rysunek przedstawia usługi Edge:

Programiści mają dostęp do ekosystemu programistów, który obejmuje pakiety SmartDokumentacja, portal z możliwością dostosowania, samoobsługowe zarządzanie kluczami oraz pakiety SDK. Aplikacje i usługi mają dostęp do środowiska wykonawczego API, które obejmuje interfejsy API bramy, oprogramowanie sprzęgające, kod niestandardowy, zabezpieczenia i interfejsy API do zarządzania. Inżynierowie operacyjny mają dostęp do danych analitycznych i analitycznych, które obejmują raporty biznesowe, monitorowanie wydajności, raporty niestandardowe i śledzenie.

Środowisko wykonawcze Edge API

Usługi Apigee Edge API dotyczą tworzenia i używania interfejsów API niezależnie od tego, czy tworzysz serwery proxy interfejsów API jako dostawca usług, czy korzystasz z interfejsów API, pakietów SDK i innych udogodnień jako deweloper aplikacji.

Serwer zarządzania interfejsami API udostępnia narzędzia do dodawania i konfigurowania serwerów proxy interfejsów API, konfigurowania usług interfejsów API oraz zarządzania deweloperami aplikacji i aplikacjami klienckimi. Pozwala to uniknąć wielu typowych problemów z zarządzaniem z usług backendu. Po dodaniu serwera proxy interfejsu API możesz zastosować do niego zasady, aby dodać zabezpieczenia, ograniczanie liczby żądań, zapośredniczenie, zapisywanie w pamięci podręcznej itd. Możesz też dostosować działanie serwera proxy interfejsu API, stosując niestandardowe skrypty, wywołując interfejsy API i usługi innych firm itd. Więcej informacji znajdziesz w artykule Omówienie interfejsów API i serwerów proxy interfejsów API.

Jeśli programujesz Node.js, możesz łatwo dodać swoje moduły Node.js do Edge, aby tworzyć interfejsy API i mashupy interfejsów API, jednocześnie korzystając z zalet tej platformy, takich jak przekształcanie wiadomości, zabezpieczanie czy analizy.

Monitorowanie i analizy brzegowe

Analytics Apigee Edge API udostępnia zaawansowane narzędzia umożliwiające obserwowanie krótko- i długoterminowych trendów użytkowania interfejsów API. Możesz dzielić odbiorców na segmenty według najpopularniejszych deweloperów i aplikacji, analizować wykorzystanie danych według metody interfejsu API, aby wiedzieć, w co warto inwestować, oraz tworzyć niestandardowe raporty z informacjami na poziomie firmy lub działania.

W miarę przesyłania danych przez Edge zbieranych jest kilka domyślnych typów informacji, takich jak adres URL, adres IP, identyfikator użytkownika powiązany z informacjami o wywołaniach interfejsu API, czas oczekiwania, dane o błędach itd. Możesz tworzyć zasady, aby dodawać inne informacje, takie jak nagłówki, parametry zapytania i części żądania lub odpowiedzi wyodrębnione z pliku XML lub JSON. Informacje te są zbierane asynchronicznie z rzeczywistego procesu żądań/odpowiedzi i dlatego nie mają wpływu na wydajność interfejsu API.

Interfejs zarządzania umożliwia wyświetlanie wielu danych i wymiarów w przeglądarce, jak widać na tej ilustracji:

Panel statystyk pokazujący liczbę błędów związanych z zasadami w formie wykresu i tabeli.

Możesz też jednak uzyskiwać dostęp do usługi Analytics i kontrolować ją za pomocą interfejsu wiersza poleceń lub interfejsów API typu REST. Więcej informacji znajdziesz w artykule Omówienie interfejsu API Analytics.

Ekosystem brzegowy dla programistów

Apigee Edge udostępnia usługi dla deweloperów, które umożliwiają:

  • Zarządzaj społecznością deweloperów aplikacji, którzy korzystają z Twoich usług.
  • Współpracuj z wewnętrznymi i zewnętrznymi programistami oraz sformalizuj relacje z modelami finansowymi.
  • Wdróż programistów i utwórz portal dla programistów. Deweloperzy aplikacji łączą się z Twoim portalem, aby uzyskać dostęp do dokumentacji interfejsu API, która pozwala dowiedzieć się więcej o Twoich publicznie dostępnych usługach API i zarządzać kluczami interfejsu API.

Każdy klient Edge może utworzyć własny portal dla programistów (w chmurze lub lokalnie za pomocą Apigee Edge dla Private Cloud).

Apigee Edge umożliwia tworzenie 2 typów portali:

Zarabianie

Funkcje zarabiania stanowią infrastrukturę finansową i relacje, które pozwalają zmienić społeczność programistów w rzeczywisty kanał z zasobami cyfrowymi. Dzięki funkcji zarabiania możesz tworzyć różne abonamenty, które obciążają deweloperów za korzystanie z Twoich usług API lub umożliwiają Ci dokonywanie płatności w przypadku dzielenia się przychodami.

Abonamenty obejmują abonamenty przedpłacone, abonamenty, abonamenty ze stałą opłatą, abonamenty ze zmiennymi stawkami, abonamenty „freemium”, abonamenty dostosowane do konkretnych deweloperów, abonamenty obejmujące grupy deweloperów i nie tylko. Dodatkowo funkcja zarabiania obejmuje funkcje raportowania i rozliczeń.

Więcej informacji znajdziesz w artykule Generowanie przychodu ogółem.

Smaki Edge

Apigee Edge jest dostępne w tych wariantach:

  • Chmura publiczna: hostowana wersja SAAS, w której Apigee utrzymuje środowisko, co pozwala skupić się na tworzeniu usług i definiowaniu ich interfejsów API.
  • Private Cloud: instalacja lokalna, w której to Ty kontrolujesz środowisko sprzętowe i odpowiadasz za instalację, uaktualnienie, konserwację oraz inne procesy administracyjne.

Jeśli interesują Cię nasze hybrydowe wersje Apigee, zapoznaj się z tymi tematami dotyczącymi Apigee X:

Pod względem funkcjonalnym wersje chmury publicznej i prywatnej są bardzo podobne. Jednak wersja Private Cloud nie obsługuje wszystkich funkcji tej wersji. Funkcje nieobsługiwane przez Private Cloud to między innymi:

  • Hostowane cele
  • Rozszerzenia
  • zintegrowane portale dla programistów (uwaga: portale dla programistów wykorzystujące platformy Drupal są obsługiwane).
  • Monitorowanie interfejsów API
  • Sense

Listę różnic między smakami znajdziesz w artykule Porównanie usług Apigee.

Występują też drobne różnice między interfejsami API, jak opisano w sekcji Różnice między interfejsami Edge for Public Cloud API a Private Cloud API.

Public Cloud obsługuje zarówno konta bezpłatne, jak i płatne. Private Cloud wymaga płatnych kont.

Aby w pełni obsługiwać instalację lokalną, wersja Private Cloud zawiera komponenty, takie jak serwer zarządzania Apigee, baza danych Apache Cassandra NoSQL, serwer OpenLDAP, router wiadomości i procesor wiadomości.