RESTful Services with ASP.NET MVC

RESTful Services with ASP.NET MVC

Although I spend most of my development focus on WCF, I’ve become more and more intrigued by the possibility of using ASP.NET MVC as another framework for building RESTful services – this is especially compelling when using XHTML for your resource representations.

In last month’s issue of MSDN Magazine, I was able to capture these ideas in an article titled RESTful Services with ASP.NET MVC. If you’re working with REST today, I’d be very interested to hear your thoughts on the ideas found in this article.

Check it out and let me know what you think, or better yet, connect with me on Twitter.

http://msdn.microsoft.com/en-us/magazine/dd943053.aspx

New “WCF Essentials” best practices series

Maybe you have decided WCF is the right technology for your next project because it has the power, productivity, and flexibility you need. But you might be a little nervous that your team will be able to get up to speed quickly and make the right design choices in applying WCF to you project.  Or maybe you just used WCF successfully for you last project, but wonder if there are things you could have done better.

Either way, you will want to check out the new series of articles that we are releasing to the WCF Dev Center called WCF Essentials.  The goal of this series is to give you “best practices” guidance on the big things to think about so you can apply WCF “correctly”.  We will be releasing this guidance as series of articles or ’chapters”, roughly one chapter every other week.

This series is written by Michele Bustamante from IDesign, who has been working with WCF and advising customers on how to apply it since the early beta.  Her book Learning WCF: A Hands-on Guide is one of the best resources around for learning WCF.  Michele also recorded a series of web casts that start with the basics and cover a broad range of WCF topics.

So this guidance is coming from a great source and has been reviewed by other WCF experts.  But we realize that “correctly” and “best practices” are subjective terms, so to encourage community feedback and discussion we will be starting a thread on the WCF Forum for each chapter.  Please use these forum threads to ask clarifying questions and to offer your own suggestions for best practices in each area.

Chapter 1 covers the basics and gives and overview of some of the topics that will be discussed in following chapters.  And be sure to participate in the forum discussion thread for this chapter.

New BizTalk 2009 courses available

New BizTalk 2009 courses available

I’m happy to announce that we have two new BizTalk 2009 courses available for instructor led training: BizTalk Server 2009 Fundamentals and SOA and BPM Fundamentals with BizTalk 2009. 

The BizTalk Server 2009 Fundamentals class is for .NET developers new to BizTalk who need a solid grounding in the messaging and orchestration capabilities of BizTalk.  It covers the messaging architecture, schemas, maps, adapters, routing, pub/sub etc. and the orchestration capabilities.  In addition, it provides coverage of using WCF to expose BizTalk as service endpoints, or to consume services from BizTalk solutions.  In this class, I took a slightly different approach from our traditional classes with the introduction of two hands-on projects during the course.  These projects provide students with real world challenges to solve without the step-by-step instructions of a lab manual.  Students in previous classes have really enjoyed these challenges and commented on how well they helped solidify the material. 

The SOA and BPM Fundamentals with BizTalk 2009 provides existing BizTalk developers with more in depth training on the capabilities of BizTalk Server and the ESB Toolkit when working with BPM and SOA solutions.  Like the other class, this one mixes lecture and labs with hands-on projects to help solidify the learning.  This course focuses on BPM capabilities such as the Business Rules Engine, BAM and the ESB Toolkit Portal as well as SOA topics including on/off ramp and itinerary processing in the ESB Toolkit and a deep dive on the WCF adapters. 

Talk to our sales staff to schedule on-site deliveries of either training, and look for the online version in your Pluralsight On-Demand! subscription in the fourth quarter of this year or first quarter of 2010. 

RFID Operations Guide Live

Rama, one of my colleagues in the CAT team has just shipped the BizTalk Server 2009 RFID Operations Guide.  Rama worked for two years as a Feature Program Manager on the V1 release and joined the CAT team just under a year ago.  He knows RFID inside and out and this guide represents comprehensive documentation on how to actually run it in your environment.  Everything that Rama wrote he has personally tested to ensure it is the optimal technique.  This is an absolutely must read:


 The BizTalk Customer Advisory Team and the BizTalk Server UA Team are pleased to announce the availability of the first “BizTalk Server 2009 RFID Operations Guide. The 108-page guide is intended to help plan for and maintain BizTalk Server RFID deployments in production by providing guidance and actionable checklists.


 


The guide was produced as an aggregation of learnings from BizTalk CAT engagements, Field and Partner engagements over the last year. It was reviewed by partners, MVPs, customers and internal RFID experts who have provided extensive feedback. It should create a reference foundation for IT pros and developers maintaining RFID installations.


 


The key sections of the guide are:


%u00b7         Planning the Environment for BizTalk Server RFID: Explains the planning required for various components such as RFID devices, servers deployment, performance, HA, etc. to ensure that your BizTalk Server RFID infrastructure and applications become operationally ready.


%u00b7         Operations Checklist: Provides a set of daily, weekly and monthly tasks that will empower the IT Pro to assess and evaluate the operational readiness state of a BizTalk Server RFID deployment.


%u00b7         Managing Deployment: Covers best practices, key concepts, and procedures specific to BizTalk Server RFID and its dependencies for maintaining, managing and monitoring the various components.


%u00b7         BizTalk RFID Useful links: Compiles all the BizTalk Server RFID relevant links that will be useful post deployment to production.


 


Full MSDN URL:    http://msdn.microsoft.com/en-us/library/ee309289(BTS.10).aspx


Available on MSDN, TechNet and the developer center as a DOCX or CHM or PDF version.


 

Error due to missing HIPPA Schema Trigger Field Annotations

Recently, I was working on a support incident where the customer have modified 837I HIPPA schema by adding a child node under DTP segment. But, while we tried to validate an instance against the schema at both design time and run time, we will get error “Object reference not set to an instance of an object”.


Below is the error thrown by EDIReceive pipeline at run time.


Event Type: Error
Event Source: BizTalk Server 2009 EDI
Event Category: None
Event ID: 4097
Description:
Fatal error encountered in EDI Disassembler, error information is Object reference not set to an instance of an object.


The issue would not happen if we were using the default 837I HIPPA schema which comes out of the box with BizTalk. Now, it means that something going wrong with the node which we have added to schema and the error is also of not much help here. Also, if we remove the data from the input instance corresponding to the node added in the schema, it would get successfully parse.  


After we did a thorough examination of schema (all thanks to Farida for this), we found that the child node added under DTP segment in the schema was missing the HIPPA Schema Trigger Field Annotations. First learn what are HIPPA Schema Trigger Field Annotations, for that click here. Here it was happening that, for DTP segment, we had other default child nodes which have got their Trigger Field Annotations specifying what their qualifier values (or trigger values) are. Now when the EDI Disassembler encounters DTP segment followed by the qualifier value, it should be able to resolve it to the corresponding XML child node under DTP segment. But when it encountered DTP segment for the child node added to the schema, it was not able to resolve the qualifier value to any node since there is no child node matching that qualifier value and hence the error.


Once we added the Trigger Field Annotations to the node added manually, it resolved the error. Note that, for adding the trigger info, we have to open the schema in a text editor.


HIPAA 5010 Public Beta for BizTalk 2009 available

In case you missed it, the HIPAA 5010 beta (for BizTalk Server 2009) is available to the public at the Microsoft Connect site. You can get it here.

If you’re in healthcare then you probably know that HIPAA 5010 is a government-mandated initiative for healthcare exchanges. If you’re a BizTalk person who works in the healthcare space, then you want to check this out as it will be very important to you. If you’re not in healthcare, well, you probably don’t care 🙂

Auckland Connected Systems User Group Meeting 16 August – Getting Your Head In The Cloud

Auckland Connected Systems User Group Meeting 16 August – Getting Your Head In The Cloud

The next ACSUG meeting is set for the 12th of August at 6:00pm at Datacom, 210 Federal Street downtown Auckland. Register here.

Presentation:
The introduction of cloud computing marks a significant change in the IT industry. Offering scalability, flexibility, efficiency and lower costs, the benefits of this technology are widespread and generating a lot of attention […]

Book “SOA Patterns with BizTalk Server 2009” by Richard Seroter, review

Book “SOA Patterns with BizTalk Server 2009” by Richard Seroter, review
Questions:
Who is the reader of this book? What is the level of the reader? How good is the book structure?
I think reader should be a seasoned BizTalk developer. It should not be an entry level developer; they must read BizTalk documentation first.
This book is for architects, but for architects with wealthy knowledge of the BizTalk. I suggest it should be a senior level of BizTalk developer, which is equal to an Integration Architect title.
First three and last four chapters of this book you can read only for quick review your knowledge.
I am highly recommending chapters 4 to 7. They are from Richards’s wealthy experience. They are the heart and soul of the book. I’d like to see much more such interesting things, maybe in next version of this book?
Is it about BizTalk 2009 or about BizTalk?
Chapters 9 to 12 are about BizTalk 2009 features and tools. Other chapters are not depending on the last version. They are more than that, better than that.
Is it about SOA Patterns?
Yes.
Is it the “recipe” book?
There are several good recipes. But this book is not a recipe book.
Is it the button-to-button book?
No, luckily it isn’t.
How is the book covering the material?
Chapter
Audience
Level (1-5)
Grade (1-5)
Chapter 1: Building BizTalk Server 2009 Applications
Architect
Developer
3
1
3
1
Chapter 2: Windows Communication Foundation Primer
Developer
1
1
Chapter 3: Using WCF Services in BizTalk Server 2009
Developer
3
3
Chapter 4: Planning Service-Oriented BizTalk
Architect
3
4
Chapter 5: Schema and Endpoint Patterns
Developer, Architect
3
5
Chapter 6: Asynchronous Communication Patterns
Developer
4
5
Chapter 7: Orchestration Patterns
Developer, Architect
5
3
4
4
Chapter 8: Versioning
Developer
3
3
Chapter 9: New SOA Capabilities in BizTalk Server 2009: WCF SQL Server Adapter
Developer
3
3
Chapter 10: New SOA Capabilities in BizTalk Server 2009: UDDI Services
Developer
3
2
Chapter 11: New SOA Capabilities in BizTalk Server 2009: ESB Guidance 2
Developer
3
3
Chapter 12: What’s Next
Where Level:
1 – developers with entry level knowledge of BizTalk and no working experience
2 – developers with entry level knowledge of BizTalk and small working experience
3 – developers with fair level knowledge of BizTalk and fair working experience
4 – developers with expert level knowledge of BizTalk and fair working experience
5 – developers with expert level knowledge of BizTalk and expert working experience
I have to say, that several parts of this book “must be read” by each BizTalk developer. I insist these parts MUST be the part of the BizTalk Documentation from the early start and it is shame for Microsoft they are not in BizTalk Documentation. For example, the Schema Patterns, Chapter 5, how could developers work with Web-services without main knowledge about basic principles of serializing schemas to .NET classes?
Sometimes author jumps from really interesting discussions about patterns to show how to implement it on “too much details” fashion.
When I have marked the chapters with 2 or 1 grade, I was thinking in this way “I didn’t find any reasons to include this chapter in the book. Author presented the common information and nothing from his experience. Common description and common examples, but I want to read the expert opinion, expert arguments, expert view, expert pros and cons.” I understand why these chapters are in the book, but I just don’t like this. If I cannot see the author opinion in the text, why should I choose the book?
For Chapter 11 about ESB I would highly recommend the webcast by Richard Seroter “A look at the ESB Toolkit 2.0 in BizTalk Server 2009” http://cloudtv.cloudapp.net/ViewWebcast.aspx?webcastid=2521553277324634479. It is just the up-to-date version of this Chapter.
Conclusion
Pros:
“SOA Patterns with BizTalk Server 2009” book includes very interesting material.
Book includes unique material.
Book is covering several useful SOA patterns implemented in/with BizTalk Server.
Book is not only about “how” but about “why”. And this is the best part of it.
Cons:
Several chapters in this book are just “stuff” for volume. But this part is only about half of the book and this is good proportion. Yes, it is a good proportion. Usually this kind of books has smaller “performance index”.
Conclusion
This book is very helpful for the Integration Architects and BizTalk Developers.
It was written by one of the most respectful BizTalk expert in the world.
It obviously must be on the table of each BizTalk Developer.
Highly Recommended