Zpo-12-wyk-Slajd42
Inne systemy aspektowe: AspektWerkz
Przegląd innych rozwiązań aspektowych dla języka Java zaczyna się od biblioteki AspectWerkz. System ten był rozwijany i wspierany przez firmę Bea, jednak obecnie został on połączony z AspectJ. W przyszłości oba będą oferowały identyczną funkcjonalność, którą będzie można wyrazić na sposób charakterystyczny dla AspectJ lub AspectWerkz.
AspectWerks, w odróżnieniu od AspectJ, nie posiada specjalizowanego języka do wyrażania punktów cięcia i porad – aspekty są w nim zapisywane w postaci zwykłych klas języka Java. Do wyrażania elementów aspektowych wykorzystywane są anotacje, które definiują aspekty, punkty cięcia i porady. Oferuje typowy zestaw punktów złączenia, obejmujący przede wszystkim wywołanie metody, obsługę wyjątków, odwołania do pól etc., jednak weryfikacja wszystkich punktów cięcia jest wykonywana w trakcie uruchomienia program. Brak statycznych punktów złączenia jest poważnym brakiem, w efekcie którego prawdopodobieństwo popełnienia prostego błędu jest wyższe niż w przypadku AspectJ.