"Works on my Machine" Certification Program

I came across this a while ago and thought it’s too good to keep quiet. The classic
problem we’ve all been in “works on my machine” says the Developer.

 

Basically this certification is easy – you launch the app, get to the main screen
and shutdown.

If that can be done – you’re in! 🙂

Check it out below….

 

http://www.codinghorror.com/blog/archives/000818.html

3D Silverlight Charts in SharePoint: SmartTools.Charts

Last week I was teaching the U2U Advanced SharePoint Development course in Brussels when one of my students showed me a web part he had created. The web part showed a cool 3D chart (rendered with Adobe Flex) based on some data coming from a SharePoint list. This idea inspired me to create an addition to the SmartTools project on CodePlex: the SmartTools.Charts component. The SmartTools.Charts component contains a web part that can show charts rendered by making use of a very cool open source Silverlight control created by Visifire (since I don’t have any knowledge about Adobe Flex). The web part can be configured to read data from any list or document library of that site on which it’s placed. At the end of this post you can see a screenshot of the web part in action. I’ve created a small video as well since the charts have some fancy animations when they’re shown, so you need to see it in motion! A high resolution version of that video can be download from this page (bottom right). If you’d like to try the SmartTools.Charts component, you can download a first beta version from the CodePlex site (direct link to the releases). Since this is an early beta version, things can go wrong, and breaking changes in future releases can be expected; so basically use it at your own risk (source code is included). As usual, let me know if you have any comments, remarks or feature requests.



SmartTools.Charts from Jan Tielens on Vimeo.


Using sequences inside Composite Operations with Oracle EBS adapter

Consider a scenario where I want to insert data into two tables in a single transaction. The tables have a field that should be populated using the same sequence – one using SEQUENCE.NEXTVAL, and the other using SEQUENCE.CURRVAL, so that both tables get the same key value in these fields – a typical scenario when inserting into Interface Tables that have a dependency on each other.


The adapter performs all the operations in the Composite Operation in a single transaction and in order – however that does not mean that they are performed in a single session or connection to the Oracle server.


Sequences in Oracle are designed in a way such that their value does not reflect across sessions unless NEXTVAL is called on them. If you put ‘SEQUENCE.NEXTVAL’ in InlineValue for the first table and ‘SEQUENCE.CURRVAL’ in InlineValue for the second table in the Composite Operation, the result will not be what you’d normally expect.  To elaborate, I defined a sequence named MYSEQUENCE, and opened two SQL-Plus sessions. I performed the following steps side by side as shown below:































Session 1


Session 2


SELECT MYSEQUENCE.CURRVAL FROM DUAL;


ORA-08002: sequence MYSEQUENCE.CURRVAL is not yet defined in this session


 


 


SELECT MYSEQUENCE.CURRVAL FROM DUAL;


ORA-08002: sequence MYSEQUENCE.CURRVAL is not yet defined in this session


SELECT MYSEQUENCE.NEXTVAL FROM DUAL;


 >>21


 


SELECT MYSEQUENCE.CURRVAL FROM DUAL;


 >>21


 


 


SELECT MYSEQUENCE.CURRVAL FROM DUAL;


ORA-08002: sequence MYSEQUENCE.CURRVAL is not yet defined in this session


 


SELECT MYSEQUENCE.NEXTVAL FROM DUAL;


 >>22


SELECT MYSEQUENCE.CURRVAL FROM DUAL;


 >>21


 


SELECT MYSEQUENCE.NEXTVAL FROM DUAL;


 >>23


 



As you see, the current value of the sequence does not get updated in all the sessions, and so if you need to use sequences in your inserts, straightforward logic does not work. We came up with two workarounds to make this work:


1.       Fetch the value of the SEQUENCE.NEXTVAL beforehand (you can use the generic operation ExecuteScalar), and populate the final value in your message – works well if you’re using an orchestration.


2.       Create two  stored procedures on the Oracle backend – one for NEXTVAL, and another for CURRVAL that store the value of the sequence in a table (see attached sample script), so that the latest value is available across sessions.


In general, if a value that is session dependent needs to be used in various inserts in a composite operation, it should either be pre-fetched, or stored in a temporary table and accessed using functions called from InlineValue.

Troubleshooting BizTalk Server Soap Adapter Whitepaper Released

Today the BizTalk Adapter Development team announced a new whitepaper on troubleshooting the BizTalk Server Soap adapter in BizTalk 2006 and BizTalk 2006 R2 (although a lot of if not all still applies to BizTalk 2004). The download link is here.
The whitepaper goes over the basics of the Soap adapter, several troubleshooting steps, throttling settings, […]

Troubleshooting BizTalk Server with SOAP Adapter Whitepaper

Microsoft%u00ae BizTalk%u00ae Server uses the SOAP adapter and orchestrations to receive and send Web service requests. The SOAP adapter enables orchestrations to be published as Web services and consume external Web services. Because configuring and/or using Web services can be complex, BizTalk Server handles many of these complexities on behalf of the user. Even so, there are still issues arising from time to time. This white paper is designed to highlight common issues and to provide guidance for how to resolve them.


http://www.microsoft.com/downloads/details.aspx?FamilyID=0297745b-7636-4f4d-ab44-62d1abe2330d&DisplayLang=en