Przejdź do zawartości

Common Component Architecture

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez ABach (dyskusja | edycje) o 14:55, 17 lut 2006. Może się ona znacząco różnić od aktualnej wersji.

Szablon:Linki CCA (Common Component Architecture), jest to środowisko pozwalające na uruchamianie i łączenie w większe bardziej funkcjonalne programy z poszczególnych komponentów w celu wykonywania złożonych obliczeń naukowych.

Architektura CCA

Komponenty mogą być dostarczane niezależnie. Definiuje także sposoby współdziałania poszczególnych części (komponentów), które mogą znajdować się w systemie lokalnym, równoległym czy rozproszonym między zdalnym systemem obliczeniowym. Architektura powinna mieć możliwość rozwoju oraz wykorzystywać oprogramowanie darmowe czyli na licencji Open Source.

Komponenty

Komponenty to samodzielne jednostki obliczeniowe (fragmenty oprogramowania), w których szczegóły implementacyjne nie są udostępniane użytkownikom. Dzięki tej zasadzie poszczególne komponenty mogą być tworzone za pomocą innych narzędzi. Komponenty mogą komunikować się ze światem zewnętrznym za pomocą interfejsów w których stosuje się model budowania aplikacji typu „Plug and play”, do których mogą być podłączone inne komponenty lub dane wejściowe. Interfejs jest prostym opisem, który zawiera informacji dotyczące wywołania poszczególnych usług.

Standardy budowy komponentów, takie jak OMG CORBA (Object Mangament Group Common Object Request Broker Architecture), DCOM, Microsoft COM (Microsoft Component Object Model), czy EJB (Enterprise Java Beans), definiują prawa i obowiązki komponentów, sposób przygotowania interfejsów, framework czyli środowisko w którym uruchamiane są komponenty oraz prawa i obowiązki środowiska uruchomieniowego.

Standardy te różnią się pod względem wydajności działania, wymaganiom które są stawiane komponentom oraz platformy programowej na której mogą być uruchamiane.

Właściwości CCA

  • dodawane, modyfikowane lub rozwijane pojedynczych modułów nie wpływa destabilizująco na pozostałe elementy programu,
  • możliwość aktualizacji pojedynczych komponentów, bez konieczności wymiany całej aplikacji,
  • zmiany wprowadzone wewnątrz komponentu nie muszą mieć wpływu na sposób jego interakcji z otoczeniem
  • użytkownik przy instalcji aplikacji może sam wybrać komponenty które będą mu potrzebne,
  • zwiększenie produktywności kodu poprzez technikę wielokrotnego wykorzystania jego fragmentów w innych niezależnych projektach
  • możliwość składania dowolnych projektów z istniejących już komponentów