BIMLScript

imageIn meiner 6-teiligen BIML Serie hatte ich bereits einmal die Sprache BIML – Business Intelligence Markup Language – kurz vorgestellt.

BIML wird von der Firma Varigence entwickelt und vorangetrieben. Relativ schnell und einfach lassen sich mit BIML nicht nur Templates, sondern auch vollständige und komplexe SSIS Pakete in einer recht gut lesbaren Markup Sprache entwickeln. Zusätzlich kann BIMLScript (C# oder VB.NET) in BIML integriert werden, ähnlich wie bei ASP.NET mit HTML und einer .NET Sprache. Hierdurch können mit wenigen Zeilen Code automatisiert viele verschiedene Pakete generiert werden. Mit dem BIDS Helper (Dokumentation: Biml Package Generator) können innerhalb des BIDS – sowie innerhalb der SQL Server Data Tools – BIMLScript geschrieben und daraus auch vollständige Pakete generiert werden.

<Biml xmlns="http://schemas.varigence.com/biml.xsd">    
   <Connections>        
      <SmtpConnection 
         Name="SmtpServerConnection" 
         SmtpServer="smtp.yourcompany.com" 
         EnableSsl="true" />    
   </Connections>    
   <Packages>        
      <Package Name="FailureNotifier" ConstraintMode="Parallel">            
         <Tasks>                
            <SendMail                    
              Name="Send Failure Mail Task"                    
              ConnectionName="SmtpServerConnection"                    
              FromLine="user@yourcompany.com"                    
              ToLine="admin@yourcompany.com"                    
              Subject="There is a problem"                    
              Priority="High">                    
              <DirectInput>
                 A package has unexpectedly failed! Please investigate.
              </DirectInput>                
            </SendMail>            
         </Tasks>        
      </Package>    
   </Packages>
</Biml>

Auf der Seite BIMLScript.com wird nun ein Portal zum Thema BIML Script betrieben, auf dem sich neben einigen Tutorials vor allem auch Snippets finden, mit denen man einen sehr guten Einstieg in die Sprache bekommt. Das obige Beispiel zum versenden einer Email innerhalb eines SSIS Paketes kommt von dieser Seite. Aber auch das Erstellen umfangreicherer Pakete wird auf der Seite anhand einiger Snippets sehr gut gezeit. So wird mit dem Snippet BigData: Reading a RSS feed zum Beispiel per BIML ein vollständiger RSS Reader als SSIS Paket realisiert.

Als zusätzliche Funktion bietet die Seite einen kleinen Silverlight Client, mit dem direkt im Browser inkl. Intellisense gescriptet werden kann.

image
Wer die Intellisense Funktion des Silverlight Client innerhalb des BIDS/SSDT nutzen möchte, der findet dafür auf der Seite unter anderem auch verschiedene XSD Dateien für BIDS 2005, BIDS 2008 und SSDT 2012 zum Download.

Umfangreiche BIML Beispiele sind im Übrigen auch im BLOG BIML 101 von John Minkjan zu finden.