Thursday, December 13, 2012 #

BizTalk Server 2013 and beyond…

 

It was great week for BizTalk customers and partners/ISV. It was 12th birthday of BizTalk Server product and to celebrate & to get the community together Microsoft held a BizTalk Summit 2012 event at Redmond this week. BizTalk Summit 2012 is all about BizTalk Server product strategy and road map, we had lot of great sessions from the BizTalk product team, partners and ISV’s. It was nice time to catch up with friends and past clients... above all it was great to see Microsoft investing heavily in BizTalk Server with lot of things to come from BizTalk Server 2013 and beyond. BizTalk 2013 has lot of new capabilities and enhancements for integrating with cloud and for On-Premise integration. BizTalk Server 2013 provides one step towards migrating to the cloud with Hybrid approaches. So we can start build Hybrid solutions today with On-premise BizTalk Server 2013 and Azure integration. With BizTalk Server 2013 / 2010 Azure VM available today as part of IaaS offerings from Microsoft and also Azure Service Bus - EDI Services available today as PaaS offerings. So more to come, Microsoft has made clear long term strategy in terms of supporting of all these offerings and more services to evolve in the Cloud and On-premise. It's all exciting news from Microsoft for clients using BizTalk Server in enterprise. So with BizTalk 2013 planned to release sometime next year, client can confidently invest heavily on BizTalk Server as part of the enterprise long term strategy…

Congrats BizTalk Server product team…

Posted On Thursday, December 13, 2012 2:38 PM | Comments (0)

Sunday, June 24, 2012 #

BizTalk Server Monitoring – SharePoint Web Part

 

I have been worked with customers using BizTalk as shared infrastructure in the enterprise, where we have two or more BizTalk apps running on it for different Business groups. Also these customers are not using BizTalk ESB portal even though they are using BizTalk ESB exception framework. So main issue with all these Business groups are they don’t have visibility into the BizTalk apps running in prod, even though they are using SCOM and other monitoring stuff in place. So I am trying to address few issues I am going to list below and how I try to mitigate them, first one on the list is how to get visibility into prod, how to provision those access to the BizTalk resources with minimal activity and how can we take advantage of the resources we have today.

So I was working on creating REST data services for BizTalk RFID a year ago and available on codeplex. I thought to extend that idea to take advantage of BizTalk Data Services available in codeplex. I extended the BizTalk data services I will upload the updated service soon. So let me start thru how my solution works, so first step I am using the BizTalk data service (REST service) which expose most of the BizTalk artifacts as resources such as Applications, Orchestrations, Send ports, Receive ports, Host instances and In process instances etc.

image

BizTalk Server Monitoring – SharePoint Web Part

I am hosting the BizTalk data service in IIS with application pool configured to run under BizTalk administrator credentials. So with this setup I am making the service to make accessible anonymous. Next step of this solution I have created a SharePoint Visual web part which consumes the BizTalk data service and display all the BizTalk Application and Platform settings in read only mode. Even though BizTalk data services offers to browse resources as well perform actions like starting, stopping Orchestrations, Send ports, Receive locations, Host instances etc.

Host Instances

clip_image002

BizTalk Applications

clip_image004

BizTalk Running / Suspended Instances

clip_image006

So having this BizTalk Monitoring SharePoint web part, will be added to the SharePoint. This eliminates the need for granting access to the BizTalk users explicitly, so when you have BizTalk contractor or BizTalk application user need to have access to the BizTalk environment all the need is have access to the SharePoint website. You can configure the web part point to different end point based on your environment. I am making this as read only as part of this to make easier for the users and in terms of provisioning. This removes the dependency of BizTalk admin at least for viewing the BizTalk application status and errors etc. If we need to make any changes to the BizTalk application then its application owner responsibility to co-ordinate with BizTalk admins. There are options like BizTalk ESB portal, BizTalk 360 etc… but this one of the approach to reduce number of steps required to give access to BizTalk application users and also to maximize the resource we have in enterprise today. Also you can expose this data service thru Azure Service Bus and access from other apps like mobile devices or create a web site hosted in Azure etc. One last thing I have tested only with BizTalk Server 2010 on x64 VM only, but it should work on other version. I will try to upload the code shortly with instructions how to setup etc.… I welcome thoughts and suggestions… Hope this helps….

Posted On Sunday, June 24, 2012 3:49 PM | Comments (1)

Tuesday, June 19, 2012 #

Application Integration Future – BizTalk Server & Windows Azure (TechEd 2012)

 

I am really excited to see lot of new news around BizTalk in TechEd 2012. I was recently watching the session presented by Sriram and Rajesh on “Application Integration Futures: The Road Map and What's Next on Windows Azure”. It was great session and lot of interesting stuff about the feature updates for BizTalk and Azure integration. I have highlighted them below, definitely customers who haven’t started using Microsoft BizTalk ESB Toolkit should start using them which is going to be part of the core BizTalk product in future release, which is cool…

BizTalk Server feature enhancements

Manageability:

ESB Tool Kit is going to be part of the core BizTalk product and Setup.

Visualize BizTalk artifact dependencies in BizTalk administration console.

HIS administration using configuration files.

Performance:

Improvements in ordered send port scenarios

Improved performance in dynamic send ports and ESB, also to configure BizTalk host handler for dynamic send ports. Right now it runs under default host, which does not enable to scale.

MLLP adapter enhancements and DB2 client transaction load balancing / client bulk insert.

Platform Support:

Visual Studio 2012, Windows 8 Server, SQL Server 2012, Office 15 and System Center 2012.

B2B enhancements to support latest industry standards natively.

Connectivity Improvements:

Consume REST service directly in BizTalk

SharePoint integration made easier.

Improvements to SMTP adapter, to add macros for sending same email with different content to different parties.

Connectivity to Azure Service Bus relay, queues and topics.

DB2 client connectivity to SQL Server and SQL Server connectivity to Informix. CICS Http client connectivity to Windows.

Azure:

Use Azure as IaaS/PaaS for BizTalk environment.

Use Azure to provision BizTalk environment for test environment / development. Later move to On-premises or build a Hybrid cloud approach.

Eliminate HW procurement for BizTalk environment for testing / demos / development etc.

Enable to create BizTalk farm easily and remove/add more servers as needed.

EAI Service:

EAI Bridge

  • Protocol transformation
  • Message Transformation
  • Running custom code
  • Message Enrichment
  • Hybrid Connectivity
    • LOB Applications On-premises
    • Application On-premises
  • Connectivity to
    • Applications in the cloud
    • Queues/ Topics
    • Ftp
    • Devices
    • Web Services

Bridge can be customized based on the service needs to provide different capabilities needed as part of the bridge. Look at the sample for EDI bridge for EDI service sample. Also with Tracking enabled through the portal.

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

Adapters:

Service Bus Messaging adapter - New adapter added.

WebHttp adapter - For REST services.

NetTcpRelay adapter - New adapter added.

I will start posting more and once I start playing with this… 

Posted On Tuesday, June 19, 2012 8:53 AM | Comments (3)

Saturday, May 26, 2012 #

Atlanta Code Camp 2012

 

It was really exciting weekend at Atlanta code camp 2012. This was my first code camp, I presented on “Windows Kinect for Enterprise”. Walked through couple of demos, how we can integrate Kinect with WPF application. One of the demos I walked thorough how you can integrate Kinect with Microsoft Lync 2010 and other one on Car console app.   You can check the uploaded code here. I appreciate all the folks attended my session and thanks for all the organizers.

Posted On Saturday, May 26, 2012 11:14 AM | Comments (1)

Tuesday, May 22, 2012 #

Kinect for Windows SDK V1.5

It’s really exciting news that new SDK V1.5 Kinect for Windows was released on May 21st 2012. There are lot of new features and enhancement made as part of this release. Let me highlight few here and I will try to come up with some demo we can explore them in more detail.

1. Seated mode skeletal tracking was included in this release, which can track upto 10 joints.

2. Improved skeletal tracking in near mode and better performance. Also joint orientation info to determine simple pose detection, which is really  cool.

3. Facial tracking is one of the new feature added as part of this release.

4. Kinect studio a new tool added to record and debug the Kinect data, which is nice for testing. I had run into issues where I need to watch the Kinect and my app at the same time with V1.0. This tool will definitely fix the issue.

5. Added more locale support for speech recognition and lot of code samples as part of this release.

So with all this new cool features I am really excited to post some demo sometime soon… Meanwhile I will try to post my slides and code I presented at Atlanta code camp 2012 shortly…

Check the Kinect for Windows V1.5 from Rob Relyea: http://channel9.msdn.com/coding4fun/kinect/Special-Edition-Kinect-for-Windows-SDK-v15-now-available 

Have fun with Kinect….

Posted On Tuesday, May 22, 2012 3:59 PM | Comments (1)

Wednesday, April 18, 2012 #

BizTalk ESB Exception Management

 

Working for a customer recently on BizTalk ESB Exception management, ran into issue when creating a generic orchestration for handling exceptions. This generic orchestration will be used by all other applications in the enterprise. I ran into issue when an exception message is sent to this generic orchestration, we had 100% CPU utilization and found out to be a issue with the BizTalk ESB Exception management.

Check the article:

Improving the ESB Toolkit: Fixing the "endless loop" bug when creating Fault messages http://www.bizbert.com/bizbert/2011/05/06/Improving+The+ESB+Toolkit+Fixing+The+Endless+Loop+Bug+When+Creating+Fault+Messages.aspx

But I don’t want to go and change the Exception management framework; I did a simple fix by passing the exception and fault message to the generic orchestration from the main process. In the generic orchestration have an expression shape to throw the exception and have an exception block which I used the ESB exception framework to send out the message to the BizTalk ESBExceptionDb.

                 BTSException

Even though it took additional step for this, I prefer this to be clean and simple solution until we have a fix in the BizTalk ESB toolkit. Hope this helps…

Posted On Wednesday, April 18, 2012 1:34 AM | Comments (0)

Tuesday, July 12, 2011 #

Windows Azure Service Bus Queues / Topics - Duplicate Detection

I was checking the Windows Azure Appfabric June CTP; I was looking at the Azure Service Bus queues and topics. I noticed something interesting to me and hope we can take advantage of these new capabilities in applications like RFID. Working on BizTalk RFID or any RFID project for that matter, you would have noticed using duplicate tag elimination events during tag processing. For any one new to RFID, when RFID device reads tags it can read the same tag information more than once at a given interval. To avoid the duplicate tag reads we have Duplicate tag removal event in each process. Also using the Service Bus gives bridges the device to on premise applications in async way with greater reliability.  So if looked at the Service Bus Queue’s and Topic’s, you can see properties Microsoft.ServiceBus.Messaging   -> QueueDescription: DuplicateDetectionHistoryTimeWindow & RequiresDuplicateDetection
Queue accepts duplicate messages: Sent multiple duplicate messages and accepted by the queue.
Queue w/o duplicate messages: Sent multiple duplicate messages and rejected by the queue and the last duplicate message received in last 1 second.
   I would to do a write up on my next blog about the duplicate detection and filters on Service Bus Topics…

 

Posted On Tuesday, July 12, 2011 5:06 AM | Comments (0)

Tuesday, July 5, 2011 #

Centralized Configuration Management for enterprise .Net applications and more...

 
               Check out for the first webinar on TeleSharp, an enterprise configuration management tool for .Net applications and more.... Also check out at Tellago Studios and Jesus Rodriguez's blog...
Who should attend this webinar? If you are a .NET Developer/Architect working on enterprise applications, you MUST attend this webinar...

Posted On Tuesday, July 5, 2011 3:58 PM | Comments (0)

Tuesday, June 28, 2011 #

Migrating BizTalk 2006 R2 to BizTalk 2010 XLANGs Issue

 
      When we migrate some BizTalk apps from BizTalk 2006 R2 to BizTalk 2010, and we ran into issue when a .net component called inside the orchestration. In the .net component we are trying to retrieve some promoted property and we also checked in the BizTalk group hub to validate it was promoted, no issues there.  Only when we try to access the data into the .net component we had issue. We just moved all the assembly what we had in BizTalk 2006 R2 to BizTalk 2010, didn’t recompile anything in BizTalk 2010 environment. But looking further there is couple of new namespace added to the Microsoft.XLANGs… in BizTalk 2010 compared to BizTalk 2006 R2 caused the issue. So all we did to fix the issue is recompile the project in 2010 environment and it worked fine. So it looks like some backward compatibility issue.
 public static void Load(XLANGMessage msg)
{
 try
 {
     // get the process id from context. 
     object ctxVal = msg.GetPropertyValue(typeof(ProcessID));
}
BizTalk 2010:
Error Message in the event viewer:
 The service instance will remain suspended until administratively resumed or terminated.
If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
InstanceId: 441d73d3-2e84-49d2-b6bd-7218065b5e1d
Shape name: Bulk Load
ShapeId: bb959e56-9221-48be-a80f-24051196617d
Exception thrown from: segment 1, progress 65
Inner exception: A property cannot be associated with the type 'Tellago.Common.Schemas.ProcessId'.
 
Exception type: InvalidPropertyTypeException
Source: Microsoft.XLANGs.Engine
Target Site: Microsoft.XLANGs.RuntimeTypes.MessagePropertyDefinition _getMessagePropertyDefinition(System.Type)
The following is a stack trace that identifies the location where the exception occured
 
at Microsoft.XLANGs.Core.XMessage._getMessagePropertyDefinition(Type propType)
at Microsoft.XLANGs.Core.XMessage.GetContentProperty(Type propType)
at Microsoft.XLANGs.Core.XMessage.GetPropertyValue(Type propType)
at Microsoft.BizTalk.XLANGs.BTXEngine.BTXMessage.GetPropertyValue(Type propType)
at Microsoft.XLANGs.Core.MessageWrapperForUserCode.GetPropertyValue(Type propType)
at Tellago.Common.Components.Load(XLANGMessage msg)
at Tellago.SuspensionProcess.segment1(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)

Posted On Tuesday, June 28, 2011 9:29 AM | Comments (0)

Saturday, June 25, 2011 #

System.Threading.ThreadAbortException executing WCF service

 

 In one of our prod server we recently ran into issue when we went and update the web.config and try to browse the service. We started seeing the service was not responding and getting the following warning in the application log. Our service is WCF service, BizTalk orchestration exposed as service. We have other prod server where we never ran into this issue, so what’s different with this server. After going thru lot of forum and came up on some Microsoft service pack and hot fix which related to FCN. But I don’t want to apply any patch on this server then we need to do on all the other servers too. So solution is simple, I dropped the existing website, created a new site with different name with updated web.config browse the service. Then dropped that site and recreate the original web site and it worked fine without any issue.

Event Viewer:
 Event Type:        Warning
Event Source:    ASP.NET 2.0.50727.0
Event Category:                Web Event
Event ID:              1309
Date:                     6/6/2011
Time:                    5:41:42 PM
User:                     N/A
Computer:          PRODP02
Description:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 6/6/2011 5:41:42 PM
Event time (UTC): 6/6/2011 9:41:42 PM
Event ID: a71769f42b304355a58c482bfec267f2
Event sequence: 3
Event occurrence: 1
Event detail code: 0
 Application information:
    Application domain: /LM/W3SVC/518296899/ROOT/PortArrivals-2-129518698821558995
    Trust level: Full
    Application Virtual Path: /TESTSVC
    Application Path: D:\inetpub\wwwroot\RFID\TESTSVC\
    Machine name: PRODP02
 Process information:
    Process ID: 8752
    Process name: w3wp.exe
    Account name: domain\BizTalk_Svc_Hostlso
 Exception information:
    Exception type: ThreadAbortException
    Exception message: Thread was being aborted.
 Request information:
    Request URL: http://localhost:81/TESTSVC/TESTSVCS.svc
    Request path: /TESTSVC/TESTSVCS.svc
    User host address: 127.0.0.1
    User: 
    Is authenticated: False
    Authentication Type: 
    Thread account name: domain\BizTalk_Svc_Hostlso
 Thread information:
    Thread ID: 22
    Thread account name: domain\BizTalk_Svc_Hostlso
    Is impersonating: False
    Stack trace:    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
   at System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(Exception error)
 at System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
  
at
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
 <Description>Handling an exception.</Description>
<AppDomain>/LM/W3SVC/518296899/ROOT/TESTSVC-6-129518741899334691</AppDomain>
<Exception>
<ExceptionType>System.Threading.ThreadAbortException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
<Message>Thread was being aborted.</Message>
<StackTrace>
at System.Threading.Monitor.Enter(Object obj)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(Object state)
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke2()
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke()
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ProcessCallbacks()
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.CompletionCallback(Object state)
at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.ServiceModel.Diagnostics.Utility.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
</StackTrace>
<ExceptionString>System.Threading.ThreadAbortException: Thread was being aborted.
   at System.Threading.Monitor.Enter(Object obj)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
   at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()
   at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
   at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(Object state)
   at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke2()
   at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke()
   at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ProcessCallbacks()
   at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.CompletionCallback(Object state)
   at System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
   at System.ServiceModel.Diagnostics.Utility.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)</ExceptionString>

Posted On Saturday, June 25, 2011 4:10 PM | Comments (0)

Friday, May 13, 2011 #

BizTalk RFID Duplicate Elimination Interval on BizTalk 2006 & 2010

 
Working on prod issue for one of our customer using BizTalk 2006 R2 RFID, we started running into a strange issue where we are reading the vehicle and driver information. We started seeing all of our drivers tags are getting rejected after the 1st successfully read but all the Vehicle tag get processed without any issues. Just for your info each driver keep driving new vehicle each time so that’s clue for you. So on further investigation we found duplicate elimination event works fine for Vehicle tag but start rejecting driver tag after the 1st read, driver comes back after 15mins. So digging into the Duplicate elimination Interval – Event Handler. In BizTalk 2006 you have only one parameter – “Duplicate Elimination Interval”. So if you dig into the code you would see it take the device tag time and compare against the RFID server time. So in our case RFID Server time was different than Reader time by an hour. So making the Reader time and Server time fixed the issue. But there is a better solution using the BizTalk 2010 duplicate elimination event handler, so if you are using and want to make better I would recommend use it.
 
BizTalk 2006:
 
Parameter:
1.       Duplicate Elimination Interval
// elapsed time is the time between now and the last time this tag was seen
                   
       int tagTS = (int) entry.VendorSpecificData[TIMESTAMPKEY];
       elapsedTime = currentTS - tagTS;
 
      // If the elapsed time is greater than the dup check interval, we can accept this tag.
      // Set the max time stamp to current and increment the tag count
               
      if (elapsedTime > dupCheckInterval)
       {
                 Accepted …
       }
       Else
       {
          Rejected
       }
 
BizTalk 2010:
 
In BizTalk 2010 you have other parameters to configure by which you can avoid running into this issue:
 
Parameters:
1.       Duplicate Elimination Interval
2.       Duplicate Elimination Criterion
a.        Tag Identifier
b.       Tag Identifier and Device
c.        Tag Identifier and Device and Source
d.       Tag Identifier and Logical Device
3.       Time Reference
a.        Tag Time
b.       Local System Time
So make sure to set the time same on Reader and BizTalk RFID Server. Hope this helps you…
 

Posted On Friday, May 13, 2011 4:13 AM | Comments (0)

Thursday, April 14, 2011 #

Exposing On-Premise REST Service using Azure Appfabric Service Bus

 
This post is extension to BRE Data Services how to expose the On-Premise REST based service thru Azure appfabric service bus to your partners outside your enterprise securely. We at Tellago have created numerous REST based service for monitoring and managing for BizTalk Server, BRE and RFID Data services etc. Want if your enterprise wants to leverage the service to be accessible outside your enterprise in secured manner by external parties or mobile apps.  So by using Appfabric Service Bus you’re not only creating external accessible endpoint for your service but also any other client within the same network can directly access the service without going thru the cloud as shown below.
 
Windows Azure Service Bus (Source: Microsoft.com)
   If you using BizTalk Server, download the BRE Data Services. Configure as in the installation docs for BRE data service. So now you have your REST based data service ready now, which you want to expose the service to be accessible from outside your enterprise. 
REST Service - Local Host:
So I hope at this point your already have installed the Windows Azure Appfabric SDK on your machine and also created Windows Azure AppFabric service namespace, and obtained a shared secret key. Combination of service namespace and shared secret provides way to authenticate the application accessing the service thru the Service Bus.
Go to the Web.config under the “Tellago.BRE.REST.ServiceHost” project and replace everything within the <system.serviceModel> as shown below and change the place holderYOURNAMESPACEwith your Azure Appfabric namespace and also change the ownerand [YOURKEY] with your issuer Name and issuerSecret. You should be all set to test the service now. I am setting my client authentication type to none as shown in “relayClientAuthenticationType="None"”. Also I am using SharedSecret credentials to bind the service to the cloud (Azure Appfabric service bus). So we basically uses two type of security one to bind the service and service bus and another between service and client. In our case we set the second one to None.
 
Web.config
<?xmlversion="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
    <bindings>
      <!-- Application Binding -->
      <webHttpRelayBinding>
        <bindingname="default">
          <securityrelayClientAuthenticationType="None" />
        </binding>
      </webHttpRelayBinding>
    </bindings>
    <services>
      <!-- Application Service -->
      <servicename="Tellago.BRE.REST.Services.BREManagementService"
             behaviorConfiguration="default">
        <endpointname="RelayEndpoint"
                  contract="System.Data.Services.IRequestHandler"
                  binding="webHttpRelayBinding"
                  bindingConfiguration="default"
                  behaviorConfiguration="sharedSecretClientCredentials"
                  address="https://YOURNAMESPACE.servicebus.windows.net/BREDataServices/BREMananagementService.svc" />
      </service>
    </services>
 
    <behaviors>
      <endpointBehaviors>
        <behaviorname="sharedSecretClientCredentials">
          <transportClientEndpointBehaviorcredentialType="SharedSecret">
            <clientCredentials>
              <sharedSecretissuerName="owner"issuerSecret="[YOURKEY]" />
            </clientCredentials>
          </transportClientEndpointBehavior>
          <serviceRegistrySettingsdiscoveryMode="Public" />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behaviorname="default">
          <serviceDebughttpHelpPageEnabled="false"httpsHelpPageEnabled="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
 
 </system.serviceModel>
</configuration>
 
So we are ready to test our service so your URL would be: https://YOURNAMESPACE.servicebus.windows.net/BREDataServices/BREMananagementService.svc
REST Service thru Service Bus:
It’s cool we are able to access the service outside the enterprise with just changing few lines in the config without going thru any hassle of network team just kidding :). 
Check the following link for Secure Appfabric Service Bus Connection: http://msdn.microsoft.com/en-us/library/dd582773.aspx
Hope you find this helpful and take advantage of this as first step towards the cloud based approach.
 

Posted On Thursday, April 14, 2011 11:03 AM | Comments (1)

Saturday, March 26, 2011 #

Monitoring BizTalk RFID using Data Services

 
We are glad to release the BizTalk RFID Data Services as part of our open source contribution here at Tellago. Let me get into some details on what’s BizTalk RFID data service and who can take advantage of it.  BizTalk RFID data service is all about exposing BizTalk RFID artifacts as Restful service interface which can be easily accessed by different application within the enterprise and outside such as mobile applications. So anyone who wants to monitor the BizTalk RFID can take advantage of it. It’s easy and lightweight and it works against BizTalk RFID 2006 R2/2009/2010. It should be really handy service for support folks and business interested in monitoring. I have to thank my colleague Uri for helping me getting this out.
 
The BizTalk RFID data service allows you to query the RFID resources such as Process, Devices, Device Groups and Device Providers. In addition to monitoring you can also use the service to Start and Stop Process and Devices. The following are some examples based on the features available in this release.
 
Querying all RFID components
 
Querying all RFID Process:
 
Querying all Devices:
 
Querying all Device Groups:
 
Querying all Device Providers:
 
Navigating the hierarchy
 
Querying a specific resource:
 
 
Querying all subgroups for a specific Group:
 
Querying all Devices for a specific Subgroup:
 
 
Filtering:
 
 
 
 Mapping between RFID Data Service and RFID Manager:
 
 
JSON format
 
Accept: application/json
 
 
With the BizTalk RFID Data Services, we also provide the functionality of executing a particular device or process update via HTTP as show below.
 
 
For RFID process:
 
 
For RFID Devices:
 
 
 
 
  
Also you can use IUpdatable Interface of WCF Data Services.
 
Updating objects
 
Start Process
           
 var policyObj = Context.RFProcesss.Where(a => a.Name.Equals("TellagoRFIDDemoProcess")).FirstOrDefault();
 
            if (policyObj != null)
            {
                policyObj.Status = "Start";
 
                Context.UpdateObject(policyObj);
 
                DataServiceResponse obj = Context.SaveChanges(SaveChangesOptions.Batch);
            }
 
Start Devices
 
 
            var policyObj = Context.Devices.Where(a => a.Name.Equals("DEVICEDEMO1")).FirstOrDefault();
 
            if (policyObj != null)
            {
                policyObj.Status = "Enable";
 
                Context.UpdateObject(policyObj);
 
                DataServiceResponse obj = Context.SaveChanges(SaveChangesOptions.Batch);
            }
  
Installation:
The installation of the BizTalk RFID Data Services:
·         Open the Tellago.BizTalk.RFID.REST solution using VS 2008 or VS 2010
·          Right click on project “BizTalkRFIDDataServices”->properties
·         Go to “Web” tab and select “Use Local IIS Web Server” as shown below and click “Create Virtual directory”
·        
 
Change the app pool in IIS and appPool account running the website should have been part of the BizTalk RFID User group.
 

• Right click the BTSRFIDManagementService.svc and browse.

Hope you have find this post helpful...

Posted On Saturday, March 26, 2011 6:45 AM | Comments (0)

Tuesday, February 15, 2011 #

SO-Aware @ TechReady (Microsoft Event)

 
A session on SO-Aware is presented at Microsoft TechReady event this week check here for more details : http://tellagostudios.com/blog/so-aware-highlighted-microsoft-techready
Check here for more details on SO-Aware and how to leverage within your enterprise if you’re using BizTalk Server, WCF Services and services build on Azure. It provides lot of capability such as:
o    Centralized service repository
o    Centralized configuration management
o    Service testing
o    Monitoring
o    Transparent integration with technologies such as Visual Studio, BizTalk Server, Windows Server & Azure AppFabric among many others
o    SO-Aware Test Workbench provides developers with a visually rich environment to model and control the execution of load and functional tests in a SOA infrastructure. This tool includes the first native WCF load testing engine allowing developers to transparently load test applications built on Microsoft's service oriented technologies such as WCF, BizTalk Server or the Windows Server or Azure AppFabric.
 

Posted On Tuesday, February 15, 2011 1:42 PM | Comments (0)

Wednesday, November 25, 2009 #

BizTalk Server Roadmap 2009 & Beyond…

   Check the BizTalk road map - PDC presentation on BizTalk Server 2009 R2: http://microsoftpdc.com/Sessions/SVR15

   Check the BizTalk Server 2009 R2 on Windows app fabric from BTS Team blog: http://blogs.msdn.com/biztalk_server_team_blog/archive/2009/11/20/biztalk-server-strong-roadmap-and-innovations-preview-presented-at-pdc.aspx

 

Posted On Wednesday, November 25, 2009 1:47 AM | Comments (0)