Quantcast
Channel: MSDN Blogs
Viewing all 29128 articles
Browse latest View live

Deploying Play Framework Apps with the Azure Toolkit for Eclipse

$
0
0

This post shows how to deploy a Play Framework app using the Azure Toolkit for Eclipse.

Background

I am working on a proof of concept with a customer that has several existing types of applications and is deploying them to Microsoft Azure to better understand application migration capabilities.  One of the application types uses the Play framework.  While I am not really a Java developer (although I play one on my blog occasionally), I was able to get this up and going in a relatively short amount of time. 

Install Java JDK and Play Framework

In a previous post, Creating an Eclipse Development Environment for Azure, I showed how to create a virtual machine that runs Eclipse Luna as an IDE to build Java applications.  I am going to use that same VM, but the only thing I am using from it is Eclipse… I don’t need Tomcat or Jetty or even the JRE that is installed on it because Play apps are self-contained and don’t need a container. 

I start by installing an older version of the JDK, version 7u79 for Windows 64 bit from http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html.  I need this older version of the JDK because my demo is going to use an older version of Play Framework, version 1.2.5.5 (the latest version at the time of this writing is 2.3.8). 

The last thing I did was to edit the environment variables for the machine, making sure that JAVA_HOME points to the right directory where I installed the JDK, and adding the path to Play to the %PATH% variable. 

image

Create an App

Now that we have the JDK and Play installed, we can create an app.  Simple enough, just open a command prompt and type “play”.  You’ll see some awesome ASCII art and the valid commands.

image

To create an app, just type “play new <name of app>”.  I used “play new playdemo”.  You are then asked for a name for the application, I used “Play Demo”.

image

To test it, run the command “play run <name of app>”.  My command is “play run playdemo”. 

image

Now open a browser to http://localhost:9000 and you’ll see the app running.  While it looks like just a documentation page, it is actually your app that you can customize. 

image

Open the App Using Eclipse

Now that I have an app, I want to deploy it to Azure.  Since I have been doing a bit of work with Eclipse, it’s pretty easy to use the Azure Toolkit for Eclipse to deploy the app.  In order to use the Play app with Eclipse, you can use the “eclipsify” command, “play eclipsify playdemo”.

image

You can now open Eclipse and use the File / Import / General command to import an existing project into the workspace.

image

Browse for the folder that contains your app.

image

Click Finish, and you now have an Eclipse project.

image

Deploy the App Using the Azure Toolkit for Eclipse

OK, now we’ve created an app and opened it with Eclipse.  Now it’s time to deploy it using the Azure Toolkit for Eclipse.  Choose New / Azure Deployment Project, this project will be used to deploy our application.

image

Give the project a name and click Next.

image

I have multiple JDKs installed in my environment, so I choose which JDK to use for this demo. 

image

Normally, I would go to the Server tab and configure my Tomcat or Jetty server, but Play apps don’t need a container… we just click Finish and we’re done.  This creates the following project structure.

image

We now need to tell the deployment project about the Play application.  Right-click the WorkerRole1 node and choose Properties.  Go to the Components node and see that we are already copying the JDK to the deployment root.  Also, notice we have a HelloWorld.war default file that was added to our deployment project.  On the Components node, highlight the HelloWorld.war, and remove it.

image

We now need to deploy the Play framework.  On the Components node, click Add.  Choose the Directory button and choose the directory where Play is installed.  For the Import Method, choose Zip.  Click on the “As Name” field and it will generate a name for you.  In the deploy method, choose Unzip and leave the To Directory with the default value.  This will zip the Play framework directory, upload it to Azure, then unzip the Play framework to the folder we choose.

image

Choose OK.

We’ll do something just slightly different with our Play app.  In the Components node, click Add, then choose Directory and browse to the directory where the Play app resides.  The import method this time is Copy, and the deploy method is Copy.  This tells the add-in to copy the contents of the folder during deployment.

image

Click OK.

When we ran our Play app previously, we used port 9000, which is the default.  We need to map an external URL to this internal URL.  Go to the Endpoints node and add a new endpoint with type “Input”, a public port 80, private port 9000.

image

We need a way for the cloud service to run our Play application.  There are a few ways to do this, but a simple way to do this is to create a .BAT file that will run the same Play command that we ran previously during our smoke test.  I just went to my temp directory and created a new .BAT file with the following contents:

PlayDemo.bat
  1. cd play1-1.2.5.5
  2. play run ../playdemo

Here is a screen shot that shows the contents of my file.  The filename doesn’t matter, but the relative paths do… they match the relative path structure of how we told Eclipse to deploy our application and the Play framework.

image

Once we create the .BAT file, we can now add it to our deployment.  The import method is Copy, the deploy method is Exec.  This will execute the .BAT file in the AppRoot folder, allowing relative paths.

image

Click OK, and the Components tab looks like the following:

image

Order matters… we need the JDK first, then the Play framework, then our app, then finally the executable.

Testing Testing… Is This Thing On?

A quick test is to click on the deployment project and then use the menu toolbar button to run in the Azure emulator. 

image

You’ll see a few command prompts pop up, and finally you’ll see a command window with the Play ASCII art (not enough ASCII art in today’s computing if you ask me) and the Azure Compute Emulator will show us that Java is running.

image

Open a browser and go to http://localhost:9000 (still using our local port for now) and confirm you see the Play app.

image

Once you’re done playing around, you can reset the Azure emulator to remove the deployment.

image

 

Publish to Azure

We’ve confirmed our packaging works as expected, now it’s time to push to Azure.  Use the Publish to Azure Cloud button to publish.

image

On the next screen, you need to provide your publish settings.  Click Import, and then download.  You are prompted to log in, save the .publishsettings file, and then browse to it.

image

Click OK, and the details are added for you.  You then need to create a Storage account and provide a new Service.  Choose the Target OS, I chose Windows Server 2012 R2.  You can choose between Staging and Production, I use production to get a clean URL.

image

Click Publish, and wait.  The storage account is created, the cloud service is created, the app is packaged into the .cspkg format, that’s uploaded to Azure, new virtual machines are created, the package is downloaded to the new VM, and its contents unzipped as specified in our settings.  There’s quite a bit going on here, so it might take awhile.

The Big Payoff

Of course we have to show the final product is our Play application running in Azure without any modifications. 

image

The bigger payoff is the set of capabilities that the app now has.  We can now automatically scale the application automatically as CPU usage dictates, as shown in my post Autoscaling Azure–Cloud Services, with new VM instances being created and destroyed as necessary.  The underlying OS doesn’t necessarily need to be managed or patched by us because the guest OS instances are automatically patched as part of the evergreen lifecycle.  This is huge… we just focus on the application and data without having to manage the underlying OS.

Another payoff that is maybe not so obvious is that the cloud service role that we just created can be deployed into a virtual network.  If we have ExpressRoute or even a site-to-site VPN configured, this means our cloud service can now access on-premises resources without making modifications to our existing code.  I showed how to do this in the post Deploy Azure Roles Joined to a VNet Using Eclipse.

Note that in this post, we deployed directly from Eclipse, but it is COMPLETELY possible to use Eclipse to package the solution and then use PowerShell or the cross-platform CLI to upload the artifacts and deploy the package instead of doing this from an IDE.

For More Information

Play framework

Tutorial: Running Play Framework Applications in Microsoft Azure Cloud Services 

My Java blog posts

Deploy Azure Roles Joined to a VNet Using Eclipse

Autoscaling Azure–Cloud Services


Internet of Things at Build 2015

$
0
0
Oppsummering IoT er en term som er (over)brukt mye i det siste. Alle vil være med å ta en del av denne kaken som anslås til rundt 7000 milliarder USD og 26 milliarder enheter koblet sammen. Dette skaper behov for administrere enhetene, ta i mot data, lagre data, analysere i realtid og ikke minst spå hva som kommer til å skje. Denne viten skal brukes til å endre og tilpasse enhetenes oppførsel og gjerne hvert sekund. Forrige måneden lanserte vi Azure...(read more)

New to APC 2015 - In Conversation Roundtables and Masterclasses

$
0
0

I'm thrilled to announce the first release of our new type of connections at APC 2015 called In Conversation Roundtables and Masterclasses. 

In Conversation Roundtables are designed exclusively for business owners and senior managers, In Conversation Roundtables are 45 minute Q & A sessions that give you direct access to keynote speakers and our Microsoft Senior Leadership team.

Our guest speakers this year include:

  • Pip Marlow, Managing Director, Microsoft Australia - Pip has enjoyed an 18-year career with Microsoft and has held a succession of senior roles including General Manager for US Channel Sales. As Managing Director, Pip is responsible for Microsoft’s overall business in Australia. She ensures that the company meets the needs of its customers and the 11,000 partners and independent software vendors that sell or build on the Microsoft platforms.

  • Tiffani Bova, VP and Distinguished Analyst, Gartner– Tiffani’s area of specialisation includes the development of comprehensive sales strategies, such as channel program development and optimisation, go-to-market models and the impact the cloud will have on traditional sales initiatives. She is also one of the lead analysts covering cloud services brokering as a role for service providers and channel companies to play in bringing cloud services to market.

  • Naomi Simson, Founding Director, RedBalloon– Naomi founded RedBalloon in 2001 and went on to become one of Australia’s great tech stories. She is an entrepreneur, speaker, director, author and innovator and loves nothing more than to share her tips on happiness, business lessons and advice to those on their own career journey. In 2013, she won a global silver Stevie Award for her achievements within the Australian business community.

These In Conversation Roundtables will be much sought after. There are limited seats available so make sure youbook now.

Masterclasses are highly motivating 90 minute sessions open to everyone attending the conference. You’ll have direct access to guest speakers and be able to delve into core areas that support business growth. From these sessions, you’ll come away with a constructive action plan, designed to take and implement into your business. Our guest speakers this year include:

  • Melanie Unwin, Head of Marketing Consulting Services, Carpe Diem Consulting– Melanie will show you how to create an “always on” lead generation engine. You’ll learn how the very latest in social, digital and current marketing techniques can be used to attract customers. You’ll also be given a positive plan of action to kick start your marketing engine.

  • Hui Cheng Tan, SMS&P Financial Controller, Microsoft Australia– Hui will introduce you to a financial modelling tool which can help you to quantify the impact of growing a cloud services practice on your P&L. From this session, you’ll be able to take this model back to your business to discuss the benefits with your team.

Masterclasses are must attend sessions. Limited seats are available so make sure you book now.

 

To attend a In Conversation Roundtable or a Masterclass, you must be a registered delegate for APC 2015. These sessions are strictly limited and is based on a ‘first in, first serve’  basis. Each organisation is allowed one person to attend one session over the duration of the conference. There are no transfers. In Conversation Roundtables and Masterclasses will be run concurrently during Tuesday, 1 September and Wednesday, 2 September and a timeslot will be allocated closer to the event.

To secure a seat in a session, you must first complete the APC registration process or log back into the APC Registration Portal for already registered Partners.

 

Power BI output now a public preview feature

$
0
0

Power BI output has been one of our most popular features, enabling customers to quickly build a live updating dashboard on streaming data without any heavy coding work. Along with many exciting announcements over the last 1 month (General AvailabilityBuild Sessions, Customer and Partner sessions at Build and Ignite), we also recently announced that Power BI output is now a public preview feature of Azure Stream Analytics. See this blog on Azure Blog site. If you didn't notice earlier, we published a detailed documentation on how to implement Power BI output in your ASA job.

Happy uncovering real time insights on streaming data using ASA and Power BI, and let us know your scenario and suggestions for making our product better to suit your scenario !

Office 365 API : CORS の使用

$
0
0

Office 365 API で、CORS を使用した JavaScript からの Cross-Domain 呼び出しが可能になりました。本投稿では、Office 365 API における CORS 利用を紹介します。

...(read more)

Dynamics CRM Online 2015 Update 1 : カスタマイズの新機能 - テーマ対応

$
0
0

みなさん、こんにちは。

今回は Dynamics CRM Online 2015 Update 1 カスタマイズの新機能より
テーマ対応を紹介します。

概要

これまでの Microsoft Dynamics CRM は外観の変更が、一部のアイコン
変更程度であり限定的でしたが、今回のリリースで待望のテーマ変更が
サポートされました。

以下に早速例を紹介します。

[既定のテーマ]
image

[カスタマイズ後]
image

カスタマイズ方法

細かい説明は後にして、早速テーマを変更してみます。

1. ブラウザで Dynamics CRM Online に接続します。

2. 設定 | カスタマイズ | テーマをクリックします。

image

3. 既定のテーマは変更できませんが、複製して作業することが
出来ます。すべてのテーマから CRM Default Theme を選択して
「複製」ボタンをクリックします。

image

4. コピーされたテーマを開き、テーマ名を変更します。名前は
すべてテーマに関連する設定です。任意の設定を行います。

ロゴ
ロゴは高さ 50px、幅 400px 以内の画像を Web リソースに作成して、
利用できます。ナビゲーションの一番左上に表示されます。

ロゴ ツールヒント
ロゴのマウスオーバーした際に表示されるヒントです。

色の指定
色は RBG 16進数で指定します。#FFF などの省略は使えませんので
#FFFFFF と入力してください。

5. 「プレビュー」ボタンをクリックして、設定内容を確認します。
プレビューは他のユーザーには影響がないため本番環境でも問題
なく試すことができます。

image

6. プレビューの結果意図したとおりに動作した場合、「テーマの
公開」をクリックしてテーマを公開します。このタイミングで全
ユーザーにテーマが反映されます。

エンティティの色

今回のリリースではテーマ対応の一環として、各エンティティの
色も指定できるようになりました。以下に例を紹介します。

[既定の取引先企業の色]
image

[カスタマイズ例]
image

こちらも手順を確認しましょう。

1. 設定 | カスタマイズ | システムのカスタマイズをクリックします。

2. エンティティの一覧より任意のエンティティを選択します。

3. 「色」項目で任意の色を指定します。

image

4. 一旦保存してから、カスタマイズを公開します。

制限

大幅に拡張されたテーマ機能ですが、現時点で以下の制限があります。

- ユーザー単位でテーマを変更することはできません。
- テーマはソリューション対応していないため、他の環境へ移行
する場合は、テーマレコードのエクスポート、インポートが
必要となります。
- サイトマップの大項目 (営業やサービス) の色は指定できません。
- 文字のフォントや色は指定できません。

まとめ

テーマ変更は色やロゴが変わるだけですが、ブランディングは利用率
にも影響がある、非常に重要な要素であると思います。是非色々な
テーマを作成してみてください!

- 中村 憲一郎

Creating and Binding Custom Portal Attributes

$
0
0
Today I'd like to discuss something that comes up with pretty much all FIM deployments: custom attributes. There may be times where you find yourself in need of an attribute that doesn’t exist (i.e. a custom attribute from an HR system that displays an employee ID number). In such instances, we can create the custom attribute in the Portal and Sync engine and map it to an existing target attribute in one or more data sources. To begin, navigate to the Portal home screen. On the right-hand...(read more)

[Sample Of May. 13] How to Use Microsoft Azure Access Control Service with JWT

$
0
0
May. 13 Sample : https://code.msdn.microsoft.com//How-to-Use-Azure-Access-55466410 Windows Azure Access Control Service integrates WIF, so ASP.NET developers can easily create Claims-Aware Application by Identity and Access extension. But for C/S application, developers can’t add STS reference to their client, it’s harder to use ACS with client application and web service. This article and the attached code samples demonstrate how to use Azure ACS work with...(read more)

Tell me everything a student wants to know about Microsoft!

$
0
0

Too many links, and too little time? This blog post is intended to be a comprehensive list of Microsoft resources on software, jobs, discounts and more for students of any age!

In this blog I will share useful links for

  • Coders or those interested in learning to code? Beginners and Experienced Coders
  • Deals on Microsoft office or other Microsoft products? Hardware and Software
  • Looking for a job? Undergraduate, Graduate student, MBA
  • Non-profit resources for students or organizations who help students? Software donations

I have listed everything I could think of, but I am sure I missed something! So please add your comments to let me know if this provided you with the information you were looking for or with suggested content to add.

Coders or those interested in learning to code?

Whether you are a complete beginner or an expert visit imagine.microsoft.com to find out about how you can access free developer software, learning resources for developers of all levels, contests, and more…

Teach yourself to code 

Beginners

You can find some great courses on learning how to code aka.ms/learn2code . Check out tools such as

  • TouchDevelop– an open source tool you can use to build a video game, mobile app, website, or IoT with only a web browser
  • Kodu– great place to build your first ever 3D video game, runs on Windows
  • Windows App Studio– to explore building apps for Windows without coding using only a web browser
  • Minecraft – Yes, Microsoft does own Minecraft and I will find some cool resources to share to help you get going with this amazing place to create worlds! Our Minecraft content is being developed as I type!
  • Project Spark– to build amazing 3d worlds and games, runs on Windows and Xbox

Experienced coders

For more experienced coders you may want to check out

  • Visual Studio Community to develop web apps, mobile apps, IoT and more in .NET, Python, nodeJS, Unity, C++, and more…! runs on Windows
  • VS Code to develop web and cloud apps, runs on Mac and Linux
  • Free cloud access in Microsoft Azure for students
  • Where do you look to find the most recent training and courses on everything from bootstrap to databases to how to build apps or use SDKs for Microsoft devices such as HoloLens and Microsoft Band? Check out Microsoft Virtual Academy and Channel 9 . As soon as there is content available or a big announcement, this is where you will find it!
  • If you are a Canadian and want to see what’s happening near you, keep an eye on our blog Canadian Developer Connection

Starting your own company? Selling apps or software?

  • find out how Microsoft supports startups at BizSpark

Want to win prizes or get free stuff?

  • If you like a challenge check out our worldwide software competitions for students of all ages at Imagine Cup
  • Earn rewards with the DVLUP program
  • If you are a Canadian Student double down and earn more rewards for completing coding challenges at Developer Movement

Want to be first to know?

Deals on Microsoft office or other Microsoft products?

Visit Microsoft.com/student for the most up-to-date news on offers on both hardware and software

HigherEd[1]

Looking for a job?

Mathematical thinkers are key to our future

Undergraduate?

  • Consider building your resume by becoming a Microsoft Student Partner and helping us teach students at your school about Microsoft developer technologies. In Canada apply by emailing mspcanada@microsoft.com for other countries visit www.microsoftstudentpartners.com
  • Are you in university or college and wondering how to get a job at Microsoft? Visit Microsoft.com/university
  • Canadian students interested in the MACH program position at Microsoft Canada should visit Microsoft.com/careers - select Canada – search for MACH - create a job alert for the keyword MACH. Apply for the specific role if it is a good match for your skills an interests. MACH roles may be suitable for business or technical students.
  • Students in first or second year of college or university may want to consider applying for the Explore program
  • Canadian students who are interested in jobs at the Microsoft Studios in Vancouver or the Foundry program in Vancouver should apply at Microsoft.com/university

Graduate student?

Are you a graduate student interested in jobs? Many product teams are looking for graduate students so you should apply at Microsoft.com/university . However if you are specifically looking for a job at Microsoft Research they have a separate application process at research.microsoft.com so you may want to apply to both.

MBA student?

You may want to apply for some MACH positions which are for MBA students. Visit Microsoft.com/careers - select your country– search for MACH - create a job alert for the keyword MACH. Apply for the specific role if it is a good match for your skills an interests. Not all MACH roles require an MBA, so you may want to read the job descriptions carefully if you are specifically looking for roles that require an MBA

Non-profit resources to help students and organizations who work with students?

YouthSpark is a program that works to address the gap between those who have access to the skills and training they need to be successful and those who do not.

This program includes our  software donation program.

Erro em Diálogos no Dynamics CRM

$
0
0

Gostaria de compartilhar um erro recentemente encontrado em Diálogos. Segue o cenário exemplo:

- Processo de Diálogos criado para atualizar o número de telefone baseado no nome da Conta.

- Existe uma condição IF para exibição de uma nova página.

- No exemplo abaixo, se o nome do cliente começa com A, a segunda página será exibida para solicitar o número de telefone.

 image

 

- A condição verifica o texto da resposta (nome da Conta). Se começa com ‘A’, abre-se uma nova página.

image

 

- Texto da resposta é utilizado em uma ação de atualização.

- No exemplo abaixo, é utilizado para atualização de Conta.

image

 

Mensagem de erro:

A seguinte mensagem de erro é exibida se o nome completo não começa com A. Desta forma, o CRM tenta atualizar a conta com um texto de resposta não definido (número de telefone).

 

image

“Os dados referidos necessários para continuar com esta caixa de diálogo não foram encontrados. Para obter mais informações, consulte o histórico da caixa de diálogo ou contate o proprietário da caixa de diálogo ou o administrador do sistema.”

 

Ao clicar em Baixar Arquivo de Log, podemos verificar o seguinte detalhe:

Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: The data required to display the next dialog page cannot be found. To resolve this issue, contact the dialog owner or the system administrator.Detail:
<OrganizationServiceFault xmlns:i="
http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
  <ErrorCode>-2147200944</ErrorCode>
  <ErrorDetails xmlns:d2p1="
http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
  <Message>The data required to display the next dialog page cannot be found. To resolve this issue, contact the dialog owner or the system administrator.</Message>
  <Timestamp>2015-05-13T16:48:49.4916198Z</Timestamp>
  <InnerFault>
    <ErrorCode>-2147220970</ErrorCode>
    <ErrorDetails xmlns:d3p1="
http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
    <Message>Unhandled Exception: Microsoft.Crm.CrmException: The data required to display the next dialog page cannot be found. To resolve this issue, contact the dialog owner or the system administrator.

</Message>
    <Timestamp>2015-05-13T16:48:49.4916198Z</Timestamp>
    <InnerFault i:nil="true" />
    <TraceText i:nil="true" />
  </InnerFault>
  <TraceText i:nil="true" />
</OrganizationServiceFault>

Para uma melhor visualização do processo, podemos clicar em OK e depois no botão Resumo.

Como solução deste problema, deve-se utilizar variáveis para as respostas obtidas em páginas dentro de condições. Neste exemplo, deve-se utilizar uma variável para obter o número de telefone.

 

- A partir do processo, declara-se uma variável do tipo linha única de texto e atribui-se uma valor padrão.

image

 

- Adiciona-se um novo passo de atribuição da resposta do texto (telefone) à nova variável.

image

 

image

 

- Utiliza-se a variável para atualização da Conta.

image

 

Rodrigo Cristelli Lugarinho

E-Book Review - Introducing Windows 10 for IT Professionals, Preview Edition

$
0
0
In this post I am going to share my views on the E-Book which I finished reading in the recent time; it’s titled “Introducing Windows 10 for IT Professionals, Preview Edition (ISBN: 9780735696969)” authored by Ed Bott. The author is a well known award-winning technology journalist and wrote more than 25+ books earlier on Microsoft Windows and Office. (Select the above link, download a copy of the eBook) As I updated earlier, this book is a preview, a work in progress about a...(read more)

Project and Project Server May 2015 Updates now available

$
0
0

I’ve posted theMay update for Project and Project Server 2010 and 2013 over on the Project Support blog – http://aka.ms/msprojectsupport (new short-ish Url)…

image

We do have an ongoing issue with OData in on-premises Project Server 2013 – more in an upcoming post but we are seeing failures with datasets when the page limit is exceeded – (100 records).  This was introduced in March 2015 and will be fixed in June 2015.

Getting your Azure GUID (subscription ID)

Using Power BI to visualize and explore Azure SQL Databases

$
0
0

Azure SQL Database is a relational database-as-a-service that allows users to have a scalable system with data protection and predictable performance.

 

With the latest update to Power BI, you can connect directly to the data stored in your Azure SQL Database without the need to upload a custom data model created using Excel or the Power BI Designer. As you explore your data, queries are dynamically generated and sent down to the source, leveraging the power of your database. This means you are able to get interactive exploration and visualization of your data, directly over your database.

This experience is targeted at users who are familiar with their database and entities within it. In this post we’ll cover how to get better insights to your SQL Database data using Power BI. For additional details on how to connect and get started, jump to the Connecting to SQL Database section below.

Exploring your Azure SQL Database data

Power BI allows you to explore and monitor data stored in your Azure SQL database directly, without requiring a data model as an intermediate cache.

The flow is simple, provide the details to connect to your source and then using schema discovery you’ll see a list of all the tables and columns you have access to in the field list. Selcting fields or adding them as filters will update the query that is sent back to the source. You may see some loading icons, especially if the query will return a large amount of data.

After saving your report, any of the visuals can be pinned to your customized dashboard. The tiles will be refreshed approximately every 15 minutes, re-evaluating the query that was generated when they were created. 

Connecting to Azure SQL Database

To get started, click Get Data at the top of the navigation pane.

Select the Azure SQL Database entry in the list on the left. You can use the Search box to help narrow down the list. In order to connect, you need to specify the server and database name, as well as your username and password to connect with.

After hitting “Connect”, Power BI will create a new dataset with the name of your database. You can select the dataset to being exploring, or selecting the placeholder tile on your dashboard.

At that point you can being to explore your data, by dragging individual fields onto the canvas and generating queries back to the source. Depending on the size of the query and the optimizations in the database, you may seem some loading indicators. Once your visuals are created, you can pin them to your dashboard to monitor your data!

 

We’re always interested in hearing your feedback – please leverage https://support.powerbi.com to let the team know how your experience was and if there’s anything we can do better. We look forward to your feedback!

TFS 2010 RTM: Test case order doesn’t update in MTM 2012 and 2013 clients

$
0
0
Issue Test case order doesn’t update in MTM 2012 and 2013 clients, while connected to TFS 2010 RTM. Note: This issue doesn’t happen if you are connected to TFS 2010 RTM from an MTM 2010 client. Environment TFS 2010 RTM. MTM clients 2012, 2013. Description · Connect to a TFS 2010 RTM instance from MTM 2012 or 2013 client. Create or connect to a Test Plan and Test Suite under a team project. Add some test cases. · Update the Test Case order by clicking on the Order button. Here I am updating the order...(read more)

Test And Attack – The Art of Testing WITH…

$
0
0

My old team coined a phrase that they use to describe their Performance engagements called “Test and Attack.” It is meant to conjure up a picture that can represent exactly what happens during the execution phase of a performance tuning and optimization engagement. So what does happen?

Test With You, Not For You

We refer to the typical engagements as “Toss it over the wall” gigs, where an app team hands the desired testing plan to a test team, who then builds a harness, executes the tests, compiles some results and then tosses the results back to the app team. The motto of many corporate test teams is “We’ll test for you.” Our motto is “We test WITH you, not for you.” In order to do this, we need to partner with the application team, the IT department, the testing team, and any other teams that may have a stake in the outcome. Once we complete a lengthy and thorough test plan, we can then prepare for and execute the testing.

The Layout

For the execution phase, we have a testing room set aside that contains several workstations with access to the various servers and test rig machines. We also have a large overhead so we can share screens as needed. The room is setup so that various Microsoft Subject Matter Specialists are partnered with the corresponding customer representative: SQL-SQL, .NET/IIS – .NET/IIS, Tester-Tester, etc. We also have a designated Project Manager representative for MS and for the customer. These people will all interact as a group and also dive off into their respective groups as the testing progresses.

The Routine

Each day starts out with a 5 minute stand-up meeting where we review the current list of tests and actions for the day. As soon as we are done with that, we kick into the work, which follows a pattern similar to:

  1. Run a Test of Record and save the results (no instrumentation or monitoring beyond what is normally allowed in production).
  2. Take 2-3 minutes to discuss the results. Reset the testing environment as needed.
  3. SMEs turn on any extra monitoring or logging to look for issues.
  4. Run a Break/Fix test. SMEs collect logs, analyze data, find a pain point, implement a change, make a note of the change, and reset the environment.
  5. Run a Test of Record. Compare the results to the previous Test of Record. Determine if the change is worth keeping.
    1. If YES: File a bug in the TFS DB so the app dev team can implement the change in the main code branch and perform appropriate regression testing and documentation update.
    2. If NO: File a bug in the TFS DB and mark it as “WON’T FIX” along with a note as to why. This will help prevent duplicated efforts down the road.
  6. Repeat steps 2-5 as needed.

 

The Pain Points

When I start testing engagements with customers, they often start telling me that they know where the major issue is with their system and start adding it to the test plan. I tell them that I do not want to add it to the plan yet, because when we start testing, the system will tell us where it is hurting. Besides, if you already know where it is hurting, why are you planning to test it before you fix the injury? Maybe it’s just me, but last time I tried to go out and play with my teenage boys while I was sick, my wife smacked me and said I was an idiot for trying to keep up with healthy kids when I knew I was not healthy. I knew I was being foolish, but I wanted to go play. My wife had to be the sensible one and bring me back to reality. Now I can return the favor to you. If you know where the system hurts, go fix it…. I’ll wait….

Now that all of the known issues are fixed, we can test. Trying to ask the system where it hurts is not difficult, but it does take a fair amount of knowledge about system monitoring, application and system behaviors and experience in several different areas. This is why we pull several people together as a team. It is also why we work to setup boundaries on the setups (see the part on monitoring and tuning SANs for an example).

When a test run is completed, we will pull up the results on the big screen and look through several of the key metrics. Based on what everyone sees, we will either be able to drill into a specific problem, or we will let each group go analyze their own data. SQL DBAs might read through DMVs for indexing issues or blocking or whatever. .NET people are looking for CPU, Memory, GC, Marshaling, etc. Someone will scour the event logs on the machines. We might have a network trace to analyze, or use LogParser to crank out statistics from web logs or application logs.

Scope Creep

When you discover something that is an issue, or an area that you want to explore more, it is fine to make a note of it, but do NOT immediately act on it unless it falls within the scope originally laid out in the test plan. You will have time at the end of each day during the EOD Stand-up to discuss whether to add it to the mix. One of the more common reasons for engagement failures and/or slow downs is getting off track and growing scope, so make sure you do not fall victim to scope creep.

Collaboration

One of the most critical parts of really tuning an application is the ability to share information across many different levels and apply that knowledge to the issues at hand. If a SQL SME tells me that a particular table is suffering from a poor design and is really slow, I might ask the business partner if the functionality of the app that uses that table is critical to our efforts. if less than 1% of the traffic uses it and it does not block anything else, we may lower that priority and move on. But it takes the business partner collaborating with the SME to make a good decision.

Another critical part is determining which section to focus on when multiple areas get flagged. This is another good example of having multiple SMEs together in one place. If SQL is screaming because of a missing index that will potentially help performance 200% and IIS is screaming because it is getting 60+ unhandled exceptions/second on a small piece of code that would be quick to fix, which fix should I take? Both should be quick and easy fixes, but I should only make one change at a time since I want to KNOW what the impact to each change is. In this case, I usually let the SMEs discuss it for a couple of minutes, or I might try to work in the order where it makes the most sense:

  1. If the app is bound by CPU and the index is slowing down SQL, fix the app side first because the SQL change will most likely not impact the app at all.
  2. If the app is not showing excessive CPU, I might fix SQL first to see how the app’s CPU changes when SQL is faster.

 

Staying in Character

I have more than 20 years experience with Microsoft and over 30 years of computer usage, but despite this background, there’s no way I could tune an application by myself. I rely on my teammates to fill in gaps and to bring up other ideas. I also stay focused on what my job is. I spent 10 years working as an IIS Debug Engineer. I wrote the original IIS Critical Problem Management workshop, and delivered it more than 50 times. However, I have been working as a test consultant for 8 years now and my job is to drive the testing and manage the engagements, so I do not perform any debugging. I let the .NET SMEs handle that.

SAN Monitoring – An example of “Over-Engineering”

This section is included to show you how our team approaches parts of the application and infrastructure that may be out of our control. When we setup a lab environment for a customer, we try to get a SAN that is similar to the SAN they will be using, but we then “over-engineer” the SAN, meaning that we configure it to be as fast as possible, regardless of the final setup. We would use a RAID 0 layout instead of RAID 1 (as an example) because we do not need the fault tolerance, and 0 is faster than 1, e.g.

The reason we do this is because there is NO WAY we will be able to successfully mimic all of the traffic on a shared SAN, so we are already skewing results. However, if we make the SAN as fast as possible, then we can limit the impact that has as a choke point, thus allowing us to more easily find choke points in SQL, or the app that uses the SAN. We can fix those, run our tests and get valid results. When it comes time to roll out the system to production, we can use disk and drive metrics gathered from the testing that show how the system behaved. If it is slower in production, we can gather the same numbers from the prod system and see if the issue is indeed in the SAN or not. 

This approach is the same we take for all external or shared systems. It is the only way I know of to get accurate repeatable testing accomplished and still consider the system end-to-end.

Conclusion

It takes a lot of effort and resources to perform one of these engagements, but the payoff is well worth it. I will write more posts drilling into some of the specifics as time permits.

Programmatically keeping the VM screen on

$
0
0

A while I ago I did a blog post on how Windows will "turn off" our virtual computer screen to "save energy" (you can read about it here).  Recently, I was contacted by a team inside Microsoft who wanted to figure out how to stop this from happening - programmatically.

Their problem was that they were using our Thumbnail API (you can read about it here) to grab copies of the virtual machine screen - and were frustrated when it stopped updating.  Thankfully - the solution was easy:

  • For Windows virtual machines - run: "powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0" inside the virtual machine
  • For Linux virtual machines - run: "xset s off" inside the virtual machine

Now the screen will always be on, and the thumbnail will always be up-to-date.

Cheers,
Ben

Calling all CRM Online Customers: the Annual Dynamics Product Satisfaction Survey is here!

$
0
0

Are you a Microsoft Dynamics CRM, Microsoft Dynamics Marketing, Microsoft Social Engagement, or Parature customer?  If so we’d love to hear from you about your experience with our products, especially those of you using CRM Online in this cloud-first world.  Results from the survey will help our team improve future versions of the products.  Please take this opportunity to share your thoughts!

Click here to participate.  The survey will be open until May 18, 2015.

CRM Online Customers, please make sure to select CRM Online from the “version” page of the survey.

We estimate it will take approximately twenty minutes to complete the survey.

Cheers!

Laura Robinson

CRM Community Program Manager

Twitter @laurarob | LinkedIn laurarobinonmsft

SUBNET selected to manage and secure BC Hydro’s distribution devices

$
0
0

As the smart grid continues its evolution, more and more Utilities are finding the need for a substation automation software solution that can integrate all of the distribution devices within their network into one solution. All of this needs to be done securely with a unifying management platform that can handle a host of different vendor's devices that are typically deployed throughout the power system. This is really an Internet of Things (IoT) play as the requirement is for a powerful solution that supports multi-vendor, multi-function, intelligence electronic devices across distribution and transmission networks.image

This is exactly the situation that BC Hydro found themselves in when they selected SUBNET’s Power System Center.  As BC Hydro states in the SUBNET press release: “First and foremost, BC Hydro chose SUBNET because they ensure that we can integrate all of the distribution devices within our network into one solution, regardless of manufacturer, and still be able to support our substation and transmission equipment. We couldn’t find anyone else who could actually do it. The SUBNET product will allow us to, quickly and easily, access and use the device event data, something that has been a difficult, labor intensive and error-prone process in the past.”

We have written about our partner SUBNET Solutions in the past, here and here, and we are delighted to see how they continue to help Power & Utility companies worldwide solve their most complex substation automation needs. You can read the full press release here. – Jon C. Arnold

Move a TFS collection from one Domain to another with existing users.

$
0
0
  We see a lot of customers who would like to just move a collection from one environment to another (cross domain move of collections) We recommend moving TFS as a whole, but there are some requirements from the customer side, where you have TFS on both the domains, same users on both domains with different logins and still want a collection moved carrying over the history. Note that this is a workaround for such scenarios. Goal: 1. I have servers TFS Alpha on Domain Alpha and TFS Beta on Domain...(read more)
Viewing all 29128 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>