Friday, February 3, 2012

AppFabric Download

DevFabric download

http://www.biztalkgurus.com/appfabric/b/appfabric-syn/archive/2010/12/14/msdn-webcast-windows-azure-boot-camp-connecting-with-appfabric-level-200.aspx

User Group:


http://social.technet.microsoft.com/Forums/en/map/thread/6922c56e-cd74-4535-a054-457cc0a973a1

Azure AppFabric

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

http://msdn.microsoft.com/en-us/library/hh239705.aspx
Are we ready for the coming age of abundance Youtube

http://channel9.msdn.com/Events/BUILD/BUILD2011

http://channel9.msdn.com/Tags/service-bus
Videos
http://channel9.msdn.com/Events/PDC/PDC10/CS69
www.portal.appfabriclabs.com

1.Building loosely-coupled apps with Windows Azure Service Bus Topics and Queues
http://channel9.msdn.com/events/BUILD/BUILD2011/SAC-862T


Windows Server AppFabric
http://msdn.microsoft.com/en-us/windowsserver/ee695849

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

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



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


Imp: http://social.technet.microsoft.com/wiki/contents/articles/hybrid-cloud-solutions-with-windows-azure-appfabric-middleware.aspx



Juval Lowy- Introducing the .NET Service Bus
http://channel9.msdn.com/Blogs/martinesmann/Juval-Lowy-Introducing-the-NET-Service-Bus
http://channel9.msdn.com/learn/courses/Azure/ServiceBus
http://msdn.microsoft.com/en-us/library/bb906065.aspx
** http://msdn.microsoft.com/en-us/library/aa286495.aspx
http://msdn.microsoft.com/en-us/magazine/hh580733.aspx
http://events.microsoft.com/Pages/Home.aspx?k=appfabric&cs=This%20Site&u=https%3A%2F%2Fevents.microsoft.com#m=;r=0;s=;yourrole=001010;eventtype=111100;level=11100;timelength=10110;v=list;pi=6129;mi=386763,386764,386765;si=10;ai=Developers

http://windowsazurecat.com/2011/09/best-practices-leveraging-windows-azure-service-bus-brokered-messaging-api/

http://msdn.microsoft.com/en-us/magazine/dd347832.aspx#id0090106
http://channel9.msdn.com/shows/Endpoint/endpointtv-AppFabric-Dashboard-Overview/

Imp: http://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-relay/
Imp: http://msdn.microsoft.com/en-us/library/hh532261(VS.103).aspx
Imp: http://stackoverflow.com/questions/5387914/microsoft-biztalk-server-vs-azure-appfabric-service-bus

http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/COS311
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/MID201
http://channel9.msdn.com/Events/TechEd/Europe/2010/ASI410
Architecutural Tool
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/FDN05
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/MID312

http://social.msdn.microsoft.com/Forums/en-US/appfabricctp/thread/e88255a5-4b02-4f44-97a3-d2dad9aff320


http://channel9.msdn.com/Events/TechEd

Chris Kabat
MID271-INT - Futures: Integration Capabilities in Windows AppFabric
MID373-INT - Accessing Enterprise Data from the Cloud and Mobile Devices Using Microsoft BizTalk Server and Windows Azure AppFabric

**** http://social.msdn.microsoft.com/Forums/en-US/category/windowsazureplatform,azuremarketplace,windowsazureplatformctp ****

**** http://blogs.msdn.com/b/windowsazure/archive/2011/12/16/announcing-the-service-bus-eai-amp-edi-labs-release.aspx ****

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

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

http://msdn.microsoft.com/en-us/library/windowsazure/hh689760.aspx#BKMK_LOB

**** Imp: http://msdn.microsoft.com/en-us/library/windowsazure/hh689835.aspx

**** Imp: https://edi.appfabriclabs.com/
**** http://blogs.msdn.com/b/academicbelux/archive/2011/11/10/available-windows-azure-platform-training-kit-october-2011-update.aspx
Imp: http://piyushprakash.blogspot.com/2010/11/de-mystifying-windows-azure-app-fabric.html

**** http://channel9.msdn.com/tags/rise

**** http://channel9.msdn.com/search?term=Windows+azure+appfabric
http://msdn.microsoft.com/en-us/library/windowsazure/hh689833.aspx

**** http://msdn.microsoft.com/en-us/windowsazure/wazplatformtrainingcourse_deployingapplicationsinwindowsazurevs2010_topic2 ****


architecture blog imp ****
http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-role-architecture.aspx

**** virtual labs
http://technet.microsoft.com/en-us/evalcenter/hh283238
http://www.microsoftvirtualacademy.com/
ACS
http://msdn.microsoft.com/library/gg429786.aspx
http://msdn.microsoft.com/en-us/library/gg185959.aspx
http://msdn.microsoft.com/en-us/library/gg429788.aspx
http://msdn.microsoft.com/en-us/library/gg185965.aspx

Windows Azure Connect: http://msdn.microsoft.com/en-us/library/windowsazure/gg432997.aspx

http://msdn.microsoft.com/en-us/library/hh680918(PandP.50).aspx

Appfabric Azure Cache:
http://blogs.msdn.com/b/windowsazureappfabric/archive/2011/04/10/windows-azure-appfabric-caching-availability-announced.aspx
http://blogs.msdn.com/b/windowsazureappfabric/archive/2011/04/10/windows-azure-appfabric-caching-availability-announced.aspx
http://msdn.microsoft.com/en-us/library/gg278356.aspx
http://msdn.microsoft.com/en-us/library/ee790849.aspx
Difference between inpremise and azure cache

Running .NET4 workflow on Windows Azure
http://blogs.msdn.com/b/appfabriccat/archive/2011/01/12/running-net4-windows-workflows-in-azure-today.aspx

WF:
http://wf.codeplex.com/
http://channel9.msdn.com/Events/BUILD/BUILD2011/SAC-867T

** Routing Service on Azure:
http://www.codeproject.com/KB/azure/RoutingServiceOnAzure.aspx
http://programming4.us/desktop/2790.aspx

http://blogs.msdn.com/b/clemensv/archive/2011/09/20/service-bus-relay-load-balancing-the-missing-feature-but-not-for-much-longer.aspx

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


**** http://social.technet.microsoft.com/wiki/contents/articles/6268.windows-azure-service-bus-eai-and-edi-labs-introduction.aspx
**** https://edi.appfabriclabs.com/
**** https://portal.appfabriclabs.com/Default.aspx

Thursday, February 2, 2012

SOA

SOA components are loosely coupled. When we say loosely coupled means every service is self contained and exist in alone logically. For instance we take the ‘payment gateway’ service and attach it to a different system.
SOA services are black boxes. In SOA services hide there inner complexities. They only interact using messages and send services depending on those messages. By visualizing services as black boxes services become more loosely coupled.
SOA service should be self defined: - SOA services should be able to define themselves.
SOA Services are maintained in a listing: - SOA services are maintained in a central repository. Applications can search the services in the central repository and use them accordingly.
SOA components can be orchestrated and linked to achieve a particular functionality. SOA services can be used/orchestrated in a plug and play manner. For instance figure ‘Orchestration’ shows two services ‘Security service’ and ‘Order processing service’. You can achieve two types of orchestrations from it one you can check the user first and then process order or vice-versa. Yes you guessed right using SOA we can manage work flow between services in a loosely coupled fashion.
-------------------------------------------




Standardized service contract – Services adhere to a communications agreement, as defined collectively by one or more service-description documents.
Service Loose Coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other.
Service Abstraction – Beyond descriptions in the service contract, services hide logic from the outside world.
Service reusability – Logic is divided into services with the intention of promoting reuse.
Service autonomy – Services have control over the logic they encapsulate.
Service granularity – A design consideration to provide optimal scope and right granular level of the business functionality in a service operation.
Service statelessness - Services minimize resource consumption by deferring the management of state information when necessary
Service discoverability – Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.
Service composability – Services are effective composition participants, regardless of the size and complexity of the composition.
Some authors also include the following principles:
Service normalization – Services are decomposed and/or consolidated to a level of normal form to minimize redundancy. In some cases, services are denormalized for specific purposes, such as performance optimization, access, and aggregation.[9]
Service optimization – All else equal, high-quality services are generally preferable to low-quality ones.
Service relevance – Functionality is presented at a granularity recognized by the user as a meaningful service.
Service encapsulation – Many services are consolidated for use under the SOA. Often such services were not planned to be under SOA.
Service location transparency – This refers to the ability of a service consumer to invoke a service regardless of its actual location in the network. This also recognizes the discoverability property (one of the core principle of SOA) and the right of a consumer to access the service. Often, the idea of service virtualization also relates to location transparency. This is where the consumer simply calls a logical service while a suitable SOA-enabling runtime infrastructure component, commonly a service bus, maps this logical service call to a physical service.
-----------------------------------------------------------------------------
The roadmap to SOA involves:
Understanding the industry specific end state for the first iteration
Gather the current state of business process maintenance, applications, integrations, security, master data and governance
Reducing the SOA readiness gap between various entities
The various entities would be in one of the SOA readiness states.
Business process maintenance
Ad-hoc: processes are defined as and when needed
Documented: business steps are documented in disparate documents
Structured: process management tools used albeit disconnected
Services: processes designed as services through standardized process management tool
Integration
Point to point: applications directly interface with required parties
Loosely coupled: some applications use an intermediary that abstracts the interface
Static services: services available but bound to other Static Applications
Dynamic binding: static services bound in a dynamic way through Pub-Sub
Dynamic services: services that can dynamically sense when they are required and respond
appropriately.
Applications
Standalone: applications requiring large interface efforts
Service-wrapped: application(s) wrapped as a service
Exposed APIs: applications have service based API's
Exposed services: this makes the applications reusable
Dynamic discovery: applications can be discovered by other applications
Security
Application level authentication and authorization: every application is accessed in its own silo[which?]
Loose authentication control: some applications are on LDAP
Tight directory-controlled authentication: SSO-enabled across most applications
Centrally controlled identity and access management
Master data
Application-controlled: all applications control their master data
Partial sharing: some applications share master data but not all masterdata
Centralized master-data maintenance: most master data is shared and maintained through some MDM implementation




Reference:
http://www.codeproject.com/Articles/28583/SOA-Interview-questions-Part-1

Wednesday, January 25, 2012

Service Bus Relay 01

Introduction:
In its first release, the service bus has several manifestations: as a relay service, as an events hub, and as a message buffer. While the service bus is designed to address some tough connectivity issues, it also provides an attractive solution for scalability, availability, and security issues by lowering the technology entrance barrier and making what used to be an advanced communication scenario mainstream and mundane.

Service, and its address is dynamic and can be resolved only on the local network and cannot be translated to outside addressing.

callbacks, events, and peer-to-peer calls are often an integral part of many applications



What Is a Relay Service?
The relay service is a service residing in the cloud assisting in the connectivity, relaying the client calls to the service. A cloud-based relay service (as you will see later) also provides other benefits
in terms of scalability, security, and administration.

First, both the service and the client must establish connection against the relay service independently (steps 1 and 2 in Figure 11-2) and authenticate against the relay service.

At this point, the relay also records where the service is and how to best call back to it. When the client calls the relay service (step 3), the relay service forwards the call (the
client message) to the service (step 4).

Tuesday, January 24, 2012

BizTalk Interview Questions 01

1. X-Path is a navigation language for finding information held in an XML document.
    Uses:  BizTalk uses XPath in - Pipeline Component Configuration and Property Promotion.
              In Orchestration - to retrieve data for Conditional Business Processing or routing of message.
              In MAP: XPath can be used in XSLT Template Functoid or XSLT Functoid to retrieve the Data  from  Input schema element.

 XPath Is Namespace aware
 Namespace alias used in the XPath query can be different from the alias used in the XML Document.

XPath Functoin Used: Looping- For-Each , Conditional checking, String Manipulation
**Xpath enables you to interrogate an XML document and retrieve information to use during processing. This technique is invaluable, when combined with an XPathDocument, it provieds a fast, streaming approach to retrieving data from your XML document without, for example, loading the entire document into memory.

--------------------------------------------
2.          Serializable classes are classes that can have their "Content" dehydrated for later use.  The .NET implementation allows serializable classes to be dehydrated to any form of stream.
Many API's in the .NET Framework use the concept of streams, which represent an abstract view of data by presenting it in a contiguous sequence of bytes that you can read or write. Thus, they isolate you from any underlying data store, such as a file, serial port, or network connection. This is useful because it enables you to write to and read from a variety "stores" using the same application programming Interface (API)
**** Decorate Class with Serializable attribute ****
Using the XmlSerializer to construct XML documents that conform to a given XSD schema is one approach that works well for some scenarios. Other common approaches include loading a "template" XML document and replacing tokens with the required data, or using the XmlWriter class to build the instance document.
The XmlSerializer approach has the advantage that a valid XML Document will be automatically constructed for you thus removing the need to write such code along with compile-time checks to ensure that, for example, you are using the correct data-types for XML elements.
Other approaches typically require details of the schema such as the structure to be encoded within a template XML document or within code that creates a valid document, if the schema is changed you will need to ensure that these are changed.
These are other aspects that you should consider when selecting an approach, such as the required performance, rate of schema change, and ease of programming model and size and complexity of the XML documents that you are creating.
------------------------------------------
3. Serializable Classes and Performance
When you first use the XmlSerializer in your application against a given type, a dynamic class is created and compiled on the fly to represent the serialized class. This has an obvious performance overhead, but it will be cached for subsequent requests.
The Cache is maintained per the common language runtime (CLR) AppDomain, which is fine for application such as BizTalk, as there is by default one AppDomain per BizTalk host. THis means that any orchestration and .NET code will be run within the same AppDomain for all subsequent requests. For other application, where the AppDomain is torn down each time, this may be an issue.
Serializing a .NET class does have an obvious CPU penalty, so bear in mind the size of your class and the frequency with which you serialize classes. Another consideration is "message size".
BizTalk Processes message in a forward-only streaming fashion, for large messages this approach will cause the entire message to be loaded into memory, which is not desirable.
------------------------------------------------------
BizTalk Development and Serializable Classes
Typically, all messages passing into and out of BizTalk are based on an underlying XML schema.
Within BizTalk orchestrations you often need to pass a BizTalk message into C# class libraries for processing. If you Declare the interface to use serializable classes generated from the XML schema underlying the BizTalk message, you can pass this message directly into your class library and have strong-typed representation of your class. Thus, you eliminate any need to use XPath to retrieve data or to use the XmlDocument API.

Thursday, November 3, 2011

User Defined Table Types and its use

Programmability > Types > User-Defined Table Types

================
USE [GGGG]
GO


CREATE TYPE [pppp].[mmmm] AS TABLE(
[AAA] [varchar](20) NULL,
[BBB] [int] NULL,
[CCC] [varchar](500) NULL,
[DDD] [nvarchar](2000) NULL,
[EEE] [varchar](50) NULL,
[FFF] [int] NULL,
[GGG] [bit] NULL
)
GO
=========================== use =======================

USE [pmpm]
GO

/****** Object:  StoredProcedure [pppp].[mmmm]    Script Date: 11/03/2011 13:54:22 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


CREATE PROCEDURE [pppp].[mmmm]
@cdd [pppp].[mmmm] READONLY
AS

DECLARE @AAA AS [varchar](20)
DECLARE @BBB AS [int]
DECLARE @CCC AS [varchar](500)
DECLARE @DDD AS [nvarchar](2000)
DECLARE @EEE AS [varchar](50)
DECLARE @FFF AS [int]
DECLARE @GGG AS [bit]


IF NOT EXISTS(
SELECT  A1.AAA  
FROM @cdd A1
INNER JOIN @cdd A2
ON (A1.AAA=A2.AAA) AND
((A1.BBB <>3 AND A2.BBB=3)OR
(A1.BBB =3 AND A2.BBB<>3)OR
((A1.BBB <>3 AND A2.BBB<>3))AND(A1.BBB=A2.BBB))
group by A1.AAA
having COUNT(*)> 2
 ) AND
((SELECT COUNT(*)  FROM @cdd)> 0)


BEGIN
DELETE FROM [pmpm].[Reports].[TTTTT]
WHERE EEE1 = 'CCD'AND DATEDIFF(MI,created_datetime,GETDATE())>1

INSERT INTO [pmpm].[Reports].[TTTTT]
( [AAA1]
  ,[BBB1]
  ,[CCC1]
  ,[DDD1]
  ,[EEE1]
  ,[FFF1]          
  ,[active_flag]
  )
SELECT
A.AAA,A.BBB,A.CCC,A.DDD,A.EEE,A.FFF,A.GGG
FROM @cdd A left OUTER JOIN
[Reports].[TTTTT] w ON A.AAA = w.AAA1
WHERE
(A.BBB<>3)and w.userid IS NULL



DECLARE ccd_cursor CURSOR FOR
SELECT A.AAA,A.BBB,A.CCC,A.DDD,A.EEE,A.FFF,A.GGG
FROM @cdd A
WHERE A.BBB = 3

OPEN ccd_cursor;
FETCH NEXT FROM ccd_cursor
INTO @AAA,@BBB, @CCC,@DDD,@EEE,@FFF, @GGG;

WHILE @@FETCH_STATUS = 0
BEGIN
-- If BBB1=3 username is not present in TTTTT insert the record from @cdd

  IF((SELECT COunt(*) FROM [pmpm].[Reports].[TTTTT] WHERE AAA1 = @AAA) = 0)
  BEGIN
  INSERT INTO [pmpm].[Reports].[TTTTT]
( [AAA1]
  ,[BBB1]
  ,[CCC1]
  ,[DDD1]
  ,[EEE1]
  ,[FFF1]          
  ,[active_flag]
  )
values(@AAA,@BBB, @CCC,@DDD,@EEE,@FFF, @GGG)
END
-- If BBB1=3 username is  present in TTTTT insert the CCC1 i.e., country from @cdd
IF((SELECT COunt(*) FROM [pmpm].[Reports].[TTTTT] WHERE AAA1 = @AAA) > 0)
  BEGIN
Update [pmpm].[Reports].[TTTTT]
 SET CCC1 = CCC1 +','+ @CCC
WHERE
((AAA1 = @AAA)
AND (@BBB= 3) AND (BBB1=3)
AND (CCC1 NOT LIKE  '%' + @CCC + '%'))
END

FETCH NEXT FROM ccd_cursor
INTO @AAA,@BBB,@CCC,@DDD,@EEE,@FFF,@GGG;
END
CLOSE ccd_cursor;
DEALLOCATE ccd_cursor;
END

GO

From Any Type




<xsl:template name="MyBarCodeXsltConcatTemplate">
<xsl:param name="seqno" />
<xsl:element name="PostalServiceBarCode">
<xsl:value-of select = "/*[local-name()='FieldingBatchWrapper' and namespace-uri()='MM:P']
/*[local-name()='FieldingBatch' and namespace-uri()='PP:P']/*[local-name()='Surveys' and namespace-uri()='PP:P']/*[local-name()='Survey' and namespace-uri()='PP:P'][$seqno+0]/*[local-name()='Unit' and namespace-uri()='PP:P']/*[local-name()='Contacts' and namespace-uri()='PP:P']/*[local-name()='Contact' and namespace-uri()='PP:P']/*[local-name()='Extension' and namespace-uri()='PP:P']/*[local-name()='AddressExtension']/*[local-name()='Finalist']/*[local-name()='BarCode']/text()" />
</xsl:element>
</xsl:template>