Samstag, September 29, 2007

Kleiner Nachtrag

Seit 2 Wochen ist nun auch die Internetpräsenz, die eigentlich für Anfang August geplant war Live. Schaut doch mal auf www.smartpath.de vorbei. Die Seite basiert auf Sharepoint 2007 Technologie und ist aus meiner Sicht sehr nett und gelungen. Ab und an ist sicherlich ein kleiner Makel, aber welche Seite hat das nicht. Wäre sehr interessiert an Feedback, ggf. würde ich es auch mit meinen Kollegen beraten. SmartPath ist das Kunstwort für unseren e-Dokumentenaustausch auf Basis von BizTalk.

Oktoberfest

Hui, gestern war ich auf dem Oktoberfest in München. Nach einer Einladung des Chefs von Xuccess habe ich mich auf den Weg gemacht. Der Hauptgrund hinzufahren war das Treffen von vielen bekannten Gesichtern. In der Frühe ging es hier in Berlin mit Zahnbürste bewaffnet los. Die nächsten Stunden waren dann sehr zäh, 6h Zug fahren. Ich habe mich für den Zug entschieden, weil ich anschließend Abend leicht und entspannt wieder zurückkomme. Ein weiter Vorteil bei einer Zugreise zum Oktoberfest man kommt fast auf der Festwiese an. Der Hauptbahnhof und Festwiese sind ca. 10min Fussweg auseinander.

Angekommen in München musste ich erstmal noch 2 Sachen beruflich checken, anschließend konnte ich mich an die Klärung machen, wie man am leichtesten zum Oktoberfest (zum Treffpunkt) kommt. Nach dem Weg zur Touristeninformation hatte ich auch diese Info und konnte mich dann auf den Weg machen. Angekommen machte ich mal eine Runde auf dem Oktoberfest, zum Glück war es trocken und nicht so voll. Mein erstes Fazit, das ist ein riesen großer Rummel (etwas plakativ gesagt). Auf meiner Runde habe ich schon 10-20 Polizisten gesehen.

Der nächste Meilenstein war das Treffen meiner Münchner Kollegen. Nach kurzem Telefonat habe ich auch das Zielzelt gefunden, man muss halt Altdeutsch lesen können. Der erste Schock, alle Münchner in Lederhosen und bei den Damen das andere Outfit (hat auch einen Namen), so habe ich die Kollegen noch nie gesehen. Ziel war übrigens das Weinzelt, was auch nicht wirklich ein Zelt war, sondern eher ein großes Holzhause.

Rein ging es durch den Hintereingang, an dem es voll war, weil Leute rein wollten, aber das „Zelt" schon geschlossen war. Mit Marker war, nach dem Durchdrängeln, alles kein Problem mehr. Drin ging es nach oben, ja, es gab 2 Ebenen, wo unsere Tische reserviert waren. Das Zelt sah von innen richtig schön aus, schönes Holz, nett/praktisch gestyled. Die Bänke waren sehr massiv mit Lehnen. Anschließend gab es in Intervallen das essen, 1. Brezn, 2. Kartoffelsalat und halbes Händl. (Hoffe, das ist richtig geschrieben) Für mich war so ein halber Vogel zu viel, aber hab trotzdem gut gegessen. Ach bevor ich es vergesse, es gab natürlich auch Getränke, allerding da wir im Weinzelt waren nur Weißbier und Wein, naja und 3 nicht alkoholische Sachen (Wasser, Apfelsaft, O-Saft). Ich habe Wasser und O-Saft getrunken, 0,5l Bier war mir zu viel und bei Wein bin ich auch nicht grade ein Genießer. Aber es war dennoch sehr schön.

Habe ich schon erwähnt, dass das Outfit der Damen sehr ansprechend aussah? (auch ohne Alk)

Um so später der Abend um so mehr Leute sprangen auf die Bänke und Tische und dass erstaunlichste und für mich noch nie gesehene, war das verspritzen von Sekt/Champagner. Zu Begin, beim Sammeln, meinte Robert, dass man hier eigentlich einen Regenschirm mitnimmt. Jetzt möchte ich noch erwähnen, dass eine Flasche Champagner zwischen 1.500€ und 3.000€ kostet und einige Flaschen in die Menge gingen. Die Band heizte der Stimmung auch gut ein. Zu Beginn gab es etwas ältere Songs und es wurde immer moderner. Ich fand die Band richtig gut. Mit Mario wollte ich mal zur Bar, von denen es 2 gab. Bei der ersten waren zwischen uns und Bar bestimmt noch 20m, allerdings waren die voller Menschen, die sich schon nicht mehr bewegt haben. Die 2. Bar im unteren Bereich, da wo der Champagner flog, sah nicht ganz so schlimm aus. Wir haben es geschafft fast in Armlänge an die Bar zu kommen, allerdings war es dann so heftig, dass es in keine Richtung mehr ging und bestellen war auch nicht möglich. Irgendwie haben wir es da wieder raus geschafft.

In den Gesprächen mit Kollegen konnte man so einiges erfahren. Das Weinzelt ist ein eher ruhiges und kleines Zelt, danach habe ich mir gedacht, dass ich lieber nicht die anderen Zelte sehen möchte.

Der ganze Abend war super schön. Bisschen getrübt von mir, weil ich trotz der vielen hübschen Frauen immer nur an eine Frau gedacht habe. Ich kann die eine Frau einfach nicht aus dem Kopf bekommen, dabei habe ich gar keinen Kontakt mehr zu ihr. Jeder sagt, ich soll sie vergessen, aber ich krieg es nicht hin.

Das Oktoberfest hat allerdings für viel Abwechslung gesorgt und die Stimmung ist wirklich ansteckend. Ich kann jedem nur mal empfehlen, wenigstens einmal im Leben das Oktoberfest zu besuchen. Der Spaß ist allerdings auch nicht ganz günstig, so dass man schon das Portemonnaie ordentlich voll machen sollte.

Ich denke, ich werde heute noch 1-2 Bilder vom Handy ziehen und diese online stellen. Die Bilder werde ich dann hier auch publishen. Jetzt muss ich erstmal einkaufen und vielleicht noch bisschen Wohnung aufräumen, wobei das auch quatsch ist.

Update: Unter http://picasaweb.google.com/zieschang/Oktoberfest2007 sind nun mal einige Bilder zu finden. Leider konnte ich nicht sehr viel machen, da ich nur ein Handy mit hatte. Aber hier noch Slides:

Donnerstag, September 20, 2007

.NET Cheat Sheets

Nette .NET-Resource habe ich gerade gefunden. Hier werden schöne Übersichten zum download gestellt. Kann ich nur empfehlen und am besten die Wände damit tapezieren J

Mittwoch, September 19, 2007

non-admin development

Ich versuche schon eine Weile als non-Admin auf meinem System zu entwickeln. Das ganze ist durch Virtualisierung enorm einfacher geworden. Admin-Rechte braucht man maximal noch in der VM. Allerdings entwickle ich auch einige Projekte auf meinen Host/Laptop. Hier habe ich eigentlich keine Admin-Rechte mehr. (eigentlich hatte)

Mit VS2005 ist die Entwicklung von Web-Projekten ohne Adminrechte erst schön einfach geworden. Aber vorgestern bin ich bei WCF auf ein Problem gestoßen. Hier können die Urls nicht registriert werden, so dass meine App crashed. Das Verhalten ist erstmal gut in der Knowledge Base dokumentiert, allerdings haben bei mir die Funktionen zum umgehen der Funktionen nicht funktioniert. Es gibt auch ein nettes Tool, dass bei der Generierung von notwendigen Kommandozeilenaufrufen hilft.  Hier noch ein Blog zum Thema http://blogs.msdn.com/drnick/archive/2006/04/14/configuring-http.aspx.

Noch etwas ganz anders. BizTalk 2006 R2 ist endlich released. Also wer die neuen Features (vor allem EDI) ausprobieren möchte, los geht’s!

Montag, September 17, 2007

BizTalk 2006 X101 System.Exception during build

Also manchmal wünscht man sich wirklich etwas hilfreichere Meldungen. Immer wieder renne ich in den gleichen Fehler. Man nutzt eine Funktion, die man schon 100mal in .NET-Projekten verwendet hat und plötzlich spuckt der BizTalk einen Fehler beim kompilieren aus. Ein einfacher Grund für diesen Fehler kann die Verwendung von Generics in der Klasse bei Methodensignaturen sein. Mit Generics hat es der BizTalk wirklich nicht. Dieser Fehler ist ziemlich ärgerlich, um den Fehler zu umgehen erstelle ich mir eine Wrapper-Methode in einer Hilfsklasse und leite dir Aufrufe 1:1 durch.

Wenn jemand eine bessere Lösung hat, dann wäre ich für den Tip dankbar.

Sonntag, September 16, 2007

Missing in ...

Ich habe schon langes nichts mehr privates gebloggt, der Grund dafür ist gar nicht so einfach zu sagen. Ein Grund ist auf jeden Fall, dass ich einfach nicht weiß, was ich denken will, denken soll, glauben soll und wünschen soll. Mir geistert immer noch ein Mensch immer im Kopf rum, dabei hab ich diesen Menschen eigentlich zum letzten mal richtig in Mail gesehen und da war es schon … (mir fehlt ein Ausdruck dafür). Ich sollte doch eigentlich nach sovielen Tagen alles aus dem Kopf bekommen, aber momentan wird es wieder schlimmer. Mein Chef will noch immer, dass ich mal meinen Urlaub plane, aber ich weiß einfach nicht, wie ich es überstehen soll, wenn ich Wochen ohne Arbeiten und ohne Freundin verbringen soll. Ich habe mir schon einen Backup-Plan überlegt, ich mache meine Zertifizierung und bastle an meiner Web-Seite, was allerdings nicht wirklich Urlaub wäre.

Ich werde heute vermutlich Skaten gehen, dann kann ich vielleicht abschalten. Blöderweise wird es schon dunkel sein, so dass es nicht mehr ganz so schön ist.

Wochenlang Sharepoint

Bbbbooooooaaahhh, schon seit Wochen beschäftige ich mit SharePoint-Services. Man verliert langsam aber sicher immer mehr die Lust an Sharepoint. Es gibt immer eine Kleinigkeit die man braucht, aber nicht vorgesehen ist. Für die meisten Sachen bedeutet das, dass man ein neues WebPart schreibt oder mal im Internet stöbert.

Größte Teil unserer Arbeit ist es das Onet.Xml und die Master-Pages zu erstellen. Leider ist nicht alles mit dem Onet-File möglich, so dass es zum Teil darauf hinausläuft, dass die Vorgänge in einem Provisioning-Assembly kodiert werden. (Msdn Sample http://www.microsoft.com/downloads/details.aspx?FamilyId=5B6C8FB0-9B67-47DB-8A09-BCA76BC9A5D1&displaylang=en)

Der Upload von Dokumenten in eine Sharepoint-Document-Library ist nicht über die Builtin-Webservices möglich, allerdings ist das nirgends ausführlich erklärt. In Blogs und teilweise auch in Foren gibt es zum Glück dafür auch Hilfe, sogar MS stellt ein entsprechendes Beispiel bereit, in dem Dokumente upgeloaded werden. Nicht ganz aktuell, aber es funktioniert http://msdn2.microsoft.com/de-de/library/ms916810.aspx und ein guter Blog-Eintrag zum Thema http://weblogs.asp.net/sebastianweber/archive/2004/10/22/246470.aspx. Warum diese Funktion allerdings kein Standard ist, bzw. nicht über die Standardlisten-WS abgewickelt wird, ist für mich unverständlich.

Der Schwierigste Punkt bei der Entwicklung mit Sharepoint ist die mangelnde und ungenau Dokumentation. Seit der letzten Version hat sich viel getan, allerdings sind immer noch viele tiefgreifende Funktionen nicht erklärt.

Ich muss mal noch Auszüge aus der Onet posten, allerdings das nicht mehr heute. Hier noch eine ganze Reihe von Links zu Sharepoint http://del.icio.us/splushi/wss.

Sonntag, September 02, 2007

Workflow Foundation und Communication Foundation Rückblick

Mein Provisioning Projekt auf Arbeit ist in der 1. Version einsetzbar. Wenn ich mir die Sachen alle so anschau, dann würde ich sagen, dass es schon eine klasse Sache ist.

Workflow Foundation finde ich echt Spitze zur Abbildung von Abläufen, allerdings habe ich bei mir zu sehr auch Code in dem Workflow geschrieben. Im Nachhinein würde ich das vermutlich in eine oder zwei separate Klassen auslagern. Mein Workflow wird über die Enterprise Library konfiguriert, dabei wird die Konfiguration in die Klasse gegeben. Das Starten von Workflows wird durch einen Windows Service durchgeführt. Als nächstes müsste ich mich mal mit den vielen weiteren Features der Workflow Foundation beschäftigen. Unter anderem bin ich total unglücklich über das Exception Handling. Exception Handling finde ich im BizTalk besser gelöst.

Die Communictation Foundation ist eigentlich von außen betrachtet, nichts Aufregendes. Allerdings birgt es extrem viele Vorteile. Entwickler brauchen nicht zu wissen, wie die Kommunikation später ablaufen wird. Es ist egal, ob TCP, http, Soap, …. Weiterer Vorteil, die Anwendung kann schnell auch wieder für Legacy Apps zugänglich gemacht werden, dazu muss halt in der Konfiguration am besten Soap über http aktiviert werden (sollten doch die meisten verstehen). Mein subjektiver Eindruck ist auch, dass die Kommunikation schneller abläuft und die Serializer flinker sind, als die Standard-Serializer. Momentan ist mein Ärgernis, dass ich nicht die Konfiguration, oder Parameter an meine Operation-Klassen gegeben kann, hierfür muss ich mir wohl eine neue Konfiguration-Section schreiben.

WF und WCF sollte sich jeder Entwickler im .NET-Umfeld schnell anschauen und in seinen Sprachschatz aufnehmen. Der Einsatz der beiden Technologien wird durch die 100%ige Kompatibilität des FX3 zum FX2 erleichtert.

Viel Spaß beim ausprobieren!

Samstag, August 25, 2007

Lust; Spielereien

Oh man, eine Woche geschafft. Eigentlich kann ich diese Woche nicht so richtig sagen, wie ich mich fühle. Ich bin nur noch total fertig. Ich hab jeden Tag bis 22:30 gearbeitet (nur zur Anmerkungen meistens schon gegen 4-5Uhr aufgewacht), so dass ich gar nicht an die Dame meines Herzens denken konnte. Naja so ganz stimmt das auch nicht, beim Radeln hatte ich immer Zeit und auch meine Gedanken abschweifen lassen. Manchmal ist sowas ganz schön gefährlich. Aber durch die Egal-/Null-Bock-Mentalität übersteht man das aber immer.

Beruflich sind momentan mein Lieblingsthema Workflow Foundation (http://del.icio.us/splushi/wf) und Windows Communication Foundation (http://del.icio.us/splushi/wcf). Zu WF habe ich bereits etwas geschrieben und zu WCF werde ich vermutlich noch etwas schreiben. Mal schauen, was mir zu dem Thema noch einfällt.

Montag, August 13, 2007

Workflow Foundation

Seit 2 Wochen beschäftige ich mit der Workflow Foundation. Die Foundation ist ein echt netter Ansatz, wer mit BizTalk gearbeitet hat, dem wird vieles ähnlich vorkommen. Für die Realisierung von Projekten bringt die Foundation nette Vorteile, da eine zusätzliche Abstraktionsebene geschaffen wird. Somit wird der Programmfluss/-ablauf z. B. auch für nicht Entwickler verständlich und nachvollziehbar. Als Addon auf die Nachvollziehbarkeit wird es für Fachabteilungen ermöglicht, dass die Verarbeitungsreihenfolge von Prozessen verändert werden kann. Es wird dadurch immer noch nicht möglich den gesamten Code zu verändern, aber wenigstens etwas.

Meine Erfahrungen beschränken sich bisher auf einen Workflow ohne externe Events. Bei externen Events muss man an Persistenzschichten denken. (Email an Benutzer -> Benutzer antwortet)

Der große Unterschied von BizTalk und WF ist, dass BizTalk eine komplette Umgebung mit Persistenzmechanismen ist. Momentan komme ich mit dem Fehlerhandling des BizTalks besser klar, als mit dem Fehlerhandling in der WF. Wobei es in der WF bunter ist. J

Die Erweiterbarkeit der WF ist relativ einfach über CustomActivities möglich, eine solcher CustomActivities ist in der HOL (Hands on Labs) enthalten. Aus meiner Sicht hätte man unbedingt eine ExcecutionActivity integrieren müssen. Nun gut, so musste ich meine eigene Schreiben. Die Extensions sind unter http://www.codeplex.com/capevisionWorkflow/Release/ProjectReleases.aspx?ReleaseId=6382 downloadbar.

Mein erster Workflow soll das Anlegen eines Projektes vereinfacht werden und für Nutzer ohne zusätzliche Rechte möglich. Allerdings wird die Eingabe nicht im Workflow sonder über eine separate Web-Oberfläche realisiert. Der Workflow ist für das Anlegen und Benachrichtigen von Komponenten und Nutzern zuständig.

kompletter Workflow
Workflow-Ausschnitt

Das ausführen von Workflows ist in den HOLs und vielen Blogs zu finden. Zur Vollständigkeit ist hier mal der Start meines Workflows abgebildet.

using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())

{

AutoResetEvent waitHandle = new AutoResetEvent(false);

workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) { waitHandle.Set(); };

workflowRuntime.ServicesExceptionNotHandled += delegate(object sender, ServicesExceptionNotHandledEventArgs e)

{

Trace.WriteLine(this.GetLogMessageFormatted("Unhandled Exception! "+e.Exception.ToString()));

};

workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)

{

wfEx = e.Exception;

Trace.WriteLine(this.GetLogMessageFormatted("Termination! "+e.Exception.ToString()));

waitHandle.Set();

};

WorkflowInstance instance = workflowRuntime.CreateWorkflow(this.Configuration.Workflow, parameter);

instance.Start();

 

waitHandle.WaitOne();

}

Wer Parameter zum Workflow hinzufügen will, der gibt diese beim Aufruf der CreateWorkflow-Methode mit. Im Workflow müssen dann Properties mit getter und setter eingefügt werden, die den gleichen Namen wie die Parameter haben. Alles in allem sehr einfach.

Weitere Services (z.B. für Persistenzschicht) werden über die Workflow-Runtime-Instanz hinzugefügt.

Hier noch einiger meiner Links: http://del.icio.us/splushi/wf

Samstag, August 04, 2007

VS.NET Windows Workflow Foundation Installation

Ich habe die ganze Woche bestimmt 10 mal die Workflow Foundation installiert und deinstalliert. Aber leider habe ich immer einen Fehler beim Starten vom Studio bekomme.

package load failure [Microsoft.Workflow.VSDesigner.DesignerPackage, Microsoft.Workflow.VSDesigner, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]“ oder so.

Beim Googlen bin ich fast immer nur auf Problembeschreibung zu den Beta-Versionen gestoßen, leider sehr selten zu den RTMs.

Ich konnte heute mal wieder nicht richtig schlafen und was mache ich installieren und googlen. Ich bin auf einen Blog-Eintrag http://codegoeshere.blogspot.com/2006_08_01_archive.html gestoßen und relativ kurz danach … ES GEHT!

Was wirklich viel bringt, ist „devenv /log“ auszuführen. Im Log-File stand bei mir immer ein Hinweis auf die WebReports8.dll, die das laden des VSDesigners Probleme machten. Also mal das Addin-Folder (Eigene Dateien\VS\Addins) gecheckt und das Addin entfernt.

So einfach kann eine Lösung sein, wieso bekommt man dann nicht eine schöne Fehlermeldung?

Nun werde ich nach BizTalk ein Workflow-Entwickler. :D (Vielleicht etwas spät)

Montag, Juli 30, 2007

Sharepoint-Links und Onet (leider ohne Sample)

Ich arbeite nun schon wieder 3 Wochen intensiv mit Sharepoint. Ich habe schon wieder eine nette Link Liste zusammen gesucht. Wer Interesse hat: http://del.icio.us/splushi/wss

Der Launch der 1. auf Sharepoint basierenden Website steht kurz bevor, allerdings wird’s noch mindestens bis Mitte nächste Woche dauern. Momentan ist die Site gerade in einer internen Review-Phase, kleine Korrekturen sind noch notwendig, allerdings wirklich nur noch Kleinigkeiten. Die Site wurde komplett mit einer Sharepoint-Definition Onet.Xml zusammen gesetzt und published. Alle Inhalte und Seitenstrukturen sind komplett in der Datei enthalten. Das hat mein Kollege wirklich gut gemacht (mit etwas Hilfe, aber nicht von mir). Das Beste ist das WebPart, was bereits unten erwähnt wurde. Leider werde ich es wohl nicht veröffentlichen dürfen. Allerdings wäre es bestimmt für viele Interessant.

Hier noch einige Details zu dem WebPart:

-          Das WebPart nutzt Listeninhalten zum Aufbau des Inhaltes

-          Es können mehre Einträge generiert werden, die Anzahl wird konfiguriert.

-          Es könnten unterschiedliche Inhalte in einer Liste enthalten sein.

-          Es nutzt die Workflow- und Versionierungsfunktion

Ich glaube, es gibt noch einige Details, aber die fallen mir grad nicht ein. Uns erspart es eine Menge Arbeit, da nun jeder einfach die WebSite erweitern kann und eine Freigabefunktionalität enthalten ist. Änderungen werden erst durch entsprechende Prüfungen published.

 

Habe heute 2h gebraucht eine Site per Onet zu publishen, die eigentlich schon lief. Ich hatte einen 2 Konfigurationsblock eingefügt, da eine 2. Seite ähnlich aussehen sollte. Ähnlich bedeutete aber halt nicht gleich und so flogen Listen raus. Beim Publischen kam immer ein nichts-sagender Fehler.  „Error could not finish, Retry …“, oder so ähnlich.  Nach Stunden habe ich dann herausgefunden, dass einige der Listen noch in meinem Standard-Modul referenziert waren. Also warum da die Fehlermeldung, oder wenigstens das Log etwas besser wäre.

 

Mist … grad was dazwischen gekommen, Bye!

Donnerstag, Juli 26, 2007

Jabber ...

Bei uns in der Firma propagandiere ich seit 2-3 Wochen Jabber als Protokoll für IM zu nutzen. So langsam werden es mehr Leute.

Der Grund für die Umstellung bzw. den Sinneswandel waren mal wieder die aktuellen Artikel und einige Studien zu Servern. Wer sich die Nutzungsbedinungen von MSN, AIM, ICQ, … durchliest, der wird feststellen, dass die Betreiber/Anbieter sich das Recht vorbehalten das geistige Eigentum zu nutzen. Zu dem kommt noch die Inkompatibilität hinzu. (ICQ kann nur mit ICQ usw. )

In Unternehmen ist es zum Teil auch wichtig, dass die interne Kommunikation nicht nach außen geht. Hier hilft Jabber, sämtliche Kommunikation läuft über den Server und wird wie Mails gerouted. Weiteres Plus: Jabber unterstützt die SSL-Verschlüsselung.

Wir setzen den OpenFire-Server ein, der ist schön einfach und pflegeleicht. Jetzt kämpfe ich grad noch etwas mit unserem Domain-Anbieter, zwecks einer Umstellung der SRV-Records, so dass die Domain als Identifier ausreicht.

Wie man sieht, ich habe deutlich zu viel Zeit!

Sonntag, Juli 22, 2007

Sharepoint-Development (Authentification)

Mit eine Kollegen machen wir seit einer Woche kräftig Sharepoint-Entwicklung über „Onet.Xml“, wir haben die Woche viel gelernt und viel herausgefunden. Aber ich muss auch sagen, dass wenn man sich die Sachen alle alleine Erarbeitet, es wesentlich weniger Fortschritte gibt. Mein Kollege hat zu dem cleveres Webpart geschrieben, dieses Webpart hatten wir auch schon auf unseren bisherigen Webseiten im Einsatz. Das Webpart kann aus Listeneinträgen die Werte darstellen.  Dadurch kann man das Freigabe-Feature oder Rechte, oder andere listenbasierende Features für die Anzeige von Informationen nutzen. Wir nutzen die Listen für die Bearbeitung und das einfache Einstellen von Inhalten in die Websites. Ihr könnt es vermutlich ab Mitte August in Aktion auf der ersten Website sehen.

Ich habe letzte Woche 2 Tage mit dem Sicherheitsmodell von Sharepoint gekämpft. Es ist schon wesentlich besser, als das Sicherheitsmodell vom alten Sharepoint, wenn man es erweitern möchte. Aber gleichzeitig ist es auch sowas von Schwierig. Es gibt massig Anleitungen, wie man vorgehen muss, daher hier nur ein Link auf ein gutes Einführungsvideo von Channel9 http://channel9.msdn.com/ShowPost.aspx?PostID=229709.

Was ich zum ersten mal Begriffen habe, zumindest hoffe ich das, sind die Zonen. Wenn euch das Thema interessiert, dann schaut mal diesen Post an. Darin wird sehr gut beschrieben, wie vorzugehen ist. So kann man für alle über das Internet zugreifende Personen den Sql-Provider benutzen und wenn jemand aus dem eigenen Netz kommt, kann er über Windows-Authentifizierung an dem Sharepoint arbeiten. Ob es funktioniert, das werden wir in der nächsten Zeit feststellen.

Sonntag, Juli 15, 2007

WSS3 Installation (Abbruch)

BBBBooooaaahhhh neeee!

Ich habe gerade auf unserem Testsystem versucht Windows Sharepoint Services 3.0 zu installieren, allerdings ohne Erfolg. Die Installation bricht immer mit einem Fehler ab, danach fehlen alle Sql Instanzen, so dass man nicht mal die Konfiguration manuelle beenden kann. Außerdem sind fast keine Dateien auf dem System vorhanden L. Jetzt muss ich mal weiter grübbeln, ob es einen Workaround gibt.

 

OOOOOOOOOhhhhhhhhhhhhhh man, ok, also nach Stunden des Doktorns und probieren hab ich es endlich. Ich hätte nur mal schneller nach dem Fehler das EventLog checken müssen. Sharepoint meckert an, dass das Windows-Verzeichnis komprimiert ist und damit kommt er nicht zurecht. Jetzt ist nur die Frage, warum kommt er nicht zu recht? Die Installation ist nun durch und es kann weitergehen.

BizTalk Convoy

PPPPPuuuuuhhh, in der Woche habe ich das Projekt in München abgeschlossen. Es hat viel Spass gemacht mit den Kollegen.

 

Wir hatten diese Woche also GoLive und wie das so ist, man merkt produktiv immer erst die Funktionsfähigkeit. Wir hatten einige kleinere Startschwierigkeiten, so dass statt 10 Uhr GoLive, GoLive im 14 Uhr war. Alles in allem recht gut.

 

Bei dem Projekt kam das BizTalk Convoy Pattern zum Einsatz, leider auch mit einem unschönen Verhalten. Die „Convoy-Orchestration“ zieht, so lange sie aktiv ist, alle Messages die der Subscription entsprechen sofort an. Dieses Verhalten führte bei uns, da wir maximal 10 Batchen wollten und keine Correlation machen können (außer über den Port) zu massig Zombies. Allerdings nicht auf der Produktion. Schön und 100%ig verständlich finde ich das nicht. Als Workaround wurde eine 2 Orchestration benutzt, die die Messages mittels einer GUID gruppiert. Dadurch erhält die Verarbeitende Orchestration niemals mehr Messages als zulässig sind. Nachteil der Lösung: Es gibt eine Orchestration die immer aktiv ist und sequentiell arbeitet. Allerdings enthält die Orchestration so wenig Logik, dass die Verarbeitung sehr schnell abgeschlossen ist und keine Zombies auftreten dürften. Man sollte mal in den Convoy-Beispielen auf den Sachverhalt mit den Zombies hinweisen.

 

Der nächste Schritt war noch schnell den Business User eine kleine Ansicht zu geben, die zumindest alle verarbeiteten Dateien auflistet. Leider haben wir das nur für einen Teil hinbekommen. Bei nicht aktivierenden Ports, kamen keine Infos mehr aus dem BAM. Ich vermute mal, dass wir etwas nicht richtig machen, allerdings bin ich mir da auch nicht so sicher.

Samstag, Juli 07, 2007

Sharepoint; Jabber

Ich habe die letzte Woche mich mal wieder intensiv mit Sharepoint beschäftigt. Wir versuchen in nächster Zeit ein Portal und eine Website auf Windows Sharepoint Services zu realisieren. Ich muss sagen, was das Sharepoint wirklich sehr komplex ist um es zu erweitern.

Ich habe eine Beispiel Side Definition gefunden. Durch dieses Visual Studio Projekt kann man sehr leicht die Änderungen auch auf einem anderen Server einspielen. Leider finde ich den Link nicht mehr zu dem Eintrag.

Irgendwie habe ich noch nicht das Ideale „Staging“ für Sharepoint herausgefunden. Vielleicht kann ich in 2-6 Wochen mal einen schönen Artikel zu Sharepoint schreiben.

UPDATE: Ich habe den Artikel gefunden! Developers Guide to WSS 3.0

 

Ich habe am gestern Endlich unseren Jabber-Server aufgesetzt. Jetzt muss ich meine Kollegen nur noch von den Vorteilen überzeugen und das es besser ist, wenn die Nachrichten nicht außer Haus geroutet werden. Richtig klasse ist das einbinden von anderen Protokollen, wobei das allerdings auch sehr anfällig ist. Ich habe noch keinen Client gefunden, mit dem das richtig klappt. Als Server nutzen wir Openfire, der bietet extrem viele Features und ist super leicht zu administrieren. Ich habe mich 1 Abend mit dem Server beschäftigt und am 2 Abend ihn auf unserem Server installiert. Oh Wunder, es geht.

Ich dachte erst, dass meine Google-Talk Jabber Zeiten vorbei sind, aber mit dem Beta-IM-Plugin kann man auch wieder Google-Talk Jabber einbinden. Leider habe ich noch einige Probleme mit ICQ, die Benutzer wurde nicht aufgelöst und nur als IDs angezeigt. Beim Beta-Plugin habe ich das noch nicht erneut versucht. Als Client habe ich mich für mein geliebtes Miranda entschieden. Nun läuft‘s sehr gut. Nächste Woche werde ich versuchen den http-Zugriff mit Miranda hinzubekommen.

Samstag, Juni 30, 2007

XmlSerializer Performance verbessern

Naja, es ist Samstag und was hat man zu tun, wenn die Freundin einen nicht sehen will? Aufräumen, Arbeiten, Blogs lesen, …

 

Wie auch immer, ich bin gerade auf einen Artikel gestoßen, den ich sehr interessant und gut finde. Eigentlich ist es wahrscheinlich den meisten bewusst, was der XmlSerializer alles so anstellt, aber in dem Blog-Post von Thomas Woelfers erklärt er viele interner, die durch eine Analyse ermittelt wurden.

Mein Fazit aus dem Artikel: Wenn ich einen XmlSerializer brauche und das Mehrfach in meiner Applikation, dann werde ich den immer schön versuchen zu cachen, so wirkt sich der kurze Gerierungs-Overhead nicht so stark aus. Auch wenn die Lösung mittels anpassen von CSharp-Targets aus den Standard-Skripten möglich ist. Leider kenne ich mich und vermute einfach mal, dass schon im nächsten Projekt vergessen habe.

 

Habe ich schon erwähnt, dass ich meine Freundin vermisse ;)

Samstag, Juni 23, 2007

Exchange Up and Running

BBBooooaaaahhhh,

jetzt hatte ich grad ein Erfolgserlebnis, endlich mal seit Tagen/Woche. Unser Exchange-Server läuft und ist funktionstüchtig. Der nächste Schritt ist die Migration aller Emailaccounts.

 

Die letzten Probleme sind etwas … aber jetzt gelöst.

Wichtig ist beim Einsatz von Exchange RPC over http, dass das eingerichtete Zertifikat auf dem Webserver auch tatsächlich vertrauenswürdig ist. Ist das nicht der Fall, so wird keine Verbindung aufgebaut.

Des Weiteren mussten für die schrittweise Umstellung der Emailaccounts die Empfangene Domain wieder aus dem Server rausgeschmissen werden, da wir sonst nicht umgestellte Accounts nicht mehr erreichen. Für alle Benutzer wird zu erst eine Weiterleitung eingerichtet und wenn alles erfolgreich durch ist, dann wird die eigentliche Domäne wieder angelegt. (Vorteil, wenn man mehrere Domains hat.)

 

Eins muss man MS lassen, Outlook Web Access sieht echt klasse aus und ist auch eine recht vollständige Lösung.

 

Sonstiges:

Jetzt kann ich mich in aller Ruhe mit EDI beschäftigen. Ich werde mal so einen „Konverter“ ausprobieren und die genauen EDI-basis Standards der Energiewirtschaft versuchen zu ermitteln. Meine Freundin? hat immer noch nicht mit mir geredet. Schlimmer ist allerdings, dass es scheint als würde Sie nicht mal ans Handy gehen wenn ich Anrufe. Ich überlege, ob ich es heute noch mal probiere. Ich bin mir nicht sicher, ob dass dann nicht zu aufdringlich ist und ich nicht lieber noch etwas warte. Wenn ich weiß, wo sie steckt, dann habe ich schon eine Idee …

 

Nun wird erstmal Mittag gemacht!

 

Freitag, Juni 22, 2007

Mail ist weg

Super, ich habe gerade eine riesiege Mail für den Block geschrieben, jetzt
ist sie weg. VERDAMMT!

Vielleicht schreibe ich es morgen nochmal.

Schöne Nacht!

PS: Keine Angst traurig bin ich noch immer sehr doll. Ich denke ständig an
sie, aber immer noch keine Reaktion. Ich bin schon richtig verzweifelt.

Dienstag, Juni 19, 2007

Einschlafen - Erotikratgeber MensHealth.de - Singles schlafen schlechter ein

Wer das noch nicht wußte: MensHealth.de - Singles schlafen schlechter ein.

Seit einigen Wochen schale ich auch schlecht ein. Muss wohl ein schlechtes Zeichen sein. Ich muss noch mal überlegen, was ich machen kann. ... Eigentlich hatte ich mehr Text, aber den hab ich lieber gelassen, es war zu privat.

Muss weiterarbeiten, Jan

Sonntag, Juni 17, 2007

Exchange <-> ASSP

Wow, ich bin ja einer. 2 Einträge hintereinander.

Eigentlich beschäftigt mich das gleiche Thema wie immer, Frauen. Genauer gesagt geht es nur um eine. Um mich abzulenken habe ich heute nochmal versucht eine Anleitung aufzutreiben, wie man ASSP mit Exchange benutzt.

 

Die unten aufgeführte Anleitung ist nicht von mir, sondern ist ein Kopie von http://www.antispam.de/forum/showpost.php?p=91614&postcount=5. Gerade die Einrichtung von Exchange mit den virtuellen Servern ist das interessante. Änliche Anleitungen gibt es auch direkt bei ASSP auf der Homepage http://www.asspsmtp.org. Interessant ist auch die Beispielkonfiguration, die man runterladen kann.

 

Klar! Die Basisanleitung findet sich auf:

http://www.asspsmtp.org/wiki/Quick_Start_for_Win32

Etwas pfannenfertiger geht es wie folgt:

1. ASSP Musterkonfiguration von meiner Website herunterladen:

http://www.neill.ch/assp/ASSP.zip

Das Zip File enthält eine komplette ASSP Installation inkl. allen Regex, etc.

2. Punkt 1 - 5 auf http://www.asspsmtp.org/wiki/Quick_Start_for_Win32 ausführen.

3. das Zip File extrahieren (bei mir läuft ASSP in c:/assp)

4. ab Punkt 8 weiterfahren (Schritt 9 auslassen)

5. Ideal ist in Exchange wenn man zwei virtuelle SMTP Server verwendet.

ASSP nimmt E-Mails von aussen auf Port 25 entgegen und gibt sie auf Port 125 an den ersten virtuellen SMTP Server in Exchange weiter.

Ausgehende E-Mails schickt der erste virtuelle SMTP Server auf Port 225 wieder an ASSP.

ASSP schickt ausgehende E-Mails auf Port 226 an den zweiten virtuellen SMTP Server. Der zweite virtuelle SMTP Server schickt die E-Mails dann ins Internet bzw. den Smarthost des Providers.

Achtung im ersten virtuellen SMTP Server muss man die eigene IP Adresse des Servers als Smarthost in eckigen Klammern eingeben. Also z.B. [192.168.0.1]

Warum zwei virtuelle SMTP Server? Damit whitelisting funktioniert, d.h. damit ASSP aus ausgehenden E-Mails die 'guten' Empfänger lernen kann, müssen ausgehende E-Mails durch ASSP geschleust werden. Der zweite virtuelle SMTP Server ist nicht absolut zwingend erforderlich (man könnte den Smarthost des Providers auch in ASSP eingeben), aber spätere Änderungen lassen sich in Exchange flexibler umstellen.

Wenn dann alles richtig klappt, kann man sich noch an ein Downgrade von NET
http://www.antispam.de/forum/images/smilies/biggrin.gifNS von 0.59 auf 0.57 machen (bringt bessere Performance bei DNS-Abfragen).

http://sourceforge.net/forum/message.php?msg_id=3995859

ASSP wird zur Zeit in Deutschland weiterentwickelt. Falls es Euch gefällt, so dankt bitte dem Entwickler (Fritz Borgstedt)

http://www.iworld.de/homes/fb/0001B3...567D-8000001C/

 

Jetzt werde ich mich wieder meinem Angst-Thema „Frauen“ zu wenden. Wenn man doch nur Gefühle ein- und ausschalten könnte. L Ich muss mich auch noch auf meine Reise nach München heute vorbereiten. Also schöne Woche allen.

 

Bis demnächst,

Jan

Samstag, Juni 16, 2007

Eine Woche später; Subversion und Trac

Hallo mal wieder,

 

es ist schon eine Woche vorbei, also die 2. Woche in der ich nichts mehr von ihr gehört habe. Ich bekomme leider nicht mal eine Antwort auf meine Fragen. Das schlimm an dem Zustand ist, dass es mich beim Arbeiten extrem ablenkt. Ich denke ständig an sie und jedes mal versuche ich herauszufinden, was ich falsch gemacht habe. Mich zerreißt es, dass ich von ihr nix höre und auch keine Antwort auf Emails/IMs und SMSs bekomme.

 

Soviel dazu. Ich habe letzte Woche reges Interesse für Subversion und Trac geweckt. Ich glaube meine Kollegen sind nun sehr begeistert. Durch die Zusammenarbeit mit TRAC kann man soviele Aufgaben abdecken, die sonst einfach vernachlässigt werden. Wir haben endlich mal die Möglichkeit Änderungen und Anforderungen besser zur tracken.

 

Bei uns stehen jetzt noch 2 große Aufgaben an. Wir müssen endlich mal unsere Zeiterfassung aktualisieren. Die ganze Zeiterfassung ist eine Excel-Anwendung die hochkomplex ist und eigentlich traut sich keiner mehr ran. Eine andere große Aufgabe ist demnächst das Anlegen von Benutzern und Postfächern. Momentan wird alles manuell gemacht, aber das ist komplizierter. Zusätzlich müssen wir das Projekterstellen automatisieren. Momentan muss ich ein Projekt im TRAC anlegen, wenn es um Projektgruppen geht, dann muss diese ein anderer Kollege anlegen usw.. Wir haben viel zu tun. Für das Projekt und User-Management muss ich mir erstmal ein WSS3-Adapter für BizTalk erstellen. Das scheint viel Arbeit zu werden. Ich wird’s merken.

 

Die ganzen Aufgaben sind nebenbei zu erledigen, neben Zertifizierungen und Projekten. Ich habe momentan ein spannendes Projekt in München. Leider ist die Anreise nach München immer lange. Daher fahre ich mit dem Nachtzug, Fliegen ist einfach nur stressig, zumindest für Berufspendler. Das Projekt ist hoffentlich nächste Woche nahezu erfolgreich abgeschlossen. Aber das ist auch vom Business abhängig, ob deren Erfordernisse korrekt berücksichtigt sind.

 

Ich werde nun versuchen mich abzulenken und zu meinen besten Freunden zu fahren. Die 4 helfen mir schon sehr mein Leben zu managen.

 

Bye Bye,

Jan

Freitag, April 06, 2007

Frohe Ostern

Ich wünsche allen, natürlich vor allem meinen Freunden, einige angenehme und erholsame freie Tage.

 

Ganz viel Spaß beim Osterfeuer und beim Eiersuchen,

Jan

PS: Wer Langeweile hat kann ja mal Filme capelight.de vorbei schauen.

Continuous Integration (CI) mit MSBuild/SVN/CCNET/...

Hallo Entwickler,

 

ich bin gestern auf einen schönen mehrteiligen Artikel über CI gefunden. Der Artikel ist wirklich nett, vor allem um zu sehen, wie es bei anderen das Vorgehen ist. Den Artikel findet ihr hier.

 

Ich finde den Build-Prozess allerdings bei uns zum Teil besser. Auf unserem Build-Server sind folgende Anwendungen vorhanden:

1.  CruiseControl.Net

2.  Brinki Labeler (oder so ähnlich)

3.  .Net Framework 2.0

4.  Nunit

5.  FxCop

6.  Ndoc

7.  MSBuild Community Tasks

8.  MiKTeX

9.  Subversion

10.WIX

11.Python

12.Apache 2.2

 

Apache und Python werden nur benötigt, weil auf dem Server auch noch die Sourcen abgelegt sind und Trac aktiv sind.

CCNet ist für das Versionieren und das Starten von Builds zuständig, was wirklich super klappt. Allerdings werden die meisten Aufgaben innerhalb der Build-Scripts ausgeführt, so dass diese auch manuell mit entsprechenden Parametern gestartet werden können. Das Bauen der Quellen erfordert somit ein vollständiges Einfügen aller Referenzen in SVN. Um wirklich CI machen zu können, gibt es im CCNet Teilprojekte, die nur einen Teil der Applikation erzeugen, oder nur Sourcen abrufen, kompilieren und testen.

 

Ein Build bei uns läuft grundsätzlich in folgenden Schritten ab:

1.  Löschen der Arbeitsverzeichnisse und bereinigen des Systems

2.  Abrufen der Sourcen

3.  Kompilieren der Sourcen

4.  Zusätzliche notwendige Dateien kopieren

5.  Erstellen der Source Code Dokumentation

6.  Erstellen der LateX-Dokumente

7.  Archiv aus 3 bis 7 erzeugen

8.  Erstellen eines MSI

9.  Ausführen von UnitTests (Alles was die Kategorie „Automated“ hat)

10.FxCop ausführen

Während des Builds werden Versionsnummern in Dokumenten und Quelldateien aktualisiert bzw. ersetzt. Zusätzliche können Applikationen auch automatisch deployed werden, so dass Testsystem immer aktuell sind.

 

Vielleicht poste ich mal einige Auszüge aus den Build-Scripts,

Jan

 

Noch was: Eigentlich sollte für die Generierung der SandCastle zum Einsatz kommen, aber bei der Generierung crashed SandCastle, so dass ich lieber wieder zu Ndoc zurück gegangen bin. Allerdings musste für Fx2 noch etwas modifiziert werden, da es sonst zu Fehlern bei Generics kam.