Friday, February 24, 2012

BizTalk Interview Questions 02

1.         What is Biztalk Server? Since when are you working on BizTalk?
 BizTalk Server is Microsoft’s Integration and connectivity server solution. BizTalk Server 2010 provides a solution that allows organizations to more easily connect disparate systems. BizTalk Server provides connectivity between core systems both inside and outside your organization. In addition to integration functionality, BizTalk also provides strong durable messaging, a rules engine, EDI connectivity, Business Activity Monitoring (BAM), RFID capabilities and IBM Host/Mainframe connectivity.
          BizTalk Server 2006R2, BizTalk Server 2009, BizTalk Server 2010
2.         What versions of Biztalk Server have you worked on?
3.         What is the difference between 2004, 2006 and 2006R2?
4.         Did you get chance to work on BizTalk 2009 version? If yes what difference you saw in it from R2 and what enhancements Microsoft has made in it?
5.         Tell me about BizTalk Server architecture?
6.         Tell me about any engagement which you rate top most while working as BizTalk developer and why?
7.         Most Imp: Tell about a project which was most challenging to you and how you overcame it?
8.         What do you hate about BizTalk Solution development and which you would like to improve in upcoming versions?
9.         How you do testing with your BizTalk Solutions and what tools or methods you use?
10.       How do you debug any errors occurring in BizTalk Solution?
11.       How do you debug an assembly used in Orchestration?
12.       Which way you find most efficient debugging Biztalk Solutions and why?
13.       Were you involved in designing BizTalk Solutions? If yes than what kinds of architecture you have designed?
14.       What design patterns you follow for designing solutions with BizTalk in it?
15.       What do you know about Itinerary based routing architecture?
16.       Did you ever got chance to work on ESB's? If yes, tell me more about it?
17.       Tell about BizTalk Solution development lifecycle?
18.       What kinds of Integrations you have done with BizTalk Server?
19.       What challenges you faced while designing and developing a Biztalk solution which involved multiple non MS platform technologies? How did you overcome them?
20.       What different kinds of Adapters you have worked on?
21.       Have you worked on SAP Adapters? Why did you opt using SAP adpaters instead of communicating with Web Services?
22.       Have you worked on Salesforce.com integration in any of your engagements? If than tell me more about it.
23.       What challenges you faced while working with Salesforce.com?
24.       Have you worked on EDI documents? What kind of EDI documents have you worked on?
25.       What different types of industries you have worked on? Which one you found most challenging and why?
26.       Were you involved in developing Custom components for BizTalk Solutions? If yes than what were those?
27.       Have you developed and used any Custom Pipeline Components? If yes than how did you develop them and later used in BizTalk Solution? Challenges you faced using custom pipeline components?
28.       What kind of environments you have worked on?
29.       Have you worked on environments containing multiple BizTalk box installed? If yes than what different kinds of configurations were there?
30.       Were you involved in administrating Biztalk solutions?
31.       Tell me how you deploy your BizTalk solutions? Do you use any tools or API's for deployment?
32.       How do you deploy your solution on multiple BizTalk boxes easily and efficiently? What issues have you faced doing that?
33.       Have you worked with Business Rules Engine? Tell me about the BRE architecture?
34.       How does a rule gets actually fired or processed in an orchestration?
35.       Have you worked with Business Rules apart from using them in Orchestrations?
36.       What are the different ways you can call a Business Rule in Orchestration? Which way you find most efficient and why?
37.       Have you worked with BAM? What is BAM and why did you use in your particular project?
38.       How did you develop a Biztalk solution with BAM in it?
39.       What deployment steps you apply to deploy BAM?
40.       Which are different BAM Databases? Have you manually deleted any BAM data? If yes than how?
41.       What is the easiest way to develop a schema from an given XML message?
42.       Have you worked on a architecture having WCF Services? If yes than tell me more about that architecture?
43.       How would you rate using Web Services over WCF Services in BizTalk solution? Why?
44.       Have you ever exposed you BizTalk Solution as a Service? How?
45.       Have you ever felt that using BizTalk at a place wasn’t a good option?
46.       What types of different capabilities of BizTalk Server you have worked on?
47.       What do you know about transactions in BizTalk Solutions? What is Atomic/Long Running transaction? When do you use them and when not?
48.       How do you handle your exceptions occurring in BizTalk Solutions? Do you follow any particular standard to handle exceptions?
49.       What are the most important things to keep in mind while designing BizTalk Solution Architecture?
50.       What size of architectures you have worked on and how many multiple Enterprise Systems were involved in it? How much time it took for you to design and develop it? What was the team structure for that engagement?

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