Checking if the optional element exists or not in Mapping

Charan: I have a problem I have one schema which has one optional filed ‘Element1’ and I need to map this schema to other schema but the twist is if this optional filed is not present in the input schema then I need to map other filed ‘Element2’ to the output schema.Input schema with optional filed ‘Element1’
Output Schema
Rohit: You can do this using the Scripting functoid as shown below:Drag

The Future of Middleware and the BizTalk Roadmap – Recap

This week was an incredible week for people who were involved in BizTalk Server. At the Microsoft World Partner Conference 2011 Tony Meleg (Microsoft) delivered an important session "The Future of Middleware and the BizTalk Roadmap". Richard Seroter nicely summarized his view here.  After so much buzz in the twitter and blog space, I decided to watch this video. Being a BizTalk Server MVP, we were aware of all these things slightly earlier than the general public, but it was good to get a recap. While watching the presentation, I was tweeting (@biztalk360) all the important statements from Tony Meleg, I summarized everything here so the tweets won’t disappear in the wild (you need to read from bottom to top :-).

At the end the main takeaway for me is, BizTalk as a product/brand name may go away after few years, few revisions of AppFabric vNext (which for the time being they call it as future of BizTalk). But the integration concepts like adapters, pipelines, work flows (Orchestration name will die), rules, BAM, etc are going to remain the same. We just need to learn how to do things in new way. This cloudy thing is big, we can’t ignore it. The great thing you need to keep in mind is "One strategy, make it run in the cloud, make it run on-premise full stop", that means you don’t need to learn multiple things.

Microsoft is great in delivering such things, proof is .NET Framework and it’s Languages. Whether you are a Web developer, WPF, Silverlight, SharePoint, BizTalk or whatever you got one framework and your one preferred programming language to do things.

If you remember the saying,

"The Only Thing That Is Constant Is Change" – Heraclitu, Greek philosopher

and I welcome the change.

Text Version

  • BizTalk as product/brand name may go away after few years but the integration concepts are going to remain – SK
  • Managed to watch the full video http://bit.ly/n2vpth very open transparent view from Microsoft about direction of BizTalk
  • Migrate the whole application is not going to happen, its more like migrate each artifacts pipelines, rules, workflows etc -Tony M #WCP11
  • Invest in migration tools/guidance, Make the platforms work together – Tony M, #WPC11
  • Continue to ship current BizTalk architecture, because we don’t know how long this new thing is going to take – Tony M #WPC11
  • We are building only one thing, cloud first and then suck those pieces down as server version – Tony M #WPC11
  • Set your expectations very low with what we have shipped, it will take a long time to realize the vision – Tony M #WPC11
  • This picture is the next BizTalk Server – Tony M #WPC11 http://yfrog.com/khhn0p
  • AppFabric ServiceBus team responsible for unifying, rationalizing and delivering a messaging platform on behalf of the company – TM #WPC11
  • AppFabric Container is the heart of future middleware, it’s the host capable of elastic scale – Tony Meleg #WPC11
  • It’s multi-year, multi-release vision – Tony Meleg #WPC11
  • 1. BizTalk Investments, 2. Build cloud based middleware plat, 3. Solve capability islands, remove duplication – Tony Meleg #WPC11
  • One strategy, make it run in the cloud, make it run on-premise full stop – Tony Meleg #WPC11
  • Replacing BizTalk Orchestration engine with WF is like doing major heart surgery, really difficult -Tony Meleg
  • Finally watching Tony Meleg’s talk

Video Link:
http://digitalwpc.com/Videos/AllVideos/Permalink/e821e9f8-e379-45b0-8879-12fe271c86be#fbid=8XvnxCo6v9U

Presentation Link:
http://digitalwpc.blob.core.windows.net/sessions/2011/AP03_Meleg.ppt

Nandri!
Saravana

The Future of Middleware and the BizTalk Roadmap

If you are interested in future of BizTalk you can view session from World Partner Conference 2011 in Los Angeles by Tony Meleg: AP03 The Future of Middleware and the BizTalk Roadmap

Detail:
If you have a development practice or you are an ISV and you create complex solutions for customers, you need a number of middleware capabilities at your disposal. BizTalk Server has been at the center of Microsoft’s Middleware platform for a number of years, to provide many of these capabilities. AppFabric, both on-premise and on Windows Azure provides additional capabilities as well as some overlapping ones. So what is the strategy here, what is Microsoft up to long term and short term? How will this affect solutions you create and what opportunities will it create for your company? In this session, you will get the answers to these questions.

Is BizTalk Server Going Away At Some Point?  Yes.  Dead? Nope.

Is BizTalk Server Going Away At Some Point? Yes. Dead? Nope.

Another conference, another batch of “BizTalk future” discussions. This time, it’s the Worldwide Partner Conference in Los Angeles. Microsoft’s Tony Meleg actually did an excellent job frankly discussing the future of the middle platform and their challenges of branding and cohesion. I strongly encourage you to watch that session. I’ve avoided any discussion on the […]
Blog Post by: Richard Seroter

This blog will be moved.

Hi all

This blog will move to http://blogs.eliasen.dk/technical/ before long. No new posts will be added to this blog, and as soon as I have the time, I will try to set up some forward mechanism that automatically forwards from this blog to the new one so I can delete it.

I am really hoping that this will mean a minimum of inconvenience to all readers of this blog.

The reason I am momving away from this blog is that I am using dasBlog, which oer the years has grown more and more unstable and useless. It will not remember my login, the text editor on the blog web site has lost its wysiwyg editor. Windows Live Writer can no longer post to it and more. Basically, dasBlog hasn’t moved along with .NET and it is simply time for me to move away from it. Also, BlogEngine.NET has just released version 2.5 which has the option of having multiple blogs in one installation so I am consolidating my blogs into one installation, making upgrading to newer versions a one-time-action instead of a one-tim-per-blog-action 🙂

The new RSS feed will be located at http://blogs.eliasen.dk/technical/syndication.axd – please update any RSS readers accordingly. Thanks


eliasen
Blog Post by: Jan Eliasen

What’s New in ASP.NET MVC 3 – Part 2 (screencast series 2.0)

I’ve posted the second installment of my What’s New in ASP.NET MVC3 screencast series (version 2.0)
Part 2 explores the following topics:

Razor View Engine
Views
Validation

Note: I recommend watching this video in HD Mode, full screen.
(Video: Watch this video on the post page)
Screencast Download Link:
High Definition (.mp4) (85MB)

Blog Post by: Michael Gerety

BizTalk Server 2010 Virtual Labs

Try these virtual labs to learn more about BizTalk Server 2010.
MSDN Virtual Lab: BizTalk Server 2010: Examining a BizTalk Application
MSDN Virtual Lab: BizTalk Server 2010: Creating a BizTalk Orchestration
MSDN Virtual Lab: BizTalk Server 2010: Creating Transactional Business Processes
MSDN Virtual Lab: BizTalk Server 2010: Monitoring Business Activity
MSDN Virtual

BizTalk Training Resources: Virtual Labs, Tutorials, Virtual Machine and more

BizTalk Training Resources: Virtual Labs, Tutorials, Virtual Machine and more

Sometimes people ask me how to quick start learning BizTalk or I see lot of people asking that in forums, which leads me to always be looking for this information’s. (here a great post by Steef-Jan Wiggers) So, here’s a list of essential resources. BizTalk Server Virtual Labs Microsoft Virtual Labs take you through a […]
Blog Post by: Sandro Pereira

Calling Stored Procedure Oracle 11g Using WCF-Custom OracleDbBinding

Calling Stored Procedure Oracle 11g Using WCF-Custom OracleDbBinding

In this post I like to show how to call a stored procedure in Oracle 11g XE performing an insert and an update. To create a stored procedure in Oracle 11g I look for guidance and found at Oracle%u00ae Database PL/SQL Packages and Types Reference, and PSOUG Insert and Update. I created the following two procedures:

create or replace procedure “INSERT_CUSTOMER”
(customer_name IN VARCHAR2,
customer_street IN VARCHAR2,
customer_city IN VARCHAR2,
customer_state IN VARCHAR2,
customer_photo IN BLOB)
is
begin
INSERT into customer (name, street, city, state, photo) values (customer_name, customer_street, customer_city, customer_state, customer_photo);
end;

create or replace procedure “UPDATE_CUSTOMER_ADDRESS”
(customer_name IN VARCHAR2,
customer_street IN VARCHAR2,
customer_city IN VARCHAR2,
customer_state IN VARCHAR2,
customer_photo IN BLOB)
is
begin
UPDATE customer SET street=customer_street, city=customer_city, state=customer_state WHERE name=customer_name;
end;

Both are very basic stored procedures. Next step in this little endeavor is creating a BizTalk project and create schemas for both procedures using the Consume Service Adapter Wizard.

image

After hitting OK a schema and binding file is created. Schema’s are depicted in screenshot below.

image

I build the solution after signing and providing it with application name. Next step is deploying the schema and configure the send port (by importing the binding file). Created Send Port contain two SOAP Actions and this needs to be one in my scenario (messaging). Two SOAP Action result in an error:

image

For calling stored-procedure to insert a new customer I have send port with following SOAPAction defined:

<BtsActionMapping xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<Operation Name=”INSERT_CUSTOMER” Action=”http://Microsoft.LobServices.OracleDB/2007/03/POLLING/Procedure/INSERT_CUSTOMER” />
</BtsActionMapping>

With a filter for MessageType:

http://Microsoft.LobServices.OracleDB/2007/03/POLLING/Procedure/INSERT_CUSTOMER#INSERT_CUSTOMER

And I created a new Send Port with SOAPAction:

<BtsActionMapping xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<Operation Name=”UPDATE_CUSTOMER_ADDRESS” Action=”http://Microsoft.LobServices.OracleDB/2007/03/POLLING/Procedure/UPDATE_CUSTOMER_ADDRESS” />
</BtsActionMapping>

With a filter for MessageType:

http://Microsoft.LobServices.OracleDB/2007/03/POLLING/Procedure/UPDATE_CUSTOMER_ADDRESS#INSERT_CUSTOMER_ADDRESS

In both Send Port I added credentials and changed useAmbientTransaction setting to False (see also my previous post). Finally I created a Send Port to send both response to file with following filter:

BTS.MessageType == http://Microsoft.LobServices.OracleDB/2007/03/POLLING/Procedure#INSERT_CUSTOMERResponse
Or
BTS.MessageType == http://Microsoft.LobServices.OracleDB/2007/03/POLLING/Procedure#UPDATE_CUSTOMER_ADDRESSResponse

and a receive port for incoming messages. When I test my application with following message:

<ns0:INSERT_CUSTOMER xmlns:ns0=”http://Microsoft.LobServices.OracleDB/2007/03/POLLING/Procedure”>
<ns0:CUSTOMER_NAME>Sarah Ralls</ns0:CUSTOMER_NAME>
<ns0:CUSTOMER_STREET>8th Street</ns0:CUSTOMER_STREET>
<ns0:CUSTOMER_CITY>Bellevue</ns0:CUSTOMER_CITY>
<ns0:CUSTOMER_STATE>WA</ns0:CUSTOMER_STATE>
<ns0:CUSTOMER_PHOTO></ns0:CUSTOMER_PHOTO>
</ns0:INSERT_CUSTOMER>

I receive this message in my out folder:

<INSERT_CUSTOMERResponse xmlns=”http://Microsoft.LobServices.OracleDB/2007/03/POLLING/Procedure” />

And I check the database to see if record with Sarah Ralls has been created:

image

This works out. I then offered the following message to update the address:

<ns0:UPDATE_CUSTOMER_ADDRESS xmlns:ns0=”http://Microsoft.LobServices.OracleDB/2007/03/POLLING/Procedure”>
<ns0:CUSTOMER_NAME>Sarah Ralls</ns0:CUSTOMER_NAME>
<ns0:CUSTOMER_STREET>9th Street</ns0:CUSTOMER_STREET>
<ns0:CUSTOMER_CITY>Bellevue</ns0:CUSTOMER_CITY>
<ns0:CUSTOMER_STATE>WA</ns0:CUSTOMER_STATE>
<ns0:CUSTOMER_PHOTO></ns0:CUSTOMER_PHOTO>
</ns0:UPDATE_CUSTOMER_ADDRESS>

And I received this in my out folder:

<UPDATE_CUSTOMER_ADDRESSResponse xmlns=”http://Microsoft.LobServices.OracleDB/2007/03/POLLING/Procedure” />

This works too and to be sure I checked database again:

image

I can tell you that calling a stored-procedure in Oracle 11g XE is straight forward, though I have to say I used pretty standard PL/SQL and did not use a cursor or anything. Something for another post. I hope this detail will show how to call stored procedure with BizTalk using the OracleDbBinding and Consume Adapter Service Wizard.

Technorati: biztalk server 2010