 Tuesday, May 17, 2005
I just wanted to thank Keith J. Rome for coming up with his book review template and getting me going on doing a review. Check out his reviews of books for great suggestions.
— Brendon Schwartz
Posted with BlogJet
Publisher: Microsoft Press Author(s): Dino Esposito Categories: .NET, ASP.NET 2.0 Published: August 25, 2004 ISBN: 0–735–62024–5 Online Order Links: Amazon, BN.Com, …
Summary:
Going into this book, there are two things you have to remember. The first is that this book was written and published before most of the other books on the subject and is based on Beta 1 material. Maybe Dino will edit this book for a second edition, but everything may not be exactly the same as it was for this release. Secondly, this book is called “Introducing ASP.NET 2.0”, and not “Step by Step ASP.NET 2.0” for a reason. This book shows the differences and enhancements from ASP.NET 1.x to ASP.NET 2.0. If you can remember these two simple facts, you will find the book much more enjoyable. At the time of this writing I was not able to find any corrections to the material in this book. However, I have been told that some of the features written about have been changed from Beta 1 to Beta 2 and the final release when it comes out.
I found this book to be great for learning the new topics of ASP.NET 2.0, but it is not for a beginner just looking to get started with ASP.NET. I did enjoy the fact that there are comparisons of ASP, ASP 1.x and ASP 2.0. This made it much easier for me to know what the differences were and reason behind them. However, the flow of the book is not always easy to follow, and some of the topics are not discussed in-depth very well. In those areas I tended to get lost in what Dino is explaining and I had to reread a couple of sentences. The explanation of the topics and the step by step examples were usually very well written and easy to understand. Dino’s does his best writing when he explains things using examples in this book. The book is well worth the price and time that is involved in reading it. I would recommend this book for anyone that knows about ASP.NET and needs to know the differences and how to use ASP.NET 2.0 components. It is a good book to get you up to date. The writing style in the book is not always as straightforward as it could be, but he gets the points across and makes them easy for you to try out.
I feel the book covered what it set out to cover which is to give developers a head start or introduction into ASP.NET 2.0. Without a doubt, this book covered that and is one of the first books to come to the market about ASP.NET 2.0. I don’t think you can hold it against the book that changes in the software were made between Beta 1 and Beta 2, as this fact is recognized and mentioned in the beginning of the book. This book allows for developers and architects to plan for the future and to know what is coming soon. Dino makes sure to cover topics that have a different approach and methodology than they used to in ASP.NET 1.x so that you can know how you might implement a problem using ASP.NET 2.0. Dino does make sure you understand that in ASP.NET 2.0 there is less code and you use more controls in order to create web applications. In fact, these chapters where he shows the new controls and how to use them are my favorite chapters.
Highlights from this book that I enjoyed most are: MasterPages, WebParts, Rich Web Controls, security logon and the DataSource controls that were covered. These sections alone made the book worth the purchase. He is able to show how a complicated or code heavy web application in ASP.NET 1.x is much simpler in ASP.NET 2.0. Actually, there were not many chapters that I didn’t enjoy reading and that did not give me insightful information to ASP.NET 2.0. If anyone is excited about ASP.NET 2.0 this book should keep you just as excited and get you ready to try out some of the new features in a short time span. Now I would like to see a book by Dino on just the UI part, similar to the one he did for the Datagrid in ASP.NET 1.x “Building Web Solutions with ASP.NET and ADO.NET”.
I felt that the chapters on data access were not very clear and or straightforward. The chapters went on too long for a simple introduction and tried to explain data access in too much detail for an ASP.NET book.
Overall I think that this is a great book for someone that is moving from ASP 1.x to ASP 2.0 and just wants to know what Microsoft is planning and how they are planning on implementing each feature. If this book is not updated to reflect changes to ASP.NET 2.0 as it releases, I think people will start to turn to other books because of the many differences between the release and the beta this book was written from. If you want an in depth look at ASP.NET 2.0 this book will probably not cover everything you want from beginning to end, but it is a great book for the topics I needed as a developer ready to see ASP.NET 2.0.
This book is most useful to:
- web designers / developers that know how to use ASP.NET 1.1 but want to know just the new features of ASP.NET 2.0
- Technical decision makers that need to know what the technology can do
- experienced web developers looking to get a jump on things by learning about ASP.Net 2.0 before it is released
Recommendation:
4 out of 5 stars
If you want a book that covers only ASP.NET 2.0 this is a good book to start with. The size of the book and content that is covered will get you up to speed on the new features of ASP.NET 2.0. This book was written based on Beta 1 so make sure that you realize that some content of the book may have changed.
This book will take you less than a week, and will get you up to speed on ASP.NET 2.0 concepts. You will also see that he compares some of the changes to the way it is done in ASP.NET 1.x or ASP which will help you understand some of the uses of the new features.
-- Brendon Schwartz
Posted with BlogJet
"ASP.NET 2.0 makes it even better by making you more productive, reducing the amount of code you have to write, making your Web sites easier to manage, and improving your Web site's scalability, reliability, and performance." - Dino Esposito
With over 50 new controls for security, navigation, data, and web parts, all of which increase developer productivity and introduce fewer bugs in the design process, ASP.NET 2.0 will make development faster and make the long term cost of ownership less. ASP.NET 2.0 adds some significant enhancements, including an improved and simplified data access process using data sources which includes database caching for better performance of the web sites. Additionally, there is now an option to pre-compile the web site so that users do not experience slow page loads when the system has to compile them. The Microsoft .NET Framework 2.0 makes deploying, configuring, monitoring, and maintaining Web applications easier. Furthermore, Microsoft has created new tools that can help you set up web sites with the correct configuration changes.
Here are some of the quick reasons that ASP.NET 2.0 has improved over 1.x. There are many more reasons depending on the type of sites, but these are the major reasons that I see for asking your employer to move from ASP.NET 1.x to 2.0.
- Compile on the fly; this allows the developer to create an ASPX page and the code page and put them on the server. ASP.NET 2.0 does not make you compile the page ahead of time, so you can make a bug fix and push the file out without having to recompile the entire site.
- Datasource controls will allow for better performance and less bugs due to the data access layer.
- The new improved View State in ASP.NET 2.0 will increase the performance of the time it takes to deliver a page to the end user.
- 100% backwards compatibility, so any page written in 1.x will work in 2.0
- Cross page post backs so you can send information to another page.
- Create caching based on the new SQLdependency which will allow you to monitor the database for changes
- Post-Cache Substitution so that you can cache parts of pages but not the content that changes, which will increase the performance of the web servers
- With Master Pages you can now create one template for an entire site and only have to change information in one place to make a change to every page that uses the Master Page.
- Visual Studio has been enhanced to let you connect to a web site with many protocols now instead of just FrontPage Extensions. Also you can open a single page in VS2005 and have the ability to edit it without opening the entire project
- ASP.NET 2.0 allows for partial classes which will allow you to have business logic in multiple files.
- We can now get information to the page without the user seeing a full postback with a feature called Script Callbacks. This allows the javascript to make a call to the server for more information without refreshing the page.
- You can now SetFocus on an object when the page starts up.
- New controls such as the WizardControl, DynamicImage Control, FileUpload Control, and the GridView control add a great deal of built in functionality that will help prevent bugs.
- Intellisense everywhere has been added to help developers more quickly create and debug applications.
- The new Heath and Monitoring API will allow us to be notified if there are problems on a web page or on a web server.
- The Panel Control is now scroll able, so you can have the web page scroll and not the browser window
— Brendon Schwartz and Matt Ranlett
Posted with BlogJet
Our own local Delta representative, Venkat Polisetti kicked the meeting off with a presentation about web services on the Compact Framework. To begin, we compared synchronous web calls to asynchronous web calls:
Synchronous calls to web services:
- can be dangerous because they have the possibility to freeze your user interface until the call completes in the primary thread.
- can be useful when the web method returns quickly and they are very easy to code.
Asynchronous calls are:
- executed on a different thread
- more complex to code but
- won’t freeze your UI when the web methods are slow to respond.
Consuming a web services on the Compact Framework is pretty much the same as with web and winform apps. When a web reference is added to a project, VS.Net creates a proxy class in the project and creates Begin and End methods for asynchronous operations. Call the Begin method to initiate the web service call and call the End method to complete the web service call. Venkat had prepared a demo for us to help us understand the complexities of using web services and the Compact Framework but his demo misbehaved a bit; the group tried to help out but the problems were initially beyond us. So Venkat took a seat to work on his laptop and gave the floor to Dhamayanthi (D for short). We ran out of time, so Venkat will show off his demo at the next Mobility UG meeting (he did get things working before the end of D’s presentation)
D started her presentation with a quick recap of polymorphism and inheritance. The example she gave was to create a base class with multiple layers of inheritance – ProjectManager inherits from Employee which inherits from Person. She then posed a question to the group, “How do you create the correct object when you don’t know which type of object is required up-front?” The answer is to have the code look up the correct object type and then return to the calling function a reference of type MyAbstractBaseClass. The reference will point to the correctly created object type. This explanation of an Object Factory also encapsulates the concept of dynamic polymorphism. We had spiraled out to a discussion of the Abstract Factory design pattern before D reigned us in and brought us back to dynamic polymorphism with an explanation of how delegates help simplify function calls which have the same signature. She showed us how to use a delegate in C++ before showing us the differences in C#, making sure we all knew our roots.
A delegate in C# is an object-oriented, type safe function pointer. This complicated concept is easily explained by Chris Sell’s article, “.Net Delegates: A C# Bedtime Story”. The story tells of an employee with a mean boss. The employee writes code to notify his boss every time his status changes and the boss is happy. But the next day the boss’s boss wants to be notified of the employee’s status changes. This continues (adding bosses to the list) until the employee is forced to allow any interested party to subscribe to his status change events. To do this, the employee defines an interface that the various bosses will implement (thus inheriting from the employee’s class (Interface Inheritance)). Now anyone who implements the interface can pass their own objects into the interface methods as parameters. This demonstrates polymorphism b/c the functions don’t know ahead of time which objects (bosses) are going to ask for status updates but they are able to take any objects that implement the interface.
The next step in improving the code is to allow the boss objects to implement only the interface methods that they are interested in, not the ones they don’t care about. The other thing we can improve upon is not requiring the use of specific method names. Delegates are interfaces with one method which don’t require interface inheritance. This is good b/c in .Net we are only able to derive from a single base class. By taking each method in an interface and declaring them each as an individual delegate (essentially wrapping the method call in a delegate) the coupling is much looser – improving the flexibility of the code. Delegates are capable of wrapping both instance methods (created when you new up an object) and static methods (which don’t require the creation of an object).
A problem of delegates is that they are public methods and can be directly invoked (skipping the notification feature of the delegate). Another problem of delegates is that a delegate only returns to the last registrant. If multiple people register for the event and they don’t register for an event with +=, then they will erase all the other registrations. To prevent this, wrap the delegates in events. The framework will then create the register and unregister events. If someone then tries to use the event without using += syntax they get a compiler warning. D was on the ball tonight, even breaking out ILDASM to show us what was happening under the covers with delegates and events, and how += completed and -= completed are both overloaded in IL as add_completed and remove_completed (where completed is our delegate name).
The next problem we had to solve was how to get the return value of each delegate or event call when multiple objects (bosses) have registered. The answer is to use the event’s .GetInvocationList method and save the results in a delegate variable. Of course, we don’t want to do this synchronously – we need to make sure we can pass by registrants who aren’t ready to report their results. This is where the BeginInvoke method of a delegate comes into play – you can call the event’s BeginInvoke on the method without passing anything in or retrieving anything out. This is the Fire and Forget method of handling this problem. A better way to handle this problem is to use the IAsynchResult interface and the callback functionality (which takes advantage of the threadpool). The IAsynchResult interface exposes an IsCompleted method which can be used to poll a thread’s status. Once IsCompleted = TRUE, you can call the event’s EndInvoke method. However, EndInvoke is a blocking call so you don’t want to call it unless you’re sure that job is done. The most elegant method of handling the check of return results is to define an AsynchDelegate (type AsynchCallback) to do the checking for you.
A great question was asked by the group – what happens if the event you are calling on a different thread throws an exception? How do you inform your main thread? This question is left as an exercise for the reader! We didn’t have time in the group to really explore the issue.
Positive feedback all around – everyone though the topic was fantastic and that D was a great presenter. In fact, if she ever comes back to Atlanta, we’d love to have her back to present another topic. She told us she’s got a great presentation on design patterns. Maybe I’ll be able to get this presentation from her and let the group work with it on their own time.
Thank you to everyone who showed up and thank you to both Venkat and Dhamayanthi for presenting!
— Matt Ranlett
posted with BlogJet
What’s left in the month of May?
— Matt Ranlett
posted with BlogJet
I filled my car up at the local BP this morning and noticed a sign – buy $15 in gas and get a free 2 liter Pepsi product. I’m always game for free stuff, so I walked away with a 2 liter of Mountain Dew. I don’t know how long the promotion lasts and I don’t know if it’s happening at all BP stations, but you might as well check since you need to buy gas eventually.
— Matt Ranlett
posted with BlogJet
Michael Earls, Brendon Schwartz, and I went out for snacks and beer (mostly beer) after the Mobility UG tonight and sat there chatting until after midnight. While most of the talk hovered around career paths and war stories, one of the topics of conversation might be interesting to the rest of the Atlanta .Net User Group attending public. We were talking about what kinds of topics we wanted to see in the near future. We sat there brainstorming and blurting out ideas. I thought I'd list a few that we mentioned and then open the comments up to the general (blog-reading) public to see what interests the community at large.
Here are a few of the topic ideas we discussed:
- Biztalk - Microsoft is on the verge of releasing Biztalk 2006. Do we all understand the value of Biztalk in general?
- Sharepoint - this communication and collaboration tool has helped to shape ASP.Net (webparts)
- Analysis Services - what good is having data in a database if you can't understand what it's telling you?
- WMI scripting - system administrators understand the value of this tool. Do developers?
- Typed Datasets verses Objects and abstracted data - an architectural decision you can't make until you understand both concepts
What technology topics (not just development topics) do you want to see? Do we want to get ever deeper into code like we have with the CLR team and our recent discussion in the Atlanta Mobility User Group about delegates or do we want to learn more about some of the tools that Microsoft is providing to make coding easier? Don't be silent - let your voice be heard! This is about all user groups in general and not a single user group specifically.
-- Matt Ranlett
 Monday, May 16, 2005
Today, for the Atlanta Mobility User Group, I managed to acquire 50 samosas as a snack. 25 vegetable and 25 chicken samosas feed 16 people with only 10 left over at the end. A lot of the people at the meeting had no idea what they were eating, but I didn't hear a single complaint about the food. In fact, I think everyone liked what they had! And what's not to like about a fried pastry stuffed with potatoes, peas, spices, and in some cases chicken? Even the spicey tamarind sauce we had to go with them was delicious.
So if you're interested in acquiring some of these samosas yourself, go to the India Market at 3547 Old Norcorss Rd, Suite E, Duluth GA 30096. The people there are really nice and the samosa are $1.00 apiece. The proprietors are quick to point out that they have lots of great sweets as well as a large selection of vegetarian and ethnic foods. I can only vouch for the samosas, but I'll be returning to try out the other things they've got to offer.
-- Matt Ranlett
Criticism is a good thing, and very different from general complaining. I was told that some of my blog entries are getting to be too long. I don’t take this to mean that they are too wordy, but that they are becoming aimless and hard to follow. So I’m going to accept that criticism and post entries with better structure and clearer language. Thank you for the helpful tip – I hope to start with the next post about the Atlanta Mobility UG. -- Matt Ranlett posted with BlogJet
 Sunday, May 15, 2005
Wally McClure interviewed me for his first ever podcast. I think I blathered on for a bit about nothing in particular, but I really enjoyed talking to him. For those of you who didn't get to meet Wally, you're the poorer for it. He's a great guy - really easy to talk to and fun to be around. Wally, thanks for the opporitunity to put another bullet in my holster!
The Atlanta Code Camp was great because I got to meet and talk to some great people, like Wally, Jose Fuentes, and Tammy Pettway. It was great meeting everyone and putting faces to names you hear at various UG meetings.
-- Matt Ranlett
 Saturday, May 14, 2005
I got up really early in the morning, so early in fact that I had to sit and wait for Starbucks to open at 7:00am. Then I showed up and hung out with everyone. I spent most of the morning talking to the other staff members – speakers and volunteers. Everyone seems pretty excited and ready to learn something. I hope the people looking to learn don’t come to my session! 
After a few announcements from Doug Turnure (including interactive book giveaways), Todd Fine – Regional Director Extraordinaire gave the keynote presentation. For those of you who don’t know what a regional director is, Todd explained that an RD is essentially an unpaid extension of the Microsoft marketing department. Send Todd all your MS related questions and he’ll get you answers.
I was the room proctor for the Mobile track, so I got to watch all the mobile topics, which was totally cool because I’m interested in the mobile lifestyle. So interested that I co-founded the Atlanta Mobility User Group with Paul Lockwood. Brendon Schwartz and I gave the very first presentation on Mobile ASP.Net applications. Brendon covered the current version of the .Net Framework and ASP.Net while took a look ahead at ASP.Net 2.0. Brendon and I tag-teamed on questions throughout the entire presentation of slides and demo code. I won’t write much about my own presentation – download the slideshow and code if you’re interested.
Rob Zelt gave the second presentation – programming Ink-enabled applications for the Tablet PC. What was really impressive was the ability to add Ink functionality to a form with only two lines of code and a Using statement. Suddenly he was drawing with his pen on the form. Add a button and call the Ink.Strokes.ToString function and Presto – the Ink he’d scrawled on the form was translated into text on a label. Rob had this great demo showing off the built in functionalities of the Ink SDK – he had a map you could draw on and save information about the strokes to a SQL Server database. We talked a lot about maps – the ability of Ink to recognize changes in directions in a line. So, for example, draw directions on a map and hit the MapPoint webservice to get road names and nearby points of interest. Check out the www.tabletpcdeveloper.com MSDN site for some great documentation and code samples.
Don Hinds gave the third presentation – mobile device configuration management and enforcement. The difference between management and enforcement is setting up a configuration (management) and not letting the users change the configuration (enforcement). According to Don, when it comes to device configuration, there is no substitute for testing on the actual devices. Device configuration is controlled through an XML file that is delivered either via a C++ API call, a .Net namespace, or an external tool running over ActiveSync. Configuration gets complicated b/c different devices have different supported configuration values. Configuration gets even more complicated b/c you have to have signed, certified code to run on different networks (TMobile, Verizon, etc). Once you have the configurations you want loaded into the system, there is a namespace that handles monitoring the system for configuration changes (Microsoft.WindowsMobile.Status)
Bill Ryan gave the fourth presentation – Speech server SDK. His presentation was actually going to be on a different topic, but his external USB hard drive died this morning so he used something else that he had on his laptop. Bill covered QA components, semantic maps, embedding wav files, and more. The sample application we were working with is a fictional bank’s website complete with call management. He was able to demonstrate building conversations, complete with custom recorded prompts and responses.
Glen Gordon gave the fifth presentation – .Net Compact Framework 2.0. Windows Mobile 5 and the .Net Framework Beta 2 have both recently been released, so this was an exciting look ahead. There is also a new version of the SQL Server CE (now called SQL Server Mobile Edition). The Compact Framework 2.0 is a superset of the CF 1.0. A lot of enhancements – improved string building, XML handling is much improved (including XPath queries and XMLReaders), and ADO.Net is much easier with the new version of SQL Server Mobile Edition. CF 2.0 also includes keyboard support, programmatic access to the clipboard, and some new methods and properties. Screen rotation is now a feature of Windows Mobile 2003 Second edition and the CF 2.0 gives programmatic access to the orientation changes. One of the nicest enhancements for the SmartPhone edition is the InputMethodEntry properties on textboxes – specifying that a textbox only accepts numbers or letters (to speed input). Glen showed us some really slick demos of the new components and namespaces, including the web browser control and the XML handling and XPath.
Glen Gordon wins the quote of the day – “I’m rarely wrong, and when I am it’s usually a small thing”
— Matt Ranlett
posted with BlogJet
 Thursday, May 12, 2005
I swear I’m not a paid endorser, but I have to mention BlogJet again. I just found out a new feature (well, new to me anyway) that I thought I’d share with the world. I was browsing through the BlogJet website looking to see the status of my feature request when I decided to look through the screenshots. I’d been having trouble with the properties tab – I can’t seem to get it to let me add TrackBack URLs through the tool. Anyway, I was flipping through the screenshots when I saw this unfamiliar view:
Recent Posts.

You can look through your recent posts and edit any one you want to! That’s pretty cool for making corrections to old posts (like I did for this one). I knew that I could get and edit the last post, but I didn’t know I could flip through all the old ones (complete with previews). I like it!
— Matt Ranlett
posted with BlogJet
I was reading a post from Steve Vore where he asked for recommendations about RSS tools – readers and writers. I couldn’t help but tell him about my favorite tools (which I’ve mentioned on here before, but I’ll mention them on here again)
“I went on a quest similar to yours a while back - looking for a good reader and a good editor. Here's what I like. In the reader category, I can't say enough good things about JetBrains Omea Reader (www.jetbrains.com). It's free if you get it quickly - they're going to charge soon. It has offline reading - indexed in a database so searches are lightning fast. It goes beyond simple folder organization of feeds with a workspace concept - where you can group feeds together and only see the ones you're interested in. For example, I have 60 feeds total, but I have a .Net workspace with only 25 feeds in it. I have a News workspace with 4 feeds in it. I can look at these workspaces to focus my blog reading energies. Omea reader is also great b/c it does more than just RSS. It is also a NewsReader, so if you want to follow newsgroups, you can subscribe to them and see them in the same window with your blogs. You can even sort them into workspaces. For example, I've subscribed to the two Microsoft Tablet news groups. Omea will also keep up with bookmarks for you, so if you have a favorite website that hasn't caught on to the RSS phenomenon yet, you can keep yourself up to date here as well. If you shell out the cash for the Pro version of the Omea product, it will also receive e-mail. I haven't done this for the exact reason you want to get your RSS out of Outlook. Time management.
On the editor side of things, I wholeheartedly recommend BlogJet (www.blogjet.com). It works really well - allows Rich text editing of posts with a tab to edit HTML when the occasion warrents it. Spellchecking in multiple languages. It integrates into IE so you can open it when reading an interesting page and blog about it while it's fresh in your mind. User profile controls allow you to connect to many different blogs, with over 20 different blog engines supported. Drafts are supported (and I use that all the time) and the developer(s) are pretty responsive to change requests. I use this tool almost as much as I use Outlook.”
— Matt Ranlett
posted with BlogJet
I don't know about the other speakers, but Brendon and I are coming up with a brand new presentation for Code Camp. This involves us coming up with a topic (done), an outline for the presentation (done - thanks Brendon), a slide show to keep us on track (mostly done - fine tuning still going on), some canned demos in case time gets to us (we're still working on these - more comments below), and practice some other demos so we can do some live coding but not look like morons when stuff doesn't work (still doing these as well). We've been working/watching webcast/reading books and MSDN articles for a while now. We've been shuffling the slide deck back and forth between us for additions and subtractions. We even got together last night (not easy to do b/c we both work a lot and Brendon lives in northern BFE where I live in Atlanta) and worked from 7pm to midnight. I'd like to say we're ready except for some last minute demo coding and a bit more polish on the slide show (take a few slides out and add a few new ones). We're mostly there and if I had to drop everything and give the presentation right now, I wouldn't be embarrassed for myself.
One thing - has anyone had problems with Visual Studio 2005 Beta 2 and the SQL Express product? I can't seem to connect to my SQL Server, so I can't create or attach a database. This means I am not going to be able to demo any kind of data binding (except from XML). I installed everything on the CD except the J# stuff (personally no interest in Java syntax) and got no errors during the install. I did notice that there are no useful GUI SQL tools that came with the Express edition (no management studio or query analyzer tool) but I'm comfortable with OSQL so that's not a problem. But I can't get any tool (OSQL, VS2005 Datbase Explorer, etc) to connect without timing out. Thoughts? Help!
-- Matt Ranlett
UPDATE - Brendon found the problem. SQL Express installs a named instance of SQL Server, so you can't just connect to the (local) server. You need to connect to (local)\SQLExpress or .\SQLExpress. Once you do that, everything works.
 Tuesday, May 10, 2005
Microsoft releases a new version of Windows Mobile (version 5) with more reliability, more hardware, and more features. Designed to compete with the Symbian OS (Nokia’s favorite OS) and Palm OS (like the Treo 650). Microsoft Mobile now supports some great features like wireless LAN support in Smartphones and Media Player 10 Mobile. We should be seeing some great new devices on the market soon!
— Matt Ranlett
posted with BlogJet
Enter this contest hosted by Microsoft and compete for the chance to win $50,000. The Microsoft Connected Systems 2005 Developer Competition is a global, skill based competition intended to highlight and reward creativity and programming excellence using SQL Server 2005, Visual Studio 2005 and BizTalk 2004/2006. There are 15 categories for the competition, including a SmartPhone app category, a Visual Studio PowerToy category, and more. Entries are accepted up to August 30th. The contest ends September 15th.
Thanks to Martin Crimes for bringing this to my attention.
-- Matt Ranlett
 Monday, May 09, 2005
Thank you to Unisys and Melanie Marks for providing the pizza and prizes for the evening.
Doug kicked off the meeting with a quick demo of the DTS Integration Services Data Flow interface in the new 2005 Reporting Services Reports Builder UI (part of Whidbey’s 2005 Visual Studio interface). In Doug’s quick demo, he showed how easy it would be to take a flat file, pipe the input from the flat file to a pair of tables using Data Flow sources (flat file), transformations (to pipe the raw input to one table and the summarization of the raw input to another table), and destinations (database tables in this example). One of the really neat things about the demo was how the drag and drop tool turned from the design environment to a graphic representation of the progress of the DTS program in the debugger. During this quick preview of SSIS data integration, a question came up about the differences between SSIS and BizTalk. The results of the discussion were that BizTalk is assured delivery across a heterogeneous environment where SSIS is called integration services but usually functions as a data movement engine.
The main presentation was an introduction to SQL Server 2005’s Reporting Services Report Builder. The core changes to RS 2005 include some tighter integration with Sharepoint and the end to end BI. Rich Client printing has been added to RS. The Expression editor has been enhanced with VB.Net functions complete with Intellisense. Multi-Valued parameters have been added – the report processing will create SQL. the ASP.Net date picker has been included. Interactive sorting has been added so sorting can occur without requerying the data. Floating header (like Excel) so you don’t have to build paged tables with header rows. Custom report items allow the API to be exposed, so that 3rd party vendors can provide charts, maps, etc. Analysis Services support now integrates MDX parameter support and data mining query builders. Management Studio integration functions as a single point of management for all SQL Server components, a supersert of Report Manager functions. SharePoint Web Parts have been added – now you can integrate your reports into Sharepoint Services and Sharepoint portal server. Visual Studio’s integration is better. The Report Controls in Visual Studio make it easier to embed reporting functionality into applications (both web and winform).
The Report Builder fills the need between the report manger (for report consumers) and the report designer (for power users and developers). The business users would be using the report builder. Caution – report builder requires SQL Server Enterprise Edition. Report Builder is an ad-hoc report design tool for SQL Server RS. This is targeted at business users who want to find and share answers. This is not an analytical client or a replacement for pivot tables. Report builder doesn’t query SQL objects, but rather queries a semantic model of the data making is so that the business users don’t need to know SQL to write the reports. The report builder is a smart client application downloaded directly from the Report Manager web application. To build a report, you pick a template (chart, matrix, table) and drag table fields onto the design surface. When you build the report, you can page through the report and click on any detail to look in more detail (infinite drill).
Next we took a look at the semantic modeling tool. We used Visual Studio to build a report model for the Northwind database. You would use this to build a semantic model the business user would use to generate Report Builder reports. You start out with a Data Source View – use the wizard to create one if one’s not already been created to meet your needs. Once you have a data source view, the report modeling wizard makes some assumptions about the data (you can override these assumptions, but the wizard is pretty powerful) and generates a set of metadata in 2 passes. Once your model is completely processed and you have an SMDL (semantic model definition language) file, you can publish it to the reports server, or you can add expressions and calculations to the report model. Now that the SMDL file has been published, and you have your new report model, you can build new reports with the Report Builder tool.
My personal impression of the tool is this – this is a great tool which has great potential. I can easily see savvy business users creating their own reports to explore details that are smaller and less sophisticated than full RS or Analysis Services reports. I especially like the infinite drill capabilities and the ability to save any drilled down view to the report server as a stand-alone report. However, currently you can’t reverse-engineer the data connections of a report builder report in Visual Studio, so you’ll have a hard time taking a report builder report (also RDL like Visual Studio’s Report Designer’s reports) and turning them into true Report Designer reports (with true SQL as the data source, rather than the semantic model of the SQL objects). Another problem is the enterprise edition requirement – drastically increasing the price of the tool for small shops.
I asked a couple of people at the UG meeting what they thought of the presentation and our presenter. Based on the questions I heard from the group during the presentation, there seemed to be a good deal of excitement around the possibility of granting the users the ability to generate their own reports via infinite drill, but there seemed to be several questions concerning the underlying technology. I got the feeling that a lot of the developers/DBAs were uncomfortable with the semantic model’s removal of SQL – perhaps the feeling of a loss of control? Otherwise, people were very positive about both the presenter and presentation. Great job Doug!
— Matt Ranlett posted with BlogJet
Thanks to our omnipresent sponsor, Microsoft (personified by Doug Turnure), the Atlanta .Net Regular Guys have some t-shirts with the ADNRG logos to give away. Start showing up to the user groups regularly and you’ll get a t-shirt of your very own. Remember – Brendon and I aren’t the only .Net Regular Guys in Atlanta – anyone who shows up regularly to two or more meetings a month is eligible to receive a shirt.
Don’t forget to sign up on the www.devcow.com site to be an Atlanta .Net Regular Guy!
— Matt Ranlett
posted with BlogJet
This is just a reminder – the May 19th meeting of the .Net Book Club has been cancelled due to the MSDN Event and Pub Club. Be sure to sign up for the MSDN Event on www.microsoft.com/events!
The Pub Club will be held immediately after the MSDN Event at a nearby location, but you need to attend the MSDN Event or any user group between now and the 19th (the Mobility UG and the VB UG both have meetings scheduled)
— Matt Ranlett
posted with BlogJet
I flipped through the Microsoft Events site and thought I’d report my findings
Management and Operations of .NET Applications Workshop – $165 – Monday, May 09, 2005 9:00 AM - Tuesday, May 10, 2005 5:00 PM
SQL Server 2005: New Features for Developers – $175 – Monday, May 16, 2005 9:00 AM - Tuesday, May 17, 2005 5:00 PM
MSDN Event – $0.00 – Thursday, May 19, 2005 1:00 PM - Thursday, May 19, 2005 5:00 PM
TechNet Briefing – SQL 2005 & Windows 2003 SP1 Technical Sessions – $0.00 – Tuesday, June 28, 2005 8:30 AM - Tuesday, June 28, 2005 12:00 PM
Visual Studio 2005, Developing Business Value – $99 – Monday, August 01, 2005 9:00 AM - Monday, August 01, 2005 5:00 PM
More stuff going on in Atlanta:
Atlanta Code Camp – May 14th
Pub Club – immediately following the MSDN Event, location to be announced at the MSDN event
— Matt Ranlett
posted with BlogJet
© Copyright 2008 Atlanta .NET Regular Guys
Theme design by Bryan Bell
newtelligence dasBlog 1.7.5016.2  | |  | Page rendered at 11/21/2008 6:46:37 AM (Eastern Standard Time, UTC-05:00)
Reset | Slate | Movable Radio Heat | DasBlog | Just Html | Candid Blue | Discreet Blog Blue | Movable Radio Blue
|
On this page....
Search
Navigation
Categories
|