Metadata-driven Automatic Package Creation with Notes from the field.

Slides:



Advertisements
Similar presentations
Tridion 5.3 Templates.
Advertisements

Oracle SQL Developer Data Modeler 3.0: Technical Overview March 2011.
Microsoft SharePoint 2010 technology for Developers
Introduction to ETL Using Microsoft Tools By Dr. Gabriel.
Technical BI Project Lifecycle
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Microsoft Office Business Scorecard Manager 2005 : Programming Business Intelligence Features John Hooper Service Line Architect Microsoft Corporation.
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
SHARE POINT 2010 TRINAY TECHNOLOGY SOLUTIONS © Copyright Trinay Technology Solutions, 39 Buckland St, #5321 Manchester, CT
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
SQL Server Integration Services (SSIS) Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server (MVP) Microsoft Certified Technology Specialist.
WorkPlace Pro Utilities.
Microsoft Visual Basic 2005: Reloaded Second Edition
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
OFC304 Excel 2003 Overview: XML Support Joseph Chirilov Program Manager.
Do you wish to data load Oracle EBS without programming? Do you wish to extend OAF pages without programming? By Sundar Rathinam Chain-Sys.
SEATTLE BI MEETUP BI & BIG FISH April 2 nd, 2014 Emre Motan.
Data File Access API : Under the Hood Simon Horwith CTO Etrilogy Ltd.
HDNUG 27-March-2007 SQL Server 2005 Suite as a Business Intelligence Solution.
Using SAS® Information Map Studio
© 2008 IBM Corporation ® IBM Cognos Business Viewpoint Miguel Garcia - Solutions Architect.
DTS Conversion to SSIS Conversion Best Practices Mike Davis
Data Management Console Synonym Editor
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
Advanced ETL: Embedding Integration Services Ashvini Sharma Development Lead DAT411 Microsoft Corporation Sergei Ivanov Technical Lead DAT411 Microsoft.
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
Microsoft Dynamics NAV 2009 and Architecture Overview Name Title Microsoft Corporation.
Separating the Interface from the Engine: Creating Custom Add-in Tasks for SAS Enterprise Guide ® Peter Eberhardt Fernwood Consulting Group Inc.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
Ms Dynamics Ax 2012 By Johnkrish. MSD Ax is a Customizable, Multi-language, Multi-Currency ERP Solution. Completely integrated & Web-enabled Supports.
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
Jemini Joseph. About me Working in Microsoft BI field since Mostly consulting in SSIS Worked as programmer in Visual Basic before moving to BI
Easy ETL with Thank you to our AWESOME sponsors!
Developing SQL/Server database in Visual Studio Introducing SQL /Server Data Tools Peter Lu.Net Practices Director Principle Architect Nexient March 19.
Easy ETL with Andrzej Kukuła – Marcin Szeliga –
De Rigueur - Adding Process to Your Business Analytics Environment Diane Hatcher, SAS Institute Inc, Cary, NC Falko Schulz, SAS Institute Australia., Brisbane,
Biml Recipes: Automatically Create T-SQL Scripts for Common Tasks
SSIS 2012: The Quiet Revolution Presented by Bryan Cafferky Business Intelligence Consultant BPC Global Solutions LLC
Template Package  Presented by G.Nagaraju.  What is Template Package?  Why we use Template Package?  Where we use Template Package?  How we create.
Building Your ETL Framework with Biml Meagan Longoria March 19, 2016.
Advanced BIML topics Be a W.I.S.E. A.S.S. Me ! Self-employed BI consultant Author Trainer MCT
An Introduction to the magical world of BIML!
Introduction ITEC 420.
Building Enterprise Applications Using Visual Studio®
Managing, Storing, and Executing DTS Packages
BIML: Step by Step Julie Smith.
What’s new in SQL Server 2017 for BI?
Andrzej Kukuła Easy ETL with and SSIS.
Populating a Data Warehouse
Populating a Data Warehouse
Populating a Data Warehouse
Simon Kingaby #SimonKingaby
Matt Masson Software Development Engineer Microsoft Corporation
Populating a Data Warehouse
Populating a Data Warehouse
Orchestration and data movement with Azure Data Factory v2
Populating a Data Warehouse
SSIS Deployment Smackdown!
SSIS Deployment Smackdown!
ETL Automation using Biml
Orchestration and data movement with Azure Data Factory v2
SSIS Data Integration Data Warehouse Acceleration
SSIS Data Integration Data Warehouse Acceleration
Mark Quirk Head of Technology Developer & Platform Group
9/8/ :03 PM © 2006 Microsoft Corporation. All rights reserved.
SSIS Data Integration Data Warehouse Acceleration
Optimizing the ETL Development process using BIML
Presentation transcript:

Metadata-driven Automatic Package Creation with Notes from the field

Sponsors

Andrzej Kukuła  20 years of professional experience in IT  Microsoft Certified Solutions Expert: Data Platform  Performance tuning, troubleshooting  Biml Expert  System Architect  C#, F# Developer by heart  Long-time Contributor to pymssql project  Passionate about many aspects of IT world 

Marcin Szeliga  Data Philosopher  BI Expert and Consultant  Data Platform Architect  20 years of experience with SQL Server  Ph.D. Candidate at Politechnika Śląska 

Agenda  Problems with SSIS  Introduction to Biml  BimlScript  Code generation  RootNode  Code Reuse  Annotations  LogicalDisplayFolder  Demos  ObjectTags  Extending Biml object model  Summary

SSIS and its problems  Manual package creation using visual editor + drag & drop  Slow, boring, error prone  Not adaptable to requirements (think about changing logic in 10/100/… packages)  Not developer-friendly  Not generic  Version control is hardly possible  No easy API  No code templates/design patterns/DRY  No CI/CD

Enter

What’s Biml?  Business Intelligence Markup Language  A really easy XML-based language to describe BI assets  Connections, Tables, Views  SSIS Packages, SSIS Projects  Dimensions, Measure Groups, Cubes  and more…  Smart default values and behavior  Don’t bother with metadata (most of the time)  Easy to integrate with VC (TFS, Git, and more)  Document your BI solution Demo!

Example Biml elements

Biml and BimlScript  Biml = XML Domain Specific Language  BimlScript = Biml + C# code nuggets  called template Demo!

BimlScript  We have full power of.NET at our disposal  Execute code during compilation  Read files  Access remote data  Even create database objects (e.g. semi-temporary tables)  Compilation is just automation of SSIS  The same rules apply  Objects must exist in database to be able to create SSIS metadata and mappings

Biml and BimlScript  Biml is compiled to DTSX + DTProj  Can be directly opened in SSDT-BI (BIDS)  Execution using DTExec / SSISDB / SSDT  No additional runtime license required for package user

BimlScript  First, BimlScript is expanded to Biml  Then Biml is compiled to DTSX

BimlScript  Expansion is ordered by tiers  Source file with BimlScript is called template  Template of tier x see all Biml code with tier x-1  BimlScript compiler will automatically detect dependencies between templates

Code generation Biml + BimlScript source files C#/VB compiler BimlScript expansion to Biml Population of in-memory Object Model Single, in-memory, expanded, compiled and merged Biml Code generator …

Code generation  Packages can also be generated for assets  database/schema/table, …  In practice it’s better to roll out custom package which takes care of this  There’s GetDropAndCreateDdl() method to help

RootNode  a.NET object which represents all assets and metadata  Populated during parsing of Biml files  Useful in BimlScript  Allows creation of very dynamic solution  RootNode.Connections  RootNode.Databases  RootNode.Tables  RootNode.Packages  and many many more – inspect it in Intellisense

RootNode  The model of all assets in the project (how we want the database and packages to look like)  Read/write RootNode

Code Reuse  Can be used anywhere in Biml file  Expands file given in argument and return expanded Biml  Can specify additional arguments

Code Reuse  Include or copy specified Biml file, or resource, before current file

Code Reuse  Included file can be normal template or declaration scope:

Complete demo  Complete ETL solution  Static and dynamic tables  Extended properties as a metadata source  Execute SQL during BimlScript expansion  LogicalDisplayFolder as a metadata source  Conditional logic  Type conversion on the fly  Nonstandard column mapping  Master package  Dynamic package project  Tiers Demo!

Annotations   Lightweight metadata  Annotations can associate any string data with any asset, statically or programmatically  Annotations can be assigned to connections, tables, columns, packages, tasks, …  Can be used to customize packages even more

Example use case of annotations  Import SQL extended properties to annotations during import of source objects  Can be used to add automatic data conversion during package creation  Most popular application - custom date values (integer) -> proper DateTime data type  Set using AddAnnotation() method  Read using GetTag()

LogicalDisplayFolder  Logical separation of assets  E.g. „Source” versus „Stage”  Can be set/read programmatically  Visible in IDE

Source object types - digression  Views in custom schema, e.g. BI.Person  Isolation  Doesn’t need to modify production objects  Can be in different database than production on the same instance (if absolutely no modification of production is allowed)  Abstraction  Rename columns  Convert data, create new columns  Model data – e.g. join with other sources  Filter data  Add extended properties  Security  Dedicated ETL user can be granted access only to views in this schema, doesn’t need access to underlying tables

Separation of duties  External metadata  Business analysts don’t touch the packages  Programmers don’t model the business  Easy storage  MDS – Excel client!  Extended properties  custom

Another demo  Storage of connection strings and other metadata outside of project  Here in SQL, but can also be in MDS  Dynamic source to stage object mapping with on-the-fly rename  Dynamic creation of source objects and stage tables in Biml  Package to create stage tables automatically Demo!

Extending BimlScript object model  Contains plain C# code (no templating)  Can interact with Biml object model  Can use extended methods  Can define new classes  Subclass original Biml classes to change/extend their behavior

ObjectTag  Property of all BimlScript.NET objects  Connections, tables, columns, packages, tasks, and more  Accessed only programmatically from BimlScript  Very convenient and extensible object storage  Can extend builtin Biml properties Demo!

MSBuild  Batch builds from command line/a tool  CI/CD pipeline is possible  Generated SSIS projects can be deployed using PowerShell, XCOPY/RoboCopy Demo!

More features  Transformers and „Frameworks”  Ability to change the way how code is generated  Ability to „reverse engineer” DTSX packages into Biml  Ability to write custom code generators

How to benefit it?  BI Project Decision Makers  Faster initial delivery  Lower cost of change  Immediate Biml/Mist ROI  BI Architects  Reusable Design Patterns with Biml/BimlScript  One project compatible with SQL Server  Easily manage large BI code base, tasks, and issues using TFS  Plan for BI Continuous Integration/Continuous Delivery

How to benefit it?  ETL developers  Fast Biml learning curve  Generate your DTSX faster with Biml instead of drag’n’drop  Embrace DRY in BI development  Use proper version control to manage your sources  BI consultants  Increased productivity  Build your Biml/BimlScript code library and reuse it in different projects  No runtime license costs for customers

Sponsors

Questions?