//

Progress Software präsentiert Actional und DataXtend SI beim Freitagsmeeting

2.9.2008 | 4 Minuten Lesezeit

Jeden letzten Freitag im Monat veranstaltet codecentric ein Freitagsmeeting. Im Rahmen der 20%-Weiterbildungszeit ist das eine gute Möglichkeit für alle Mitarbeiter sich gegenseitig über neue Technologien, Produkte oder andere interessante Dinge auszutauschen. Auch Firmen werden von uns zu diesem Meeting eingeladen, um uns ihre neuesten Produkte präsentieren zu können.

Letzten Freitag hatten wir Progress Software zu Gast; eine Firma die im Allgemeinen weniger durch Ihren Firmennamen als vielmehr durch Ihre Produkte bekannt ist, wie zum Beispiel dem Java Messaging / Enterprise Service Bus „Sonic MQ/ESB “ oder den JDBC/ODBC Treiber „DataDirect „. Vor kurzem war Progress auch wegen der Akquisition von IONA und Mindreef in den Nachrichten. Mit den neuen Firmen ergänzt Progress das breite SOA Produktportfolio, aus dem uns Eric Schaumlöffel die beiden Produkte „Actional“ und „DataXtend SI“ vorstellte.

Progress Actional

Progress Actional stellt in einer SOA Überwachungs- und Sicherheitsfunktionen zur Laufzeit bereit und bietet darüber hinaus die Möglichkeit, nach Bedarf aktiv in den Message Flow einzugreifen. Dazu instrumentiert Actional die einzelnen teilnehmenden Services bei geringem Runtime-Overhead sowohl auf Anwendungsebene (App-Server) als auch im Protokoll-Stack (HTTP/S, IIOP, RMI, JMS, TCP).

Ohne weitere Konfiguration kann man in der Umgebung der instrumentierten Server die Auslastung und Richtung der Kommunikationspfade erkennen. Konfiguriert man Actional so, dass es weiß wo in den Nachrichten bestimmte Parameter zu finden sind, können Nachrichten mit einem eindeutigen Tracer markiert werden, sodass der Zusammenhang zwischen eingehenden und ausgehenden Nachrichten auch bei unterschiedlichen Protokollen hergestellt und diese einem übergeordnetem Geschäftsablauf zugeordnet werden können. Der globale Geschäftsprozess kann mit der Actional UI bis auf Methodenebene herunteranalysiert werden. Zusätzlich können durch die Nachrichtenmarkierung auch Policies erzwungen werden, sodass z.B. nur bestimmte Systeme miteinander kommunizieren dürfen.

Tendenziell kann man festhalten, dass Actional auf SOA Ebene das bietet, was dynaTrace mit der PurePath Technologie für Java und .NET Anwendungen bereitstellt, wobei es in den Anwendungsfällen sicherlich zwischen den beiden Produkten Überschneidungen gibt. Es mag vielleicht etwas befremdlich anmuten, dass man mit einem Produkt zum Monitoring auch Sicherheitsaspekte implementieren soll, wenn man die Sichtweise aber umdreht mach das Ganze Sinn: Vielmehr ist es so, dass Actional als Runtime SOA Governance Produkt konzipiert und positioniert ist, und alle technischen Notwendigkeiten, die für die Implementierung der sicherheitsrelevanten Funktionen vorhanden sind, sich als „Nebenprodukt“ auch zum reinen Monitoring einsetzen lassen.

Progress DataXtend SI

Das Produkt Progress DataXtend hilft bei der Integration von Services in eine SOA. Oft wird bei der Planung einer serviceorientierten Architektur der Fehler begangen, sich nur auf die technische Anbindung der Systeme und Protokolle an ein gemeinsames Kommunikationssystem zu konzentrieren. Damit spart man zwar die n:m Integration aller Systeme untereinander, es verbleibt aber das ungelöste Problem wie die Systeme untereinander kommunizieren . Nur weil ich von meinem Handy fast jeden Menschen auf diesem Planeten anrufen kann, heißt das noch lange nicht, dass wir effektiv kommunizieren können, denn wir sprechen nicht die gleiche Sprache. DataXtend ist in dieser Analogie der Langenscheidt des Esperanto, es erlaubt die Verwendung eines Canonical Data Model und dessen Mapping auf die in der SOA befindlichen (Legacy) Services. Die Modellierung erfolgt in der gewohnten Eclipse Umgebung, die um entsprechende Plugins erweitert wird. Zur Laufzeit kann die Datenübersetzung entweder als Service im SOA deployed werden, oder als Adapter zwischen der Service und bzw. dem ESB selbst.

DataXtend kann mit riesigen Modellen wie dem Shared Information und Data (SID) Modell des TeleManagement Forums umgehen und bietet alle Optionen und Feinheiten, die man von einem Modell-Mapper erwartet. Zuzüglich zu der reinen Modellierung bietet es die Möglichkeit Validierungsregeln zu erstellen, und diese auch abtesten zu lassen. Eine Regel könnte sinngemäß lauten: „Wenn die eingehende Nachricht ein Umzug ist, müssen zwei Adressen vorhanden sein“. Es wäre noch interessant zu wissen, in wie weit das auch automatisiert in einer Continuous Integration-Umgebung möglich ist.

Durch das mögliche Deployment der DataXtend SI Runtime Engine als Mapping und Validation Service Engine funktioniert die Integration in einem JBI container relativproblemlos . Dass die SI Engine zusammen mit den notwendigen Mappings direkt aus dem SI Designer exportiert werden kann ist dabei ein hilfreiches Feature.

DataXtend SI muss sich mit schwergewichtigen Produkten wie SAP NetWeaver Master Data Management, IBM InfoSphere Master Data Management Server und der AquaLogic Data Services Platform messen lassen. Vom ersten Eindruck her ist DataXtend von den Möglichkeiten der Modellierung aber gleichauf, zugleich aber flexibler und vor allem leichtgewichtiger in eine SOA integrierbar. Der Ansatz des Master Data Management ist eben eher ein holistischer Natur, bei dem sämtliche Daten in der SOA gekapselt werden, um unterschiedliche Versionen der gleichen Daten zu verhindern. Während dies als Endziel erstrebenswert ist, bietet DataXtend SI die Möglichkeit sich diesem Ziel schrittweise anzunähern.

JavaRebel

Als letzten Punkt der Tagesordnung stellte Carsten Mjartan den JavaRebel vor. Damit werden die Möglichkeiten des hot code replacement in Java erheblich verbessert. Theoretisch gibt es diese Möglichkeit bereits seit dem JDK 1.4 (in IDEs wie dem Visual Age for Java auch schon erheblich länger; für Smalltalk noch viel länger), allerdings beschränkt auf Änderungen, die nicht die Signatur einer Klasse ändern. Mit JavaRebel, das sich als -javaagent in die JVM hängt, erspart man sich Carstens Erfahrung nach einen großen Teil der Server-Redeployments und Neustarts. JavaRebel überwacht dazu die von der IDE generierten Klassen und propagiert die Änderungen in die Laufzeitumgebung, während der Zustand der Anwendung komplett erhalten bleibt. EJBs ändern und im Browser ein Refresh machen, um die neue Logik zu testen? Kein Problem mehr!

Beitrag teilen

Gefällt mir

0

//

Weitere Artikel in diesem Themenbereich

Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.

//

Gemeinsam bessere Projekte umsetzen

Wir helfen Deinem Unternehmen

Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.

Hilf uns, noch besser zu werden.

Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.