Rash thoughts about .NET, C#, F# and Dynamics NAV.


"Every solution will only lead to new problems."

Category msu solutions GmbH

Die msu solutions GmbH verfügt über langjähriges Know-How in der Ver- und Entsorgungswirtschaft und ist Microsoft Gold Certified Partner im Bereich Verbrauchsabrechnung für Verbände der Wasser- und Abwasserwirtschaft, Stadtwerke, technische Werke und Betriebsgesellschaften.

Wednesday, 2. June 2010


Erstes internes CodingDojo bei der msu solutions GmbH in Halle

Filed under: Coding Dojo,Firmen,msu solutions GmbH — Steffen Forkmann at 14:37 Uhr

Gestern haben wir bei der msu solutions GmbH am Standort Halle unser erstes internes CodingDojo veranstaltet.

Ziele des internen Dojos

Da wir in der tagtäglichen Arbeit mit Microsoft Dynamics NAV entwickeln, wollten wir das Dojo auch mit Dynamics NAV und der Programmiersprache C/AL abhalten. Als wichtiges Ziel der Veranstaltung haben wir uns vorgenommen nach Test-Driven Development (TDD) zu arbeiten. Da TDD im NAV-Bereich (sicherlich mangelns Tools und Community) noch so gut wie unbekannt und unser selbstentwickeltes Test-Framework noch sehr jung ist, war diese Selbstverpflichtung für einige Team-Mitglieder in dieser strikten Form sicherlich noch Neuland.

Ablauf

Um die Messlatte für das erste Dojo daher nicht allzu hoch zu legen und mehr Fokus auf den Versionsverwaltung (git), die Test-Tools und die Kommunikation bzw. den Prozess selbst zu richten habe ich die relativ einfachen Katas FizzBuzz und DictionaryReplacer vorgeschlagen. Das Team hat sich dann für FizzBuzz entschieden.

Wie beim 1. NET CodingDojo in Hamburg gab es auch in Halle einige Startschwierigkeiten. Es scheint für viele Entwickler aufgrund der jahrelangen Entwicklungspraxis sehr schwer zu sein, tatsächlich zwischen Test und Implementierung zu unterscheiden.

Nachdem jedoch die ersten 3 Tests samt Implementierung geschafft und die explizite Trennung der Test- und Entwicklungsphasen erkannt wurden steigerte sich das Tempo des Teams enorm. So konnten wir dann auch Erweiterungen der Aufgabenstellung diskutieren und umsetzen.

Ich denke unser erstes msu Dojo war ein Erfolg und insbesondere die Wahl der Kata war für die erste Veranstaltung dieser Art ausgezeichnet. Für das nächste Mal wollen wir uns dann natürlich an eine schwierigere Kata wagen.

Randori-Stil

Da seit dem ”Dojo Deluxe” von und mit Ralf Westphal eine Diskussion über die Dojo-Formate aufgekommen ist, möchte ich hier auch noch meine Meinung dazu abgeben.

Da wir uns den Randori-Stil ausgesucht haben, gab es eigentlich vier verschiedene Rollen. Als erstes natürlich den Driver und den Co-Piloten, also eine Person, die die Tastatur bedient und eine die sagt “wo es lang geht”. Übrig bleiben dann in unserer Version noch der Rest des Teams als Publikum und ein Moderator. Da es die erste Veranstaltung dieser Art war, gab es noch sehr viele Hinweise vom Moderator. Bei nachfolgenden Veranstaltungen würde ich mir wünschen, dass der Moderator immer mehr in den Hintergrund rückt und die jeweiligen Co-Piloten deutlich aktiver werden. Das Publikum könnte noch mehr als das Kontrollorgan fungieren und auf Einhaltung der selbst auferlegten Richtlinien pochen. Als wichtigen Punkt für nachfolgende Veranstaltungen würde ich also noch eine klarere Trennung der Rollen sehen und dem Team mehr Eigenverantwortung auferlegen.

Randori-Stil vs. Tutorial

Die Befähigung des Teams den Entwicklungsprozess ohne starke führende Hand selbst zu kontrollieren ist für mich ein Kernziel bei einem CodingDojo. Ich denke hier unterscheidet sich der Randori-Stil (jedenfalls wie ich ihn bisher verstehe) stark von der Variante und den Zielstellungen die Ralf Westphal in seinem Dojo in München abgehalten hat. Wie Ilker Cetinkaya auch schon geschrieben hat ist Ralf’s Dojo-Variante wahrscheinlich näher am klassischen Workshop oder am Tutorial einzuordnen. Daran ist natürlich nichts falsch, ganz im Gegenteil: ich finde solche Workshops mit erfahrenen und charismatischen Sprechern extrem reizvoll. Insbesondere weil man bei einem Workshop aufgrund der intensiveren Vorbereitung des Sprechers in der kürzeren Zeit eine weit höhere fachliche Tiefe erreicht und man im Gegensatz zu klassischen Frontal-Vorträgen auch mehr Rückfragen stellen kann. Ralf hat sich dazu in seinem Blog ja auch intensiv und fundiert Gedanken gemacht.

“Einer weiß etwas und die anderen wollen es von ihm lernen”-Formate wie Ralf sie beschreibt sind also auch aus meiner Sicht sehr nützlich und bilden vermutlich sogar die Voraussetzung für ein Randori. Wenn nicht genug Leute im Raum bereits etwas über die zu benutzenden Techniken oder Methoden gehört haben, dann wird das Dojo bzw. das gemeinsame Lernen und Lehren vermutlich sehr zäh und der Moderator wird zum Hauptakteur. Es ist somit auch völlig einleuchtend, dass Ralf seine Event-Based Components natürlich nicht in einem Randori vorstellen kann. Das wäre dann wohl beim einem leeren FlipChart geblieben und ganz sicher auch eine Enttäuschung für alle Seiten.

Wenn jedoch hinreichend viele Leute bereits Erfahrungen mit der Materie gemacht haben, dann gibt es vermutlich auch unterschiedliche Interpretationen. Diese würde ich aber nicht so drastisch wie Ralf als “Unsicherheit” auslegen, sondern eher als Chance die Varianten gemeinsam zu diskutieren und Unklarheiten auszuräumen. Dabei muss es am Ende aber nicht zwingend einen Konsens geben.

Daher denke ich, dass auch ein Format mit weit weniger Moderation bzw. Anleitung wichtig ist, insbesondere auch um das bisher Erlernte in einer sicheren Umgebung zu testen und echtes TeamPlay zu trainieren. Den Begriff “Dojo” ausschließlich für solche freien Formate zu verwenden, ist wie Ralf beschrieben hat aus historischer Sicht wahrscheinlich eher ungeschickt. Dem stimme ich zu.

Ich denke hier hat Ralf hat meine Twitter-Kommentare evtl. auch etwas überbewertet (140 Zeichen sind natürlich oft auch missverständlich). Ich bin auch nicht dafür, dass alle Entwickler gleichgemacht werden sollen und es überhaupt keinen Lehrer gibt. Ganz im Gegenteil jeder soll sich einbringen, denn selbstverständlich sind immer unterschiedliche Wissengrade im Raum zu finden.

Dass alle etwas beisteuern klappt dann aber nur wenn die erfahreneren Entwickler sich auch mal darauf einlassen einen vorgeschlagenen “Irrweg” mit zu gehen und den Erkenntnisprozess so reifen zu lassen. Abgabe von Kontrolle ist zugegebenermaßen nicht gerade einfach, aber manchmal wird man vielleicht auch als alter Hase noch überrascht werden.

Tags: , ,

Thursday, 5. March 2009


Sample chapter from "Implementing Microsoft Dynamics NAV 2009" published on Navision-blog.de

Filed under: C#,Dynamics NAV 2009,English posts,msu solutions GmbH,Visual Studio — Steffen Forkmann at 14:39 Uhr

Implementing Microsoft® Dynamics™ NAV 2009"Implementing Microsoft Dynamics NAV 2009" is a new book by David Roys (MVP for Dynamics NAV) and Vjekoslav Babic (Dynamics NAV consultant). It shows the new features of Dynamics NAV 2009 in step-by-step explanations of real-world examples.

If you are interested in this book you can read the complete seventh chapter right here on navision-blog.de:

Chapter 6 (“Modifying the System”) is also available for download.

What the book covers

Chapter 1

The purpose of this chapter is a teaser introduction to get you excited about the product, what’s in it in general, and what’s in it as compared to previous versions, to give you a little taste of what’s coming up in the book, and explain what the fuss about this new release is all about.

Chapter 2

The RoleTailored client is the new user interface for users of Microsoft Dynamics NAV 2009, and it is completely different to the pervious versions. We’ll take you through the different components of the interface, introduce the terminology, explore the navigation components and page types, and teach you how to personalize the application to meet your own requirements using the extensive personalization features.

Chapter 3

Microsoft Dynamics NAV 2009 introduces a new paradigm to ERP. Instead of the system being focused on the forms that capture and present data and the functions the user can perform, the system is based around the individuals within an organization, their roles, and the tasks they perform. We cover how Microsoft researched the roles and explore the departments, roles, and tasks that have been identified in the Microsoft Dynamics Customer Model. We also show the reader how to assign the standard roles to users, how to create new roles, and how to allow departmental super users to configure the application for their role so that the change is applied to all users with the same profile.

Chapter 4

Microsoft Dynamics NAV is not a product with a Next-Next-Finish type of installation, and it takes a lengthy project to deploy it successfully. We focus on the six phases of the implementation process, and explain each phase with detailed dos and don’ts for a typical implementation. Based on the Dynamics Sure Step implementation methodology with advice liberally sprinkled throughout, special attention is given to new features of Microsoft Dynamics NAV 2009, and where the new capabilities must be taken into account to make most out of the implementation project.

Chapter 5

Every implementation of Microsoft Dynamics NAV 2009 will require the system to be configured to meet the needs of the business. This chapter tells the implementation consultant how to do this from a core financials perspective and provides valuable information that will allow developers to understand more about the application they are changing. We cover basic accounting for programmers, dimensions, and posting groups, and how to use the Rapid Implementation Methodology (RIM) Toolkit to speed things along.

Chapter 6

Hardly any standard system can fit the needs of a business out of the box. Either the customer must shape their processes to match the system, or the consultant must shape the system to match the processes, and usually the latter prevails. This chapter explains the process of modifying the system, how to design a viable data model, and how to design and develop a functional user interface for both RoleTailored and Classic clients, without writing any code.

Chapter 7

The three-tiered architecture of Microsoft Dynamics NAV 2009 and native Web Services Enablement open up a whole new world of possibilities for NAV implementations. We cover some of the many possibilities for extending the application, allowing the consultant and developer to understand the technologies that are available and their respective design considerations. Our practical examples introduce the NAV programmer to the world of .NET and show how you can use the information available on the internet to develop your own killer .NET add-ons.

Chapter 8

There’s much more to development than programming. It starts with understanding what customer really needs, and usually extends way beyond the system being deployed to a test environment. This chapter focuses on the development phase, and what it takes to get from a concept to a live and working solution.

Chapter 9

After the system goes live, or as it grows, there are periods when new problems may arise, and often their source is far from obvious. This chapter explores the tools and techniques available for detecting problems, pinpointing the source, and helping to remove them from the system quickly and painlessly. It explains how to debug the Service Tier, how to troubleshoot performance issues, what can be done to avoid problems, and how proper planning before design can help to get it right the first time.

Chapter 10

Our sample application focuses on requirements gathering, functional specification creation, solution design, and the eventual build of a prototype. We look at how a business problem can be explored using techniques such as interviewing, use-case modeling, and object-role modeling to create a solution design that can be molded into a working prototype.

If you want to get more information about the book visit: http://www.packtpub.com/implementing-microsoft-dynamics-nav-2009/book

Tags: ,

Sunday, 11. January 2009


Deutsche Add On Module für Dynamics NAV 2009 verfügbar

Filed under: Dynamics NAV 2009,msu solutions GmbH — Steffen Forkmann at 14:26 Uhr

Seit dem 22.12.2008 ist die Add On Datenbank für NAV2009 mit den Modulen Zahlungsverkehr und Kostenrechnung zum Download auf Partnersource verfügbar.

“Dieses Release beinhaltet folgende Dateien:

  • Klassische fdb Datenbank
  • MDF Datenbank für SQL Server
  • Onlinehilfe für den Zahlungsverkehr (DEU und ENU)
  • Changes.doc für Zahlungsverkehr und Kostenrechnung

Hinweis:
Die Objekte für den Zahlungsverkehr beinhalten auch die SEPA Funktionalität.
Die Onlinehilfe für die Kostenrechnung wird umgehend nachgereicht.”

[Quelle Partnersource]

Weitere Links:

Tags: , , ,

Thursday, 16. October 2008


Debugging in Dynamics NAV 2009

Filed under: .NET 3.0,C#,Dynamics NAV 2009,msu solutions GmbH,Visual Studio — Steffen Forkmann at 13:41 Uhr

Claus Lundstrøm zeigt in einem schönen Blogpost wie man in NAV2009 den Code auf Seite der ServiceTier (also auch remote) debuggen kann – und zwar über Visual Studio 2008 direkt im generierten C#-Code. Mit dieser Variante ist man nicht mehr gezwungen das Debugging über den Classic-Client zu tun, sondern kann direkt aus dem Dynamics NAV RoleTailored-Client debuggen.

Dummerweise ist der generierte C#-Code, wie das bei generiertem Code eigentlich immer der Fall ist, nicht gerade “optisch schöner” C#-Style und hat auch nur noch wenig mit dem Original-C/AL-Code zu tun – ist aber immerhin lesbar.

Das ist ein wirklich interessanter Ansatz und erlaubt mit etwas Geschick auch UnitTesting für NAV 2009. Dafür werde ich demnächst mal versuchen ein kleines Beispiel zu bloggen.

Tags: , , , , ,

Friday, 28. March 2008


ServicePack 1 für Microsoft Dynamics NAV 5 verfügbar

Filed under: msu solutions GmbH,Navision — Steffen Forkmann at 23:26 Uhr

Wie Martin und Waldo berichten ist das Service Pack 1 für Dynamics NAV 5.0 ab jetzt für die USA, Deutschland und Dänemark in der PartnerSource downloadbar. Mit Navision 5.01 wurde nun wieder eine ganze Menge in Sachen SQL Server Performanceoptimierungen unternommen.

Es gibt nur einen kleinen Haken: PartnerSource ist bis Montag früh wegen Wartungsarbeiten offline. 🙁

“Our Apologies

From Friday March 28th, 2008 at 6:00pm to Monday, March 31, 2008 at 2:00am CST (GMT -6:00), VOICE, PartnerSource, CustomerSource and Commerce (NBE), CLT systems will be unavailable as they will be down for maintenance.”

Das ist mal innovative Zeitplanung. Erst verkündet man ein neues Release und 2 Stunden später schaltet man einfach die Server ab. 😉

Tags: , ,

Sunday, 16. March 2008


Neuerungen im Service Pack 1 für Microsoft Dynamics NAV 5?

Filed under: Dynamics NAV 2009,msu solutions GmbH,Navision,SQL Server — Steffen Forkmann at 11:27 Uhr

Waldo beschreibt in seinem Convergence Tagebuch die Neuerungen des SP1 für NAV 5. Die wichtigsten Neuerungen sind meiner Meinung nach in den Performance Optimierungen für SQL Server zu finden:

  • Verhinderung des Parameter Sniffing auf dem SQL Server 2005
  • SIFT wird nun über “Indexed Views” abgebildet
  • NAV benutzt nun Bulk Inserts und reduziert damit die Server RoundTrips. Außerdem verschiebt sich das Speichern auf den letzten möglichen Moment einer Transaktion.

Ein interessanter Satz am Ende des Beitrages ist übrigens:

“Keep in mind, if you want to go to the NAV2009 RoleTailored client, you’ll have to upgrade to the latest version (5.0 SP1).”

Der Download wird wie gewohnt über Microsofts PartnerSource-Seite möglich sein.

Nachtrag: Wie Parameter Sniffing im SP 1 verhindert wird, beschreibt Lars Lohndorf-Larsen.

Nachtrag 2: Ein weiterer interessanter Vorteil von SP 1 ist, dass man Datenbankplatz vom SQL Server zurück bekommt. Robert berichtet in seinem Beispiel von einer Reduktion von 65 GB auf 55 GB.

Tags: , , ,

Tuesday, 4. March 2008


Microsoft Dynamics NAV und SharePoint – Buchverlosung

Filed under: .NET 3.0,Dynamics NAV 2009,msu solutions GmbH,Navision — Steffen Forkmann at 15:37 Uhr

Navision-Blog.de verlost zum 18.3. zwei neue und originalverpackte Bücher zum Thema SharePoint-Administration von Microsoft Press. Dabei handelt es sich konkret um:

Microsoft SharePoint-Technologien -Taschenratgeber für Administratoren

Von: Ben Curry – 442 Seiten

SharePoint & Co. – Technologien und Tools im Teamwork – Baukasten für Administratoren und Power User

Von: MindBusiness / HanseVision – 779 Seiten (CD-Rom)

SharePoint SharePoint 2

Da mit Dynamics NAV “6.0” (NAV 2009) mit SharePoint ein zweiter Navision-Client eingeführt werden soll, möchte ich einfach nur wissen, welche Erfahrungen ihr bislang mit Navision + SharePoint gesammelt habt und wie Ihr die Zukunft für diesen NAV-Client seht.
NAV-Daten im SharePoint anzuzeigen geht ja schon eine ganze Weile, aber zukünftig besteht ein vollständiger Zugriff auf die Geschäftslogik von NAV. Ein kurzer Kommentar dazu (mit E-Mail-Adresse) – oder ein Trackback auf diesen Artikel reichen um an der Verlosung teilzunehmen.

PS: Der Rechtsweg ist ausgeschlossen 🙂

Tags: , , , , ,

Sunday, 2. December 2007


Eindrücke vom Microsoft Dynamics Technical Community Airlift – Neuerungen in Dynamics NAV 2009

Filed under: Dynamics NAV 2009,msu solutions GmbH,SQL Server,Veranstaltungen,Visual Studio,WF,WPF — Steffen Forkmann at 19:55 Uhr

Vom 29. und 30. November 2007 fand im Münchner Arabella Sheraton Grand Hotel das 1. Technical Community Airlift zu Microsoft Dynamics statt. Im Wesentlichen ging es um folgende Themen:

  • Microsoft CRM “Titan”
  • Technische Fertigkeiten für Dynamics NAV 5.1
  • Ausblick auf Dynamics AX 5.0
  • Ausblick auf Dynamics NAV 2009 (Codename NAV “6.0”) (Dynamics NAV Server)
  • Microsoft Office und Windows SharePoint Services
  • Business-Intelligence
  • Sure Step, die Implementierungsmethode für Microsoft Dynamics

An dieser Stelle möchte ich gerne etwas über die von mir besuchten Vorträge berichten.

(weiterlesen…)

Tags: , , , , , , , , , , , ,

Friday, 30. November 2007


Microsoft Dynamics NAV 5.0 SP1 – Was gibt es neues?

Filed under: msu solutions GmbH,Navision — Steffen Forkmann at 21:16 Uhr

Da Dynamics NAV “6.0” noch eine Weile auf sich warten lässt, wird es vermutlich im ersten Quartal 2008 ein ServicePack 1 für Dynamics NAV 5.0 geben. Martin Nielander (Microsoft Dynamics NAV Program Manager) schreibt nun im “Microsoft Dynamics NAV Sustained Engineering Team Blog” über die darin enthaltenen Neuerungen.

Hier ein Auszug:

  • SQL-Server Perfomance:
    • SIFT soll im SQL Server über Indexed Views abgebildet werden
    • Bulk Insert” zur Reduzierung der SQL Server Roundtrips
  • Navision-Applikationsänderungen:
    • Anlagenbuchhaltung wird nun auch 365 Tage abschreiben können (statt 360)
    • Am Debitor/Kreditor wird das Saldo-Feld im DrillDown nur Offene Posten anzeigen
    • Das Buchungdatum wird in den Zeilen der gebuchten Belege angezeigt 😉

Der gesamte Artikel ist hier zu finden.

Tags: , ,

Saturday, 3. November 2007


Microsoft Dynamics Technical Community Airlift – Neues von Dynamics NAV 6.0

Filed under: Dynamics NAV 2009,msu solutions GmbH,Navision,TechTalk,Veranstaltungen — Steffen Forkmann at 17:18 Uhr

Das Microsoft Dynamics Technical Community Airlift findet am 29. und 30. November 2007 im Münchner Arabella Sheraton Grand Hotel statt. Voranging geht es bei der zweitägigen Veranstaltung um neue Einblicke in die Dynamics Reihe und speziell auch zu Dynamics NAV “6.0”. Die Agenda der “Luftbrücke” umfasst momentan 8 Vortrage zu Navision – u.a. auch von Jesper Ræbild, der auch schon auf der CONVERGENCE die NAV-Vorträge gehalten hat.

Direkt nach dem Technical Airlift, veranstaltet Microsoft bzw. die Impuls Academy noch eine Zertifizierungsveranstaltung (Certification@Weekend) für Dynamics NAV Consultants und Entwickler.

Der Kurs “Microsoft Dynamics NAV 5.0-C/SIDE Introduction und Solution Development” besteht aus einer eintägigen Zertifizierungsvorbereitung und dem Examen. Die Certification@Weekend findet am Samstag, den 1.12. in München statt.

Nachtrag: Meine Eindrücke vom Event beschreibe ich hier.

Tags: , , , , ,