Jetzt finde ich endlich mal wieder die Zeit, ein paar Zeilen zu schreiben und wie bereits vor einiger Zeit versprochen, möchte ich hier einmal ein paar Gedanken zusammen fassen, die mir während der letzten Wochen im Zusammenhang mit meiner Projektgruppe gekommen sind. Und zwar habe ich in den letzten Woche einige Tests für WCF Services geschrieben. Die eigentliche Aufgabe bestand darin, Unit Tests für die Services zu schreiben. Die Unit Tests, sollten, wie es eigentlich üblich ist, dazu dienen die einzelnen Klassen bzw. Assemblies isloiert von ihren Abhängigkeiten zu testen. Das stellte sich als schwieriger raus, als zunächst angenommen:
Zunächst einmal bieten WCF Services, im Gegensatz zu den älteren ASP.Net WebServices, den Vorteil, dass Sie bereits als Libraries vorliegen. Continued…
Categories: Programming, Web.
Tags: .Net, POETS, SOA, SoC, Unit Tests, WCF
By stj
—
March 25, 2007 at 12:41 pm
In the context of the lecture “Web Services – Hands On” held by Dr. A. Wombacher at the University of Dortmund I held a short speech on “Developing WebServices with MS.Net 3.0 (WCF)”.
All practical work at this lecture mainly focused on developing web services in the field of Java and Axis2. So this was meant to give a short introduction into the topic of developing web services “at the other side of the world”.
If someone is interested in the topic, I make the slides and some example codes available for you to download.
Categories: Networking, Programming, Web.
Tags: .Net, WCF, Web Services
By stj
—
February 2, 2007 at 11:50 pm
Seid einer ganze Weile habe ich mich jetzt schon mit WebServices auseinander gesetzt und sitze momentan daran einen WebService zu implementieren, der eine Java-Application mit einer .Net-Application koppelt. Zu diesem Zweck wurden zunächst einmal Contracts in Form von WSDLs erzeugt. Aus diesen sollten dann später die eigentlichen Services und Clients erzeugt werden. Leider musste ich dabei feststellen, dass die Unterstützung einen Service aus einer WSDL zu generieren in Microsofts .Net 3.0 WCF (Indigo) doch ziemlich mager ist. Ich habe bereits einige Webcasts gesehen und auch diverse Artikel gelesen in denen immer wieder propagiert wird, dass ein “Contract-First”-Ansatz der richtige (sofern man hier überhaupt von richtig und falsch sprechen kann) Weg sei einen WebService zu entwickeln. Stellt sich mir nur die Frage, was ist der richtige Contract dazu.
Aus Microsofts Sichtweise scheint wohl der richtige Weg einen Service Contract zu beschreiben eine Interface Definition z.B. in C# zu sein. Eine WSLD (mit XSD und Policies und …) scheint nur als eine Art Nebenprodukt angesehen zu werden, das zur Laufzeit generiert wird. Aber ist das wirklich der richtige Weg um Contracts aufzusetzen?
Meiner Ansicht nach nicht.
Wie soll beispielsweise eine Java-Application einen solchen in C# verfassten Contract verstehen? Ich persönlich würde auch niemals einen in Französisch verfassten Arbeitsvertrag unterschreiben, weil ich Ihn nicht verstehen würde. Erst wenn die Firma mit der ich einen solchen Vertrag abschließen würde, mir diesen in Deutsch vorlegen würde, könnte ich ruhigen gewissens unterschreiben, da ich dann auch wirklich verstehen kann, was in diesem Vertrag festgelegt wird.
Was ich sagen will ist, dass ein Contract in einer Sprache geschrieben sein muss, die beide Seiten verstehen können. In diesem Fall sollte man doch wohl WSDL als den eigentlichen wahren Contract ansehen! Daher ist mir absolut unverständlich, warum die Unterstützung in der WCF dabei so schlecht ist. Jetzt kann natürlich jeder argumentieren, dass die zur Laufzeit generierte WSDL als ein solcher Vertrag genutzt werden kann. Die Entwicklung des WebServices für die Kopplung der bereits oben erwähnten Systeme zeigt mir aber eindeutig, dass die Übersetzung der nativen Programmiersprache zu WSDL, XSD und so weiter zur Laufzeit die Interoparabilität stark gefährdet und einem doch einige Steine in den Weg legt. In der Realität werden aber gerade SOA-Applications durch eine ganzen Haufen von unterschiedlichsten Programmiersprachen und Framworks umgesetzt.
Leider scheint diese Tatsache viele Entwickler nicht zu stören und sie entwickeln ihre Software weiterhin einfach in ihrer “gewohnten Umgebung” ohne sich um solche Dinge wie Interoparabilität Gedanken zu machen. Nichtsdestotrotz ändert das die Realität nicht – WSDL bleibt der wahre Contract, da dort die eigentliche Übereinkunft der beiden Parteien festgelegt wird. Schließlich interessiert einen Client auch nicht in welche nativen Programmiersprache ein Service implementiert wurde oder welches Framework dem zu Grunde liegt. Der Service stellt einfach seinen Contract (WSDL) zur Verfügung, der Client stimmt diesem zu und weiss was die Implementierung auf der Gegenseite macht und weiss auch was von ihm erwartet wird zu tun.
Nicht das mich jemand falsch versteht, ich finde den “Contract-First”-Gedanken absolut richtig, nur sollte es mehr Tools und Entwicklungsumgebungen geben, die diesen Gedanken auch wirklich aufgreifen und den wahren Contract an den Anfang der Implementierung stellen.
Im The ServerSide Interoperability Blog findet sich ein interessantes Gespräch zwischen Ted Neward und Adrian Trenaman zum Thema.
Image is taken from photocase.com uploaded by kn!ps.
Categories: Mind, Programming, Web.
Tags: Contract-First, Contracts, SOA, WCF, WSDL, XSD
By stj
—
January 14, 2007 at 10:36 pm
Da hatte ich mir so fest vorgenommen jeden Monat hier mindestens einen Beitrag zu schreiben (auch wenn’s nur ein paar Zeilen sind), aber letzten Monat habe ich dann doch irgendwie nicht die Zeit gefunden.
Dafür habe ich meine Zeit neben der Arbeit mit Seminararbeiten und Prüfungen in der Uni verbracht. So langsam kommt auch meine Projektgruppe ins Rollen. Mal schauen, ob ich neben der Arbeit dort ab und zu dazu komme hier ein paar Zeilen zu schreiben. Sicherlich findet sich das eine oder andere interessante Thema auch im Bereich meiner Projektgruppe, so dass es bestimmt etwas zu berichten gibt. Für alle, die ein Interesse an Prozessmodellierung, SOA und Enterprise Services haben, ist vielleicht in den nächsten Monaten ein Besuch auf der Website meiner Projektgruppe oder des Lehrstuhls an der Uni zu empfehlen. Ich bin selbst gespannt zu welchen Ergebnissen wird dort im nächsten Jahr kommen.
Categories: Uncategorized.
Tags: POETS, Uni
By stj
—
November 12, 2006 at 10:04 am
Today I stumbled accross an interview with Tim Berners-Lee at an IBM developerWorks podcast:
Web 1.0 was all about connecting people. It was an interactive space, and I think Web 2.0 is of course a piece of jargon, nobody even knows what it means. If Web 2.0 for you is blogs and wikis, then that is people to people. But that was what the Web was supposed to be all along.
He speaks from my soul!
Read the whole interview at http://www-128.ibm.com/developerworks/podcast/dwi/cm-int082206.txt or listen to the podcast at http://www-128.ibm.com/developerworks/podcast/dwi/cm-int082206.html
Categories: Mind, Networking, Social Networks, Web.
Tags: Buzzwords, Interview, Web 2.0
By stj
—
September 3, 2006 at 8:09 pm