Mashup łączy aplikacje

Jeśli w sieci przedsiębiorstwa brakuje pasma do zapewnienia potrzebnych usług, to można wykorzystać hybrydę aplikacji webowych. Tzw. mashup - przy wykorzystaniu publicznie dostępnych API - pozwoli uzyskać całkiem nowe aplikacje przy minimalnym wysiłku. Internet to m.in. powszechność niektórych informacji i usług - z tego korzysta mashup - z rozwiązań sprawdzonych i przetestowanych już przez użytkowników.

Jeśli w sieci przedsiębiorstwa brakuje pasma do zapewnienia potrzebnych usług, to można wykorzystać hybrydę aplikacji webowych. Tzw. mashup - przy wykorzystaniu publicznie dostępnych API - pozwoli uzyskać całkiem nowe aplikacje przy minimalnym wysiłku. Internet to m.in. powszechność niektórych informacji i usług - z tego korzysta mashup - z rozwiązań sprawdzonych i przetestowanych już przez użytkowników.

Według definicji podanej w Wikipedii mashup to witryna, która łączy w sobie udostępniane publicznie aplikacje online pochodzące z różnych źródeł (serwisów internetowych). Linia rozgraniczająca przedsiębiorstwo od internetu jest dzisiaj rozmyta i mashupy egzystują właśnie na tej granicy, oferując cechy SOA (Service Oriented Architecture) plus bardzo szybkie wykorzystanie usług już istniejących poza zaporą ogniową. Niewykluczone, że już niedługo trudno będzie stwierdzić, gdzie kończy się przedsiębiorstwo, a zaczyna się internet. Z jednej strony może to niepokoić, z drugiej - jest bardzo obiecujące.

Mashup (jak na razie brak jest adekwatnego określenia w języku polskim) można uznać za nowy rodzaj aplikacji webowych, swego rodzaju pochodną architektury ukierunkowanej na usługi (SOA). Podobnie jak w SOA korzysta się z usług powszechnie dostępnych w sieci. Sam termin odnosi się głównie do aplikacji łączących funkcjonalności udostępniane przez dostawców treści internetowych w dostosowaną do określonych wymagań całość.

Dodawanie usług zewnętrznych do mieszanki usług wewnętrznych

Dodawanie usług zewnętrznych do mieszanki usług wewnętrznych

Jednak dysponowanie możliwością tworzenia mashupów to nie wszystko. Potrzebne jest odpowiednie dostarczanie i zarządzanie usługami dostępnymi dla mashupów i zrozumienie ich przeznaczenia oraz miejsca w architekturze SOA.Zadanie to składa się z trzech kroków. Po pierwsze należy przygotować istniejącą infrastrukturę pod mashup. Po drugie, konieczne jest rozpoznanie własnych wymagań. Po trzecie, należy określić potencjalną wartość mashupów dla przedsiębiorstwa - co mogą one dać, a czego nie.

Chociaż mashupy powstały razem z Web 2.0, który m.in. optymalizuje projektowanie "w biegu", to jednak mashup w przedsiębiorstwie wymaga dużo bardziej starannego przygotowania. Potrzebne jest zbudowanie SOA, która będzie powiązana z usługami i zawartością, jak również z API, które są zarówno lokalne, jak i zdalne w odniesieniu do przedsiębiorstwa. Oprócz innych rzeczy oznacza to, iż istniejące usługi aplikacyjne przedsiębiorstwa muszą być przygotowane do bezpiecznego dostępu do usług hostowanych w internecie.

Wraz z ponownym odkryciem technologii AJAX (Asynchronous JavaScript and XML) i szybko rosnącej popularności bogatych aplikacji internetu, zaistniała możliwość tworzenia mashupów, które mogą szybko rozwiązywać bieżące problemy biznesowe drogą wykorzystania standardowych, dynamicznych interfejsów tych aplikacji. Mashup pozwala na wykorzystanie istniejących aplikacji oraz usług i tworzenie czegoś bardziej użytecznego dla biznesu. Elementy potrzebne do stworzenia aplikacji typu mashup są łatwo dostępne. Jednak trzeba mieć na uwadze fakt, że wymaga to szerszej wiedzy, niż przy tworzeniu aplikacji zamkniętej w ramy jednego rozwiązania. Także właściwa dla mashup otwartość niektórych rozwiązań może stanowić barierę nie do pokonania dla dużych firm potrzebujących gwarancji wysokiego poziomu bezpieczeństwa.

Łączenie, tworzenie i współistnienie

Serwisy tworzone na zasadzie mashup w większej liczbie pojawiły się w roku 2005, kiedy to Google udostępniła zestaw interfejsów programowych umożliwiających korzystanie z serwisu Google Maps. Powstały wtedy nowe witryny łączące mapy i zdjęcia satelitarne z Google z informacjami zawartymi we własnych bazach danych. Mashupy Google Maps stały się typem rozwiązania, który jest właściwie doskonałą demonstracją wartości tego pojęcia: każdy kto ma taką potrzebę może w ciągu kilku dni stworzyć podobne rozwiązanie.

Bardziej złożone podejście do mashup bliższe jest aplikacjom kompozytowym (tj. takim, które stanowią zbiór wielu usług) - zaawansowanej koncepcji SOA. Na przykład można połączyć bazę danych użytkowników z badaniami rynku, następnie wyniki te łączyć dalej, nawet z procesami prognoz sprzedaży. Część informacji i usług może być własnością użytkownika, przez niego utrzymywaną, inne są dostępne w internecie.

Kto więc zapewnia takie usługi? Dostawcy SaaS (Software-as-a-Service), tacy jak Salesforce.com, mają prawdopodobnie największą liczbę usług klasy enterprise, które można "wymieszać" z rynkiem usług, takich jak StrikeIron, jak również usług ośrodków wertykalnych obejmujących takie dziedziny, jak: finanse, sprzedaż czy ochrona zdrowia. Wszystkie dostarczają usługi, dane i zawartość, która jest "konsumowalna" za pośrednictwem internetu.

Możliwe są nawet bardziej złożone rozwiązania - mashupy, które same stają się wymyślnymi procesami biznesowymi, aplikacjami lub zestawem usług. Jak widać, to wszystko może zmierzać w kierunku "pełnokrwistych" usług, procesów i kompozytów, które połączą SOA z setkami usług webowych hostowanych przez dostawców SaaS, komercyjne firmy internetowe, takie jak Google i wertykalny rynek wymiany.

Dostawcy platform mashup

Above All Software. Budując mashupy stosowane jedynie do muzyki, firma ta utworzyła pierwszą platformę mashup dla przedsiębiorstw. Lekkie projektowanie aplikacji kompozytowych i środowisko wdrażania, Studio, nakładają się na SOA Repository dla obsługi metadanych.

<hr>

Adobe Flex 2.8. Z ulepszonym wsparciem XML pozwala na tworzenie aplikacji Flash czasu rzeczywistego. Osobna aplikacja obsługi danych zapewnia pośrednictwo w wymianie wiadomości strony serwerowej i integracji danych. Można wykorzystywać bezpłatnie, jeżeli ma pracować na jednoprocesorowym CPU.

<hr>

BEA WebLogic Portal 9.2. Popularny serwer portalowy dla przedsiębiorstw, pozwalający na wyciąganie danych z dowolnego miejsca weba i tworzenie mashup bez programowania.

<hr>

IBM. QEDWiki jest strukturą Wiki napisaną w PHP, która pozwala użytkownikom biznesowym i projektantom na wspólne, szybkie budowanie ad hoc aplikacji mashup.

<hr>

Oracle. Jako część Application Server 10g rel. 3, WebCenter Suite obsługuje zarówno AJAX, jak i Java Server Faces, nie wymaga oddzielnego produktu Oracle Portal. Komponent WebCenter Services zawiera Wiki, RSS, a nawet możliwości VoIP.