HOME | SIGN UP | ACCOUNT | SUBSCRIBE | STORE | WHAT'S NEW | TESTIMONIALS | TROUBLESHOOTING | SUPPORT AREA | SITE NEWS | LOGIN
Classes & methods · News · Jobs · Links · Downloads · Articles · Conferences · Magazines · Training · Consultants · Consulting · Blogs · FAQ
Books · Applications · Meetings · User groups · Speakers · User group leaders · Universal Thread Magazine · Coverages · Photos · Videos

SQL-Server & .NET DevCon

On November 10th and 11th, 2006 the fourth SQL Server and .NET DevCon of the German FoxPro User Group dFPUG will take place in Frankfurt, Germany.

Date: 
Location: 

This conference has 101 pictures. We display 12 randomly selected pictures here. You may click here to view the album thumbnails.

SQL-Server & .NET DevCon 2006
SQL-Server & .NET DevCon 2006
SQL-Server & .NET DevCon 2006
SQL-Server & .NET DevCon 2006

SQL-Server & .NET DevCon 2006
SQL-Server & .NET DevCon 2006
SQL-Server & .NET DevCon 2006
SQL-Server & .NET DevCon 2006

SQL-Server & .NET DevCon 2006
SQL-Server & .NET DevCon 2006
SQL-Server & .NET DevCon 2006
SQL-Server & .NET DevCon 2006

Day Zero

by Jan Vít and Jan Král

Mission Possible - Prague: 6:00 PM

Me, Jan and of course our tired selves got into the car in Prague and the journey had begun. After ten minutes a problem occurred! We got lost. At that time it seemed that it might be a bit of a problem to get to Frankfurt when we could not even find the right way out of our home city! After about half an hour, thanks to me, of course, we managed to get to the right highway. I have to say, that almost every mistake we made was the driver's fault (he is the one driving and making decisions, isn’t he). Thinking of it now, I hope he will not read the Day Zero, because that would certainly be my end.

As we were approaching the German border, we realized, this might actually be the right time to get a map. So we stopped and Jan told me to go and find some good map. After 10 minutes I found a map and paid for petrol as well. That would not, of course, be a problem if my credit card had worked properly. Ohhh, computers! Fortunately I had a second card. Rest assured, we refueled, had a little snack and passed the border without any other significant problems. As a precaution, we spent a few following minutes discussing various possible car accidents such as a punched tire in the speed of 140 km per hour and their unpleasant consequences.

As time was passing by, we were getting closer and closer to Frankfurt. I started to play with a nice thought to get a little rest, but do you remember what I told you about the driver? Yes, then you know I finally decided to stay awake on alert. When Jan told me that we are beginning to be a bit behind the schedule and consequently stamped on the accelerator, I didn’t hesitate for too long, carefully fastened my seatbelt and started finding my notes from today’s first aid lesson. You wouldn’t believe how easily I refreshed my memories!

If I am to be completely honest here, I have to admit that not everything was the drivers fault. I don’t know why, but somehow I thought it might be simpler to drive to Frankfurt through Heilbronn. Even though Jan did not share my opinion and wanted to drive through Würzburg, I used all my powers of a navigator and persuaded him to take the route I have chosen. Later on it begun to be obvious that Jan was right. I however still tried to reason my former decision in any way possible. As a last resort I tried to argue about having an opportunity to see a beautiful landscape around Heilbronn, but when Jan pointed out there is, of course, nothing to see at night, especially when we are tired and it is around 1AM, I ran out of arguments. Be it night or day we certainly got a chance to view Heilbronn at night, if only from a highway circle around the city.

In spite of the fact that I am probably the worst navigator in the world, Jan still wants me to get some practice while navigating so this seems to be the end of my writing today. We are looking forward to see everyone at the conference and certainly looking forward to have a great time there. Should you not find any report here tomorrow, we are probably still somewhere lost, trying to find our way to the conference hotel. See you there!

Friday, November 10

by Jan Vít and Jan Král

Welcome to the 5th SQL-Server & .NET DevCon!

Reading these lines suggests that we have indeed arrived safely to the hotel and that we are ready to provide you with the up to date online coverage of this magnificent event.

Apart from the SQL-Server & .NET DevCon, there is also a Visual FoxPro DevCon conference running in parallel. It is one day longer and you can find the official coverage at http://www.utcoverage.com/German/2006.

Read on!

Windows Communication Foundation - Craig Berntson

For the audience to fully appreciate the topic and of course the technology behind it Craig started with a little story about a guy named Bob. He was a super clever guy, who once invented a nice little program. As it is usually the case, the company grew and grew and the new versions of the application became to be more and more demanding in the terms of communicating. That is either to another application inside the same computer, local network, or an entirely different application ona different network behind firewalls. As he was getting phone calls for more and more feature requests, he always augmented his software to work within the given scenario and went partying, his most favorite activity. Later on, when he had time to review all the changes he made to the original software, we discovered he created something new, which is nowadays called Windows Communication Foundation. Poor Bob, with WCF we can now party all the time!

Now, as early as after 20 minutes, Craig finally got to the overview.

Windows Communication Foundation, aka WCF, is a new technology available in the .NET framework version 3.0, which was released earlier this week. It is built from experiences from the current communication protocols and techniques, such as MSMQ, Web Services or COM+. This new technology is targeted to replace all of these current ones.

As the world of communication was evolving from calling methods (structured programming – 1970’s) through the object calls (object orientation – 1980’s) and components (1990’s) we got to the next step, sending messages (the service orientation). It would be a mistake to think that the object orientation is considered obsolete now. It is just the means of communication that have evolved from the one we know when there are objects directly calling one another.

The web services could be viewed as a start of the service orientation techniques, but are still not ideal and definitely cannot solve all the problems at hand and usually have to be also combined with other technologies.

The usage of WCF is pretty straightforward and in some aspects even similar to what we know from Web Services. They need an interface, so called service contract, which defines the operations/methods available and of course the actual service that implements the interface.

The WCF is very scalable, though easy to understand and start with. Craig also pointed out, that as far as he knows, there has been some official promise made by Microsoft to allow for this technology to be used from inside Visual FoxPro. Until that will happen, the technology is out there and available for experiments with help of Visual Studio.

Windows Presentation Foundation - Craig Berntson

This session was a starting point into a new and exiting technology called Windows Presentation Foundation, aka WPF. Even though it was released just this week and therefore is a really new thing, Craig already had many examples built on the previous CTPs.

When talking about WPF, it is mostly XAML. This new XML-like language allows developers to design the entire presentation layers and share them across Windows or Web environments. Introduction of this technology seems to have made the Windows and Web forms obsolete.

If you like what you here so far, you might want to test it by yourself. The only things you need for that are Visual Studio 2005, the .NET Framework 3.0 and Windows Vista SDK. You can get all of these very easily on a special web page dedicated to the new technologies concerning .NET framework 3.0. It is at www.netfx3.com.

Another useful tool is Cider. It provides the means for creating your XAML code in the classical drag and drop way you know from Visual Studio. This tool is also available at the already mentioned website.

What might also be considered a cool feature for companies having a larger development team or outsourcing some parts of the software development is that by having your XAML and programming code files entirely separated you can have the application design done by professional designers, not by programmers. In contrast to programmers, designers usually do like to spend time on design. Believe it or not, the look of your UI is what actually sells your application for the first time.

Since the session is held on a Visual FoxPro conference, Craig also mentioned possible ways of using this cool new feature from inside Visual FoxPro. The means for that to work is through an ActiveX control place on a VFP form.

With help of Visual FoxPro Craig showed various graphically attractive examples, such as a clock looking like a Vista Gadget or a handy zoom tool. To everyone’s surprise the last example featured an ordinary listbox made through WPF. That was only to show: “Hey, it not just about the fancy things, you can do the ordinary stuff in XAML as well!”

Application Architecture for Multiple UIs - Beth Massi

This session was mainly targeted at the use of mobile devices, creating their UIs and managing their data access.

The trouble with mobile devices is that they usually tend to travel with their owners to various kinds of places and their connectivity changes quite frequently. We could, of course, avoid creating special software for them, just by putting everything that is needed by our mobile users to a website. Such website could then be easily browsed by any device. This, unfortunately, is not enough in all cases. Sometimes, there is a need to have the data available also off-line and to synchronize it on every reasonable connection. This basically is what the session was all about.

What really makes the device capable of running our software is something called Compact Framework. It is a small version of the classical .NET framework, just about 28% of it. It has been cut down in a way that it takes up less space without sacrificing too many features.

First of all, we need to decide, what part of the application we want to provide access to. Probably the easiest way is to build a façade on top of an existing business objects in the middle tier and by that achieving a clear separation of the business side of the application from the presentation side. This way we are also somehow shielded from all kinds of possible changes Microsoft might make in its communication software (such as WCF) and adopting our system to another communication standard should also be just about a little change in the façade.

After deciding what communication standard to use, we need to define our format of messages, the contract. Among the most common ones might be XML for small amounts of data or binary format for large pictures, for example. The easiest way, however, is probably sending a serialized dataset as it is something we can work with across many different platforms, including Visual FoxPro.

To make the “occasionally connected scenario” work, we also need some kind of software to keep the data on the client machine, even if it is just a small cell phone. The solution to this problem is a simplified version of SQL server, the SQL mobile.

In her presentation, Beth not only showed many examples with the use of the device emulator inside Visual Studio 2005, but she also brought a smart phone with her, which was then available for everyone to play with it right after the session. Her presentation was easy to follow and was filled with up to date information from the world of smart devices.

Key Note - Yair Alan Griver

Alan Griver, whose duties at Microsoft include being Group manager for Visual FoxPro, started the Key Notes with a reference to Kevin Regsdale, who created a Video clip right from the heart of every ardent Visual FoxPro programmer and Visual FoxPro fan. Visual FoxPro not only is alive, Visual FoxPro is thriving, being the foremost programming environment, you can think about, shown in a fashion that makes every marketing buff of consumer products becoming envious about. Don't believe it?

Well, you should see the VFP Videos specially manu(ally)factured by Kevin Ragsdale. Well done! And you will have a chance to help to promote Visual FoxPro as well. Just open the site and read on!

And we have another slogan for Visual FoxPro: Besides "Fox Rocks!" we now have

       VFP Connects!

Yag then showed, what Visual FoxPro is "connecting" and how it does it:

VFP Connects! You to your data!

The report generator has been completely renewed in Visual FoxPro 9. But this has been not the final stage of the evolution of this vital item of Visual FoxPro. Enhancements of the reporting are on the way. The runtime now is also decorator and visitor. You can preprocess a report to remove things that shouldn't show up - for instance, you can swap in a report at load time, create links for HTML, but prevent printing of the content (if this combination seems to be advisable), the properties of the report can now be handled dynamically at runtime, objects of the report can be rotated and quite a few more things of this type are likely to come to "connect the user to his/her data".

VFP Connects! You to SQL Server!

Visual FoxPro has its own strong database system, but SQL servers are around and are doing a job. So many people like them and most likely they will stay forever. So the Visual FoxPro team made a wise decision according one of the most basic rules of the successful: "If you can't fight them (these SQLs), join them (well that should read: integrate them). So the SQL Upsizing Wizard got a major refresh. Now it is a great tool to conquer the (data) world. Yag presented a demo, which had many of these quite convincing features. And he clearly demonstrated, how "visual" (= optically recognizable) a Visual Wizard can be.

Ease of use is one of the major features. So the SQL Upsizing Wizard can be started with default settings. Re-running it allows optimizing and customizing as needed. And for the speed fans: There have been improvements in the speed when upsizing to Yukon! Doug Hennig tested one table of over 300,000 records that used to take 2 hours. Now the upsizing takes 11 minutes!

VFP Connects! Us to Each Other!

Yag, in his career with Microsoft, is active in two fields: He is successfully overseeing the phenomenal implementation of data tools into Visual Studio and also is working actively with the developer communities.

Then CodePlex comes onto the stage, which is Microsoft's community development web site. CodePlex is a community platform, which allows developers to create new projects on topics they are interested in, in order to share their ideas and questions with fellow developers around the world. CodePlex allows developers to join others who have already started their projects in CodePlex and use whatever they learned from CodePlex projects and provide feedback.

Under these premises Yag actively promotes VFPX and VFPY, which is kind of the Visual FoxPro section within CodePlex. It is a Visual FoxPro Community effort to create open source add-ons for Visual FoxPro 9.0. In the keynote, Yag showed some enhancements from VFPX. Within VFPX code, classes, and libraries made available to the Visual FoxPro community. Presently these Projects are actively in development

  • ClassBrowserX
  • Code Analyst
  • ctl32 Statusbar
  • GDIPlusX
  • JustBehave
  • New Property and Method Replacement
  • OOP Menu Project
The results of these efforts will complement Microsoft's continuing efforts to improve and extend Visual FoxPro, code named Sedna.

VFP Connects! You to Visual Studio and .NET!

The NET4COM library is a collection of COM classes that wrap a subset of the .NET Framework 2.0. The .NET Framework is a rich collection of namespaces and API that provides a comprehensive set of functionality that developers can use to build applications that run on the .NET platform. While Visual FoxPro does have a rich library of API, there are some features that either do not exist in the Visual FoxPro libraries or are harder to use than in the Framework. NET4COM brings together a small subset of the .NET Framework - a collection of commonly used API that brings to Visual FoxPro functionality that does not exist.

The MY library for Visual FoxPro is similar to NET4COM. MY is implemented natively for Visual FoxPro and, similar to NET4COM, exposes commonly used functionality in a hierarchy that is easy to discover and navigate. The Sedna CTP Setup will install the MY library and related files in the "MY" folder under the selected install destination.

MY was introduced with Visual Basic DotNet. The MY namespace is a native Visual FoxPro class library that contains similar wrappers for SYS() functions, Windows API and Windows Script Host properties and methods. It allows statements like:

       MY.Computer.FileSystem.SpecialFolder.MyDocuments

And provides an easy way to obtain information about various directories like my Temp Folder, Desktop folder and the like. MY returns folders and files as objects and allows you to manipulate them.

NET4COM and MY are included in the Microsoft Visual FoxPro Sedna - Microsoft Visual FoxPro Sedna - Community Technology Preview (CTP) October 2006

VFP Connects! Sometimes quite surprisingly!

And then there is Jeannine Johnson! Never heard about her? well, there has been the "Start Something Amazing Awards", a competition which recognizes the unique and creative ways people use Windows and other Microsoft products. Jeannine Johnson from Puyallup, Washington, USA, is the Grand Prize winner in the section Sports & Games.

Despite physical hardships stemming from being born just 1 pound 10 ounces, preventing Jeannine from participating in traditional sports, she has found her niche in drag racing, where her 4’11” frame (ca. 1,50 m)and love for speed have helped her excel and succeed.

Sheer determination has fuelled 15-year old Jeannine Johnson’s passion for drag racing, and helped propel her to great success within her sport ( Video); she is one of only four NHRA Junior Drag Racers to ever achieve a ‘perfect package’ during a race (a feat that requires impeccable speed and timing).

Jeannine relies on Windows-based technology to help monitor her car’s performance and keep it running flawlessly, using technology such as Crew Chief Pro software to ensure she’s on top of the latest conditions affecting her car. Jeannine connects her Windows-based PC to her car’s Data Acquisition System, which measures engine RPM, jack shaft speed, and motor temperature variances from start-to-finish during each race. The results of these measurements are then evaluated by the Crew Chief Pro software package.

Crew Chief Pro - by the way - is a software package written in Visual FoxPro by Don Higgins. It and other software created by Don Higgins are widely used in the race scenery in North America.

Jeannine relies on Windows-based technology off the track, too. Among other things, she’s used Microsoft Windows Movie Maker to create a film about her drag racing adventures, and uses Microsoft Office Word and Microsoft Office PowerPoint to help maintain a 3.8 GPA and retain her racing sponsorships.

"Without these Windows technologies, my capabilities would be limited, not only academically but also in my hobby and love of racing."

VFP Connects! Us to Each Other!

There are a great variety of Sites on the web, which connects the community members, like

Saturday, November 11

by Jan Vít and Jan Král

Designing with UML - Craig Berntson

As this session was meant as an introduction to UML, Craig started with a brief introduction to the basic diagram types, such as use case, sequence diagram, class diagram, component diagram and a package. He spent a bit more time on the class diagram as this is the one most seen and shortly explained how we can draw elements like an interface, class, inheritance, container relationship and alike.

We are likely to use UML in many situations. First and an obvious one is when you are in the process of designing a new application. Then you most probably first create a use case for your users to clearly understand what the application is going to do when completed. When the use case has been blessed by future users you go on and create the class and sequence diagrams. This, of course, is not the “only-right-way-to-go”. You can certainly keep augmenting the diagrams as you are coding it. The last diagrams, you are going to create are the component and package diagrams, which give you the bird-eye’s view of your application.

Another reasons for using UML might be when you have an already existing application and only want to change some part of it or you get your hands on a completely unknown application and want at least get an overview of how it works internally.

To be able to create UML, you need a tool for it. There are many on the market today, including Rational Rose, Visual UML, Visio or the support for UML inside the Visual Studio 2005. One of the great ones that Craig recently discovered is called Sparx Enterprise Architect and used it for all his examples. Unfortunately, there is no UML tool for Visual FoxPro available today. Some of them, however, have means for extensions. Making it available for VFP should then be just a bit of work away.

Best Practices for the Middle Tier – Craig Berntson

As this session was about best practices in the middle tier, Craig first of all made a little introduction to what actually a middle tier is and what are its tasks. Afterwards he made a little hands-up quiz to make sure everybody understood it so far. Except Igor in the back, pretending not to know anything, everyone responded so fast and correctly that Craig almost wanted attendees to take over the presentation, one slide for each at a time.

The most important thing about middle tier is that it sits “in the middle”. It assures that UI and data backend never talk to each other directly. This separation into tiers can be made logically (by software only) as well as also physically by having each tier running on a different computer.

Although this might have changed earlier this week, COM+ was always considered the best practice for creating the middle tier. It offers many out of the box benefits, such as a built in security, transaction support as well as benefits of easy installation and administration.

Before Craig got to the COM+ and his examples, which were the core of this session, he mentioned a few other best practices for creating the middle tier. First of all, it is usually best to have our component stateless to minimize the amount of memory used in a particular time. If, however, your application needs to keep states, try to put them somewhere else, such as the SQL server. Again, to minimize the connection time, try to use methods with more parameters, instead of setting multiple properties on your COM+ object.

Another important thing is to decide in what form we are going to send the data. The VFP cursors are out of the question, since only VFP understands them and they are very much memory based. Custom object approach sounds a lot better, but still takes too much overhead. The best way probably is to use XML or ADO recordsets, in the end again serialized into XML.

When implementing the middle tier in Visual FoxPro, make sure you are using the session class as a base class for your objects as it has its own data session and has been optimized specifically to be used in middle tiers. Making it ole public and building it as a multi-threaded dll is all that is remaining to have the VFP COM ready to be put into COM+.

In a very clear example Craig actually showed the whole process of creating a VFP com to be suitable for COM+ and showed how to use it from UI. He talked about many other related issues, such as transaction support, distributing the COM+ application to the server and client and also about making the classical COM nightmare, the debugging, a bit easier to do.

Until Windows Communication Foundation really starts to kick in, COM+ is still THE way to built middle tiers so that apart from Visual Basic, Office or .NET even the Non-Microsoft clients can easily talk to it.

Famous last words and raffle session – Rainer Becker

Before the actual prices were drawn, Rainer gave out a few organization details as well as a lot of jokes; more of the latter one, of course.

Probably the most important piece of information was that the next year DevCon date has already been scheduled. If you have read the report from the welcome session above, you also know that the date has already been set for another 7 conferences following the next one, just to help you make some plans for the years to come. Among the topics you can expect next year are:

  • Service Pack 2 for VFP 9.0 with long fixlist
  • NET4COM
  • My.Functions
  • Vista Toolkit
  • Reporting enhancements
  • Upsizing for SQL Server
  • ActiveX Controls
  • Even more sessions about backend database (not only SQL Server but also DB/2, Oracle, MySQL !)
  • Server based or distributed computing with VFP
  • Productivity enhancements / Tips and tricks
  • Mappoint / Geo-Coding / geographic calculations
  • Mobile devices, data synchronization
  • Design patterns revisited, SW ergonomics
  • and much, much, more…
  • Meanwhile, continue your programming, keep finding more unusual and extra cool ways how to solve your daily development problems and most importantly come again next year! We will see whether the Sedna release is really that far as her sister Sedna, the last planet of our solar system.

    See you there (on the conference, not the planet)!


    After the closing session, the official end of this years’ conference, everybody took the last snack with them and went home.

    Final words and acknowledgements

    We, the reporters, would now like to express our gratitude especially to:

  • Rainer Becker, the leader of the German user group and more importantly the organizer of this Visual FoxPro DevCon. He cared for us deeply and was always happy to provide us with every possible support. Thank you, Rainer!
  • Michel Fournier, the inventor of the UT reporting, for his support and understanding, because we sometimes hardly made it to the deadlines.
  • Ruth Mohr and her son Raphael for many of the nice pictures in the archive.
  • Yuri Shutenko, always dedicated and busy on his work on the translation of the VFP help for the Russian VFP community as well as always relaxed and happy to join any conversation, for his moral support and quite a few pictures you can see in the picture archive. Thank you, Juri!
  • Eugen Wirsing for many nice pictures in the archive. Thank you, Eugen!
  • Tina, the secret angel of the conference, making sure everything goes as planned and that everyone has what they need. Thank you, Tina!
  • Our extended gratitude goes also to everyone else who provided us with a never-ending support and helped us to fully concentrate on the reporting to be delivered as soon as possible to you, our readers.

    Feel free to share your experiences from the conference, any notes on the reporting as well as your ideas of the UT coverage improvements on the UT forum. We are always happy to get the feedback from you!

    Till the next time!

    Jan Vít, Vitsoft
     
    Jan Vít is a student of the University Of Economics in Prague. Since 1993 he has been actively interested in programming as well as other areas of information technology. His computer experience started with PC 80386 with FoxPro 1.02, later followed by higher versions for the DOS platform and since 1999 he has been using the newest Visual FoxPro versions together with other programming languages and tools. Presently he spends most of his time with Visual FoxPro 9.0, MS SQL Server and C# in WinForms as well as WebForms development. He has been a regular speaker on the Czech Visual FoxPro DevCons since 2004 and is also the co-author of many DevCon conference reports from Prague and Germany. His work now mainly consists of developing software for pharmacies.

    Jan Kral
    My name is Jan Kral and I am studying Third Faculty of Medicine, Charles University in Prague. I am interested in computer technology and medical science. In my free time I develop applications using Visual FoxPro 7,8 and nowadays I use VFP 9.0, all mostly for my personal use. I have been a co-author of several Czech VFP DevCons' UT reports. I also develop internet web pages using PHP, JavaScript, CSS and so on. Feel free contact me at my email.

    Southwest Fox 2004
    DateContentDetail
    08/09 17:50NewsSouthwest Fox Speaker Ch...
    06/09 16:31MeetingSQL Server Tools, Strate...
    02/09 00:44NewsPEM Editor 6 has been re...
    27/08 17:57NewsSouthwest Fox 2010 Early...
    25/08 04:30NewsCryptoLicensing For .Net...
    22/08 09:58NewsWindows Phone 7 Gold Rush
    16/08 03:05NewsVisual WebGui reveals it...
    11/08 17:54MeetingSo You Think You Want To...
    10/08 16:41News.NET Training for VFP Pr...
    09/08 18:33MeetingLINQ & SQL Server Reporting
    03/08 08:15JobsSQL/VFP Developer for Ma...
    29/07 10:59News.NET 4 for VFP Developer...
    26/07 10:13JobsVFP Developer (Two Perma...
    25/07 06:44NewsWith Visual WebGui 6.4 R...
    24/07 11:00JobsQuality Assurance Softwa...

    Copyright © 1993 - 2010 Level Extreme Inc., All Rights Reserved · Telephone: 506-783-9007 Email: info@universalthread.com · Privacy & Security · Copyright · Terms & Conditions