Posts Tagged ‘BizTalk’

This next posts will focus on installing the BizTalk prerequisites and perform the necessary configuration on BizTalk Server machine.

Before installing BizTalk Server or its prerequisites, make sure you have installed the latest critical Windows updates from Microsoft.

Install Windows Identity Foundation

In the previous step “BizTalk Server 2013 R2: Installation and Configuration – Enable Internet Information Services (Part 2)” I mentioned that we should install the Windows Identity Foundation 3.5 feature, why?

If we plan to use/configure SharePoint Services adapter or SharePoint Online when used with SharePoint Services Client Side Object Model (CSOM), then Windows Identity Foundation (WIF) feature is required.

WIF is required if you are planning to use:

  • SharePoint Services Adapter with CSOM
  • SharePoint Online with CSOM

WIF is not required if you are planning to use:

  • SharePoint Services Adapter Web Service (deprecated)
  • No plan to use SharePoint

Windows Identity Foundation is included with the operating system (Windows Server 2012 R2, Windows Server 2012 and Windows 8.1) as a Feature in Turn Windows features on or off. (If you plan to use Windows 7 SP1 the download is available here Windows Identity Foundation):

If you didn’t previous install WIF then you should following this steps:

  • Start by running the “Server Manager”, if it is not already open, from either:
    • On the Windows taskbar, click the Server Manager button
    • On the Start screen, click Server Manager.
  • Under “Manage” menu, select “Add Roles and Features” (or press “Add roles and features” under the Dashboard panel)
  • On the Before You Begin screen, click “Next”
  • On the Installation Type screen, select “Role-based or Feature-based Installation” and click “Next”
  • On the Server Selection screen, select the appropriate server, leave the default options and click “Next”
  • On the Server Roles screen, click “Next”
  • On the Features screen, select “Windows Identity Foundation 3.5” and click “Next”

15-bts-2013-r2-iis-add-roles-and-features-features-Windows-Identity-Foundation

  • On the Confirmation screen, select “Restart the destination server automatically if required” and click “Install”:

15-bts-2013-r2-iis-add-roles-and-features-features-WIF-confirmation

  • When the installation completes, the wizard reflects the installation status on the Results screen
  • Click “Close” to exit the wizard.
Related links

This next posts will focus on installing the BizTalk prerequisites and perform the necessary configuration on BizTalk Server machine.

Before installing BizTalk Server or its prerequisites, make sure you have installed the latest critical Windows updates from Microsoft.

Enable Internet Information Services

Microsoft Internet Information Services (IIS) provides a Web application infrastructure for many BizTalk Server features. BizTalk Server requires IIS for the following features:

  • HTTP adapter
  • SOAP adapter
  • Windows SharePoint Services adapter
  • Secure Sockets Layer (SSL) encryption
  • BAM Portal
  • EDI
  • UDDI

To install IIS 8.5, use the following steps:

  • Start by running the “Server Manager”, if it is not already open, from either:
    • On the Windows taskbar, click the Server Manager button
    • On the Start screen, click Server Manager.
  • Under “Manage” menu, select “Add Roles and Features” (or press “Add roles and features” under the Dashboard panel)

13-bts-2013-r2-iis-server-manager

  • On the Before You Begin screen, click “Next”

13-bts-2013-r2-iis-add-roles-and-features-before-you-begin

  • On the Installation Type screen, select “Role-based or feature-based installation” and click “Next”

13-bts-2013-r2-iis-add-roles-and-features-installation-type

  • On the Server Selection screen, select the appropriate server, leave the default options and click “Next”
    • Select a server from the server pool
    • local is selected by default

13-bts-2013-r2-Install-IIS-Server-Selection-screen

  • On the Server Roles screen, select “Web Server (IIS)” option
    • If prompted, click “Add Features”, and then click “Next”

13-bts-2013-r2-Install-IIS-Server-Roles-Web-Server-ISS-Add-Roles-and-features-Wizard

13-bts-2013-r2-iis-add-roles-and-features-server-roles

  • On the Features screen, no additional features are needed for IIS, however, in addition to the default values, we will need or should select the following options:
    • .Net Framework 3.5 Features
    • SMTP Server (If prompted, click “Add Features”) – optional
    • Windows Identity Foundation 3.5 – optional: Windows Identity Foundation (WIF) is required for the SharePoint Services adapter or SharePoint Online when used with SharePoint Services Client Side Object Model (CSOM).

13-bts-2013-r2-iis-add-roles-and-features-features.png

15-bts-2013-r2-iis-add-roles-and-features-features-SMTP-Server-Windows-Identity-Foundation

  • Then click “Next”
  • On the Web Server Role (IIS) screen, click “Next”
  • On the Role Services screen under Web Server Role (IIS), we will customize our installation of IIS with the following options:
    • Common HTTP Features
      • Default Document
      • Directory Browsing
      • HTTP Errors
      • Static Content
    • Health and Diagnostics
      • Http Logging
      • Logging Tools
      • ODBC Logging
      • Request Monitor
      • Tracking
    • Performance
      • Static Content Compression
      • Dynamic Content Compression
    • Security
      • Request Filtering
      • Basic Authentication
      • Digest Authentication
      • Windows Authentication
    • Application Development
      • Select all options
  • o Management Tools
      • IIS Management Console
      • IIS 6 Management Compatibility
        • IIS 6 Metabase Compatibility
        • IIS 6 Management Console
        • IIS 6 Scripting Tools
        • IIS 6 WMI Compatibility

15-bts-2013-r2-iis-add-roles-and-features-roles-services

  • Then click “Next”
  • On the Confirmation screen, click “Install”

15-bts-2013-r2-iis-add-roles-and-features-confirmation

  • When the IIS installation completes, the wizard reflects the installation status on the Results screen
  • Click “Close” to exit the wizard.
Running the BAM Portal in a 64-bit Environment

BAMRunning the BAM Portal in a 64-bit Environment Portal runs only runs on a 32-bit mode. If you are using Internet Information Services (IIS) in a 64-bit environment, you must set IIS to 32-bit mode to run the BAM portal. To do this, follow these steps:

  • Open a command prompt as administrator and run the adsutil command.
    • To do this, Press the “Windows key” to switch to the Start screen and type “cmd” on the Start Search box, right-click in “Command Prompt” and select from the context menu the “Run as administrator” option.

15-bts-2013-r2-cmd-run-as-administrator

  • Type the following at the command prompt: cscript c:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
  • Close the command prompt.

Or:

  • Press the “Windows key” to switch to the Start screen.
  • Type “Internet Information Services (IIS) Manager” or “IIS” and click in “Internet Information Services (IIS) Manager” option on Apps menu.
  • Expand the server and click on “Application Pools” to display available application pools in center panel.
  • Right-click on ‘DefaultAppPool’ and select “Advanced Settings”.

15-bts-2013-r2-iis-application-pools

  • Change the value of ‘Enable 32-bit Applications’ from False to True. Click “OK”.

15-bts-2013-r2-iis-application-pools-advanced-settings

Related links

This series of posts will explain in detail – a step-by-step guideline – how to install and configure Microsoft BizTalk Server 2013 R2 on a standalone environment running Windows Server 2012 R2. This information will help you plan the installation and configuration of BizTalk Server 2013 R2, applications and components on which it depends focused on creating a development environment (you can also follow this tutorial to help you create production environments, however if this is the case you need to skip some steps).

Assumptions and out of scope

It will be assumed that the operating system: Windows Server 2012 R2 and latest critical Windows updates from Microsoft already have been installed.

In this scenario it will be performed a full installation of Microsoft BizTalk Server 2013 R2, with the exception of the deprecated SharePoint Adapter (SharePoint Services Service Side Object Model (SSOM)). The following components will be installed:

  • Enterprise Single Sign-On (SSO).
  • BizTalk Group.
  • BizTalk Runtime.
  • Business Rule Engine.
  • BAM Tools and Alerts.
  • BAM Portal.
  • BizTalk EDI/AS2 Runtime
  • Microsoft BizTalk Adapters for Enterprise Applications (BizTalk Adapter Pack)
  • Microsoft UDDI Services
  • Microsoft BizTalk ESB Toolkit

Important considerations before set up the server

There are some important considerations or suggestions, since some of these operations are not mandatory, that we can set before starting the installation and configuration of the server.

As always one of the downsides of dealing with a new versions of Windows Server is figuring out to where some of the features/options have moved in this new release. Fortunately for us, this version is similar or identical to the previous one (Windows Server 2012) making it easier the installation and configuration process.

Join the Local Administrators Group

To be able to install and configure BizTalk Server 2013 R2, you have to log on the server using an administrator account on the local computer.

To add a member to a local group using the Windows interface

  • Press the “Windows key” to switch to the Start screen.
  • Type “Computer Management” and click in “Computer Management” option from the Search menu.

01-bts-2013-r2-Start-Screen-Computer-management-search

  • Right-click the group to which you want to add a member, click “Add to Group”, and then click “Add”.

02-bts-2013-r2-computer-management-add-to-group

  • In the Select Users, Computers, or Groups dialog box, do the following:
    • To add a user account or group account to this group, under “Enter the object names to select”, type the name of the user account or group account that you want to add to the group, and then click “OK”.
    • To add a computer account to this group, click “Object Types”, select the “Computers” check box, and then click “OK”. Under “Enter the object names to select”, type the name of the computer account that you want to add to the group, and then click “OK”.

Note: If you are planning to create a production environment you can see the list Windows user (or service accounts) and group affiliations used by BizTalk Server and some best practices of naming convention here: User and Service Accounts Used in BizTalk Server

Change the Machine name

An important consideration that you take into consideration is: if your computer name is longer than 15 characters, BizTalk Server Configuration will not work.

  • Start by running the “Server Manager”, if it is not already open, from either:
    • On the Windows taskbar, click the Server Manager button
    • On the Start screen, click Server Manager
  • In the Server Manager Dashboard, from the scope pane (on the left side) click on “Local Server”.
  • In the Server Properties for the “Local Server”, click in the “Computer name” property to be able to change it

03-bts-2013-r2-Server-manager-Local-Server-Computer-name

  • Click on the “Change” button to edit computer name and domain information, which will pop up this dialog:

04-bts-2013-r2-Server-manager-Local-Server-Computer-name-system-properties

  • Now you can finally change the name of the computer. You’ll have to reboot after you make this change.

05-bts-2013-r2-Server-manager-Local-Server-change-Computer-name

Disable IPv6 (optional)

IPv6 is the latest address protocol that will eventually replace IPv4. Windows Server 2012 R2 kept this protocol enabled by default, but it is also a fact that IPv6 is not yet common and many software, routers, modems, and other network equipment do not support it yet. So it may be a wise approach to disable it for now. Also by turning off it will facilitate the process of detecting which port certain application are listening.

IPv6 can be disabled either through the “DisabledComponents” registry value or through the check box for the Internet Protocol Version 6 (TCP/IPv6) component in the list of items on the Networking tab for the properties of connections in the Network Connections folder. The following figure shows an example:

06-bts-2013-r2-internet-protocol-version-6

Turn off Internet Explorer Enhanced Security Configuration (optional)

Internet Explorer Enhanced Security Configuration established a configuration for your server and for Microsoft Internet Explorer that decreases the exposure of your server to potential attacks that can occur through Web content and application scripts. As a result, some Web sites may not display or perform as expected.

Important Note: This step is optional and I only suggest to do this in development environments. For some clients this feature can be very important in production environments and they don’t want to disable.

By default, Internet Explorer Enhanced Security Configuration is enabled on Windows Server 2012 R2 and can be configured through Server Manager.

To disable Internet Explorer Enhanced Security Configuration (IE ESC) in Windows Server 2012 R2

    • Start by running the “Server Manager”, if it is not already open, from either:
      • On the Windows taskbar, click the Server Manager button
      • On the Start screen, click Server Manager.

  • In the Server Manager Dashboard, from the scope pane (on the left side) click on “Local Server”.
  • In the Server Properties for the “Local Server”, you’ll see the option for “IE Enhanced Security Configuration”. Click “On” to change the option.

07-bts-2013-r2-disable-Internet-Explorer-Enhanced-Security-Configuration-IE-ESC

  • A dialog box appears, letting Internet Explorer Enhanced Security Configuration be enabled/disable separately for normal users and administrators, turn off both. After disable both options, click “OK”.

07-bts-2013-r2-ie-esc-configuration

  • Click the Refresh button at the top of the Server Manager and the “IE Enhanced Security Configuration” should now show as “Off”
Disable User Account Control (optional)

User Account Control (UAC) is a security component that can help prevent unauthorized changes to your computer and that allows an administrator to enter credentials during a non-administrator’s user session to perform occasional administrative tasks. Whenever you need to configure a Windows Server 2012 R2 settings, even if you are logged on as the administrator – you need elevated privileges – this is by design, and part of the fierce security initiative in Windows Server 2012 R2.  UAC notifies you when changes are going to be made to your computer that require administrator-level permission and before you can complete any administrative task, the User Account Control manager pops-up with a ‘Continue’ message. These types of changes can affect the security of your computer or can affect settings for other people that use the computer.

Important Note: It is recommend that you leave UAC on to help make your computer secure. This step is optional and I only suggest to do this in development environments. For some clients this feature can be very important in production environments and they don’t want to disable.

To Disable User Account Control (UAC):

  • Press the “Windows key” to switch to the Start screen.
  • Type “Change User Account Control Settings” or “UAC” and click in “Change User Account Control Settings” option from the Search menu.

08-bts-2013-r2-disable-User-Account-Control-Settings-UAC

  • Select “Never notify me when…” to disable UAC.

08-bts-2013-r2-uac-settings

Turn Windows Firewall off (optional)

I always advise you to turn Windows Firewall on BizTalk Server development environments unless there are specific reasons for not doing that.

Important Note: This step is option and I only suggest to do this in development environments. For some clients this feature can be very important in production environments and they don’t want to turn off. However, in many scenarios, these machines are not exposed to the outside and even if this occurs, they can be “protected” by the own network infrastructure, and in such cases may not require that the Windows Firewall be turn on.

To turn Windows Firewall off:

  • Press the “Windows key” to switch to the Start screen.
  • Type “Windows Firewall” and click in “Windows Firewall” option from the Search menu.

09-bts-2013-r2-start-screen-Turn-Windows-Firewall-off

  • Select “Turn Windows Firewall on or off” option

09-bts-2013-r2-Windows-Firewall-Turn-Windows-Firewall-on-or-off-option

  • And select the option “Turn off Windows Firewall (not recommended)” in both settings

09-bts-2013-r2-windows-firewall-customize-settings

Configure the Application Event Log

BizTalk Server setup keeps a record of events in the Application Event Log. Depending on the BizTalk Server features installed, the amount of space required in the log may exceed its limit. If the application event log runs out of space during BizTalk Server setup, the installation will fail. To prevent this from happening, you can change the settings in the Application Event Log.

To change settings in the Application Event Log:

  • Press the “Windows key” to switch to the Start screen.
  • Type “Event Viewer” and click in “Event Viewer” option from the Search menu.

10-bts-2013-r2-Start-screen-Event-Viewer

  • In the Event Viewer, expand Windows Logs.
  • Right-click “Application”, and then click “Properties”. This opens the Log Properties dialog box.

10-bts-2013-r2-event-viewer-application

  • To see how much available space your log has, compare the Log Size field with the Maximum log size field.
  • To provide more space in the event log, enter a higher number in the Maximum log size field.
  • To enable overwriting of old events when the log becomes full, select Overwrite events as needed.
  • To clear the log events, click “Clear Log”.

10-bts-2013-r2-event-viewer-application-properties

  • Click “OK”, to close the Event Viewer.
Install Critical Windows Updates

Before installing BizTalk Server or its prerequisites, make sure you have installed the latest critical Windows updates from Microsoft.

To install Windows updates:

  • Press the “Windows key” to switch to the Start screen.
  • Type “Windows Update” and click in “Windows Update” option from the Search menu.

11-bts-2013-r2-Start-screen-Windows-Update

  • Click “Check for updates” and if exist new updates available, install them

12-bts-2013-r2-Control-panel-System-and-security-Windows-Update

  • If prompted, restart your computer

 

Related links

BizTalk is shipped out with a total of 13 SQL Agent jobs. Experienced BizTalk professionals know that all the BizTalk SQL Server Agent jobs except the MessageBox_Message_Cleanup_BizTalkMsgBoxDb job should be enabled and running successfully. Besides this job the other jobs should not be disabled!

However one of the most common and important tools to resolve problems that happens in BizTalk Server is the BizTalk Terminator tool (you can know more about this tool here). Terminator provides the easiest way to resolve most of these issues identified by the Monitor BizTalk Server Job.

Nevertheless, before running the Terminator tool, you must always make sure that:

  • you have a BizTalk Backup of your databases
  • all the BizTalk hosts instances have been stopped,
  • and all BizTalk SQL Agent jobs have been disabled.

Unfortunately, through SQL Server Management Studio console there is no easy way to disable or enable all jobs, forcing us to go one on one to disable or enable them.

disable-BizTalk-SQL-Server-Agent-jobs

This query will disable all the BizTalk SQL Server Agent jobs (including the MessageBox_Message_Cleanup_BizTalkMsgBoxDb):

update msdb.dbo.sysjobs set [enabled] = 0 where [name] = 'Backup BizTalk Server (BizTalkMgmtDb)'
update msdb.dbo.sysjobs set [enabled] = 0 where [name] = 'CleanupBTFExpiredEntriesJob_BizTalkMgmtDb'
update msdb.dbo.sysjobs set [enabled] = 0 where [name] = 'DTA Purge and Archive (BizTalkDTADb)'
...
update msdb.dbo.sysjobs set [enabled] = 0 where [name] = 'TrackedMessages_Copy_BizTalkMsgBoxDb'
update msdb.dbo.sysjobs set [enabled] = 0 where [name] = 'MessageBox_Message_Cleanup_BizTalkMsgBoxDb'

After all the task are complete we need of course to enable and start everything. This query will enable all the BizTalk SQL Server Agent jobs (with the exception of MessageBox_Message_Cleanup_BizTalkMsgBoxDb):

update msdb.dbo.sysjobs set [enabled] = 1 where [name] = 'Backup BizTalk Server (BizTalkMgmtDb)'
update msdb.dbo.sysjobs set [enabled] = 1 where [name] = 'CleanupBTFExpiredEntriesJob_BizTalkMgmtDb'
update msdb.dbo.sysjobs set [enabled] = 1 where [name] = 'DTA Purge and Archive (BizTalkDTADb)'
...
update msdb.dbo.sysjobs set [enabled] = 1 where [name] = 'TrackedMessages_Copy_BizTalkMsgBoxDb'

The SQL queries can be found and download on Microsoft TechNet Gallery:
SQL Query to Disable All BizTalk SQL Server Agent jobs
Microsoft TechNet Gallery

 

SQL Query to Enable All BizTalk SQL Server Agent jobs
Microsoft TechNet Gallery

Probably this will be the first post of a series about “How to take control of your environment”, especially how to take back the control of your environment from the mistakes of developers. And don’t get me wrong I am mainly a developer but I also play the role of the administrator and sometimes I also make mistakes… especially this one that I will talk about.

Who are careful to disable the tracking options for all the artifacts before publish the solution in production environment?

Well I sometimes forget to disable tracks event in orchestration: orchestration start and end, Message send and receive and Shape start and end; and sometimes we actually don’t need to track all this information, they will be there because someone forgot to disable it. Most important this information is only useful for orchestration debugger purpose when things are failing and we always can at any time turn it on for a specific application or orchestration, we don’t need that options active for all the applications.

What’s the implications of these settings being active in production?

“Document tracking can impact performance throughout BizTalk, not just Orchestration. For Orchestration, you should realize that Orchestration Event Tracking is on by default. This is useful during development and testing since Orchestration Events are required for Orchestration Debugger. However, if you do not intend to debug an Orchestration directly in production, you should turn Orchestration Event Tracking off. Orchestration Events are eventually moved to DTA_DEBUGTRACE table in BizTalkDTADB by TDDS. We have seen slow read/writes to this table once it gets large (several hundred thousand rows). What is considered large may vary due to your SQL Server hardware. In the end, if TDDS cannot move data efficiently into BizTalkDTADB, data is accumulated in BizTalkMsgBoxDB. Large MsgBoxDB can cause all of your hosts to slow down, and eventually lead to throttling.“ by Everett Yang (see: Thoughts on Orchestration Performance)

So as BizTalk Server processes more and more data on your system, the BizTalk Tracking (BizTalkDTADb) database may continue to grow in size that can causing poor disk performance.

Should I disable global tracking option?

By default, global tracking is enabled when you install BizTalk Server and if you are having performance issues in your environment that are momentarily addressed by purging the BizTalk tracking database, you may consider turning off global tracking, again momentarily, so that BizTalk stop collecting tracking information. You can accomplish that by modifying the group-level settings:

  • In the BizTalk Server Administration Console, expand BizTalk Server Administration, right-click BizTalk Group, and then click Settings.
  • In the BizTalk Settings Dashboard dialog box, on the Group page, do the following:
    • Disable “Enable group level tracking” option

BizTalk-Settings-Dashboard-Enable-group-level-tracking

However I advise you to do this only cases of emergency when you are having performance issues in production environment otherwise you should left this option enable at all time, why? Because turning off global tracking disables the tracking interceptors for the entire BizTalk Server group, which means, BizTalk Server will not track any events in its tracking tables. And sometimes we need to enable tracking for some artifacts.

So what’s the alternative?

The alternative is to configure for each application in each artifact: orchestrations, schemas, ports … the correct tracking settings. However this is a thankless and unpleasant task, because we have to go into all artifacts, especially in schemas, in order to configure them properly.

The first option to easily accomplish this task is to:

  • Go to the BizTalk Administration Console and Select “All Artifacts”
  • Select “Orchestrations” option and then select all the orchestrations available
  • Click “Tracking…” option in the right panel under “Selected Items” panel

BizTalk-Administration-Console-All-Artifacts-tracking

By configuring the tracking options this will apply for all the selected orchestrations with only one operation. This will works fine for all the artifacts… except schemas! Because in schemas you will need to go one by one.

The second option is using PowerShell script to accomplish this task, you could also do it with C# code but I think that PowerShell is a more familiar language for the administrators or sys admins.

How can I automate this task?

Windows PowerShell is a Windows command-line shell designed especially for system administrators and can be used by BizTalk administrators to help them in automating tasks.

This is a simple script to disable all tracking settings for all the artifacts in your BizTalk Server Environment:

# Disable tracking settings in orchestrations    
$Application.orchestrations | 
%{ $_.Tracking = [Microsoft.BizTalk.ExplorerOM.OrchestrationTrackingTypes]::None }

# Disable tracking settings in Send ports       
$disablePortsTracking = New-Object Microsoft.BizTalk.ExplorerOM.TrackingTypes
$Application.SendPorts | 
%{ $_.Tracking = $disablePortsTracking }

# Disable tracking settings in Receive ports
$Application.ReceivePorts | 
%{ $_.Tracking = $disablePortsTracking }

# Disable tracking settings in pipelines        
$Application.Pipelines | 
%{ $_.Tracking = [Microsoft.BizTalk.ExplorerOM.PipelineTrackingTypes]::None }

# Disable tracking settings in Schemas
$Application.schemas | 
	?{ $_ -ne $null } |
	?{ $_.type -eq "document" } |
	%{ $_.AlwaysTrackAllProperties = $false }

The script can be found and download on Microsoft TechNet Gallery:
BizTalk DevOps: How to Disable Tracking Settings in BizTalk Server Environment (5.7 kB)
Microsoft TechNet Gallery

Exciting news… Version 1.7.0.1 of BizTalk Mapper Extensions UtilityPack for BizTalk Server 2013 is now available!

Project Description

BizTalk Mapper Extensions UtilityPack is a set of libraries with several useful Functoids to include and use it in a map, which will provide an extension of BizTalk Mapper capabilities.

Here’s the change-log for this release:

  • Fixes bugs in the String Replace Functoid
What’s new in this minor version?

This is a minor release of this project that is intended to fix some one minor problem reported in the String Replace Functoid.

It was reported that when trying to be replace a Carriage Return\Line Feed (“\r\n”) inside an element the functoid didn’t work and the reason way this happen is that the XSLT code will translate the string “\r\n” to “\\r\\n”. This release will fix that problem. It may not work for every “special characters” however if you find some more problems you can report them that we will address them.

You can found and download Source Code, Application Binaries and Documentation in CodePlex BizTalk Mapper Extensions UtilityPack home page:

BizTalk Mapper Extensions UtilityPack
CodePlex

 

or from MSDN Code Gallery:

BizTalk Mapper Extensions UtilityPack for BizTalk Server 2013 (628.8 KB)
Microsoft | MSDN Code Gallery

This last few days were quite busy in terms of speaking engagements. In less than 1 months I was invited to speak in 3 events: BizTalk Innovation Day Oslo, LIX Edition of SQLPort Community (Porto – Portugal) and in SQLSaturday #341 – Porto, Portugal.

BizTalk Innovation Day Oslo 2014

The first one was in September 25 – BizTalk Innovation Day Oslo, in which I am also a member of the organization team – BizTalkCrew, this was the third consecutive year that this event was third consecutive year but the first time in Oslo, since the others were held in Stavanger. Around 60 attendees + speakers + event organizers, attended the event especially from Norway and Sweden, 5 Microsoft Integration MVP’s present, 3 Sponsors (Microsoft, Bouvet and BizTalk360) and an incalculable number of networking hours these are some of the numbers that reflect the success of this event. These are some of the numbers that reflect the great success of this event!

BizTalk-Innovation-Day-Oslo-Speakers

This was a special event for me! Because after 1 year and a half of hard work I finally release and public announce my free Book about “BizTalk Mapping Patterns & Best Practices” – a 400-page recipe for BizTalk Developers to develop effective, robust, and organized maps that he has previous announce during the BizTalk Summit 2014, London event.

Sandro-Pereira-announcing-his-book-BizTalk-Innovation-Day-Oslo

You can download it at BizTalk360 website here.

My Session – The new Transform Designer available in BizTalk Services

My session was about the new Transform Designer available in BizTalk Services were I addressed the basic differences between the BizTalk Server Mapper and the new Mapper in BizTalk Services, the challenges present while migrating current BizTalk Server maps and how can this task be accomplished. And of course how can we accomplish some of the basic transformation tasks like grouping, shorting and condition transformations. I end my presentation with a very complex transformation challenger that took me a week to solve: mapping a SAP invoice to an EDI Invoice document and wrapping up with the “the good, the bad and the ugly” features of the new Transform Designer.

Sandro-Pereira-at-BizTalk-Innovation-Day-Oslo-2014Sandro-Pereira-at-BizTalk-Innovation-Day-Oslo-2014-2

You can see the full story of the event here: BizTalk Innovation Day, Oslo – story of the day

 

LIX Encontro da Comunidade SQLPort

The second event was a 20-minute talk in the LIX Edition of SQLPort Community meeting in Porto, Portugal about the Concepts and challenges of Enterprise Integration and how can BizTalk Server and BizTalk Services can address them and help organizations in their needs. An Introduction to BizTalk Server. What is? What does BizTalk do? And an Introduction to BizTalk Services. What is? What does BizTalk Services do?

Sandro-Pereira-speaking-at-LIX-SQLPortSandro-Pereira-speaking-at-LIX-SQLPort-cloud-challengesSandro-Pereira-speaking-at-LIX-SQLPort-Integration

 

SQLSaturday #341 – Porto

This was the fourth time that this conference took place in Portugal, but it was the first time that was held in Porto, so was very proud and honor to be selected by the attendees to speak in my first SQLSaturday and in particular to be in my home town. The event was a great success! 22 sessions divided into three tracks, national and international speakers and despise I don’t have official numbers, more than 200 attendees must have passed by the event during the day.

SQLSaturday-341-Porto-Speakers

My Session – Introduction to Microsoft Azure BizTalk Services

I had the pleasure to speak at SQLSaturday #341 Porto to a bright young audience that never heard about BizTalk Server/Services… Hoping to open the door for a new integration “BizTalk” genius and why not working with me!

Sandro-Pereira-at-SQLSaturday-341-PortoSandro-Pereira-SQLSaturday-341-Porto-2Sandro-Pereira-at-SQLSaturday-341-Porto-3

In this session spoke about the existent functionalities in the new integration services in the cloud: Microsoft Azure BizTalk Services: EAI (Enterprise Application Integration) and EDI (Electronic Data Interchange), the challenges in moving from BizTalk Server to BizTalk Services. And the evolving challenges of Enterprise Integration.

 

I was also honor to represent my company DevScope, gold sponsor of this event, in the awards ceremony session. DevScope has offered an entry to Microsoft Azure Machine Learning Master Class that will be held in November 22 in Porto

Sandro-Pereira-awards-ceremony-sessionSQLSaturday-Attendees

I public announced for the first time that I was working in an eBook about BizTalk Mapping Patterns and Best Practices, and that it would be published for free, this March during BizTalk Summit 2014 London… Well folks, it’s that time to announce that “BizTalk Mapping Patterns and Best Practices” book – a 400-page recipe for BizTalk Developers to develop effective, robust, and organized maps – is now finally available for you to download at BizTalk360 website here.

BizTalk-Mapping-Patterns-And-Best-Practices

The “BizTalk Mapping Patterns and Best Practices” book is a reference guide mainly intended for BizTalk developers to make their day-to-day lives easier. The book offers insights on how maps work, the most common patterns in real time scenarios, and the best practices to carry out transformations and has as technical reviewers Steef-Jan Wiggers, Nino Crudele, Michael Stephenson and José António Silva. I had been working on this over the last one year, and my original idea of publishing these information as a blog changed in the due course to become a white paper, then finally to a “Community eBook” with about 400-pages and contributions from so many people. I need to thanks BizTalk360 to accept the challenge of publishing its first book and make it available to the community and my employer, DevScope, for given me a lot of leverage to spend time writing this book, but also to actively contribute for the community of BizTalk with articles, blog and conferences.

I would also like to thank my fantastic team of Technical Reviewers composed by three Integration MVP’s: Michael Stephenson, Nino Crudele and Steef-Jan Wiggers and for the person responsible for the initial idea: José António Silva. Thank you for accepting the challenger and thank you for the incredible effort and time to increase the quality of the book. And also to my friend Sónia Gomes (http://ideiasaoscaracois.com) for creating this amazing cover for the book.

Key Features
  • Direct Translation Pattern: Simply move data to a different semantic representation without any manipulation or transformation.
  • Data Translation Pattern: Similar to Direct Translation Pattern with additional step of data manipulation or transformation to match the target system format.
  • Content Enricher Pattern: Set up access to an external data source (say, a database) to enhance the message with missing information.
  • Aggregator Pattern: Similar to Content Enricher Pattern; difference in mapping technique. Multiple inbound requests mapped to single outbound request.
  • Content Filter Pattern: Opposite of Content Enricher Pattern; remove unnecessary items from message (even based on condition) and send what is exactly required
  • Splitter Pattern: Opposite of Aggregator Pattern; single inbound request to be mapped to several outbound requests
  • Grouping Pattern: Example – shopping catalogue where items are grouped under categories like Sports, Women Cosmetics, Electronics, Computers, and so on.
  • Sorting Pattern: In most scenarios, Grouping Pattern and Sorting Pattern will be bound together
  • Conditional Pattern: To receive only portion of the data from the message, apply a condition statement to filter the result set at the source.
  • Looping Pattern: For instance, a record in the source system may occur multiple times in the input file. They need to be transformed according to the target system
  • Canonical Data Model Pattern: Ensures loose coupling between applications; if new application is added, only the transformation between the Canonical Data Model has to be created.
  • Name-Value Transformation Pattern: Target system requires a Name-Value Pair (NVP) structure; or the source system has a NVP structure and the target requires a hierarchical schema

Click here to download your free copy of the book.

Why I did not choose a “proper” publisher?

Some people have asked me why I didn’t publish my book in a real proper publisher like Apress, Packt Publishing or others and the reason is simple… I could easily and had the chance to publish but it would be a paid book and what I really wanted was to create and deliver to the community my first book (I don’t know if I will write or not more books) for free as a way to thank you for the affection and support that all of you have given me in the last years.

BizTalk360 was the proper choice because I know the people and I know I could count on them to publish making it available to the community for free and promote the book.

When was the book released?

The book was public announced during the BizTalk Innovation Day, Oslo (Norway) 2014 event and I could not have chosen a better place and audience to present my book because the idea of creating this book started after a session of one of our events: BizTalk Innovation Day Oporto, the venue was really amazing in a kind of nightclub for event (actually MESH is also a nightclub J) and the Norwegian audience is really amazing and I have good friends there.

Here is the moment of the official announcement:

983808_10154679875790215_4831962891112983455_n10712741_10154679875665215_8135613065073045386_n
10639568_10154679875950215_5466833305087056286_n10689790_10154679875865215_4412905719135280171_n

Please give me your feedback

Your opinion is very important to me. I appreciate your feedback and I will use it to evaluate changes and make improvements in the book and future projects.

book-critic

Download the book for free

BizTalk-Mapping-Patterns-Best-Practices-banner

The book if available for you to download for free at BizTalk360 website here: BizTalk Mapping Patterns & Best Practices

I miss the old BizTalk Hotrod Magazine, of my knowledge, there isn’t no other type of magazine about BizTalk Server. And the only thing we have approximately to that is the Flipboard BizTalk Magazine that I have weekly published throughout these last months.

You can find the BizTalkMagazine into Flipboard in in your favorite device Apple (iPhone, iPad), Android, Windows 8, and so on… or simply through the Internet browser at: https://flipboard.com/section/biztalkmagazine-bMJFWI

I start this project because I didn’t have the knowledge and the time required to create a PDF magazine similar to the BizTalk Hotrod Magazine, and Flipboard gave me an easy and simple way to share content in a type of magazine format.

Now it seams a little limited and after all this months I would like to take the magazine to a new level and recreate some of the concept of BizTalk Hotrod magazine, inviting authors to write articles to be published and share other resources like tools, scripts, adapters and so on… probably launching a magazine every month or quarterly.

To try this concept I decided to publish a beta version of the magazine as a proof of concept that now is available for you to download here: BizTalk Magazine – September 2014 Edition – probably the magazine name should be different.

Capture

This first edition contains:

  • BizTalk Innovation Day, Oslo – Norway
  • BizTalk Server 2013: Step-by-Step to implement Unit Testing in Schemas and Maps
  • "INTEGRATE – 2014"– Announcing the Global BizTalk Summit, Microsoft Campus, WA. Dec 3-5, 2014
  • BizTalk Administrator Deep dive course
  • Exposing data through BizTalk Service Hybrid Connections
  • BizTalk Server SQL Agent Jobs

Have a nice read! And If you have any suggestions feel free to comment, your feedback is important.

In the last few weeks I have been doing BizTalk project migrations successfully from BizTalk Server 2006 and Visual Studio 2005 to recent version: BizTalk Server 2010/VS 2010 or BizTalk Server 2013/VS2012. In most of the scenario this is a simple task and regarding to Visual Studio we basically just need to open the “old” solution with the “new” Visual Studio and it will try to convert the solution using the Visual Studio Conversion Wizard tool, check more details in one of my previous post: BizTalk 2010 – Migrate an old BizTalk Visual Studio solution to Visual Studio 2010.

Of course this part is just the Visual Studio project migration, and in some cases we need to make adjustments to our solution.

However recently I face a strange problem when I was trying to convert the Visual Studio solution, every time I tried it gave me the following error:

“Unable to read the project file “…\MyProject.btproj.user”. The project file could not be loaded. Root element is missing.”

The-imported-project-file-could-not-be-loaded-Root-element-is-missing

CAUSE

“*.btproj.user” file. This is a XML file that contains not only the BizTalk deployment Settings but also several personal user settings like References path, test file names and so on.

I’m not sure what did happen with this file while copying the project to the new server, or during it’s time life in the former development server. However when I check the file system for this file I noticed that the file was empty:

MyProject-btproj-user-file

SOLUTION

To solve this problem you just need to delete this User configuration file (*.btproj.user) from the file system and try to import de project or convert the solution again.

BizTalk-Solution-imported-successfully