Biggle's Blog

Web- und Software Development

by Mario Priebe

WebSequenceDiagrams API mit .NET

Heute bin ich durch einen Tweet auf websequencediagrams aufmerksam geworden. Mit websequencediagrams kann man sich über eine einfache Textnotation ein SequenzDiagramm in verschiedenen Styles erstellen lassen.

Die Applikation bietet aber auch eine Schnittstelle die es einem ermöglicht mit .NET ein solches Diagramm zu erstellen.

Folgendes CodeSnippet soll zeigen wie:

1 public void SaveSequenceDiagram(string data, string outFile, SequenceStyle style, SequenceOutputFormat outputFormat) 2 { 3 var request = WebRequest.Create("http://www.websequencediagrams.com"); 4 request.Method = "POST"; 5 6 string postData = string.Format("style={0}&format={1}&message={2}", style, outputFormat, HttpUtility.UrlEncode(data, Encoding.UTF8)); 7 8 byte[] byteArray = Encoding.UTF8.GetBytes(postData); 9 request.ContentType = "application/x-www-form-urlencoded"; 10 request.ContentLength = byteArray.Length; 11 12 //because error: The remote server returned an error: (417) Expectation Failed. 13 System.Net.ServicePointManager.Expect100Continue = false; 14 15 Stream dataStream = request.GetRequestStream(); 16 dataStream.Write(byteArray, 0, byteArray.Length); 17 dataStream.Close(); 18 19 dataStream = request.GetResponse().GetResponseStream(); 20 if (dataStream == null) return; 21 22 using (var reader = new StreamReader(dataStream)) 23 { 24 string responseFromServer = reader.ReadToEnd(); 25 var image = responseFromServer.Substring(12, 9); 26 27 using (var webClient = new WebClient()) 28 { 29 byte[] resp = webClient.DownloadData(string.Format("http://www.websequencediagrams.com?{0}={1}", outputFormat, image)); 30 using (var fileStream = new FileStream(outFile, FileMode.OpenOrCreate)) 31 { 32 fileStream.Write(resp, 0, resp.Length); 33 } 34 } 35 } 36 37 dataStream.Close(); 38 }

1 public enum SequenceOutputFormat 2 { 3 img, 4 pdf, 5 png, 6 svg 7 }

1 public enum SequenceStyle 2 { 3 @default, 4 earth, 5 modernblue, 6 mscgen, 7 omegapple, 8 qsd, 9 rose, 10 roundgreen, 11 napkin, 12 }

Aufgerufen wird das ganze wie folgt:

1 SaveSequenceDiagram("Alice->Bob: Authentication Request\nactivate Bob\nBob->Alice: Authentication Response\ndeactivate Bob", "out.svg", 2 SequenceStyle.roundgreen, SequenceOutputFormat.svg);

Beim Aufruf an den Dienst hab ich zu Anfang immer folgende Fehlermeldung bekommen “The remote server returned an error: (417) Expectation Failed.” Die Problemlösung habe ich nach etwas googlen, beim Gordon finden können. Danke nochmal an dieser Stelle.

Viel Spaß beim entwickeln : )

by Mario Priebe

Lucid Charts kann jetzt UML

Gerade eingeflattert, der Onlinedienst Lucid, mit den man online Diagramme erstellen kann, wurde um die UML Funktion erweitert. Hinzu gekommen sind UseCase-, Sequenz-, Activity- und Zustandsdiagramme.

Die kostenlose Variante hat Einschränkungen, in der Anzahl von Objekten die man  in einem Dokument verwenden kann. Und ein paar Businessfähigkeiten kann man damit nicht verwenden. Bei der Professionell-Version, die 50$ i.M. kostet, können  bis zu 25 User an einem Dokument arbeiten.

Hier eine Übersicht der Account-Arten.

by Mario Priebe

Immer den richtigen Rechner zur Hand

Bei mycalculator findest du eine Menge von Online-Taschenrechnern  für jeden erdenklichen Einsatz. Angefangen vom Basis-Rechner, über einen  Hypotheken-Rechner  bis hin zum komplexen Lösen von Aufgaben im Grafikbereich.

by Mario Priebe

YouTube Playlist Creator

Unter dem Namen “YouTube Music Discovery Project and Playlist Creation Tool” stellt YouTube einen neuen Dienst bereit, welches es einem ermöglicht, auf einfachster Weise eine Playlist zusammenzustellen.

Dazu einfach den LieblingsInterpreten eintippen und los gehts. Feine Sache.

by Mario Priebe

Aktivitäts-Diagramme online modellieren

Bei Yuml hat sich was getan, ab sofort ist es einem möglich auch Aktivitätsdiagramme auf gewohnter Weise zu modellieren.

yuml

by Mario Priebe

Online Datenbank-Designer

ondrej.zara hat einen SQL Online Designer mit dem Namen “wwwsqldesigner” entwickelt, welcher es einem ermöglicht seine Datenbank (MSSQL, MySQL, SQLite, web2py) im Browser zu designen.

Der Designer ist in 8 Sprachen verfügbar, sofort ausführbar und benötigt keine Installation. Das Teil macht auf den ersten Blick einen guten Eindruck und ich habe es mir nicht nehmen lassen und sogleich eine Version bei mir auf den Server gespielt.

Das Projekt ist OpenSource (GNU) und wird auf Google Code gehostet.

erd
Ich hatte jetzt keine Lust ein eigenes ERD zu designen,
von daher hab ich jetzt nur einen Teil der Demo fotografiert : )