Nach einer Dekade der Objekt-orientierten Programmierung haben sich in vielen grossen und kleinen Software-Projekten die Beschränkungen der Objekt-Orientierung als alleinige Methodik gezeigt.
Es wird offensichtlich, das sich nicht alle Sichten auf das jeweilige Problemfeld in Objekten einer Klassenhierarchie kapseln lassen. Es bleiben immer Sichten (Aspekte), die nur als Schnitte durch die Ebenen der Klassen-Hierarchie beschrieben und mit Programmiersprachen wie Java™ nicht abgebildet, d.h. nicht direkt implementiert werden können.
Im Gegensatz zu Objekten, welche ihre Eigenschaften vollständig kapseln, sind die Eigenschaften der Aspekte in konventionellem Java™ - Code über viele Klassen unzusammenhängend verstreut. Aspekt-orientierte Programmierung bietet die Möglichkeit, diese Sichten parallel zur bestehenden Klassenhierarchie zu kapseln und als Aspekte zu modularisieren.
Lernen Sie die Möglichkeiten der Aspekt-orientierten Entwicklung in Vortägen, Schulungen oder einer Projekt-Betreuung kennen.
"Through the Looking Glass", by Grady Booch (from the July 2001 issue of Software Development)
The first time I really grasped the wonderful power of object-oriented abstractions, I thought I'd seen the ultimate model on which all kinds of complex systems could be grown. . . However, I was wrong: There's something deeper, something that's truly beyond objects. Admittedly, this isn't a concept that's easy to explain, because I'm still so steeped in an object-oriented view of the world. However, just as a sailor can sense a changing sea, I note subtle signs that point to a marked transformation, a disruptive technology, on the horizon.
SeitenanfangGewinnen Sie einen Einblick in den nächsten Technologieschritt der Java-Entwicklung und lernen Sie schon heute, was morgen "State-Of-The-Art" sein wird. Dieser Vortrag richtet sich nicht nur an Java-Entwickler, sondern auch besonders an Software- Architekten und Projektleiter, die mit den Design- und Implementations-Problemen herkömmlicher Java-/OO-Programmierung vertraut sind und lernen wollen, wie AOP Ihnen helfen kann, diese Probleme (und ihre Lösungen) in einem neuen Licht zu sehen.
Sie wollen erfahren, was Aspekt-orientierte Programmierung ist und wie AOP Ihnen helfen kann, das Software-Design zu verbessern und die Implementation zu vereinfachen?
In diesem einführenden Vortrag erfahren Sie mehr über die Grundlagen der Aspekt-orientierten Entwicklung - und warum sich AOP als ideale Ergänzung zur klassischen OOP etablieren wird.
Danach können Sie besser entscheiden, ob sich ein Einsatz von AOP in Ihren (Java-)Projekten lohnt und Sie sich in AspectJ™ schulen lassen möchten.
SeitenanfangIn diesem Seminar lernen Software-Architekten und Java-Entwickler die Grundlagen der aspekt-orientierten Programmierung am Beispiel von AspectJ™ kennen. Dabei wird der Schwerpunkt darauf gelegt, daß gelernte Konzepte sofort nutzbringend in laufenden Java-Projekten eingesetzt werden können (Entwicklungsaspekte werden nur während der Entwicklungsphase einer Software verwendet und haben keinen Einfluss auf die releaste Produktivfassung der Software).
Dieses drei-tägige Seminar vermittelt, wie die Konzepte der Aspekt-orientierten Entwicklung in Java-Projekten mit Hilfe von AspectJ™ umgesetzt werden können. AspectJ™ wurde als OpenSource am XEROX Palo Alto Research Center entwickelt und stellt die gängigste AOP-Umsetzung im Java-Umfeld dar.
Nehmen Sie mit uns Kontakt auf und vereinbaren Sie ihren Seminar-Termin, um möglichst bald von den Vorteilen der AOP profitieren zu können.
SeitenanfangWenn Sie die Vorteile der Aspekt-orientierten Programmierung nicht nur im Entwicklungsprozess, sondern auch im Design eines neuen oder bestehenden Projektes nutzen wollen, kann eine Projektbegleitung während aller Phasen (Analyse, Design und Implementation) Ihnen helfen, Probleme frühzeitig zu erkennen und die richtigen (Design-) Entscheidungen zu treffen. Da jedes Java-Programm auch ein valides AspectJ-Programm ist, können auch schon bestehende Projekte nach den Methodiken der AOP überarbeitet werden.
Eine Projektbegleitung durch uns kann Ihnen in allen Phasen Ihres Software-Projektes helfen, die Möglichkeiten der AOP optimal zu nutzen:
Analyse:
Während der Analyse des Problemfeldes werden diejenigen Requirements
isoliert, die sich im klassischen Objekt-orientierten Design nicht
in eine Klassenhierarchie pressen lassen.
Design:
Während des Designs werden die "cross-cutting concerns" als
Aspekte modularisiert. Sie sind - wie Objekte - damit Teil des Design-Modells
und der Software-Dokumentation.
ASPECTOR
Gesellschaft für aspekt-orientierte
Software-Entwicklung m.b.H.
c/o confidas Treuhand AG
Gubelstrasse 5
CH-6301 ZUG
eMail: info@aspector.com
Tel: +41 76 547 7115
AOSD.net: Informationen, Diskussionen und Konferenzen und viele weitere nützliche Links rund um die AOP
AOSE-SIG: Interessen-Gemeinschaft für die Aspekt-orientierte Software-Entwicklung
HyperJ: Von IBM entwickelte Methode, um Java™ - Klassen aus einzelnen Sichten / Anforderungen, in denen sie involviert sind, zu synthetisieren.
ComposeJ: Java™-basierte Composition filter
AspectJ™: der AOP-Compiler für Java™ als stand-alone Werkzeug oder mit exzellenter IDE-Anbindung (Eclipse, JBuilder, NetBeans). Wurde vom XEROX Palo Alto Research Center erfunden (wie das Ethernet, das GUI und die Maus).
Aspect Browser: Werkzeug zum Analysieren von bestehenden Java™ -Quellcode und zum Auffinden von Aspekten.
ThemeUML: Ansätze für eine UML-Unterstützung von AOP-Projekten
AspectWorkz: Umsetzung von AOP für Java™ ohne Spracherweiterung. "Weben" der Aspekte und Klassen durch Bytecode-Modifikation zur Laufzeit.
Seitenanfang