Business Intelligence Markup Language (Biml) es un dialecto XML específico del dominio para definir activos de inteligencia empresarial (BI). Los activos de BI creados por Biml pueden ser utilizados actualmente por el complemento BIDS Helper para Microsoft SQL Server Business Intelligence Development Studio (BIDS) y el entorno de desarrollo integrado Varigence Mist (ahora llamado BimlStudio) ; Ambas herramientas traducen metadatos Biml en activos de SQL Server Integration Services (SSIS) y SQL Server Analysis Services (SSAS) para Microsoft SQL Server.plataforma. Sin embargo, se pueden crear emisores para compilar Biml para cualquier plataforma de BI deseada.
![]() | |
Diseñada por | Scott Currie [1] |
---|---|
Desarrollador | Varigencia [1] |
Apareció por primera vez | 2008 [1] |
Lanzamiento estable | 3.0 / 1 de noviembre de 2012 |
SO | Microsoft Windows |
Extensiones de nombre de archivo | .biml |
Sitio web | www |
Implementaciones importantes | |
Mist IDE, ayudante de BIDS [2] |
Si bien el diseño declarativo de Biml es suficiente para crear activos de BI, BimlScript amplía el lenguaje al permitir que los autores incrusten código C # o VB.NET dentro de Biml, de manera similar a cómo ASP.NET incluye código .NET dentro del marcado HTML estático . [3] BimlScript se utiliza para fusionar cambios en activos Biml existentes, generar automáticamente código Biml y aplicar cambios en varios archivos Biml durante la compilación.
Historia
Biml
Biml es un dialecto XML que especifica todos los aspectos de una solución de BI, incluidos modelos relacionales, paquetes de transformación de datos, modelos multidimensionales y modelos tabulares.
A diferencia de otras soluciones de BI, Biml tiene una filosofía de "escribir una vez, apuntar a cualquier plataforma". Esto permite a los usuarios de Biml cambiar su plataforma de destino sin necesidad de cambiar su código. Actualmente, Biml apunta a las versiones 2005, 2008, 2008 R2, 2012 y 2014 de SQL Server, emitiendo paquetes SSIS y cubos SSAS.
Dado que Biml es XML, puede aprovechar el vasto ecosistema de herramientas para lenguajes basados en XML. Esto también lo hace legible / escribible por humanos, por lo que es más fácil de editar a mano que los archivos SSIS / SSAS que genera.
A finales de 2009, Biml se amplió con BimlScript. BimlScript permite que los nuggets de código C # o VB.NET se incrusten directamente en Biml. El objetivo de BimlScript es automatizar el trabajo repetitivo en scripts reutilizables. Además, se ha utilizado para automatizar la generación de paquetes y crear patrones reutilizables para tareas de BI. BimlScript también se utiliza para tomar metadatos de varias fuentes (estructura de base de datos relacional, datos relacionales, archivos planos, anotaciones, etc.) y generar automáticamente código Biml a partir de ellos.
Neblina
Mist es un IDE para la creación de código Biml y la creación de activos de BI. Mist aprovecha las capacidades de diseño visual y las funciones de depuración para editar simultáneamente modelos completos de inteligencia empresarial, incluidas tablas relacionales, paquetes SSIS y cubos . [1] Mist también incorpora características IDE de programación modernas, incluidos editores de texto con resaltado de sintaxis, Intelliprompt y pantallas de información rápida, integración de control de fuente y compatibilidad con varios monitores.
Ayudante de BIDS
A medida que la popularidad de Biml ha crecido, se han contribuido partes clave del motor Biml, incluida la generación dinámica de paquetes, al proyecto de código abierto BIDS Helper alojado en CodePlex. [2] [4]
Comunidad BimlScript
BimlScript.com es un sitio web comunitario para desarrollar y compartir soluciones Biml para problemas de BI y contribuir con contenido Biml para compartir con otros. Junto con tutoriales, tutoriales y videos, el sitio proporciona un editor Biml en línea. [5]
Codigo de GENERACION
Los archivos Biml se compilan para producir activos de BI para una plataforma elegida. Actualmente, es posible generar activos para las plataformas SSIS, SSAS y SQL Server de Microsoft, para las versiones 2005, 2008 (R2), 2012 y 2014. Es posible que otras plataformas estén dirigidas en el futuro.
Sintaxis
Biml tiene una sintaxis común a todos los lenguajes XML. Las etiquetas comienzan y terminan con
Biml
Declaración
Los documentos Biml comienzan con una declaración común
xmlns = "http://schemas.varigence.com/biml.xsd" >
Tipos de raíces
Biml tiene un conjunto bien definido de tipos de raíz, que indican los distintos tipos de activos de BI que se pueden crear.
- Conexiones
- Bases de datos
- Esquemas
- Mesas
- Dimensiones
- Hechos
- Paquetes
- Formatos de archivo
- Proyectos de guión
- Cubos
- Directores
Ejemplo
Este es un ejemplo de la tabla AdventureWorks DimCurrency, creada en Biml
xmlns = "http://schemas.varigence.com/biml.xsd" > Name = "DimCurrency" SchemaName = "Target.dbo" AttributeAllMemberName = "Todas las monedas de origen" DimensionType = "Moneda" FriendlyName = "moneda" > Name = "CurrencyKey" /> Name = "CurrencyAlternateKey" Tipo de datos = "StringFixedLength" Longitud = "3" /> Name = "CurrencyName" Tipo de datos = "String" longitud = "50" /> Name = "IK_DimCurrency" > ColumnName = "CurrencyKey" /> Name = "AK_DimCurrency_CurrencyAlternateKey" > ColumnName = "CurrencyAlternateKey" /> Name = "Moneda de origen" EstimatedCount = "101" OrderBy = "Nombre" AttributeType = "CurrencySource" GroupingBehavior = "DiscourageGrouping" > DropDown ColumnName = "CurrencyName" NullProcessing = "Error" /> Name = "Código de moneda de origen" EstimatedCount = "105" OrderBy = "Name" AttributeType = "CurrencyIsoCode" Usage = "Key" GroupingBehavior = "DiscourageGrouping" > DropDown ColumnName = "CurrencyKey" NullProcessing = "Error" /> ColumnName = "CurrencyAlternateKey" /> Name = "Moneda de origen" ParentAttributeName = "Fuente Código de moneda " ChildAttributeName = " Moneda de origen " Tipo = " Rigid " />
BimlScript
Todas las etiquetas de BimlScript comienzan y terminan con delimitadores <# y #>, respectivamente. Los tipos especiales de etiquetas BimlScript utilizan versiones aumentadas de estos delimitadores para indicar usos específicos.
Directivas
Un archivo Biml, con BimlScript, comienza con al menos una directiva. Las directivas proporcionan instrucciones al motor Biml, con respecto a cómo procesar el BimlScript y generar su Biml. Las directivas son etiquetas únicas que comienzan con <# @. Cada directiva comienza con un solo término, seguido de atributos que proporcionan los valores requeridos.
Las dos directivas más comunes son plantilla e importación.
Plantilla
Esta directiva indica que BimlScript del archivo usa el lenguaje de programación C #.
< # @ template language = "C #" #>
Importar
Esta directiva especifica los espacios de nombres .NET que se deben importar para el archivo. Es funcionalmente equivalente a la instrucción using de C # o la instrucción VB.NET Imports.
< # @ import namespace = "Varigence.Languages.Biml.Connection" #>
Delimitadores
Al crear BimlScript, se pueden utilizar delimitadores adicionales. Estos delimitadores coinciden con el comportamiento de los delimitadores de plantilla T4.
Delimitador | Descripción |
---|---|
<# | Define declaraciones, en código .NET, que proporcionan flujo de control en un archivo Biml. |
<# = | Evalúa el código .NET, lo convierte en una cadena y luego lo incrusta en el archivo Biml. |
<# + | Define propiedades, métodos y archivos que están excluidos del archivo Biml pero que otros nuggets de código BimlScript pueden acceder a ellos. |
Ejemplo
Este ejemplo de BimlScript importa los activos de una base de datos a través de una conexión, declarada en un archivo separado, llamado "AdventureWorksLT". Cada esquema y tabla de la base de datos importada se incrusta directamente en las colecciones Schemas y Tables, respectivamente.
< # @ template language = "C #" hostspecific = "True" tier = "2" #> < # @ import namespace = "Varigence.Languages.Biml.Connection" #> < # @ import namespace = "Varigence.Hadron.Extensions "#> < # @ import namespace =" Varigence.Hadron.Extensions.SchemaManagement "#> < # @ import namespace =" Varigence.Hadron.CoreLowerer.SchemaManagement "#>< # + resultados de ImportResults públicos{ obtener { return ((AstOleDbConnectionNode) RootNode.Connections ["AdventureWorksLT"]). ImportDB (); }}#> xmlns = "http://schemas.varigence.com/biml.xsd" > < Nombre de la base de datos = "MyDatabase" ConnectionName = "AdventureWorksLT" /> < # = Results.SchemaNodes .GetBiml () #> < # = Results.TableNodes.GetBiml () #>
Este ejemplo muestra cómo los desarrolladores pueden usar Biml y BimlScript para:
- Importe esquemas y tablas directamente desde una base de datos y utilícelos sin necesidad de copiar manualmente su estructura.
- Haga que cualquier cambio en los activos se refleje automáticamente la próxima vez que se ejecute este código.
- Importe los activos y conviértalos a Biml utilizando solo dos líneas simples de código.
Referencias
- ^ a b c d Leonard, Andy; Masson, Matt; Mitchell, Tim; Moss, Jessica; Ufford, Michelle (2012). "Capítulo 17: Lenguaje de marcado de inteligencia empresarial". Patrones de diseño de SQL Server 2012 Integration Services . APulse. pag. 456. ISBN 978-1430237716.
- ^ a b Tok, Wee-Hyong; Parida, Rakesh; Masson, Matt; Ding, Xiaoning; Sivashanmugam, Kaarthik (2012). Servicios de integración de Microsoft SQL Server 2012 . O'Reilly Media, Inc. pág. 511. ISBN 978-0735665859.
- ^ Chenn, Ronen (16 de mayo de 2011). "Nuevas funcionalidades de BIDS helper (abril de 2011)" . Inteligencia empresarial, tecnología, pensamientos, pensamiento . Consultado el 1 de octubre de 2012 .
- ^ Welch, John (7 de junio de 2011). "Generador de paquetes Biml" . Ayudante de BIDS . Consultado el 30 de septiembre de 2011 .
- ^ "Bienvenido a BimlScript.com" . BimlScript.com . Consultado el 4 de octubre de 2012 .
enlaces externos
- bimlscript.com - comunidad en línea de Biml
- BIDS Helper : extensión de Microsoft SQL Server con capacidades Biml
- Referencia de lenguaje Biml - por Varigence Corporation
- Microsoft SQL Server : más información sobre la plataforma Microsoft SQL Server.
- Tutorial de Mist : ejemplos de Biml con el IDE de Mist