Things hard and not so hard.... RSS 2.0
# Tuesday, September 18, 2012

Here's something I go this morning which I think is a SharePoint error:

Tuesday, September 18, 2012 10:53:25 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
SharePoint | 2010
# Sunday, September 09, 2012

Firing up Win2012 Server for the first time you might notice that you can do a

net use * http://mywebsite/docs

Which is a classic thing we do in SharePoint or other WebDAV enabled Servers.

After spending far too long on this issue the secret is to make sure the Desktop Experience feature is installed.

On 2012 here’s the way to do it - http://www.win2012workstation.com/desktop-experience/

2 hours I’ll never get back Smile

Mick.

Sunday, September 09, 2012 5:30:15 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Tips | Win2012
# Thursday, August 30, 2012

I recently ran into an interesting one while building some InfoPath forms for SP2010/2013 forms services.

I wanted to return some Rich Text (XHTML) fields back from a WCF WebService call.

I was at the point as a developer, where I couldn’t even say ‘Works on my machine…’.

The problem was – no matter what I tried, I would always have *plain text* and no ‘richness’ of the Rich Text. Didn’t work for me.

So I have:

1) a basic WCF Web service – running on my dev environment.

2) an InfoPath Form that makes the call and displays the results.

The WCF Service:

image

This is the field that I eventually want to return as RichText to InfoPath.

Here’s the Service Method code (which basically goes into a file and returns back a list of clauses) – just focus on the CONTENT = …GetXHTMLRichText(…)

image

 

InfoPath and Returning a RichTextField
2 things need to happen for this to work.

1. When InfoPath adds the WCF Service to the form, it needs to ‘detect’ the field correctly when it build the underlying schema.

image

You need (nb – ‘Content’ is my field name):
<xs:element minOccurs="0" name="Content" nillable="true">
                <xs:complexType mixed='true'>
                    <xs:sequence>
                        <xs:any minOccurs="0" processContents="lax" maxOccurs="unbounded" namespace="http://www.w3.org/1999/xhtml"></xs:any>
                    </xs:sequence>
                </xs:complexType>

</xs:element>

Note the namespace on the ANY element above – this is the winner to tell InfoPath that this is a richtext field.

2. When returning data via this field (in my case the ‘Content’ field), it needs to be in a certain shape, as in:
<Content xmlns=http://yournamespace>
    <span xmlns="http://www.w3.org/1999/xhtml">Rich text here</div>
</Content>


Your rich text content needs to be ‘wrapped’ for InfoPath to play nicely with it.

This was the purpose of my GetXMLRichText method as

image

 

The gotcha:

When I pointed InfoPath at my webservice and added a service reference I was getting back a SimpleType for the field and not a ComplexType/Rich Text field.

The WCF Service WSDL was ‘almost there’ but not close enough:
image

The Content field described in a ComplexType which is almost there, but not quite.

It’s missing the <xs:complexType mixed=’true’>…<xs:any namespace=’http://www.w3.org/1999/xhtml’ …/>. The rest were good.

The fix:

Cutting a long story short, the simplest way forward here was to simply edit the form components that InfoPath had built and correct the schema. Then reuse the form.

The form looks like this:

image

 

From the File->Publish->Export Source Files you can get to the source and edit the correct schema (XSD) file.

image
Close the form down in InfoPath (or you may even need to close InfoPath) to edit the Schema.

image

You may need to hunt through a few of them to find the right one. My file was GetKCCTerms12.xsd

Modify, save and close that file.

Right click on manifest.xsf –> Design to launch InfoPath and then select Save As to work with it as *.XSN form (*.xsn files are just CABs with all these files inside)

image

The final result as viewed from an InfoPath form – notice the bolding sent through.

Enjoy,

Mick.

Thursday, August 30, 2012 9:25:47 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | Dev | SharePoint | 2010 | Tips
# Monday, August 13, 2012

With Hyper-V now available on Win8 it's more important than ever.

VOTE here: https://connect.microsoft.com/WindowsServerFeedback/feedback/details/390443/hyper-v-needs-usb-support

The more votes...the more importance this issue has.

Let's get it in there.

p.s. I'm aware of the 'workarounds' after having to plug 183 usb devices into a virtual environment. Hours I'll never get back

Monday, August 13, 2012 7:59:38 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Dev | General | Tips
# Tuesday, August 07, 2012

Now that the dust is settling after WPC 2012, I’m able to catch up on all the emails still coming from the event.

I had a picture taken with John (against a green screen) and is it’s amazing what they can do with modern technology now. Smile

WPC Award

From my research a couple of points:

  • Over the last 4 years, approx 200 Worldwide Partner awards have been given – 6 of them Australian Partners! We’re one of 6.
  • This is the first time EVER an Australian Partner has been an Application Integration Winner
  • This is the first time EVER an Australian Partner has been a Cloud Partner Finalist

See more here

Talk to you soon.

Mick.

Tuesday, August 07, 2012 3:10:02 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2010 R2 | Breeze | Events | 2012
# Monday, August 06, 2012

Hi folks, BizTalk has some great new features on the horizon and this CTP is jam packed of new and improved features. I believe the CTP is non-public atm, with MVPs etc. able to get access (or if you’re on the TAP program)

I’ve got a VM up and running with the setup and config working a treat – I’m not sure how much I can say, but I’d like to say I’m very pleased with what I’m seeing!

The official feature set blurb goes something like this…

Enjoy.

Details…

Improved productivity with new Microsoft Platform support

Customers can now leverage the latest and greatest platforms, such as Windows Server 2012 RC, SQL Server 2012, Visual Studio 2012 RC. All new BizTalk projects will target .Net Framework 4.5 RC by default. The CTP also provides support for latest LOB versions enabling customers to use BizTalk for integrating their applications with the latest versions of SAP, Oracle and SQL Server. The new adapters provide a seamless experience to enable hybrid connectivity, all done via configuration. The CTP provides native support for ACS authentication and is extensible for other authentication mechanisms.

·         Platform support

o   Windows Server 2012 RC, Windows Server 2008 R2

o   SQL Server 2012, SQL Server 2008 R2

o   Visual Studio 2012 RC

o   Office 2010

o   Support for latest LOB versions

§  Support for SQL Server 2012

§  Support for SAP 7.2

§  Support for Oracle DB 11.2

§  Support for Oracle EBS 12.1 …

·         Adapters

o   WCF-WebHttp adapter, to consume REST service or expose REST service

o   SB-Messaging, for sending/pulling data from Service Bus Queues/Topics

o   WCF-NetTCPRelay, for hosting relays or sending data to NetTCPRelay end points

o   WCF-BasicHttpRelay, for hosting relays or sending data to BasicHttpRelay end points

 

Better B2B with schema updates

EDI standards evolve and one of the key investments made in this new BizTalk CTP is to ensure that we support the latest B2B standards natively. This enables you to transact messages based on the latest versions of EDI protocol.

·         B2B enhancements to support latest standards natively

o   Support for X12 5040, 5050, 6020, 6030

o   Support for EDIFACT D06A, D06B, D07A, D07B, D08A, D08B, D09A, D09B, D10A, D10B

o   HL7 2.5.1

We are working on further schema updates such as HL7 2.6, these will be enabled in the BizTalk 2010 R2 Beta.

 

Improved Performance

The CTP provides performance improvement for certain key scenarios. In case of two way MLLP adapter scenarios where ordered delivery is set, the tests have revealed up-to 5X performance improvement so far in our environments. We have also made enhancements in our engine to improve the performance in ordered send port scenarios.

 

Building hybrid applications

Today, there is an increase in the adoption of hybrid application scenarios where some components of an application run in the cloud and some other components/LOB applications remain on-premise. It then becomes important to integrate between these components and leverage the richness of both worlds. In this CTP release, we enable hybrid connectivity by providing first class support for integrating with Azure Service Bus Queues/Topics/Relays. We are introducing the following adapters

·         SB-Messaging, for sending/pulling data from Service Bus Queues/Topics

·         WCF-NetTCPRelay, for hosting relays or sending data to NetTCPRelay end points

·         WCF-BasicHttpRelay, for hosting relays or sending data to BasicHttpRelay end points

 

Integrating with Azure Service Bus entities is now just a few configurations away!

 

Integration with RESTful services

One of the other prevalent trends in the market today is the proliferation of RESTful services. Almost all new services, as well a lot of services created previously, have a REST interface exposed. For example, all services in Windows Azure, data market place, Salesforce, etc. have support for REST services. With this CTP release, we are making it really easy for you to integrate RESTful services with BizTalk Server using the new WCF-WebHttp adapter. All the REST operations like GET, PUT, POST and DELETE are now supported natively. It gets better. We received community feedback during and post TechEd conference that there should be a way to expose REST services as well from BizTalk. We listened to your feedback. Along with consuming REST services we are also really excited to announce that you now have an early preview to exposing REST services from BizTalk Server as well in this CTP.

 

BizTalk Server in Azure Virtual Machine role

All the above enhancements are available right away for you to preview with BizTalk Server in Azure Virtual Machine role. Setting up a new BizTalk Server environment usually involves long lead time to procure hardware, get the dependencies in place, set up the server, etc. This means long lead times before you can get started with your new BizTalk Server environment. We are now leveraging the power of the cloud and the richness of Windows Azure to provide an experience where you can get up and running with your BizTalk Server environment in matter of minutes and move your existing applications to the cloud without making any changes. Furthermore, the CTP provide improvements to the BizTalk multi machine configuration and now you can do this using some basic configuration settings with the click of a button in a single machine, without having to go and configure BizTalk Server Group in each of the individual nodes.

Monday, August 06, 2012 12:49:28 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | Integration | ServiceBus | BizTalk | 2010 R2
# Friday, July 20, 2012

Hi guys,

 

Great opportunity for .Net Developers to join fast growing company

 

Breeze was recently awarded Microsoft World partner of the Year for 2012 and is looking for 2 .Net developers to work with the latest cloud technologies in Sydney.
(well if you think about it you could use the latest cloud technologies from anywhere, not just Sydney)

 

Please contact me or visit us at Jobs at www.breeze.net – love to hear from you.

 

(no recruiters please)

 

Have a great day folks,

 

Mick.

 

Friday, July 20, 2012 12:28:15 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Jobs
# Thursday, July 19, 2012
Thursday, July 19, 2012 11:54:44 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
General
# Tuesday, July 17, 2012

image

 

Crm looking good Smile

Tuesday, July 17, 2012 10:03:14 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Office 2013

Http://office.com/preview

After a bit of hunting on this site I found the x64 bit version under ‘Install Options’

image

 

As part of the installation I get:

image

In which during this time my account is being provision in the ‘MS Cloud’

Almost there….

image

Tuesday, July 17, 2012 8:15:28 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Office | Office 2013
# Wednesday, July 11, 2012

I am still in shock over this award and are very humbled in receiving it – over 3500+ entries and our story won. Thank you Microsoft, thank you Breeze team and thank you to our great customers in which all of this would not have been possible without you.

Application Integration
WPC11_WebBnnr_Anim_Winner

 

Cloud Partner
 WPC12_WebBnnr_Anim_Finalist

So today was the day at WPC2012 to receive the award up on stage here in Toronto. Not nervous at all Winking smile seeing we had a 2hr rehearsal yesterday.

What a time has this been so far at my first WPC!!! Compared to ‘techie’ conferences the dress standard is higher, different type of events and some great tech demos that are mind blowing (there was one on the keynote today where a partner had developed software around Kinect that created a 3d model of a person by moving the Kinect camera around the person, their software stitched the images together to produce a 3d model. Then the image/model was fed to a 3D printer and presto…out came the 3D person! Very cool)

So after having a photo down under the stadium we were to come out of I was ready to go….

Waiting in the tunnel:
WP_000094

 

My View from out in the middle:
WP_000096

 

Your view of the middle:

WP_000383

 

So all in all it’s been a great day, great time so far and well worth it. I was then fortunate enough to be invited to a Azure Round table discussion with Satya Nadella (President of Server and Tools) and what a lovely lovely lovely guy. He’s very switched on and a refreshing experience was had with myself and 6 others in the room.

He took away our Azure stories and feedback so let's wait and see what transpires – very inspirational stuff! Thank you Satya.

WP_000100

 

And I think I the Northern Hemisphere could be affecting me slightly…

WP_000099

 

More filming tonight and then I can relax!! Open-mouthed smile

WPC Day 2.

Wednesday, July 11, 2012 8:25:41 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
Azure | Integration | BizTalk | Breeze | Events | 2012 | General
# Saturday, July 07, 2012

After getting tickets to the Mets V Cubs tonight 4 of us decided to go to the baseball. First game and I’m very sketchy on the rules.

What a night!! Great night and I can totally see why you get hooked on it.

Chanting and cheering through the game, a home run hit came our way hit from a Cubs player. I *caught* it(my brother was waiting for a hit all game unfortunately he was off buying food when all this was going on) and had the match ball in my hot little hand.

What to do next? – being my first game ever and not knowing too much about the traditions the whole crowd erupted all around me.

I thought it was just crown banter for catching the ball, it was intense as one half was screaming to keep the ball, the rest throw it back – either way I figured I was done for by someone.
The game was stopped in the meantime…

After conferring with some guys behind me, I ended up throwing it back as to a Mets supporter this indicates that the ball is not worthy of keeping. (The Cub’s supporter reciprocate while at home as well)

What a moment, what a game and what fun. Jane – one of the boys behind me later went and bought me a baseball, as a good will gesture. Thanks Jane that’s very kind of you.

Great fun – what a game.

WP_000069

Saturday, July 07, 2012 2:09:41 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
General
# Wednesday, June 13, 2012

Hi folks, you've probably heard a fair bit about the make over of Azure into 'Azure 2.0' (the SDK is still 1.7)

There's some great new tools within VS.NET to manage your environment better, even a Service Bus 'explorer' which was much needed.

I've collected a few links to start with for you guys to read up on when you've got a moment:

Azure 2.0 Details on:

Wednesday, June 13, 2012 11:54:11 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | Azure | Integration | ServiceBus | Events | Recordings | Tips | Training
# Friday, June 08, 2012

Hi guys, I gave an online presentation earlier this afternoon as part of Microsoft Readiness on Azure Virtual Networks.

I had the whole presentation prepared until the http://meetwindowsazure.com announcement, where I had to go to the drawing board and just share all this goodness that was pouring out in Azure V2.0.

Thanks to the healthy turnout for those online and to those who registered, then check the emails for a link shortly.

As promised here’s the slide deck guys that I used through my demos

Connecting Cloud and On-Premises Applications Using Windows Azure Virtual Network - Breeze_Mick Badran

Presentation:

Friday, June 08, 2012 9:24:57 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | Azure | Integration | ServiceBus | BizTalk | Insights | Events | Recordings | Readiness | Training

Now we’re talking….

image

Off to do some damage…umm play.

Friday, June 08, 2012 7:34:26 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | Azure | Integration
# Thursday, June 07, 2012
Thursday, June 07, 2012 11:31:37 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | Integration | ServiceBus

I thought I’d give it a go and see how far this would take me. (One of the Win8 x64 beta installs caused alot of grief)

So my environment:

  • Recent Win8 RC x64
  • Office 2010 x64
  • Outlook 2010 x64

Installed the CRM 2011 Client by going to the web address of our crm site e.g. https://crm.acme.com

There’s a button on page that says ‘download Dynamics CRM for Outlook’ – after a short download and install all went well

I grabbed CRM2011 CU8 - http://www.microsoft.com/en-us/download/details.aspx?id=29692 and updated accordingly.

Note at this point CRM plugin had not been configured.

CRM Client Log files prove very helpful here:

When I fired up Outlook and went to configure the CRM Plugin, Testing connection I would get back

“…we can’t authenticate your credentials…

Digging into the log files…..

C:\Users\mickb\AppData\Local\Microsoft\MSCRM\Logs\Crm50ClientConfig.log

22:05:18|  Error| Error connecting to URL: https://crm.acme.com/XRMServices/2011/Discovery.svc Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at Microsoft.Xrm.Sdk.Client.ServiceConfiguration`1.CreateLocalChannelFactory()
   at Microsoft.Xrm.Sdk.Client.ServiceConfiguration`1.CreateChannelFactory(ClientCredentials clientCredentials)
   at Microsoft.Xrm.Sdk.Client.DiscoveryServiceConfiguration.CreateChannelFactory(ClientCredentials clientCredentials)
   at Microsoft.Xrm.Sdk.Client.ServiceProxy`1.get_ChannelFactory()
   at Microsoft.Xrm.Sdk.Client.ServiceProxy`1.CreateNewServiceChannel()
   at Microsoft.Xrm.Sdk.Client.ServiceContextInitializer`1.Initialize(ServiceProxy`1 proxy)
   at Microsoft.Xrm.Sdk.Client.DiscoveryServiceProxy.Execute(DiscoveryRequest request)
   at Microsoft.Crm.Application.Outlook.Config.DeploymentsInfo.DeploymentInfo.LoadOrganizations(AuthUIMode uiMode, Form parentWindow, Credential credentials)
   at Microsoft.Crm.Application.Outlook.Config.DeploymentsInfo.InternalLoadOrganizations(OrganizationDetailCollection orgs, AuthUIMode uiMode, Form parentWindow)

Solution: Install the Windows Identity Framework 3.5 that comes with Win8 RC.

SNAGHTML85316e


And in my case, you’re done.

Happy CRM-ing.

Now to fill in my timesheets Winking smile

Mick.

Thursday, June 07, 2012 10:27:43 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | CRM
# Monday, June 04, 2012

So we’ve gotten through the final part of our TFS upgrade and as with all new products there’s a sense of anticipation in discovering the new, the brilliant and the clever that’s been baked into these products.

So I’ve offloaded as much as possible such as the DBs, SSRS and Analysis on our SQL2012 cluster, leaving the function of TFS and SharePoint 2010 on the one box.

Here’s my list:

  • TFS source control – tick
  • TFS reporting through SSRS – tick
  • TFS Analytics – tick
  • SharePoint 2010 – tick
  • TFS 2012 – tick
  • Razor? JQuery access? REST API(I’m guessing YES)

Before I embark down the track like the Leyland Brothers I go hit with a very informative message – BOOM

“TF400080: Your system does not have the recommended amount of system memory available: 10 GB. While SharePoint 2010 with Team Foundation Server can operate with less than this amount of memory, the performance will be degraded. Upgrade your system memory to at least the recommended minimum for optimal performance”

Soooo…the old 10GB means it will run ‘better’. I reckon anything in 10GB will run great! SQL supporting 4000 concurrent transactions, etc.

10GB! Run TFS + SP2010 = 10GB (optimal).

I guess for years the ‘recommended guides’ have undersold themselves. This time round, they’re not guilty of that.

Looks to be a great upgrade though.

Cracking on.

Mick.

Monday, June 04, 2012 4:55:32 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
TFS

I think at the moment, the short answer is no! Off to check the documentation…

”To continue with this installation or upgrade…please remove!…”

image

….

From the documentation – we uninstall TFS 2010 bits, but not the DB obviously and you do….

Step 3 Use Control Panel to completely uninstall the previous version of Team Foundation Server. If SharePoint Products is running on a computer other than Team Foundation Server, you have to uninstall the TFS Extensions for SharePoint from the SharePoint server, too. If SharePoint Products is on the TFS application tier, don’t worry: We’ll automatically uninstall the TFS Extensions for SharePoint while we remove the old version of TFS.

Uninstall previous version

Step 4 Run the Team Foundation Server install from the product DVD and then use the Upgrade Configuration wizard to upgrade your installation. But wait—if SharePoint Products is running on a computer other than the computer running Team Foundation Server, you’ll first want to install the new TFS Extensions for SharePoint on the SharePoint server. Similar to the previous step, if SharePoint Products is on the TFS application tier, we’ll automatically install the Extensions for SharePoint while we set up the new version of TFS.

Select upgrade

Monday, June 04, 2012 2:57:24 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | General | TFS
# Thursday, May 31, 2012

Can you imagine developing Apps on your WP7 phone? I couldn’t even begin to contemplate anything of the sort until I saw Touch Develop!!

SNAGHTML763361

 

teach

TouchDevelop is a novel software development environment that lets users write programs for Windows Phone directly on the smartphone, no PC required. TouchDevelop can be used in the classroom to teach programming concepts, and TouchDevelop is also ideal for classes on Mobile Computing, as it cuts the time required to write apps.

University phone loan program

To help students gain access to this revolutionary new programming language and environment, we have set up a loan program, from which you can get Windows Phones for a semester. Please send a short proposal to outreach@microsoft.com. Give the name of the instructor, the class website, the number of students, and how the phones will be used.

experience

Visit TouchDevelop teaching page at Microsoft Research for a list of how TouchDevelop has been used and is being used in classrooms.

resources for educators
  • book - currently available for free online; systematic introduction to all basic concepts
  • slides - many slides decks going through all aspects of mobile app development with TouchDevelop
  • learn - more documents, videos
in the classroom

Teachers and students should work with actual Windows Phones devices in the classroom — the TouchDevelop user interface was designed around the idea of only using a touchscreen to write code and performing gestures to navigate; using TouchDevelop on an emulator doesn't provide the intended experience. When teaching in the classroom, you can use a webcam or desktop visualizers to project the image of the phone on a big screen. As a teacher, consider subscribing to your students to see what they are publishing and if they are asking questions

Thursday, May 31, 2012 6:25:41 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Windows Phone 7
# Tuesday, May 29, 2012
Finally we get some info on what IP ranges are used for the Data Centers. Now when you have those conversations with the Network security folks and when they ask "What IP addresses are you hitting?", when they want to open up access for Azure Service Bus.

Here's the 'official' IP Ranges (you just hope it doesn't change on you...it works for 3 days of the week, then the 4th it stops...that was an interesting one to solve)

Windows Azure DataCenter IP Ranges

This appeases my grief in a previous post

Tuesday, May 29, 2012 8:25:50 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | Azure | ServiceBus
# Monday, May 28, 2012

Hi folks,

We’re looking for someone who loves technology and is currently surrounded by .NET technologies.
Contact us if you want to be part of a great team that sinks their teeth into many different projects, concepts and technologies.

The most important thing I look for is your ‘can do’ attitude, the rest we can essentially learn. Come and be part of a team that loves what they do, and do what they love.
(Makes it easier to get up on these colder mornings Winking smile)

Sydney based.

If you’re interested and want to start the ball rolling - http://breeze.net/who-we-are/jobs.aspx
(I might even get you to leave your CV at home for the interviews Winking smile)

Talk to you soon,

Mick.

p.s. No agencies please.

Monday, May 28, 2012 6:38:48 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | Breeze | Jobs
Huge assortment of scripts for all the family on many many many different jobs....

http://gallery.technet.microsoft.com/ScriptCenter/

Note to self: Why didn't I come across this sooner??

Enjoy,

Mick.

Monday, May 28, 2012 5:03:50 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Dev | General | Tips
# Tuesday, May 22, 2012
Hi folks, recently I've been asked by several students on how to create Parties, Agreements, Profiles etc. via code in BizTalk 2010.

I played with this along time ago while at Redmond as BizTalk 2010 was in the process of being released.

So I've just rolled up my sleeves and provided a quick demo for you - the demo shows:
  1. How to enumerate and get at each of your TPM Partners.
  2. How to create Partners + Profiles within BizTalk 2010.
Note: I've only tried this on BizTalk 2010 (& needless to say I'm claiming 'works on my machine' :))

What we're talking about in BizTalk
This section here....




Show me the code....
Well the magic is found in this DLL -
C:\Program Files (x86)\Microsoft BizTalk Server 2010\Developer Tools\Microsoft.BizTalk.B2B.PartnerManagement.dll

- create a VS.NET 2010 app (for this demo I created a console app)
- we make a reference to the above DLL (we also need to reference system.data.entity)
- set a connectionstring to our BizTalk Management DB, mine is BizTalkDB (as I rolled all the BizTalk DBs into one - for dev)
- start enumerating.

C# Looks like this-

static void Main(string[] args)
       {
           //enumerate all the TPM Profiles in BizTalk
           var builder = 
               new SqlConnectionStringBuilder("DATA SOURCE=localhost;Initial Catalog=BizTalkDB;"
           + "Integrated Security=SSPI;MultipleActiveResultSets=True");
           var tmpCtx = TpmContext.Create(builder);

           Console.WriteLine("Connected to BizTalk Global Parties");
           var partners = tmpCtx.Partners;
           Console.WriteLine("Number of Parters:{0}", partners.Count());
           Console.WriteLine("------------");

           foreach (var ptr in partners)
           {
               var profiles = ptr.GetBusinessProfiles();
               Console.WriteLine("{0} Business Profiles:{1}", ptr.Name, profiles.Count);
               foreach (var profile in profiles)
               {
                   Console.WriteLine("\tProfile:{0}", profile.Name);
               }
           }
           tmpCtx.Dispose();
           if (bCreateProfile)
           {
               createProfile("Breeze Partner #");
           }
           Console.WriteLine("Finished");
           Console.ReadLine();
       }

Point to Note: in the connection string I set 'MARS=true' just so we can enumerate several collections at once through the one context. When updating or saving new, partners and/or profiles I get errors and can't save through a MARs enabled connection. (love to hear if you have different luck)

Creating a Partner + Profile
// need to do this through a single threaded connection - no MARS
        private static void createProfile(string partnerName)
        {
            partnerName += DateTime.Now.ToString("yyyyMMdd-hhmmss") + (new Random().Next(0, 65535));
            Console.WriteLine("Writing a new Profile for {0}", partnerName);

            var builder = new SqlConnectionStringBuilder("DATA SOURCE=localhost;Initial Catalog=BizTalkDB;Integrated Security=SSPI");
            var tmpCtx = TpmContext.Create(builder);
            var ptr = tmpCtx.CreatePartner(partnerName);
            var pname = "Breeze Profile-#" + DateTime.Now.ToString("yyyyMMdd-hhmmss") + (new Random().Next(0, 65535));
            var bp = ptr.CreateBusinessProfile(pname);
            bp.Description = "Created from Code";
            var pcol = new AS2ProtocolSettings("BreezeProtocolSettings");
            bp.AddProtocolSettings(pcol);
            tmpCtx.SaveChanges();
            tmpCtx.Dispose();
            
        }
And that's pretty much all there is to it folks, have a play around with the APIs for yourself - all undocumented of course.

Here's the Console App Solution I use (built for very demo purposes)

TPM API Demo.zip (32 KB)

Enjoy Mick!
Tuesday, May 22, 2012 2:45:23 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | 2010 | 2010 R2 | Insights | Tips
# Tuesday, May 08, 2012

http://www.neowin.net/news/microsoft-renames-azure-services – article talks about MS renaming services and essentially dropping the ‘Windows…’ out of it.

My experience has seen this will appeal to the non-MS types that see ‘Windows…’ as something they don’t want to go near.
I personally think it’s a good move as sure it’s Windows but the Azure Platform offers so much more…..

Here’s some of the proposed changes….

Prior Service Name New Service Name
Windows Azure Compute Cloud Services
Windows Azure Platform - All Services All Services
Windows Azure CDN CDN
Windows Azure Storage Storage
Windows Azure Traffic Manager Traffic Manager
Windows Azure Virtual Network Virtual Network
AppFabric Cache Cache
AppFabric Service Bus Service Bus
AppFabric Access Control Access Control
SQL Azure SQL Database
SQL Azure Reporting Service SQL Reporting
Tuesday, May 08, 2012 10:57:37 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | Integration | ServiceBus
# Tuesday, May 01, 2012
Folks, this is Scotty's 2nd presentation this week where he shares is love, scripts and years of experience in Managing Azure Applications (Breeze started back in early 2008).

Tune into this free event and to hear & see what Scotty has on offer.

Register

LIVE Meeting: Managing Windows Azure Applications

Event ID: 1032500972

Language(s):  English.
Product(s):  Microsoft BizTalk Server and Windows Azure.
So you just made your first Windows Azure deployment. Now what? Is it healthy? How many instances do you need? What will my bill be? When do I need to scale up? Was that a DoS attack? Will auto-patching break me? Getting an application into Windows Azure is the first step, now you have to run the application for the next three years. Come to this session and see how to manage and operate your Windows Azure applications.

Register

Tuesday, May 01, 2012 8:51:51 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Events | BizTalk2010 | Recordings | General
Hi folks,

Scotty (aka Sco the Stig) Scovell is presenting this week on

Ten Must-Have Tools for Windows Azure as part of Microsoft Readiness.

We'd love to see you there - free event

LIVE Meeting: Ten Must-Have Tools for Windows Azure

Event ID: 1032500970

Language(s):  English.
Product(s):  Microsoft BizTalk Server and Windows Azure.
Any platform, by its own nature, creates an ecosystem for third-party tools and helpers. Windows Azure is no different. In this session we look at a variety of the third-party tools available in the Windows Azure ecosystem. Included are tools for both developers and IT professionals. We look at tools that will help manage storage and resources, migration, scaling, diagnostics and software components that will help you build cloud applications.

Registration

Tuesday, May 01, 2012 8:44:52 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Integration | ServiceBus | Events | Recordings | General | Training
# Sunday, April 01, 2012

Local MS Developer pillar Andrew Coates spilled the beans on this next new language to come out of MS Research.

Db.NET or ‘D flat’ – F#, C# and the Cinderella of the 3 sisters ‘VB.NET’
(Last year I was introduced to F# over a 5 month project and absolutely loved the simplicity and freshness of it – async was simple, tasks, functions and code that would normally take 400 lines in C#, we were able to do in 100 in F#)

It promises:

- speed

- optimisation (I wonder if it’ll be smart enough to run tasks on different CPU cores?)

SNAGHTML7dd9a16

There is a focus on Orchestration – data Orchestration found here http://thenextlanguage.net/a-focus-on-orchestration/

Where it talks about “An example of the close collaboration between the product team and the company’s research arm is the use of Schenkerian Analysis in the compiler to maximize orchestration between sections of the code.”

Oooh I thought – let’s check out what this is Schenkerian Analysis and a quick check of Wikipedia reveals http://en.wikipedia.org/wiki/Schenkerian_analysis

Schenkerian analysis is a method of musical analysis of tonal music based on the theories of Heinrich Schenker. The goal of a Schenkerian analysis is to interpret the underlying structure of a tonal work. The theory's basic tenets can be viewed as a way of defining tonality in music. A Schenkerian analysis of a passage of music shows hierarchical relationships among its pitches, and draws conclusions about the structure of the passage from this hierarchy. The analysis is demonstrated through reductions of the music, using a specialized symbolic form of musical notation that Schenker devised to demonstrate various prolongational techniques. The concept of tonal prolongation, in which certain pitches determine the goal of other, subordinate pitches, is a cornerstone of the pitch hierarchy that Schenkerian analysis involves itself with.”

So tones, pitches and music is where this algorithm has its roots…I can see how you could take this analysis when applied to the frequency of music and apply it to the frequency of code items; data being hit etc.

I’ll crack open this VS.2011 extension and see what transpires…

Grab the TOOLS here - http://thenextlanguage.net/tools/

Sunday, April 01, 2012 8:10:48 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | Async
# Wednesday, March 14, 2012

Should be an interesting month this April - http://www.arnnet.com.au/article/337290/australia_gets_azure_cloud_april/

Let’s see what the pricing will be… be great to handle alot of those data sovereignty issues.

It’s like waiting for Santa all over again Smile

Wednesday, March 14, 2012 7:39:28 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration | ServiceBus
# Sunday, March 11, 2012

Pretty quick and Win8 is looking pretty slick.

It found all my drivers and in about 15 mins I was up and running.

Let’s see how we go over the next couple of weeks Smile

Sunday, March 11, 2012 11:42:48 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Breeze | General
# Saturday, March 10, 2012

I’m finally back home after a great trip to Seattle and to see some fellow VTSPs from all over the globe. Very switched on bunch.

I was fortunate enough to be asked to present and with Scotty at the demo controls, we steered a pretty good session.

Thanks to ‘all y-all’ whom was in the session and I hope you got as much out of it as I did.

Grab the Public Version of the slide Deck – HERE.

So as promised on the advice of John Brockmeyer here’s some current limitations of the Azure ‘Integration’ Services.

Feature decision making  with Hybrid IT Solutions-Mick_Scott_1

Feature decision making  with Hybrid IT Solutions-Mick_Scott_2

Feature decision making  with Hybrid IT Solutions-Mick_Scott_3

Feature decision making  with Hybrid IT Solutions-Mick_Scott_4

Feature decision making  with Hybrid IT Solutions-Mick_Scott_5

Feature decision making  with Hybrid IT Solutions-Mick_Scott_6

Feature decision making  with Hybrid IT Solutions-Mick_Scott_7

Saturday, March 10, 2012 3:40:35 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration | ServiceBus | BizTalk | 2010 | Events

Easy but effective

<script type='text/javascript'>
var msg = "your big title goes here…";
msg = " ..... " + msg;pos = 0;
function scrollTitle() {
document.title = msg.substring(pos, msg.length) + msg.substring(0, pos); pos++;
if (pos > msg.length) pos = 0
window.setTimeout("scrollTitle()",300);
}
scrollTitle();
</script>

Saturday, March 10, 2012 3:12:07 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | Dev | Tips
# Thursday, February 23, 2012

Folks I’ve decided to list some useful links and tips that I’ve come across as part of our work we do. This list will grow and expand as time goes on.

Thursday, February 23, 2012 9:45:08 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration | ServiceBus

While currently setting up a BizTalk 2010 developer machine, I’ve got to do a couple of others to do also for the team.

I figured ‘we surely can copy/clone this’ – here’s a handy link for SysPrep and we use files from the BizTalk SDK to work the magic.

http://msdn.microsoft.com/en-us/library/ee358636.aspx

Looking forward to it.

Enjoy.

Thursday, February 23, 2012 8:09:47 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [3] -
BizTalk | 2010 | 2010 R2 | Insights
# Wednesday, February 22, 2012

Folks, here’s a great page showing which Azure OS and SDK applies to what version.

One to keep handy – get prepared for a v1.7 SDK release

http://msdn.microsoft.com/en-us/library/windowsazure/ee924680.aspx

Wednesday, February 22, 2012 7:06:12 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration | ServiceBus
# Thursday, February 16, 2012

Hey guys,

 

Breeze is looking for some keen .NET Developers who have some SharePoint (2007/2010) experience and would like to accelerate their development accessing the latest technologies.

If that sounds like you please visit www.breeze.net/about/jobs.aspx, we’d love to hear from you.

Keep smiling,

Mick.

Thursday, February 16, 2012 2:02:44 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Breeze | Jobs
# Friday, February 10, 2012

You know it’s a Friday when…who can spot the ‘yes/no/cancel’ buttons?

image

Friday, February 10, 2012 11:09:15 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
SharePoint | 2010 | Tips
# Thursday, February 09, 2012

Hi folks, I hope 2012 has been a great start for you as well.

Currently at Breeze I’m after 2 more BizTalk/SharePoint/.NET junior Developers to join a great team.

If you love technology and want to get your hands dirty then we should chat – ideally you’ve got sound .NET development experience and exposure to SharePoint and BizTalk.

We’re also a training company, so we will skill you up in required areas – the thing I’m looking for is a great attitude. The rest can be learnt…

If you want to get into the Software/Systems integrations space and start solving some great puzzles then let’s hear from you.

Here’s the Job Details.

Thursday, February 09, 2012 4:38:41 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Breeze | Jobs | General | Jobs
# Thursday, February 02, 2012

After ranting on a couple of emails today about a particular Azure issue, I’ve popped up a couple of features to vote on.

http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting

Add yours now

Thursday, February 02, 2012 5:44:20 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | ServiceBus

With the ever changing Azure space, chances are you’ve had services working a treat and then one day just fail.

“Can’t connect…" etc.

This has happened to me twice this week – with over 14 IP Address ranges defined in the client’s firewall rules.

It appears that my service bus services were spun up or assigned another IP outside the ‘allowed range’.

It gets frustrating at times as generally the process goes as follows:

1) fill out a form to request firewall changes. Include as much detail as possible.

2) hand to the client and they delegate to their security/ops team to implement.

3) confirmation comes back.

4) start up ServiceBus service

5) could work?? may fail – due to *another* IP address allocated in Windows Azure not on the ‘allowed list of ranges’.

6) fill out another form asking for another IP Address…

By the 3rd iteration of this process it all is beginning to look very unprofessional. (in comparison, these guys are used to tasks such as ‘Access to SQL Server XXX – here’s the ports, there’s the machine and done’. Azure on the other hand – ‘What IP Addresses do you need? What ports?’… we need better information in this area)

Anyway – here’s the most update to date list 10/02/2011.

http://blogs.msdn.com/b/windowsazureappfabricannounce/archive/2010/01/28/additional-data-centers-for-windows-azure-platform-appfabric.aspx

Thursday, February 02, 2012 1:15:07 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | Azure | Integration | ServiceBus
# Tuesday, January 31, 2012

Scotty & myself have had this error going for over 2 weeks now, and have tried many options, settings, registry keys, reboots and so on.
(we have had this on 2 boxes now, that are *not* directly connected to the internet. They are locked down servers with only required services accessible through the firewall)

Generally you’ll encounter this error is you install Azure SDK v1.6 – there has been people that have revert back to Azure v1.5 SDK when this error has been encountered and this seems to fix most of their problems.

Here I’m using netTcpRelayBinding, BizTalk 2010 but this could just have easily have been IIS or your own app.

Finding the outbound ports and Azure datacenter address space is always the challenge. Ports 80,443,9351 and 9352 are the main ones with the remote addresses being the network segments of your Azure Datacenter.

The problem: “Oh it’s a chain validation thing, I’ll just go and turn off Certificate checking…” let me see the options.
(this is what we thought 2+ weeks ago)

image

Here I have a BizTalk shot of the transportClientEndpointBehaviour with Authentication node set to NoCheck and None (you would set these from code or a config file outside of biztalk)

We found that these currently have NO BEARING whatsoever…2 weeks we’ll never get back.

Don’t be drawn into here, it’s a long windy path and you’ll most likely end up short.

I am currently waiting to hear back from the folks on the product team to see what the answer is on this – BUT for now as a workaround we sat down with a network sniffer to see the characteristics.

Work around:

1. Add some Host Entries

2. Create a dummy site so the checker is fooled into grabbing local CRLs.

Add these Entries to your HOSTs file.

127.0.0.1    www.public-trust.com
127.0.0.1    mscrl.microsoft.com
127.0.0.1    crl.microsoft.com
127.0.0.1    corppki

Download and extract these directories to your DEFAULT WEB SITE (i.e. the one that answers to http://127.0.0.1/…..)
This is usually under C:\inetpub\wwwroot (even if you have sharepoint installed)




-------------------- The nasty error -------------------

The Messaging Engine failed to add a receive location "<receive location>" with URL "sb://<rec url>" to the adapter "WCF-Custom". Reason: "System.ServiceModel.Security.SecurityNegotiationException: The X.509 certificate CN=servicebus.windows.net chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. The revocation function was unable to check revocation because the revocation server was offline.
---> System.IdentityModel.Tokens.SecurityTokenValidationException: The X.509 certificate CN=servicebus.windows.net chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. The revocation function was unable to check revocation because the revocation server was offline.

   at Microsoft.ServiceBus.Channels.Security.RetriableCertificateValidator.Validate(X509Certificate2 certificate)
   at System.IdentityModel.Selectors.X509SecurityTokenAuthenticator.ValidateTokenCore(SecurityToken token)
   at System.IdentityModel.Selectors.SecurityTokenAuthenticator.ValidateToken(SecurityToken token)
   at System.ServiceModel.Channels.SslStreamSecurityUpgradeInitiator.ValidateRemoteCertificate(Object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
   at System.Net.Security.SecureChannel.VerifyRemoteCertificate(RemoteCertValidationCallback remoteCertValidationCallback)
   at System.Net.Security.SslState.CompleteHandshake()
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   at System.ServiceModel.Channels.SslStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity)
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.SslStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity)
   at System.ServiceModel.Channels.StreamSecurityUpgradeInitiatorBase.InitiateUpgrade(Stream stream)
   at System.ServiceModel.Channels.ConnectionUpgradeHelper.InitiateUpgrade(StreamUpgradeInitiator upgradeInitiator, IConnection& connection, ClientFramingDecoder decoder, IDefaultCommunicationTimeouts defaultTimeouts, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)
   at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at Microsoft.ServiceBus.RelayedOnewayTcpClient.RelayedOnewayChannel.Open(TimeSpan timeout)
   at Microsoft.ServiceBus.RelayedOnewayTcpClient.GetChannel(Uri via, TimeSpan timeout)
   at Microsoft.ServiceBus.RelayedOnewayTcpClient.ConnectRequestReplyContext.Send(Message message, TimeSpan timeout, IDuplexChannel& channel)
   at Microsoft.ServiceBus.RelayedOnewayTcpListener.RelayedOnewayTcpListenerClient.Connect(TimeSpan timeout)
   at Microsoft.ServiceBus.RelayedOnewayTcpClient.EnsureConnected(TimeSpan timeout)
   at Microsoft.ServiceBus.Channels.CommunicationObject.Open(TimeSpan timeout)
   at Microsoft.ServiceBus.Channels.RefcountedCommunicationObject.Open(TimeSpan timeout)
   at Microsoft.ServiceBus.RelayedOnewayChannelListener.OnOpen(TimeSpan timeout)
   at Microsoft.ServiceBus.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at Microsoft.ServiceBus.SocketConnectionTransportManager.OnOpen(TimeSpan timeout)
   at Microsoft.ServiceBus.Channels.TransportManager.Open(TimeSpan timeout, TransportChannelListener channelListener)
   at Microsoft.ServiceBus.Channels.TransportManagerContainer.Open(TimeSpan timeout, SelectTransportManagersCallback selectTransportManagerCallback)
   at Microsoft.ServiceBus.SocketConnectionChannelListener`2.OnOpen(TimeSpan timeout)
   at Microsoft.ServiceBus.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint.Enable()
   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint..ctor(BizTalkEndpointContext endpointContext, IBTTransportProxy transportProxy, ControlledTermination control)
   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiver`2.AddReceiveEndpoint(String url, IPropertyBag adapterConfig, IPropertyBag bizTalkConfig)".

Tuesday, January 31, 2012 2:08:41 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
AppFabricServer | Azure | Integration | ServiceBus | BizTalk | 2010

Well folks it’s now 2 days after the swim and I’m beginning to feel back to normal.
(I have 2 more swims to go, but this was the big one)

Firstly I’d like to thank all of you whom sponsored me to face the sharks in

‘Jacques Cousteau’ style.

 

There’s a great video that does a good job of covering the race and the beautiful day we had.

 

http://www.youtube.com/watch?hl=en&v=YXk7NXysslA&gl=US

The Race
-
I got there with a bit of time to spare grabbed my PINK cap + ankle bracelet (which had to be worn on the LEFT ankle, as sharks eat only right ones Disappointed smile )
- The race kicked off at 10am with staggered starts and as it turned out my group 40-49yr males started last!
- I got pretty nervous before the start…I’d kill for a cocktail out the back.
- As the other groups were hitting the water, there were 16yr olds that I reckon would be done before I got out past the break.
- Livesavers were on hand, helicopters overhead and I stuck to my strategy ‘keep at least one other person between you and the ocean’.
- We hit the water and had about 400m around the first marker, and the 40-49s were up for some serious competition.
Elbows, knees, goggles off and I even had someone pull my foot. Anyone would think we’re doing Olympic time trials!!! And this is in the first 200m.
- The swell was up around the point and there was a lot of ups and downs, downs and ups with some guys seeking help from nausea.
- I swam close as I could to the rocks with the pack a good 100m to my left out to sea. I did think ‘Micks' taken the wrong track here’
- What seemed like forever around that headland and surf was up there, I finally rounded the point into Whale beach. (the video has a great shot of this spot)
- Headed for the last marker that I could see way down the other end of the beach.
- Turned and headed towards the only break I could see….caught a wave in – which made it all worth while and came in at 50mins (some people were around 25mins!)
- As I emerged out of the water about to kiss the sand like the pope, my family was literally 1m away right in front!!! Amazing!

Overall
It was a great experience with even an 82yr old man doing the swim – puts me in my place.

Thanks all for the support and 2 more to go for me.

Cheers,

Mick.

Tuesday, January 31, 2012 1:17:08 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
General
# Sunday, January 29, 2012

Windows Azure cannot perform a VIP swap between deployments that have a different number of endpoints.

Which begs the question – what happens as part of an upgrade if you add-endpoints???

So clearly the VIP Swap operation is not a simple process.

Now off to delete some production instances so I can get the changes through… Disappointed smile

Sunday, January 29, 2012 9:23:24 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration | BizTalk
# Thursday, January 26, 2012

Recently there’s been an update to the ‘on-premise’ AppFabric for Windows Server.

Grab the update here - http://www.microsoft.com/download/en/details.aspx?id=27115 (runs on win7, 2008, 2008R2)

What’s new

I’m in the process of updating my components, but the majority of updates seems to be around caching and performance.

http://msdn.microsoft.com/en-us/library/hh351389.aspx

 

Read-Through/Write-Behind

This allows a backend provider to be used on the cache servers to assist with retrieving and storing data to a backend, such as a database. Read-through enables the cache to "read-through" to a backend in the context of a Get request. Write-behind enables updates to cached data to be saved asynchronously to the backend. For more information, see Creating a Read-Through / Write-Behind Provider (AppFabric 1.1 Caching).

Graceful Shutdown

This is useful for moving data from a single cache hosts to rest of the servers in the cache cluster before shutting down the cache host for maintenance. This helps to prevent unexpected loss of cached data in a running cache cluster. This can be accomplished with the Graceful parameter of the Stop-CacheHost Windows PowerShell command.

Domain Accounts

In addition to running the AppFabric Caching Service with the NETWORK SERVICE account, you can now run the service as a domain account. For more information, see Change the Caching Service Account (AppFabric 1.1 Caching).

New ASP.NET Session State and Output Caching Provider

New ASP.NET session state and output caching providers are available. The new session state provider has support for the lazy-loading of individual session state items using AppFabric Caching as a backing store. This makes sites that have a mix of small and large session state data more efficient, because pages that don't need large session state items won't incur the cost of sending this data over the network. For more information, see Using the ASP.NET 4 Caching Providers for AppFabric 1.1.

Compression

You can now enable compression for cache clients. For more information, see Application Configuration Settings (AppFabric 1.1 Caching).

Multiple Cache Client Application Configuration Sections

A new dataCacheClients section is available that allows you to specify multiple named dataCacheClient sections in an application configuration file. You can then programmatically specify which group of cache client settings to use at runtime. For more information, see Application Configuration Settings (AppFabric 1.1 Caching).

Thursday, January 26, 2012 10:14:06 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | AppFabricServer | Azure | Integration | 2010 | 2010 R2 | Dev
# Monday, January 23, 2012

Hi folks, welcome to Monday…so I thought.

Here I was registering a message inspector which should take 5 mins tops.

Find the right config, make sure the .NET full assembly name is cool and away we go.

I wanted to use this guy from my custom WCF Adapter within BizTalk – so I needed my new message inspector to be seen by BizTalk.

So I used:

<add name="wcfMsgPropPromoter" type="Breeze.WCF.Extensions.BreezeMessagePromoteBehaviour,Breeze.WCF.Extensions,Version=1.0.0.0,Culture=neutral,PublicKeyToken=c2c8c7e827e9dd6a"/>

and added this guy to the <behaviorExtensions> element in the Machine.Config for .NET 4.0 x64/.NET 4.0 (& .NET 2.0 for good measure)

As if a scene from SpongeBob,… 3 hours later….

I had triple check GACs, caches, full assembly names etc…Scotty popped his head around and said “Oh yeah I had this one ages ago you need to use this…”

<add name="wcfMsgPropPromoter" type="Breeze.WCF.Extensions.BreezeMessagePromoteBehaviour, Breeze.WCF.Extensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2c8c7e827e9dd6a"/>

Can you spot the difference?

SPACES!!!!

Interestingly enough – this work is part of a .NET plugin I wrote for IIS 7.5 and to register the plugin you use “Breeze.WCF.Extensions.BreezeMessagePromoteBehaviour,Breeze.WCF.Extensions,Version=1.0.0.0,Culture=neutral,PublicKeyToken=c2c8c7e827e9dd6a"

NO SPACES!

My head hurts for a Monday…

Hopefully you reclaim the hours I’ve lost here.

Mick.

Monday, January 23, 2012 4:52:20 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | 2010 | 2010 R2 | Dev | .NET Framework 4.5
# Tuesday, January 17, 2012

Just came across this one – Microsoft of recently released the Storage Client source code.

Could come in handy!

https://github.com/WindowsAzure/azure-sdk-for-net

Cheers,

Mick.

Tuesday, January 17, 2012 3:45:19 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration | BizTalk | 2010 | 2010 R2
# Wednesday, January 11, 2012

Hi folks, we’ve set a cracking pace into 2012 and are in need of an additional team member.

If you love technology, we love technology and I’d love to hear from you to be part of my team.

You will be stimulated, constantly thinking and challenged – azure, integration, biztlak, sql, windows phone 7 and many other technology areas you’ll be exposed to. Integration is all about the glue we use to achieve the result.

If you’re keen for a chat check out the blurb - http://www.breeze.net/about/jobs.aspx

Cheers,

Mick.

Wednesday, January 11, 2012 11:32:16 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
AppFabricServer | Azure | BizTalk | 2010 | Breeze | BET | Dev | General | Jobs
# Monday, January 09, 2012

Thought I’d start off the year with a bang around Azure and what’s been happening in the land of Integration.

 

So I contacted a Conor Brady to see what was cooking.

 

The user group is meeting next Thursday 19th Jan 2012.

 

Here’s the blurb…..

 

-----------------------------------------

 

'Integration using Windows Azure Application Integration Services'

Local Integration & Training guru Mick Badran CTO at Breeze Training & Consulting and veteran BizTalk Server MVP will present on 'Integration using Windows Azure Application Integration Services'

The presentation will show how to use Microsoft Windows Azure to be the cornerstone of your integration strategy, whether it’s a small piece or larger deployment. Find out what new tools you can use to extend your existing toolbox and the best way to use them.

This session will cover:

- Strategies on complementing your on-premise <-> cloud integration and what tool to use when.

- High availability solutions with a demo of fault tolerance.

- Casting an eye what’s around the corner to new features coming out of Azure Labs such as EAI, EAI Bridges, EDI – azure style and new XML over HTTP endpoints.

 

------------------------------------------

 

Here’s the link to REGISTER - http://www.eventbrite.com/event/2739308345

 

See you there!

 

Mick.

Monday, January 09, 2012 3:18:16 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
AppFabricServer | Azure | Integration | BizTalk
# Saturday, December 17, 2011

Well folks – the appfabric labs have come out with a real gem recently.

In CTP we have:

  • EDI + EAI processing
  • AS2 http/s endpoints
  • ‘Bridges’
  • Transforms

and of course the latest version of

  • ServcieBus, Queues and Topics.

To get the real benefit from this ‘sneak peek’ there’s a bit of setup required. To those familiar with BizTalk there’s a few EDI screens declaring parties/partners and agreements you’ll have seen before.

To get cracking:

  1. Update your local bits with the latest and greatest - Installing the Windows Azure Service Bus EAI and EDI Labs - December 2011
    Part of this install is to install the Service Bus Connect component, which installs the BizTalk 2010 LOB Adapter pack.
    image

    So this is really quite interesting. As the WCF LOB Adapter SDK provides a framework for developers to build out ‘adapters’ to connect systems/endpoints through a sync/async messaging pattern.

    The BizTalk Adapter Pack 2010 is the BizTalk Team set of adapters built on top of the WCF Adapter Framework. The BizTalk Adapter pack includes:
    - SQL Server Adapter. Hi performance sql work, notifications, async reads, writes etc.
    - SAP Adapter – uses the SAP Client APIs (under the hood) to talk directly to SAP. Very powerful
    - SIEBEL Adapter
    - Oracle DB Adapter
    - Oracle ES Adapter

    These adapters are exposed as ‘WCF Bindings’ with BizTalk or a small amount of code, allows you to expose these adapters as callable WCF Services.

    What does this mean in our case here?
    If you think about your on-premise Oracle system, we now have a local means of accessing Oracle and we can then push the message processing (e.g. a new order arrived) into our ‘cloud’ bridge where we have the immediate benefit of HA + Scale. Do some work there, and spit the result out any which way you want. Maybe back down to on-premise, or in a Queue or to Azure Storage.

  2. Sign up to AppFabricLabs – http://portal.appfabriclabs.com and provision your ‘servicebus’ service.
    This provides your EDI/EAI relay endpoints and also provides a way for you to listen/send requests to/from the cloud.
  3. Here I have used mickservices as my ServiceBus namespace.
    image
    (I created a Queue and a couple of Topics for later use – not really needed here)
    Note: grab your HIDDEN KEY details from here – owner + <key#>
  4. From within the Portal Create a Queue called samples/gettingstarted/queueorders

    image
  5. Register at the EDI Portalhttp://edi.appfabriclabs.com
    Even though this says ‘EDI’ think of it as your sandpit. It’s where all your ‘widgets’ live that are to run in Azure Integration Services.

    The registration form had me stumped for a little bit. Here’s the details that work.

    image

    Notice my servicebus namespace – just the first word. I previously had the whole thing, then variations of it.
    Issuer Name: owner
    Issuer secret: <the hidden key from above>

    Click save/register and you should be good here.
  6. Once this is done – click on Settings –> AS2 and Enable AS2 message processing (which is EDI/HTTP – you might be lucky enough to get the msgs as XML, but most times no). This will create some endpoints for you b2bgateway… style endpoints.

    image
  7. At this stage, have a look under Resources and you’ll notice that it’s empty. But…they have Schemas, Transforms and Certificates. We’ll come back to that later.
  8. Let’s head to Visual Studio 2010 with the updates installed and open up the Sample Order Processing project.

    I installed my samples under c:\samples
    image

    If all opens well you should see:
    image

    Note: there’s a couple of new items here: (expand out artifacts)
    *.bcs – Bridge. There’s a MSDN Article describing these – I was like ‘what???’. Basically these are a ‘processing pipe’ of which various operations can be performed on a message in stages. These stages are ‘atomic’ and they also have ‘conditions’ as to whether they *need* to be applied to the said message. So a bridge could take a message, convert it to XML and broadcast the message out to a Topic.

    Opening up the designer – it gets pretty cool I must say!!!

    image
    Note the ‘operations’ on the LHS. I must have a play with these guys Smile 
    Another thought – how extensible is this? I’d bet we could write our own widgets to throw on the design surface as well.

    By double clicking on the BridgeOrders component, you can see the designer surface come up with the ‘stage processing’.

    image

    Here you can see the ‘bridge’ (I wonder if that term will last till the release) will accept only 2 types of message schemas – PO1 + PO2. Maps them out to a more generic PO format.
    The map – XMLTransform from my initial testing only applies one map, the first one that matches the source schema (this is the same as BizTalk).

    Close the bridge view down and leave the BridgeConfiguration open.
  9. Click anywhere on the white surface of the BridgeConfiguration and set your Service Namespace property from the Properties window (this guy was hard to find!!)
    Put <your service namespace> you created originally.
    image
  10. Save and click Deploy and a Deployment window comes up – put your details in from above.
    image

    After deployment completes, keep an eye on the Output window as this has all the URLs you’ll need for the next step. In particular the BridgeOrders.

    Feel free to go back to your Azure Portal –> Resources and see your deployed bits in there, Schemas, Transforms etc.

  11. Running what you’ve built – sending a message to the ‘bridge’ (here I’ve borrowed info from the ‘Readme.html’ in the sample project folder)
    We don’t need to setup the whole EDI Trading partner piece. – just send messages to a restful endpoint – aka the bridge.
    1. From the samples folder locate the Tools\MessageSender project. (you may have to build it in VS.NET first)
    2. from a command prompt run messagesender.exe
      image

      In my case it looks like this:

      image

      Took me a little to get this originally, make sure all your VS.NET stuff is deployed properly.

      So effectively we have sent PO1.xml to our ‘Bridge’ and it’s been accepted, validated and transformed into ‘something else’ and popped onto a Queue called Samples/gettingstarted/QueueOrders.

      We will now get the message Reader to Read it.
  12. From under the Samples\Tools folder locate the MessageReceiver project and build if required.
  13. From a command prompt at that location, run the following to Listen to the queue

    image






Wrapping up -

Here is obviously a quick walk through of what’s possible, performance, scale and throughput are other measures that we haven’t got here – given it’s CTP/Labs we’re not quite ready for that conversation.

BizTalk adapter pack will expose out for e.g. your SAP system to a wider audience and imagine having restful WCF services to call that provide you customer data in the format you want…or better still…deliver it straight to you!
(currently in BTS 2010, the adapter pack is licensed separately, it’s part of BTS standard or enterprise. BTS2009 it *was* licensed separately for RRP $5K. Maybe we’ll see this as a separate component again.)
Or you could do like the SharePoint team and write a brand new WCF Adapter (‘connector’ in their terms) – ‘Duet’ and spend 18 months doing so.

Some things I’d like to see here is a Rules Processor or Engine – being a long long BizTalk fan, the rules engine is a massive strength of any loosely coupled solution. The majority of BizTalk solutions I come across don’t employ any rules engines…or better still, Windows Workflow 2,3+ (but not 4 or 4.5) has a rules ‘executor’ which is very powerful in it’s own right. Who’s heard or used the Policy shape?

Given that this is a sneak peak at what is on the horizon, this is definitely a space not to miss.

Get those trial accounts going and enjoy!

In particular I’d like to call out Rick’s Article (well done Rick!) for a great read on this space also.

Mick.

Saturday, December 17, 2011 10:08:00 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Async | BizTalk | 2010 R2 | BizTalk Adapter Pack | SAP
# Monday, December 12, 2011

Hi folks, as you may/may not have been aware these are the core corner stone technologies of the MS Integration Stack.

The teams have been busily plugging away and coming up with the new versions – 4.5 corresponding to .NET 4.5 framework.

Here’s some links that describe what’s new from MS Santa & his elves:

  1. What's New in Windows Communication Foundation 4.5
    1. New Items I found of note are:
      • New Service Transport Default values – keep an eye on these.
      • Improvements from VS.NET 2011 – validation , better intellisence support.
      • Streaming improved – true async (yay!)
      • WebSocket support – through NetHttp(s)Binding
      • Single WSDL file generation with ‘?singleWSDL’ (which is pretty handy)
      • Self hosted + II hosted allow you to get to ServiceHost from code for dynamic configuration.
      • Binary Encoder supports compression!! – this is generally gzip compression.
      • My personal favourite – UDP support
  2. What's New in Windows Workflow Foundation in .NET 4.5
    1. New Items of note are:
      • New Activites – NoPersistScope (possible previously but we needed to write code)
      • WF Designer improvements – several here, but the ‘Outline view’ looks to be easier to work with.
      • C# Expressions – where’s the F# ones Sad smile ??
      • Designer Annotations – add your own comments to keep control of the jungle that is built.
      • WF Versioning – use WorkflowIdentity & DefinitionIdentity to define the version. WorkflowServiceHost supports multiple versions of the same WF. All pretty cool.
      • WF Designers can still be rehosted – I’ve used that many a place.
      • Contract First Development – ticks the boxes.
    2. WF Rules – still didn’t make the cut. There is a sample for WF4 using a custom Activity calling back to WF 3.5 Policy4 it’s called. It uses ‘interop’ back to WF3.5 and is found here - http://msdn.microsoft.com/en-us/library/dd797584(v=VS.100).aspx
      1. Will have to check out perf in this new land on these rules.
  3. Async CTP – while this didn’t make the ‘whats new’ list, it certainly does deserve a mention here.
    Over the last year I’ve built some pretty serious F# projects, and F# has the async support through and through the language. After over coming the challenge of learning it, the Async functionality is absolutely brilliant!!! F# does a great job in being able to turn a non-async chunk of code/method/class into an async one with by using the keyword async and a !. It’s straight forward from that aspect.

    It’s great to see the C# & VB.NETs being able to use the same fundamentals (albeit not as slick IMO Winking smile). – see a previous POST - http://blogs.breezetraining.com.au/mickb/2011/04/26/EasierAsyncProgrammingComingToCVBSoon.aspx

    As developers we sit here and say – what do I need this for? My code runs fine as it….and yes for the most part of what we do on our machine it does. This technology really comes into it’s own when you want consistent throughput from a solution with 1 person or 10000 concurrent people using it. That’s the difference.

    To use it:
    1. Get VSNET 2011 (as it requires a new compiler)
    2. Use ASYNC CTP (refresh3) with VSNET2010 SP1
  4. Check it out from here - http://msdn.microsoft.com/en-us/vstudio/gg316360
Monday, December 12, 2011 12:00:52 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | Async | BizTalk | Dev | .NET Framework 4.5
Archive
<November 2014>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456
Blogroll
 AppFabric CAT
AppFabric Windows Server Customer Advisory Team - New Blog.
[Feed] BizTalk 2006 - Windows SharePoint Services adapter
BizTalk 2006 Sharepoint adapter!!
 Breeze SharePoint 2010 Bootcamp
Breeze SharePoint 2010 Bootcamp
[Feed] BTS 2006 R2/EDI
[Feed] Chris Vidotto (MS BTS Legend)
Needs no intro....
 Mark Daunt
BTS/SPS/.NET GURU!!!
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2014
Breeze
Sign In
Statistics
Total Posts: 606
This Year: 10
This Month: 0
This Week: 0
Comments: 270
All Content © 2014, Breeze