Progress Software präsentiert Actional und DataXtend SI beim Freitagsmeeting

4 Kommentare

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!

Andreas Ebbert-Karroum

Andreas Ebbert-Karroum ist Agile Principal Consultant bei codecentric und Product Owner von CenterDevice.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentare

  • David Bressler

    Hi!

    Thanks for the writeup. A few comments though on the Actional bit…

    1. We don’t actually „mark messages with a unique tracer“ as you say. We do have a unique (and patented) way of tracking messages, but we do not affect the message at all. This means that we do not need to have Actional everywhere, and, if you remove Actional, it does not affect your applications.

    2. The key difference, and the basis for all other differences, between Actional and Dynatrace is that (1) Actional tracks dependencies BETWEEN nodes, and is less interested in what happens within the node (not true for BPM/ESB instrumentation). Tools like Dynatrace have limited, if any, capabilities across nodes. Also, Actional can do it in real-time, all the time, so we can be installed and used in production without affecting performance and scalability.

    3. You say it is weird to do security in a management tool. We have three offerings, all based upon the same technology – one monitoring (visibility, policy management, and root-cause analysis), one security (which includes all the monitoring capabilities), and one „business optimization“ (which includes all the monitoring and security). We’ve segmented the product this way so that customers can choose to start small, and grow, without having to rip-and-replace product. Also, different customers wish to have different sorts of value. Some customers are interested in Security, some are not ready for Business Alignment, etc.

    Thank you for the invitation, Eric is quite good and I’m sure his presentation was enjoyable.

    David Bressler
    djbressler@gmail.com
    Twitter: http://twitter.com/djbressler
    Actional Product & Community Evangelist

  • Mirko Novakovic

    3. September 2008 von Mirko Novakovic

    Hi David,

    I wasn’t able to attend the presentation but I heard from my collegues that it was a very good presentation and that the Progress tools fill an existing gap in the SOA world.

    I don’t think that dynaTrace and Actional are competing products but more complementary. Just wanted to clarify that dynaTrace can track dependencies between nodes – limited for Java and .NET but also between both technologies. That means that you can follow the whole path of a service request (JMS, SOAP, RMI, …) through effected physical and logical instances of the application. This also works 24×7 in real-time without sampling – with an extreme high degree of details. Check out the PurePath technology of dynaTrace: http://www.dynatrace.com/en/Purepath_technology.aspx

    Mirko

  • Andreas Ebbert-Karroum

    Hi David, thanks for your explanations. While Eric’s presentation was really good, it also was not even an hour long, so some topics were naturally only covered briefly. Sorry if I misunderstood them.

    Regarding the message marking I understood that Actional is finding ways to place the tracer in the message without modifying the content, by using the TCP, HTTP or JMS headers for example. (No idea how you do it with IIOP or RMI, though :). As long as that message stays intact I understood that the relaying systems in between don’t need to be instrumented. But if, for example, a servlet consumes an HTTP request on the front end and sends out a JMS to the backend, my understanding is that I have to correlate these messages somehow manually/programatically by content.

    My intention was not to say that it is weird to do security in a management tool. I was trying to say that if you might think this is weird: it’s not! It makes sense if you look at it from the other direction, having a security tool that is able to monitor.

    Kind Regards,
    Andreas

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.