Installing Windows Azure BizTalk Services SDK

 

This is just a simple step by step guide to help you understand how to install the Windows Azure BizTalk Services SDK and what are the key components.

Downloading the SDK Files

You can download the SDK from this location:

http://www.microsoft.com/en-us/download/details.aspx?id=39087

image

If you plan to use EDI integrations, then you need to select the file MicrosoftEdiXSDTemplates.zip

 

The Tools.zip File

This is an interesting file that contains two important tools if you are already using BizTalk Server on premise

  1. BTM Migration Tool: The BTM to TRFM convertor is a command line tool which takes inputs as BTM File (BizTalk on premise map format), input and output schemas and produces the new mapper (.trfm) file as an output (BizTalk Services map format)
  2. TPM Migration Tool: The trading partner data migration tool migrates partner and agreement settings from BizTalk Server 201x to Windows Azure BizTalk Services.

 

Installing the Windows Azure SDK

  1. Before installing, make sure that Visual Studio is not open, because  the installation will fail like this:

    image

  2. Run the WindowsAzureBizTalkServicesSetup.exe

    image

  3. Accept the terms and click Next
  4. Select Tools (Basically PowerShell cmdlets) and RunTime (if you plan to use LOB adapters, then you need to install this)

    image

  5. Review the summary section and click on Install

    image

  6. After several minutos like 5 to 10, you will see the BizTalk Adapter Service Setup Wizard:

    image

  7. Click Next, accept the terms
  8. Choose the appropiated Identity management for the BizTalk adapter application pool.The BizTalk Adapter Service application pool in IIS is created and executes as this identity

    image

  9.  

  10. In Azure BizTalk Services Deployment Details, provide the BizTalk Services deployment URL, and select Next.
    This URL is used to ascertain the artifact store associated with your BizTalk Services subscription. The configuration settings for BizTalk Adapter Service components you create, such as LOB Relays and LOB Targets, are stored in the artifact store.

    image

  11.  

  12. Select the certificate bindings for the BizTalk Adapter Service website and select Next.
  • Use SSL to secure the management service: Select this option to encrypt the HTTP requests with SSL.
  • Select an existing SSL certificate: Select this option to select an existing certificate from the Certificates personal store. The certificate should be from a trusted certificate authority.
  • Port: Enter the port number for the BizTalk Adapter Service website. By default, port 8080 is specified. Confirm the port is open in your firewall.

    image

  • Note that in my case i have disabled SSL to simplify development.
  • Click Next and then Install.
  • After a couple of minutes, you will be ready to create you first Windows Azure BizTalk Service integration
  •  

    Ready to go! Good Luck in this new world! Sonrisa

     

    Main Source: http://msdn.microsoft.com/en-us/library/azure/hh689760.aspx

    Adelaide workshop on learning technolgoy

    image

    We’re running a workshop for teachers and school leaders in Adelaide in late November, and based on feedback from previous events, I can recommend it as a great way to get up to speed with ideas for how the technology already in your classroom can help boost teaching and learning (plus there’ll be new ideas with new technology too!).

    Not in Adelaide? There will be others around the country, so I’ll keep my eyes open for the list as it’s published.

    Workshop the latest technologies for learning

    Students learning on their own smartphones and tablets and in the cloud. Schools managing their own data and technology platforms. With so much changing in your school, deciding what’s right for your students takes careful consideration.

    Talk through the issues and explore new technologies in this practical hands-on workshop, guided by experienced educationalist and Microsoft Education Master Trainer Pip Cleaves.

    She’ll help you wrap your head around new thinking using Microsoft technologies in your classroom, with proven approaches and the latest devices. Workshops are complimentary and devices are provided so you can experience Windows 8 and Office 365 in action

    You’ll get the chance to meet Microsoft’s latest tablet: the Surface Pro 3 and see how you can use it to fire up new learning experiences at your school.

    Agenda

    8:30am Register and get your device
    (Good news: It’s a hands-on workshop. Bad news: you only get to borrow the device for the workshop, not take it away Sad smile)
    9:00 – 9:45 Why does technology matter and why should your school care?
    9:45 – 10:45 Hands-on: Windows 8 devices
    10:45 – 11:00 Morning tea
    11:00 – 12:00pm Collaboration, creation and problem solving using Office 365
    12:00 – 12:30 Lunch
    12:30 – 1:45 Hands-on: Office 365
    1:45 – 2:00 Preview: Microsoft Surface Pro 3
    2:00 – 2:30pm Q&A, next steps

    About the facilitator

     

    Pip Cleaves is well known to many in NSW Department of Education & Communities for her work as a teacher and professional learning consultant in the Hunter Central Coast Region and State Offices for both the Digital Education Revolution 1-to-1 Laptop program and the Connected Classrooms Program. She is also a Microsoft Peer Coach Master Trainer, Adobe Education Leader and Microsoft 21st Century Learning Design Master Facilitator.  Through her company Design | Learn | Empower, Pip continues her journey to support schools, teachers and students to integrate 21st century skills and technology into their learning.

    Date and venue

    Tuesday 25 November: Education Development Centre, Milner Street, Hindmarsh

    Make a dateMake a date: Find out more, and register

    Un kit d’outils de découverte des sites d’entreprise pour Internet Explorer 11

    Nous annonçons aujourd’hui l’arrivée d’une nouvelle fonctionnalité pour Internet Explorer 11, qui permet aux professionnels de l’informatique de découvrir les applications professionnelles qui jouent un rôle réellement stratégique au sein de l’entreprise et qui sont le plus fréquemment exploitées par les utilisateurs. Associé au mode Entreprise, ce kit d’outils permet de simplifier les mises à niveau d’entreprise. Téléchargez dès aujourd’hui le kit d’outils de découverte des sites d’entreprise pour Internet Explorer 11 et consultez des informations supplémentaires à ce sujet, en accédant à Technet.

    La mise à niveau vers la toute dernière version de Windows entraîne généralement la nécessité, pour les entreprises, de tester de manière approfondie la compatibilité de leurs applications professionnelles avec la version la plus récente d’Internet Explorer. Or, cela peut s’avérer délicat, car les responsables ne sont pas forcément à même d’identifier les applications professionnelles internes qui s’avèrent stratégiques et qui sont le plus fréquemment utilisées par les employés. Bien souvent, les professionnels de l’informatique doivent tester toutes les applications internes, même celles qui ne sont pas nécessairement utilisées. Cela peut s’avérer aussi coûteux que fastidieux. En plus du processus de test, il peut être difficile de corriger les problèmes de compatibilité sans disposer d’informations suffisantes sur le type de conception de l’application.

    Le kit d’outils de découverte des sites d’entreprise permet aux professionnels de l’informatique de mieux comprendre les habitudes des employés en matière d’utilisation d’Internet Explorer 11. À partir d’Internet Explorer 11, il assure la collecte d’informations sur l’ensemble des sites que visitent les utilisateurs, afin de créer une liste des sites consultés dans l’entreprise. Ces informations permettent aux professionnels de l’informatique de savoir pour quelle application exécuter en priorité un test de compatibilité avec Internet Explorer. Ce kit d’outils propose des informations supplémentaires sur la conception du site et son utilisation par Internet Explorer. Vous pouvez exploiter ces données pour remplir la liste de sites en mode Entreprise, afin de corriger les problèmes de compatibilité des sites critiques.

    Quelles sont les informations collectées ?

    Par défaut, la collecte de données est désactivée. Lorsqu’elle est active, les données sont collectées sur l’ensemble des sites auxquels les utilisateurs ont accédé via Internet Explorer 11. L’opération est effectuée entre chaque événement de navigation ; les données sont associées à l’adresse URL visitée, indiquée ici. L’impact de cette collecte sur les performances d’Internet Explorer est négligeable.

    Données collectées lors de chaque événement de navigation

    Que faire de ces données ? Le kit d’outils de découverte offre aux professionnels de l’informatique une vision précise de l’utilisation d’Internet Explorer lors du déploiement, en fonction des données concrètes fournies par les utilisateurs. Cela permet de répondre à de nombreuses questions, parmi lesquelles :

    • Quels sites sont le plus fréquemment consultés par les utilisateurs ?
    • Dans quel mode de document la page se charge-t-elle ? Comment ce mode a-t-il été sélectionné ?
    • Sur quels sites les contrôles ActiveX sont-ils utilisés ? À quelle fréquence ?
    • Quels sont les sites qui rencontrent des pannes ou des blocages lorsque les utilisateurs y accèdent ?
    • Certains sites devraient-ils être retirés de la liste Sites de confiance ?
    • Certains sites devraient-ils être ajoutés ou supprimés de la liste de sites en mode Entreprise ?

    Comment les professionnels de l’informatique peuvent-ils se familiariser avec l’utilisation de ce kit d’outils de découverte de sites ?

    Nous sommes fiers de présenter ce kit d’outils. Nous vous invitons à le tester, à appliquer la fonction de collection de données et à l’exploiter au mieux de ses possibilités. N’hésitez pas à nous faire part de vos commentaires sur @IEDevChat ou via Connect. – Deen King-Smith, chef de projet, Internet Explorer

    Issues with Application Insights Usage Reports 10/30–Mitigated

    Final update:  10/31/2014 02:25 UTC

    Extended monitoring has revealed all Application Insights services operating within expected parameters.  We are not expecting a recurrence.

    We apologize for any inconvenience this may have caused.

    Application Insights Service Delivery Team

    ———-

    Update: 10/31/2014 00:15 UTC

    Customer impact has been mitigated as of 10/30/2014 23:35 UTC and all Usage functionality has been restored.  DevOps is continuing to monitor the situation to confirm we will not see a recurrence.

    The planned maintenance has been unblocked and the Usage data lag is recovering.  Please see this post for more details.

    Application Insights Service Delivery Team

    ———-

    Update: 10/30/2014 22:50 UTC

    We now understand the root cause to be a SQL connection limit being reached. DevOps has engaged additional resources to assist the troubleshooting effort.

    We have refined our understanding of the impact to include:

    • Unable to create new customer signup for usage services
    • Existing customers are unable to create new applications onboarded to Usage services
    • Some customers may see errors in their Usage reports.  Users who have cached Usage report sessions will be able to see their data
    • Some Usage data is experiencing lag outside of SLA; this is due to being unable to complete the planned maintenance due to this issue.

     

    Application Insights Service Delivery Team

     

    ———-

    Initial post: 10/30/2014 21:19 UTC

     

     

    We are currently investigating issues with Usage Reports.  Customers may experience an error message when accessing Usage Reports. DevOps is actively engaged and troubleshooting the issue.

    We apologize for the inconvenience this may have caused.

     

     

    Application Insights Service Delivery Team

    Designhinweise für die Nutzung des Web App Template

    Das Web App Template (WAT) ist ein großartiges Werkzeug für die Erstellung von Windows Apps basierend auf bestehenden Web-Inhalten. Die Vorlage erstellt eine Native-App (HTML/JS für Windows 8.1 und Windows Phone 8.1, C#/XAML für Windows Phone 8), die über eine Reihe vorgefertigter Plattform-Funktionen verfügt. Eine Windows App oder Windows Phone App ist mit dem Web App Template schnell und einfach zu erstellen. Um das beste Ergebnis und Erlebnis zu erhalten, sollten Sie allerdings einige wichtige Punkte bei der Planung und Umsetzung beachten.

    WAT-App Design

    Apps sollten die Vorteile der Plattform-Funktionen nutzen und nicht nur eine bestehende Website anzeigen. Nutzen Sie daher Windows-App-Funktionen, um Ihre App von reinem Web-Inhalt zu unterscheiden. Verwenden Sie mindestens eine der Funktionen aus dem „What can you do with WAT?“ Abschnitt.

    doWithWAT

    Duplizieren Sie nicht die Navigation in der WAT-App-Navigationsleiste und im Web-Inhalt. Verwenden Sie den Styles-Abschnitt der JSON-Konfigurationsdatei, um CSS-Overrides hinzuzufügen und HTML-Abschnitte auszublenden.

    Segmentieren Sie Ihre Webinhalte und verwenden Sie Links zu anderen Seiten. Nutzen Sie die WAT-URL-Umleitungen, um Links zu URLs außerhalb der App in einem Browser zu öffnen.

    Stellen Sie benutzerdefinierte Bilder für jede Kachelgröße und den Begrüßungsbildschirm bereit.

    Liefern Sie Ihre Web-Inhalte über HTTPS, um das erweiterte Caching im WAT zu nutzen.

     

    Website Design

    Verwenden Sie Responsive-Design-Prinzipien, um mehrere Bildschirmgrößen und Orientierungen von 320px Breite und mehr zu unterstützen. Bootstrap ist ein ausgezeichnetes Responsive-Framework. Bootstrap wurde zum Beispiel für die WAT-Website benutzt. Bootstrap ist außerdem das Standard-Framework für neue Web-Anwendungen in Visual Studio 2013.

    Unterstützen Sie Touch-Interaktionen und Multi-Touch wenn möglich.

    Plugins werden in der App-Umgebung nicht unterstützt. Deshalb sollten Sie keine Webseiten mit Plugins wie Adobe Flash oder Microsoft Silverlight ohne eine Fallback-Funktion verwenden.

    Verwenden Sie wenn möglich die UX-Richtlinien für Windows Store Apps in Ihren Webinhalten.

    Sie sollten der Besitzer oder Administrator der Website sein, die Sie als Grundlage Ihrer App verwenden.

     

    Das Web App Template für Visual Studio 2013 gibt es auf Codeplex zum Herunterladen.

     

    Dieser Blogeintrag ist ein Teil von meiner Blog-Serie zu Web App Templates. Hier sind die Links zu den anderen Einträgen:

    calling the script blocks in PowerShell

    The script blocks are the PowerShell way to pass a chunk of code as an argument to a command. So when you write something like

    dir -Recurse . | where { $_ -match “.txt” }

    that thing in the braces {} is a script block. Essentially, an anonymous function. Some might also say that it’s a closure but technically it isn’t: it doesn’t bring the variable evaluation context with it, it’s just a function.

    As a side note, if you’re used to the Unix shells, back-slash “” is not an escape character in the PowerShell double-quoted strings, the escape character for them is back-quote “`“. However the back-slash is still the escape character for the PowerShell regular expressions. Which comes pretty convenient, and avoids the problem of back-slashing the back-slashes like everyone is used to in the Unix shells and Python.

    As another side note, the PowerShell dir returns not the file names but objects but when these objects are converted to the string type for matching, they return the file name, so the matching works on the resulting file names.

    The {} creates a script block and returns a reference to it. You can store it in a variable and use that variable instead:

    $a = { $_ -match “.txt” }
    dir -Recurse . | where $a

    You can also call them directly by applying the operator “&“. For example:

    PS > $_ = “qwe.txt”
    PS > &$a
    True
    PS > $_ = “qwe.tx”
    PS > &$a
    False

    This operator, by the way, causes an interesting peculiarity of the PowerShell syntax. In a Unix shell you can write something like

    { ls .; ls ..; } | grep ‘.txt’

    and it will cause both directory listings to be piped sequentially through the grep to find the files with a “.txt” in their names. If you try to use something similar on PowerShell:

    { dir .; dir .. } | where { $_ -match “.txt” }

    you will get nothing. The trick is that when you use {}, you create a script block and then pipe a reference to it through “where“. Which is probably not what you wanted. Instead you need to execute that script block and pipe its result. Do that by adding a “&” in front of the block:

    &{ dir .; dir .. } | where { $_ -match “.txt” }

    The lesson is, when you want to execute a block, don’t forget to bring an “&“.

    Just like any other function, a script block can have parameters. For example:

    PS > $b = { param($x); “—$x—” }
    PS > &$b abc
    —abc—

    Now the real interesting part, how you can create a command like “where” that takes a script block as an argument and supplies the current pipeline entry to it as $_. It starts fairly easy:

    function Where-My
    {
        param(
            [scriptblock] $Block
        )

        process {
            “trying: $_”
            if (&$Block) {
                “passed: $_”
            }
        }
    }

    To show things more clearly, it works on strings, and returns both the inputs it had considered and the inputs it had decided to pass through. “process” is the part of the function called for each input object from pipeline, with the current object set in $_. So all it needs to do then is call the script block, which will also get that $_, and decide the fate of the input based on what the script block returns. Try it and it works:

    dir . | Where-My { $_ -match “.txt” }

    Then you’d want to put your great new function into a module. You can put it into a file with extension “.psm1“, or to play from command line just wrap it into an anonymous module:

    $null = new-module {
        function Where-My
        {
            param(
                [scriptblock] $Block
            )

            process {
                “trying: $_”
                if (&$Block) {
                    “passing: $_”
                }
            }
        }
    }

    Try it again. It won’t work right any more, the match will not let any strings pass. The “trying” lines will still show but no “passing”. What happened?

    As it turns out, the special variable $_ is a script-level variable, it exists per-module. When process sets it, that happens in the module where the function Where-My is defined. However the script block in the pipeline gets defined outside that module, so it will see the copy of $_ from its own module that will be empty. In this way the script blocks are somewhat like closures, they remember the module where they’ve been defined. That’s been quite surprising, and it took me a trip down the hall to the PowerShell guys who’ve been very nice and explained it.

    OK, so the next attempt: A script block is an object that has a few useful methods on it. One of them is InvokeWithContext(), described in http://msdn.microsoft.com/en-us/library/system.management.automation.scriptblock.invokewithcontext%28v=vs.85%29.aspx . It lets you define the extra functions and variables that will be visible to it. We don’t need the functions right now (leave that argument empty), just the variables, so the code becomes:

    $null = new-module {
        function Where-My
        {
            param(
                [scriptblock] $Block
            )

            process {
                “trying: $_”
                if ($Block.InvokeWithContext(@{}, @(New-Variable -Name “_” -Value $_))) {
                    “passing: $_”
                }
            }
        }
    }

    Which ends up even worse than before, now it gives an error on each processed string:

    New-Variable : A variable with name ‘_’ already exists.

    What went wrong this time? As it turns out (thanks again to an explanation from the nice PowerShell people down the hall), New-Variable both creates a variable and places it into the current scope. And the variable $_ is special and is already present in the current scope, so that fails. What is needed is a variable not in any scope, and InvokeWithContext() will place  it into the new scope that it constructs for the execution of the script block.

    To create that variable without a scope, we go directly to the .NET calls:

    $v = New-Object “PSVariable” @(“_”, $_)

    It’s a somewhat weird introspection: the internals of PowerShell variable implementation visible through the .NET interface of PowerShell that we use to create an object that we then use at the PowerShell level.

    The code now becomes:

    $null = new-module {
        function Where-My
        {
            param(
                [scriptblock] $Block
            )

            process {
                “trying: $_”
                if ($Block.InvokeWithContext(@{}, @(New-Object “PSVariable” @(“_”, $_)))) {
                    “passing: $_”
                }
            }
        }
    }

    And it finally works correctly when called from any module. That’s been the trick. Note that the second argument of InvokeWithContext() is an array, so this way you can create multiple pre-defined variables for a script block, placing them all into this array.

    Hosting multiple websites: IP or Host Headers?

    IIS supports multiple Web sites on a single server. To create and host multiple Web sites, you must configure a unique identity for each site on the server. To assign a unique identity, distinguish each Web site with at least one of three unique identifiers:  an IP address, or a TCP port number or a host header name. To host more than one Web site on a Web server, you can assign a unique IP address to each Web site, designate a non-standard TCP port number for a Web site, or use host headers. But how do I choose what is best for me? Read on!

    Of the three methods, it is more common to use host headers than to assign unique IP addresses to Web sites or to use non-standard TCP port numbers. Performance wise, there is hardly any difference between these options.

    It all boils down to flexibility that you going to need.

    Host Headers advantage: Organizations that host multiple Web sites on a single server often use host headers because this method enables them to create multiple Web site identities without using a unique IP address for each site. Host Headers are cost effective as reserving public IP addresses cost money. Manageability is another great advantage if you host too many sites under the same IIS server. DNS configuration and server configuration is much easy to manage.

    IP advantage: It is lot easier to implement SSL if each site has its own IP address. You just need a single certificate for the name. SSL with Host Headers requires a wildcard server certificate that is implemented and synchronized across all sites that share the IP.

    ?Windows??????OpenGL ES??????

    有很多开发者在移植应用或者游戏到Windows Store或者Windows Phone时都有这样的困惑。大家知道在Windows的桌面应用中,OpenGL是支持的,有些游戏就同时支持DirectX和OpenGL两种渲染模式。

    但是在Windows Store或者Windows Phone Store中,只能使用DirectX 11的API,而不支持DirectX 9/10的API,也不支持直接使用OpenGL/OpenGL ES的API。

     

    那么,有没有办法可以快速的实现移植呢?答案是Yes。在微软MS Open Tech的努力下,Angle Project目前可以支持Windows Store和Windows Phone了,事实上,非常流行的游戏引擎cocos2d-x就使用这一开源项目完成了在Windows平台的移植。

    关于Angle Project对Windows支持的更多信息,请参考下面的链接:

    https://github.com/MSOpenTech/angle

     

    当然,开发者也可以对比OpenGL ES和DirectX 11的API, 逐步实现转换。