I am safely back in Madison, having returned from BizTalk RFID Solution Days 2008, held in Bellevue/Redmond Washington. You can read my four previous posts for some day by day coverage: Day 0, 1, 2, 3, 4. Overall I enjoyed the conference and training. It was apparent that the conference was defiantly for management and the business types, and while the training was more technical, it still felt slightly biased towards non-technical people (more in the training later). The logistics were pretty solid with the location working out nicely. Had I know about the free Microsoft shuttle to the Microsoft Campus from the Westin hotel the first day, it would been even better. I can appreciate the abundance of electrical hookups at the tables in the main conference hall, but the lack of free wi-fi was like a punch in the stomach. As I mentioned in a previous post, actual guests of the Westin might have gotten free Wi-Fi, but I don't know why this wasn't extended to all conference attendees. At a minimum, they could have brought in a couple of hubs and added some wire drops to a portion of the main conference hall for those of us left out. In the end it was a minor inconvenience, although my EDVO reception inside was a little lacking at times on my smart phone. I can't say enough about the Ogio backpack we all got. It's easily a $50 backpack, well built and survived the flight home as checked baggage (had too much stuff to bring back to fit in just the one bag I brought out with me). While it won't fit my 17" laptop, I have found another use for it. My wife's birthday was on Friday, and has been wanting a nice backpack for her new job, so guess what she got for her birthday? What can I say, I love my wife, and the fact that she is perfectly happy getting my conference backpack as her "gift" :) I found great value in the key note presentation by John Fontanella, as well as good value in some of the other presentations. Specially, Cathexis, Freedom Shopping and Impinj. There was one thing lacking, and that was what we can expect from the next version of BizTalk RFID. A member of the Xterprise team did let a little piece of information slip which definetly caught my attention, and that was that the next version is going to have features for mobile devices (ka-ching). Also, a display showing off BizTalk RFID was strangely absent. Just because people attended the conference doesn't mean they are going to make use of the product, and I think alot of people were there to evaluate BizTalk RFID itself. Why not have a mock warehouse setup with some RFID readers and label printers running off BizTalk RFID? Moving onto the training, I would like to say that I did learn a great deal of information. The concept of developing a "solution" starting with the first lab exercise and continuing to expand upon it for the duration of the class was an excellent idea and should be used more often. Instead of wasting time watching progress bars advance, having an environment already setup saved allot of time and allowed us to concentrate on actual substance starting with the first lab. That first lab which showed were stuff was installed, including log files, saved some time in later labs when I had to trouble shoot. I would like to note that it always seems like BAM gets shafted in BizTalk (and related classes), so I would almost like to see that brought forward for a change. There were some disclaimers stating that the code implemented was not up to best practice standards. My question is, why isn't it? That is, why not show what best practice code looks like? Maybe for the parts that we had to type our selves you could cut some corners, but there were large portions of code that was done already for us that could have been implemented better and had complete unit tests. It's a perfect opportunity to show how to write decent code. Instead, the business type people and managers got to see how "easy" it was to get stuff working. Mick did make a couple of statements to try to avoid this incorrect conclusion, but I feel sorry for some poor developers out there who will get a line like "I got it to work and I'm not even a developer". While the physical RFID reader we got for use in the lab was nice, it did create an issue with the solution we were developing. We really needed two RFID readers in order for the solution (parking garage with an entry and exit ramp) to make more sense. The retail price listed for the DLP-RFID1 is $119.95, but as you can see from this site, there are several lower cost options available, which if bought in bulk, might allow for 2 readers per student. Either that, or design a solution that only requires one reader (either change the solution, or add additional processing logic to make the solution work better with a single reader). The Microsoft Conference center was top notch, but I might have been biased by the enormous cooler full of free beverages (soda, milk, juice). While I already mentioned it once, it deserves a second mention, and that is the free shuttle that runs Monday thru Friday from 7am to 8:30 PM between Lincoln Square (Westin Hotel in Bellevue) and the Microsoft Campus.
ScottGu posted over the weekend about Silverlight 2, and even though I will be away from the web scene for awhile while working on my current project, I am still excited. There are links to 8 Silverlight 2 tutorials. Key features include: - WPF UI Framework: This is a compatible subset of the WinForms WPF framework. You should be able to re-use controls written in Silverlight 2.0 in your WPF projects. Some WPF controls may not be compatible, and hopefully control creators will try to target both frameworks.
- Rich Controls: TextBox, CheckBox, RadioButton, StackPanel, Grid, Panel, Slider, ScrollViewer, Calendar, DatePicker, DataGrid, ListBox were listed in Scott's post.
- Rich Networking Support: Out of the box support for REST, WS*/SOAP, PX, RSS and HTTP. You can access resources on the web, and there is also built in support for sockets.
- Rich Base Class Library: A compatible subset of the base class library including collections, IO, generics, threading, globalization, XML as well as LINQ and LINQ to XML.
Now the question is, what ever happened with Silverlight on the Compact Framework? If you remember from Mix 07, during the MLB demo, the presenter showed off a "Silverlight" application running on a Smart Phone (see this blog post for some details). Is it any coincidence that this Silverlight 2 announcement happens only weeks before Mix 08 and painfully leaves out any compact framework details? Scott uses the phrase compatible subset in two places when describing the features of Silverlight 2.0. Compatible Subset is an interesting choice of words, as you could describe the Compact Framework in that way as well. Should I really be getting this excited in thinking that Silverlight 2 will be released for the Compact Framework when we having even seen a 1.x build that runs on it? Yes. Maybe I'll be disappointed, but I will be keeping a very, very close eye on the Mix 08 conference. Larry has a great post up entitled 5 things to do if you are not going to MIX. If you are stuck in the middle of a frozen wasteland like Larry and I (well maybe not wasteland, but compared to Vegas, the upper Midwest leaves something to be desired right now), or can't attend MIX for any reason, I suggest you read up on how to make the most of MIX as a "virtual" attendee. So set your outlook calendar to out of office for Mach 5-7th.
Today was the 2nd and last day of the training/conference on BizTalk RFID (See here for Day 0, 1, 2, 3). Module 7 - Business Rules Now we're starting to get somewhere interesting, business rules. However, before I could start the module, I needed to redo some previous steps as my VM was reset to a clean state over night. Thankfully, as like other classes I've been to, solution files are provided for each module, so I started more or less from module 6. One step of my rebuild process I wanted to point out was importing a process. In Module 5 and 6 we were working with a process called Parking Event, so I went to import this process in the BizTalk RFID manager. The import process asks for a XML file which specifies the configuration for the process. Now this was imported successfully, but when I went to validate I got a FileNotFound exception, and as I expected, the import process does not import/move the necessary binary files. Under the BizTalk RFID folder, is a Processes folder which has a folder for each process configured. The import process created a ParkingEntry folder (C:\Program Files\Microsoft BizTalk RFID\Processes\Parking Entry) and other required files, but the bin folder was empty. All I had to do was copy my binary files (.dll's) from the solutions folder to the bin folder, and the validation succeeded. I am very grateful for module 2 (see day 3) in which we walked thru the folder structure of BizTalk RFID, as it made fixing this error very easy. Now I will return you to our regularly scheduled Module 7. Due to some missing instructions in the Student Manual, we were instructed to use the Business Rules deployment wizard to import a policy file which defined the rules themselves. The rules are pretty simple for this exercise and this is more about BizTalk RFID as a whole then how to manage BizTalk rules, worthy of it's own multi-day class. We also imported the Microsoft.Rfid.OobComponets assembly which contains several static classes with useful utility functions. For this exercise, we make use of the RfidRuleEngineContext class. I would recommend you review the MSDN documentation to familiarize yourself with the methods and properties exposed. My SQL server somehow got completely messed up, and I needed to take a break and fix it before proceeding. I have posted a separate post on what happened and how I fixed it. During the lecture portion of this module, Mick showed a simple example of invoking the BizTalk rules engine directly from a .Net Application. You could easily expand upon this idea to expose the BizTalk rules engine as a WCF service available to your entire enterprise (service bus). Given the fact that the rules engine comes with the branch edition of BizTalk which retails for $1800, this could very easily speed the adoption of the BizTalk rules engine. This raises an interesting decision, BizTalk rules or WF Rules. Previously I have been looking primarily at the WF rules engine. I feel that it was a little easier to use, and since it's freely including with .Net 3.0, it seems to have more community support. Module 8 - WCF Services Module 8 involves sending tag data from BizTalk RFID to a Windows Forms application via a WCF web service. To start off, we create a new custom event handler which invokes the WCF service. At this point I really started to understand the power behind the process and event handler model that BizTalk RFID is built on. The WCF event handler uses a standard WCF service proxy to invoke the service, and is setup to use the TagReadEvent as the sole parameter to the method call. This is an important design decision to point out. Instead of creating a new data contract, you use the TagReadEvent which "everyone" should know how to use. A question I have is, what other objects are setup for use as DataContracts, and are there any predefined ServiceContracts defined for exposing services? The TagReadEvent object is passed to the Windows Forms Application, and a new key is added to VendorSpecificData and is returned to the caller. The caller, if you remember, is our custom event handler, which returns the modified TagReadEvent which in turn, makes that object available in downstream event handlers. Again, I have come to realize some of the potential available in BizTalk RFID. However, after spending the past 2 hours working on this module, I have come to the conclusion that BizTalk RFID is as finicky as BizTalk proper, and requires some serious debugging skills. The problem, 'IN' versus 'IN '. Somewhere I was getting extra spaces (probably from the database and the way we are reading) which was causing havoc with my rules, or rather in how I expected the rules to evaluate. I went back to one of the previous labs and modified the assembly which handled looking up data from our simulated LOB database to trim strings. One other note, it looks like if you replace files in bin, or modify the web.config file, the process will automatically restart, and log the reason and a stack trace to shutdowns.log. The good news is that there is some decent troubleshooting facilities available using the built in logging mechanism. This was how I was at least able to see where my problem was. Log files for processes are stored in the Process Folder, and are named [ProcessName].log. Module 9 - BAM Someday I will sit down and figure out what BAM is all about, but it wasn't today. Class was pretty much cut short due to people flying out today instead of tomorrow. Miscellaneous Notes - Enriching Data: This is a term used to define a process by which you take the raw tag id and add additional data from your LOB database for example. This information was usually added to the VendorSpecificData property bag which is a property of TagReadEvent and was covered in Module 6.
- Device Simulator: c:\Program Files\Microsoft BizTalk RFID\Samples\Device Service Provider\Contoso\ContosoEndToEnd\ContosoDeviceSimulator
- There is other stuff in the Samples folder so check it out.
So if you have been following along, I am currently at the BizTalk RFID Solution Days Conference and Training. Yesturday I noticed that some of my databases on my training VM were marked as suspect and the BizTalk services such as SSOP and the actual BizTalk service would not start. Upon further investigation in the event log, I was getting alot of errors indicating a corrupt msdb database. Now the easy way would have been to ask for a new VM hard drive image, but this was too good of a learning opportunity to pass up. Better to figure out how to fix this in a low stress environment then on my production environment at 3am. My first step was to fix the msdb database. I found this article on how to rebuild your msdb database from a script. The script is called instmsdb.sql, and you can run it if you have or do not have a msdb database defined. In my case my database was defined so it just rebuilt it. That fixed all of the corrupt index errors for msdb in the event log and was left with the SSO service failing to start. Here is another case of where you need to read more then the first event log message. I thought the issue was with the SSO DB, but in fact, it was with the BizTalkDb database (being suspect). Once I isolated the actual problem, I could move on to repairing the database. I found several posts on different work around's for fixing a suspect database, but this one, was the one that finally worked. In essence, you run the following sql script: 1: EXEC sp_resetstatus 'yourDBname'; 2: ALTER DATABASE yourDBname SET EMERGENCY 3: DBCC checkdb('yourDBname') 4: ALTER DATABASE yourDBname SET SINGLE_USER WITH ROLLBACK IMMEDIATE 5: DBCC CheckDB ('yourDBname', REPAIR_ALLOW_DATA_LOSS) 6: ALTER DATABASE yourDBname SET MULTI_USER
There were some errors displayed when fixing both the BizTalk and BamAlerts database, but in the end, everything is working now.
Today was the first day of the training portion of BizTalk RFID solution days (see day 0, 1 and 2). The instructors are Mick Badran of Breeze Training, and Ram Venkatesh from S3 Edge (Ram was the software architect for BizTalk RFID and recently left Microsoft). The class is held on the Microsoft Campus in the Conference Center, Building #33. This is my first time at Microsoft and I'm impressed with the campus so far. We started out with the obligatory introductions and moved right into the student manual to go over the agenda for the class. We will be designing a solution for a "parking garage" with enough features to get a good understanding of BizTalk RFID. Similar to other classes I have taken, we will be using virtual machines for the labs, and there are already completed solution files for each lab. We have been provided with a HF (13.56 Mhz) RFID reader from DLP Design to use in the labs and to take home with us. Module 1 - Introduction to RFID and BizTalk RFID This was an introduction to RFID, RFID technologies and BizTalk RFID. The first couple of slides were designed to make sure everyone had at least a basic understanding of RFID. I would wager that this was review for most people. The remaining slides went into an overview of BizTalk RFID. RFID Tags: - Low (< 135 Khz) - Short range, more reliable for liquids and metals
- High (13.56 MHz) - Short range, less expensive, reliable, slow bps
- UHF (868 to 915MHz) - Good balance between range and performance and pretty cheap.
- Microwave (2.45 GHz, 5.8 GHz) - Fast but expensive. Example is highway tolls.
Microsoft RFID Goals: - Encourage widespread RFID adoption
- Standards
- Best Practices Architecture
- Build an RFID infrastructure
- Event Processing
- Device Abstraction and Management
Key Benefits of BizTalk RFID: - Abstraction of device handling
- Rich RFID event processing model
- Reduce data "noise" and increase data relevancy - Use the BRE to create filters, alerts and transformations
- Robust framework to support agile processes
Additional Notes: - The DSPI has both an application and management contract interface.
- Ram brought up the LLRP in response to a question about standards based protocols between hosts and RFID readers. I talked briefly about this in my Day 0 post. LLRP is a EPC standard, and I would expect to see more and more readers beginning to implement this. As such, it should be pretty easy to find a DSPI that will work with multiple readers. I know Impinj is using LLRP, or is planning to.
Module 2 - Installing BizTalk RFID Services The student manual contains some basic slides on minimum requirements and installation stuff. Nothing really exciting there. The lab was very interesting and provided some great information. Instead of having you waste an hour installing BizTalk RFID, the VM comes pre-loaded with it already. The lab focuses on showing you where things are installed, command line tools, configuration, registry settings, etc. - Default install directory is %Program Files%\Microsoft BizTalk RFID\bin, I will refer to this as %App%.
- It looks like everything you can do in the RFID Manager MMC, you can do from the command line RFIDClientConsole in %App%\Bin
- We were shown how to export the server configuration to XML and and import from xml.
- Server listens on port 7891
- Notable stuff in %App%\Bin
- clusrfid.vbs - Script that returns health of BizTalk RFID service
- RfidServices.exe - Main application which run as a service
- RfidTray.exe - Monitoring utility which runs in the SysTray
- Web.Config - Mainly defines WCF configuration
- Registry
Module 3 - Examining Physical Devices This module was focused around an introduction to the DLP Design's RFID1 HF reader. We setup the USB redirector software which will enable us to connect to the USB based reader in our VM for all future labs. We were also supposed to write a .Net Application using the native drivers in order to illustrate how difficult it is to program devices. I decided to skip that example and move onto lab 4. Module 4 - BizTalk RFID Device Providers This was a pretty easy module where we went thru, registered a provider and established a connection to our DLP RFID1 device thru BizTalk RFID. A sample application was written to "register" a customer with a RFID tag for use in our parking garage solution. So far so good, so far so-so. I would have preferred writing the provider versus the .Net application. An extra lab was provided in this module which showcases the "flexibility" of the provider model. The extra lab implements a file system provider, that is, it "reads tags" from the file system. Basically the tags are just files in side a directory tree. I don't remember the exact story told, but apparently a race team wanted to be able to capture sensor data from a race car. Looking at how the example is implemented, it's trying to force the solution in the BizTalk RFID domain (square peg into a round hole). Don't get me wrong, it's a cool implementation, but it just doesn't seem right. Module 5 - Building BizTalk RFID Processes Processes are respond to events raised by devices in an asynchronous manner. In the lab we created a process that dumped event data into a sql database. This is out of the box functionality and was pretty easy to configure and setup. Once that was done, we created a very simple report in reporting services. Module 6 - Custom Event Handlers One thing you would notice if you were completing module 5 yourself, is that while the storing of data to SQL is powerful, as implemented, it wasn't practical. You stored pretty much the same tag read data 100 times by just holding one of the test tags up to the reader for 1-2 seconds. This is were custom event handlers come in. From the student manual, lab 6, custom event handlers can: - Filter duplicate events (terminate event processing)
- Enrich events with custom data
- Cleanse event data before further processing takes place
- Integrate with downstream processes and services
- Insert tag events into a database and/or call a downstream service.
All of the out of the box functionality in BizTalk RFID at the process level is implemented on top of the EventHanlder model. This model is fully exposed as indicated in this module, and is the supported way to add additional functionality. There are some samples in the SDK and a Code Plex project started by Microsoft with additional event handlers (MSMQ, File, etc). In this lab we created a custom event handler component, add the custom component to an existing BizTalk RFID process and finally explore the use of the Import Process feature. Again, the programming was pretty straight forward. Naturally the incorporation of DAL code in my component brought a frown to my face. While I understand this is just a simple lab, since the DAL code was already written for us, adding it as a separate assembly to promote n-tier design would have been welcome. I finished up the lab with my tag read events getting queued into a Message Queue after getting enriched (matching tag Id to customer information in our customer DB). Now I'm sure we'll get to this at some point, but I wanted to go a step further so I implemented a simple CBR scheme in BizTalk to dump the data to a file location. Miscellaneous Notes - BizTalk RFID server uses MSMQ for "routing" events to processes
- What is ALE - Application Level Events, part of the EPIC standard? A way to publish and subscribe events. Doesn't sound like there is ALE support out of the box, you would have to roll your own.
- Using a piece of 3rd party software called USB Redirector to bridge the USB based reader plugged into the physical host to the VM.
- Review functionality of BizTalk branch edition. It's only $1800 retail down from $8500 retail.
- There is a device simulator in the full SDK of BizTalk RFID.
- Computer Specs used in the class:
- Dell Optiplex 745 (Vista Experience rating of 4.5)
- Intel Core 2 - T6600 @ 2.4 Ghz
- 3 GB of RAM
- ATI X1650
Today was the second day of the conference and it started out on the same foot as the end of the first day. While there were two official tracks, the 3rd track consisting of talking to the vendors, seemed to draw as many people as the presentations themselves.
The first 3 presentations were:
Augusta Systems
This presentation talked mainly about their sensor bridge, a piece of hardware which allows you to connect multiple devices and peripherals to the sensor bridge. The Sensor bridge was then the only piece of middleware you had to deal with in terms of application and communication support.
Lowry
The presenter stated that he wasn't going to do a sales pitch, I think he ended up doing so anyway. At one point there was a slide which talked about the challenges an adopter of RFID must face which included: What labels and tags to use; where to apply the labels and tags; what hardware to use; compliance standards set by DoD and Wal-Mart. Of course Lowry can help you address all that. At the end, there was a slide with all the customers of Lowry, and an audience member was from one of the companies and asked what Lowry did for them. The presenter had no idea. Note to presenters, make sure you can talk about the stuff you put on your slides.
Avery Dennison
Avery Dennison talked about a solution they implemented for a supplier of Boeing in order to drive RFID down from the Tier 1 suppliers to the Tier 2 and beyond. They also touched on their customer focused initiatives which include RFID FastTrax (RFID process improvement and consulting), and their RFID System laboratory.
Freedom Shopping
The lunch time presentation was done by Freedom Shopping, who have implemented an RFID retail POS solution to allow for unmanned stores. I was impressed by the presentation and solution presented by Freedom Shopping.
Freedom Shopping has 7 patents pending covering their RFID checkout process, and 2 "products". The first is a turn key solution, which allows new store owners to get up and running quickly. The second is an OEM solution which is more suited for existing stores to slowly transition into RFID.
Some interesting facts I found out about their solution:
- Running Windows XP on their Kiosks. Their demo running at their booth was actually running on Vista.
- Retail cost of their Kiosk (I'm not sure if this is for the full or 1/2 size) is $20,000, compared to $70,000 for a bar coded self service checkout
- Mentioned the cost of their tags were around 13 cents and use a modified Alien Squiggle
- They are tagging everything in the store, down to a pack of gum which sells for 99 cents.
Cathexis
After lunch I moved from the main room to the secondary room to hear Cathexis talk about their RFID-based Event Management System. The presenter was by far the best of the conference and kept me interested from start to finish. While he was ultimately pitching thier product, it really wasn't mentioned until 30 minutes in.
The presentation started off with the conclusion (first time I've seen that), which had 4 points: Change Happens, Solutions are deigned to encourage specific attendee behavior, Trend analysis is at the heart of finding ROA in RFID, Solutions are tailored from small to large scenarios. Some of the benefits of their solution include: Real time traffic management, real time notifications, automated floor traffic analysis, promotions and data driven advertising.
Unfortunately I did not win the Xbox 360/Guitar Hero 3 combo they were giving away (and I walked past their booth so much).
The End
The last presentation was by Daenet, a German software company specializing in SOA, and RFID on a Microsoft Stack. They are also a member of the VSTS Inner Circle which I had never heard of before. What I took away from this presentation, was that my interpretation and implementation of SOA is shared by this company, which means I'm probably getting it right.
Tomorrow starts the hands on training and I can't wait. We even get our very own RFID reader to practice with and take home. I have no idea what time the class starts. I got an email stating we were supposed to be informed at the conference, but I must have missed that. I'm guessing we won't start before 8, so that's when I'll try to get there.
Today marked the official start of the BizTalk RFID Solutions Days conference. Showing up for the pre-conference reception was a good idea as the registration table was packed in this morning. Breakfast, lunch, afternoon snacks (including ice cream treats) and dinner were provided. There was no free WiFi available. It is possible that if you had a room at the hotel that you got access, but I saw plenty of people paying for WiFi though out the day.
Anush opened up the conference with a short welcoming presentation. His key point was that the goal of BizTalk RFID was to make it as easy to hook up RFID hardware, as it was to attach a mouse or other USB device. That is a pretty lofty goal, but from what I have seen and read, they are well on their way to accomplishing this. I will be able to comment more on this after I complete the training classes on Wednesday and Thursday.
Key Note
The keynote was delivered by John Fontanella from AMR Research, a company that specializes in researching technology for it's customers. This was a very good presentation about RFID as a technology, process and it's uses in business. John provided some good information which indicates that RFID will really start growing in another year or two.
Like RFID, barcodes faced a slow adoption process, going back to 1975 where an article in a grocery store industry magazine had a quote asking where the value was in barcodes. Now barcodes are everywhere and I doubt my generation even remembers a world without barcodes and from the numbers presented, we are headed the same with RFID.
One of the key points in the presentation was a claim that we have reached the "tipping point" of RFID, but that no one has really noticed yet. The evidence to support this is as follows:
- AMR is seeing an increase in the number of RFID inquiries
- Big Technology companies are back in the hunt for RFID solutions. Compare the list of attendees at this years RFID Live conference with years past and you should see an increase in large, well know companies
- Not dependent on Wal-Mart.
- Companies beginning to understand the value of RFID. In 1994, how many companies understood the value of a corporate web site?
- Large customer facing companies are starting to adopt RFID. An example I've seen, and that was brought up by an audience member, is the Ford RFID enabled pickup truck bed targeted at construction workers and companies.
Several slides in the presentation dealt with what is expected in the future, and how it will continue to drive RFID. For example, item level tagging is supposed to really take off starting in 2009, and one of the categories of targeted projects is Point of Sale, which depends on item level tagging. Terso has been doing item level tagging since it's inception a couple of years ago, so mass customer acceptance and familiarity with item level tagging is a positive development.
John made a comment on how in today's supply chains in the United States, that we have a 60 days supply worth of products, and that RFID and improved processes could help reduce how much back stock is in the supply chain, thus increasing efficiency. He asked if we really need a 60 days supply, and speculated we could get down to 7 days worth of back stock.
I actually find some re-assurance in that 60 day supply, as we are all extremely dependent on these supply chains for our survival (we are not exactly a country of farmers anymore). In the event of a wide spread terrorist attack or some kind of flu epidemic, that 2 months of supply chain back stock might actually equate to survival. Perhaps I've watched one to many end of the world movies lately.
Charles Johnson from Microsoft
The highlight of this presentation was the movie that Charles showed at the beginning, in which a product innovation was shown in an end to end solution starting with envisioning to the end consumer. The video starts out showing a formula one race car being monitored (Charles pointed out that Microsoft software is actually used in racing), and the focus shifted to the driver's seat, which is the product that was going to be developed.
The video changes to show a product management team working on a project plan on Microsoft Surface, both mounted on the wall, as well as in the table. Now Charles said that what we were seeing was real functioning software and hardware. Surface was showcased through out the video.
Some other highlights from the video included wearable headsets which overlayed assembly directions on the production line and RFID tracking of products, parts, and tools in the factory. The video concluded showing a end-customer building (on-line) and ordering a new car (which included the new seat), and the CEO using a Surface enabled desk to review sales data.
The rest of Charles's presentation was focused primarily on supply chain visibility and highlighted some Microsoft partners and the solutions they had developed. Some interesting things I picked up on was a hosted service provided by HP that allows BizTalk to talk to SAP via web services, and it sounded like Microsoft used SAP internally rather then Dynamics, but I'm not 100% sure on this.
There was an audience question at the end asking about the cost of BizTalk server (not the RFID version), and also commented that he thought it was too expensive. Charles responded that when you look at a TCO across an entire solution, BizTalk is a small portion of that. He also added that Microsoft is willing to work with companies to define a pricing model that will work for them.
Other
The rest of the presentations where done by some of the sponsors, and pretty much turned into sales pitches and statistical bragging. It's amazing how many different ways you can cut up the RFID solution space in order to claim you are a #1. While there were foot notes on the slides to "independent" 3rd party research, no one used the same company. Therefore, I will make the unsubstantiated claim that I am the number one blogger at BizTalk RFID solution days based on a set of criteria only known to me.
Companies presenting included Xterprise, who I thought was a systems integrator, but is actually a ISV, HP, Motorola, and Impinj. To be fair, the HP presentation was a 50/50 split between their implementation of RFID in manufacturing and supply chain and their enterprise services department. The Impinj presentation wasn't too bad, I liked the way they designed their firmware upgrades, and if their claims on power consumption (27W active power) are true, that would have some benefits.
We'll see what Day 2 holds.
I arrived in the Seattle area today to attend the BizTalk RFID Solution Days conference and hands on training, hosted by Microsoft. I was delayed in Madison due to ice for about 1.5 hours and barely made my connecting flight in Minneapolis, but everything worked out, and my baggage arrived with me.
I'm staying in downtown Bellevue at the Courtyard Marriott, which is a pretty nice hotel. It has free wired hi-speed Internet in the rooms, is there any other measure? The conference itself is about a 1/2 mile away at the Bellevue Westin. I'm just walking to avoid having to deal with parking and a rental car. I guess the weather here today and the next couple of days is unseasonably nice (sunny and a high of 50).
Bellevue seems like a city in the midst of an identity crisis. There are probably 10-15 hi-rise construction efforts underway, with signs indicating another 10-15 will be started soon. I have no doubt that if I were to return next year, I wouldn't recognize the city at all. I guess it's a good sign from the point of view of the economy. I also saw someone showing off a Lamborghini by revving it's engine and weaving in and out of Traffic. What can I say, we don't see many exotics (just our share of Honda Civic's) of those in Wisconsin.
The only other non-conference related note, was a commercial I saw for a place called Dave and Busters. It looks like an adult's version of Chuck E. Cheese, but with allot better food and better games. We defiantly need something like this in Madison, as there are some people out there who prefer to do something other then drink.
Tonight was the pre-conference reception and registration which was a good chance to hit up the vendors in a little less chaotic environment. Registration was easy and straight forward, and we got a really nice Ogio backpack (stylized with company logos). I was actually thinking about getting a small bag for my return flight, as my primary backpack with my 17" laptop was a little too unwieldy for 3 across seating on the plan.
Vendors
First vendor I talked to was Intermec, a manufacturer of RFID hardware including stationary readers, mobile readers, printers, and rugged tags. I spent most of my time talking about the Intermec IF61 (link), a new stationary reader running on top of a Linux OS. While a Linux OS is nothing new, it does come out of the box with Mono, which should allow it to run .Net Framework applications. On the hardware side, it can handle 95-264 V AC power, and has built in B/G Wifi. Intermec is releases a set of web services as part of a firmware upgrade to help with the management of the reader.
Next up was Impinj, another RFID hardware provider and tags. What I liked about them was that there reader API is based off LLRP, and open source project focused on RFID applications. Impinj's implementation of BizTalk DSPI wraps the LLRP (low level reader protocol) implementation. They are presenting on Monday, so I will have more about their speedway reading in tomorrow's post.
Zebra was my next stop and they had two printers on display. the first was a print and apply demo unit which had a clear side so you could see what was going on inside. The second was a standard label printer enabled with RFID. When I asked them about the printer API, they were quick to point out DSPI support, which wouldn't always work for me. Their DSPI implementation wraps the ZPL (Zebra Programming Language) so it is available if BizTalk RFID isn't. Both printers have support for checking the RFID tag to make sure it's readable. For the standard label printer, if a tag isn't readable, it will print VOID on the tag (or anything else you configure).
Cathexis is one of two companies with a drawing for prizes (Guitar Hero 3 and an XBOX 360) and is based out of Canada. Signing up for the drawing incorporated RFID and some of their products, including a HF pen reader, and a long range HF antenna. The pen reader, is an RFID reader about the size of a dry erase marker and in addition to an HF RFID reader also has blue tooth. Our name badges have an HF tag imbedded, so it is scanned by the pen reader and stored in a database. Every time you walk past their booth the long range HF antenna picks up the tag and enters you again. Needless to say, their booth is usually very busy. I think my biggest take away is an idea on how to setup a promotional give away for Terso. Don't get me wrong the Bluetooth pen reader is pretty cool just not very applicable in my current situation.
Three items were the focus of my attention today. Well, rather 2, and the 3rd I just saw over on daily tech and it got me very excited. MSF for CMMI I have been reviewing the process guidance for MSF for CMMI version 4.2 which ships with TFS 2008. I plan on using this process as the foundation on my next software development project. While out of the box it is a bit of an overkill for my team, project and company, I prefer to start with more (process) and remove what I don't need. I also feel that CMMI is a great compromise between management, who is used too, and wants a more traditional software development approach, and the developers, such as my self who are advocating a more agile process. The great thing about MSF for CMMI is that it is written around agile concepts, yet still has processes in place for oversight. The process guidance, is written in HTML, making it very easy to edit and customize it after the project is created to meet your needs. There is a way to edit the template so that it generates the new project to meet your needs, but I figure this way is easier for the first go around. My plan is to make changes to the HTML as needed, and then create a new template. In addition to tracking my changes, you can use a tool like WinMerge to compare your modified document library with a default one. You can access a document library via windows explorer by going to the document library and choosing open in explorer from the actions menu. This creates a UNC path in the form of \\SharepointServer\Sites\SiteName\Process Guidance, which you can supply to WinMerge. I have spent some time going over the default tasks that are created with a new CMMI based project to see what workstreams and activities they relate to, and I think I have a pretty good handle on the first two tracks. I plan on documenting this in a future post. Requirements Oil and Water, Superman and Kryponite, Me and Requirements. I am having some difficulties in creating a formal software requirements specification, using this book as a guide. It's not the books fault (although I wish it hand an end to end case study of a project), but rather a differing of opinion on some of the definitions (which that end to end case study might help with). - Where is the line between Use Cases and Functional Requirements? Use cases look a lot like test plans to some people, and have a tendency to add test plan like information to them, which I feel is incorrect.
- Where is the line between systems and users in the use cases?
- How much detail is the right amount of detail?
Similar to my quest to gain a better understanding in the use of TFS and the MSF for CMMI, I'm going to have to put some time into researching (primarily looking for examples) software requirements. In addition to the book, which we now have 6 copies of at work, I found this website with some additional templates, as well as fairly detailed article on writing requirements from the perspective of a technical writer. There appear to be some good articles over at wikipedia as well, such as Requirements Analysis and Use Cases, and Use Case Diagrams. Someone today asked the question about how do all the use cases get related, and I believe the answer is the use case diagram (at least one use for a use case diagram), as illustrated in the example on Wikipedia. I hope to be able to report back with some answers to my questions sometime in the future. NVidia Application Processor Daily Tech had an article on the NVidia APX 2500 application processor which is designed to add hi-def capabilities to mobile devices. The article states that NVidia has been working with Microsoft, so once can assume (as does the author of the article), that this is destined for a Windows Mobile application. I've really been giving my HTC Mogul a work out and have always wanted a all in one device (video, mp3, phone, PDA, etc), so I am very excited about this. Since I have a bias against Apple, I am not a fan of the iPhone, although I can appreciate and respect what it is. This gives me some hope that my next Windows Mobile phone will be a force to be rekon with. In addition to smart phones, I can also see this making it's way to other embedded systems, especially something like a mall kiosk. This brings me to the second reason that I am excited, and that is, my current software project is all about embedded systems running Windows CE. I have some future customer requirements that could take advantage of the functionality provided by this chip.
Back in September I wrote a blog post title Collaborate with Myself, in which I talked about various ways to write down and store information, as well as syncing that information between multiple computers. I wanted to take some time to write an update. Of all the software I blogged about, OneNote, Groove and Live Writer are probably the one's that I have used the most in the past 5-6 months. What am I Using Groove Currently I have 5 workspaces: IE Favorites, KeePass, Live Writer (Drafts), OneNote Notebooks, and Work Documents. I have had very few problems syncing between 2 computers, and only a couple of times were there were conflicts, primarily a result of groove not running on one of the computers. IE Favorites are kept in sync, although sometimes the order in which they are displayed is not the same. The first time this happened, I thought that syncing wasn't working at all. KeePass is a great program to store passwords in. I maintain 3 password "databases" and all 3 available at work and home. With Live Writer, I sync the My Weblog Posts folder, which contains drafts and recently posted. Having the drafts sync is great. I can start a post at work, and finish it at home or vice versa. One Note syncs just fine, and if there is a conflict it's pretty easy to spot because you get a new tab that has the word Copy in it. Finally, I just started syncing my work documents, as it's nice to have them available at home without requiring some sort of remote access. It's also my way of backing them up (DTA = Don't Trust Anybody). Live Writer Not much to report on Live Writer, other then it works as advertised. I added a plug-in to format source code in posts, and that's about it. The only thing I have to log into my blog for is if I want to add a track back. I'm up to 89 posts, and except for a couple of posts I've brought over from a different blog, all of been created with Live Writer. One Note OneNote is a great program that I have started using on a daily basis. I have the quick launcher in the system tray so all I have to do is press Shift+Windows+N to bring it up. I'll write something down, close OneNote (as my task bar gets so full during the day) and can bring it back up with ease. I've used OneNote to record meeting notes, project ideas, book notes, track trouble shooting steps during my on-call rotations. I have a Personal and Work notebook, each with several tabs, and Groove keeps everything in sync. Looking back at my first post, I am not even using the features I blogged about, but am still finding great value. This is the perfect opportunity to revisit some of those features and see if I can make use of them. Unfortunatly I still haven't gotten a tablet PC. I was looking on Ebay again today, but just couldn't pull the trigger on buying one as I have some other expenses coming up, including a possible roller hockey tournament in Cincinnati, OH. I need to put some thought into how I can justify it as a work expense. On the one hand, it would make taking notes during meetings more efficient, but I'm really trying to limit the number of meetings I'm in, as it means I'm not getting much development time in. What I'm Not Using (yet) Wiki I did finally get some Wiki software installed on the website, but there is no content on it yet. I still need to get backups setup and play around with the software a little more before I commit any serious time to writing content for it. I have chosen ScrewTurn Wiki as it's an asp.net file based Wiki, which also has support for running offline. With the launch of http://wiki.asp.net I am a little more encouraged to move forward with my own Wiki, although I am interested to see if Telligent does in fact release a community version of the Wiki software, although I suspect the data store will be SQL which I think is overkill for my needs. One thing that is lacking from ScrewTurn is page level, or category level security. While I realize that a Wiki is all about collaboration and public involvement, some of the pages I would want to restrict access to. The reason for this, is that I see the Wiki acting as somewhat of a CMS for my site in certain instances. Sharepoint (at home) I did finally get Sharepoint installed at home, if for no other reason then to try out the 40 some Sharepoint templates provided by Microsoft. Currently I'm playing around with the Stock tracker template (not the official name), and Lending Library. I defiantly like Sharepoint and the templates, but it's hard to get too excited when you are the only one using the Sharepoint Site. Even though I have changed the wife's home page to the Sharepoint site, she still doesn't read the announcements and calendar. I bet if I put the project management template on there and told she would use it ;)
|