Tiago Pascoal's WebLog

Hello Good Evening and welcome to nothing much.

  • XSD Annotations in WCF

    Some people [here and here] were claiming for the ability to produce XSD annotations in WCF, but unfortunately this isn't possible yet.

  • Embedded Databases

    A while ago, we were evaluating building a product that would run on a users desktop (fat client in the old school terminology, winform in this era :-) ), one of the requirements was that it would need to store data. An embedded database would be a great fit, preferably a relational one.

    MSDE (or now that that SQL2005 shipped) Sql Server Express just wouldn't cust the mustard. It's not a question of capacity, speed or memory footprint (although memory footprint could be an issue), it is just an issue of size. How can you justify that for a software that is 1,2 or 3 Mb, you multiply that size by 10 or 20 times, just to include a database? (an issue a user, specially a non technical user doesn't care about).

    Since this would be a low cost product, with a very small niche market all pennies would count, so the preference was a on either a low cost (or preferably) free solution.

    At the time, this was our short list.

    SqlLite - At the time i've looked if someone had ported it to managed code using Managed C++. No dice here, but there is an ADO.NET Provider.  Which should be enough. SqlLite seems both small and fast, and has a solid reputation.

    Firebird - A product with a solid reputation, and that seems to have a good and loyal user base. It 's not managed,but like SqlLite it also has managed ADO.NET providers. It has a good reputation, it seems to have a small footprint, and it looks like a very easy product to use as and embedded data store.

    VistaDB - Also seemed like a nice product, but it costs $$$. Which somehow it puts it on a lower level than the SqlLite and Firebird (due to our constraints).

    Since the project was postponed, i haven't evaluated the solution on it's technical merits. Both SqlLite and Firebird had points on it's favor (cheaper :-D ),and my investigations of VistaDB were very light. (to be read, just read the brochures :-)). Firebird had another point in it's favor. It is supported by LLBLGen Pro, a product that we like, better yet a product which we have already licensed.

    Are you still with me? (doubt it), basically i've written all this crap, because i'm a sucker for goodies, i usually pass on the opportunity for useless freebies, but this free may eventually be useful to me. :-)

    Vista Software, seems to be engaging in some kind of viral marketing campaign, it is offering free licenses to bloggers who include the following marketing babble:

    VistaDB 2.1 database for .NET has been released
    This 2.1 update includes over 60 improvements, including new support for .NET 2.0 and Visual Studio 2005. VistaDB is a small-footprint, embedded SQL database alternative to Jet/Access, MSDE and SQL Server Express 2005 that enables developers to build .NET 1.1 and .NET 2.0 applications. Features SQL-92 support, small 500KB embedded footprint, free 2-User VistaDB Server for remote TCP/IP data access, royalty free distribution for both embedded and server, Copy 'n Go! deployment, managed ADO.NET Provider, data management and data migration tools. Free trial is available for download.
    - Learn more about VistaDB
    - Repost this to your blog and receive a FREE copy of VistaDB 2.1!

    Since i'm an aforementioned freebie sucker, i'm applying for my free license. However i had to write something with (at least in appearence) useful, so i'm not labeled as a marketing whore. :-)

    In my defense, i already wrote a post in this topic (with some imagination) of embedded databases here.



  • Infopath Previewing in Sharepoint

    When dealing with Infopath forms and Sharepoint (well even if you don't use Sharepoint), there are mainly two problems. Well a problem and a nuisance.

    If you just want to see a form content you have to have Infopath installed, even if you have infopath installed it's a nuisance to wait for infopath to load just to see the form content, for one form this is not very problematic, if you have to see a lot of forms it can can quickly become a real drag.

    Two days ago i was given a demo of a soon to be released product that will ease the pain, and allow you to see the form content even if you don't have Infopath installed.

    The product is neatly integrated with Sharepoint (both Portal Server and Windows Sharepoint Services), and allows you to quickly see a form content, without having Infopath installed.

    The product is localized in 15 languages (or a number very near 15), including chinese, arabic languages and hebrew, it's a breeze to install and configure and it's a real bargain.

    You can find more information about Cave Digital Infopath Web Previewer here (including screen shots).

    Apparently Office 12 (i haven't seen any announced dates, and this information is still a little vague), will have the capabilities to fill out forms using only a browser, but until then i think this product will be a great fit.

    But don't take my word for it try the product.

    P.S Just noticed Patrick, is also recommending it, his recommendation is worth a lot more than mine. :-)

  • BizTalk: What is the unit of a Duration item in BAM?

    This is a translation of a post, originally posted on our corporate blog, since the original post is written in Portuguese, and i've noticed on the logs a few hits from english speaking people on this particular post, i figured it would be more helpful if there was an english version.

    The post was written by my partner (Bruno Camara), which is our in house BizTalk expert, and i've provided a (not very literal) translation:


    In one of the projects we are are currently envolved, the client requested us, a set of metrics from the requests that are handled by BTS. This request lead me to investigate Business Activity Monitoring (BAM) capabilities. It's impressive how fast and how effortless it's possible to extract a set of metrics directly into an Excel Pivot Table, and from there perform some BI.

    I was really impressed, however i've stumbled on a problem that triggered some reflection about BTS usage.

    When we are running the wizard to define the activities and attributes (response times, response with errors,etc,etc) that we wish to monitor, there is an item type named "Duration". One of the metrics i wanted to extract was the request's response time,which is nothing more than the duration, (defined by a "Duration" item) between two "Business Milestones". The first one, corresponds to the Receive Shape associated with the reception of the request, and the second one corresponds to the final Send Shape used to send the response (using BAM's own terms).

    After configuration, and some test activity in order to gather some results into the Pivot Table, i've immediately noticed that i couldn't identify the duration's unit.  I've searched the documentation,i've googled but found no valid information,until i decided to ask on a biztalk newsgroup to see if someone could provide me with an answer. Finally i've got one from a MSFT guy, and i quote: "It is in days. In the next release, we plan to enable users to define that in the Bam Excel UI."

    We wanted to show response time in seconds of even milliseconds, nothing that an excel formula couldn't solve. However that kept me wondering, why is this measure unit in days? does this mean BizTalk wasn't "designed" for request-reply scenarios, in which a response is expected in the order of seconds/milliseconds, but instead it was designed for "long running transactions" scenarios? This could be a interesting discussion, but in the end only the people that architected BTS could provide a definitive answer.

    However of one thing i'm sure, BAM sure is spectacular