CIPS CONNECTIONSINTERVIEWS by STEPHEN IBARAKI, I.S.P.
Development and MS Access--international expert
This week, Stephen Ibaraki, I.S.P., has an exclusive interview with the internationally renowned author, programmer, and consultant, Roger Jennings.
He has been a beta tester for all versions of Access, and virtually all versions of VB and Windows plus contributing as a founding member of the former Access Insiders group and is one of Microsoft’s 15 “Access Heroes.” With over 25 years of experience and more than 1.25 million English copies in print plus translations into more than 20 languages, Roger’s papers, articles, and 21+ books span the entire range of client/server technology, XML/XSLT, database development and applications, Visual Basic, Access, XML Web services and Windows operating systems.
Roger is a principal of OakLeaf Systems, a software consulting firm, and a contributing editor for Fawcette Technical Publication’s Visual Studio Magazine and a columnist for .NET Insight and XML & Web Services newsletters. His work has appeared at Microsoft’s Tech*Ed, on their Developer’s Network CD ROM, and in Microsoft’s Developer Network News. Together with all his accomplishments, Roger is the developer of the OakLeaf XML Web Services development site and his OakLeaf US Code of Federal Regulations (CFR) XML Web services demonstration project won the 2002 Microsoft .NET Best Charter Award for horizontal solutions.
Q: Roger, considering your very tight schedule, we are fortunate to have you come in to do this interview—thank you!
A: You’re welcome, Stephen. I appreciate the opportunity.
Q: What prompted you to get into each of these areas and what processes did you use to do so: computing, consulting, development, authoring books, writing whitepapers and articles, and starting a company?
A: Over the years, I’ve startedand sold several companies. The first (Polytron Corp.) was a chemical company involved in the urethane foam business. The second (Fluidyne Instrumentation) manufactured specialty flowmeters, urethane elastomer processing systems, and computer-based data acquisition and control devices. Fluidyne started with Wang 700 programmable calculators, migrated to Wang 1100s, and finally to DEC minicomputers. We used Commodore CBMs for accounting, production scheduling, and inventory control. After selling Fluidyne, I set up and ran Safegate Aviation, Inc., the U.S. subsidiary of Sweden’s Incentive A.B. -- then a Wallenberg family company. Safegate used networked PC clones for designing aircraft passenger boarding bridges with AutoCAD, construction scheduling with Harvard Project Manager, accounting with Lotus 1-2-3, and word processing with WordPerfect and Microsoft Word.
I became disenchanted with traveling 40% to 50% of the time and tried retirement; that idea lasted about a month. I’d become interested in BASIC programming at Fluidyne and Safegate and was fascinated by PC--based relational databases. I started with the dBASE 3.1 developer version moved to Clipper, and took on a few programming projects for Bay Area organizations. Along the way I wrote a large Clipper app for a franchiser, which turned out to be reasonably successful. My first Windows programming projects involved WordBASIC macros.
I’ve enjoyed writing since my high school days, and Ron Person -- then a very successful QUE Books author -- recommended me as the author of their first Access title. After Special Edition Using Microsoft Access hit the shelves, I began consulting with with local Fortune 500 firms who had aceopted Access 1.0. One of my projects for a major semiconductor firm was featured at Tech*Ed 1994. By the time Access 2.0 arrived, I’d started writing database columns for Fawcette Technical Publications’ Visual Basic Programmer’s Journal (VBPJ), and I’m still writing for its successor, Visual Studio Magazine.
Q: How does one become a beta tester and what did you learn over the years working with pre-release versions of Access, VB, and Windows operating systems?
Microsoft added me to the Access 1.0 beta program (“Cirrus”)because I had a book in progress. They later added me to the “Access Insiders,” a group of Access developers that had been involved with the program's development from the early days. Beta programs taught me to be patient. Cirrus took so long to emerge that I wrote QUE’s Discover Windows 3.1 Multimedia while waiting for successive beta drops. As a former musician, I was fascinated by MIDI and synthesizers. My first synth was a Yamaha DX-7, and I’m still partial to Yamaha products, such as the SW1000 XGFactory and the DS2416 DSPFactory.
Most books I’ve written start with beta (or sometimes alpha) software releases, and updates for the later versions occur in multiple author-review passes. Mid-course corrections with major changes to feature sets and user interface alterations drive authors like me nuts. As an example, the Window caption on the technical refresh version (equivalent to a release candidate) of Access 2003, on which my new book is based, was “Microsoft Office Access 2003.” The release version simply displays “Microsoft Access,” but InfoPath 2003 window caption remained “Microsoft Office InfoPath 2003.” This inexplicable change is an addition to the many “Microsoft Mysteries” I point out in the book.
Q: You have such an extraordinary history with so many milestones. Please share your most important challenges and how you overcame them.
One of the “milestones” I’m most proud of was participation with Toronto’s Hospital for Sick Children, Abbott Laboratories, and Wang in the development of the first computer-automated screening program for Tay-Sachs disease. Fluidyne provided the interface and low-level, device-based programming. Later, the project expanded to sickle cell anemia screening.
My most challenging projects had nothing to do with computers. Polytron had developed and patented a method for raising sunken ships with urethane foam, which led us into some interesting projects for the U.S. Navy. Our largest project was floating the U.S.S. Frank Knox (DDR-742), which was stranded on Pratis Reef in the South China Sea. The Navy's challenge was chopping and scraping the foam out of the vessel. You won't find that episode in DDR-742's official history, but there's a brief account on the Web at http://www.destroyersonline.com/usndd/info/infdg742.html.
Q: You have authored so many best-selling books. Which books are your favorites and for what reason?
The nine editions of Special Edition Using Access were the most fun to write, with the possible exception of Discover Windows 3.1 Multimedia, and have sold about a million copies in English so far. Next in line is SAMS Publishing’s Database Developer’s Guide with Visual Basic 3.1, which -- along with participation in VB 3’s “Rawhide” (professional extensions)beta -- hooked me on Visual Basic as a language and a database development platform
Q: One of your most recent books is, Using Access 2003. What’s unique about this book?
A: I think what differentiates my book from the other 1,500-page Access behemoths is full coverage of new features in each edition. For example, Special Edition Using Access 2003 has chapters on Access’s new XML-related features, plus interaction with Windows SharePoint Services and Microsoft Office InfoPath 2003. I’ve been an SQL Server user (and ardent fan) since it ran under Microsoft’s version of OS/2, and I’ve been a beta tester since version 6.0. Thus my book has several chapters on working with the Microsoft SQL Server Desktop Engine (MSDE), which is a far more robust database backend than Jet.
The book also delivers more VBA content than most of its competitors, and provides detailed ActiveX Data Objects (ADO) programming examples. There’s a chapter devoted to using Access as an XML Web service client, with instructions on how to create your own Web service from an MSDE stored procedure with Microsoft’s SQLXML 3.0 add-in.
Q: How does Access 2003 differ from prior versions? Why would businesses want to upgrade?
A: Access 2003 has only a few new added features -- XML export now supports related tables and the ability to link SharePoint lists to Access tables of Jet and SQL Server databases shows promise. New Access users probably will appreciate added task panes, such as Object Dependencies, and Smart Tags for error reporting.
Most business users appear to be running Access 2000 or earlier, so upgrading also delivers Access 2002 benefits, such as PivotTable and PivotChart views. Access 2000 users also benefit from major improvements to data access pages and the capability to create Web service client apps.
Q: From a development standpoint, what are the strengths and weaknesses of Access 2003?
A: Rapid application development (RAD) for SQL Server 2000 databases is Access's primary claim to fame. I recently wrote a full-featured Access 2003 subscription maintenance program for a non-profit scholarly journal in less than a week.
On the weakness side, I’m disappointed that Access 2003 didn’t receive the .NET Framework hooks that Microsoft added to Word and Excel. Now that I’ve made the transition to Visual Studio .NET, I'd much prefer to write Visual Basic .NET code to automate Access apps.
Q: Can you speak more about using VBA in Access 2003?
A: VBA is a mature application programming language with very few bugs, warts or surprises. If versatility, reliability, predictability, and stability are your watchwords, you can’t beat VBA for automating Access apps. Those probably are some of the reasons that Access 2003 is missing the .NET Framework hooks.
Access developers should check out the Office XP Web Services Toolkit, an add-in for Access 2002 and 2003. The Toolkit generates most of the client code for consuming basic Web services that don’t have mandatory headers. I used the Toolkit to connect to a public Web service for subscriber address verification. It took me less than two hours to write and test the client-side code. (My book’s CD includes an Access 2003 demonstration client that consumes the same service.)
Q: Please detail the specifics of your award-winning development project? What were the unique differentiators that resulted in the recognition?
A: I became interested in Web services when Microsoft released version 1 of the Web Services toolkit, which included a wrapper to generate Web Service Description Language (WSDL) files from COM objects. I was in the process of getting better acquainted with XML and decided to test feasibility of Web services for large-scale, document-oriented applications. I wrote an experimental VB6 app to translate the SGML version of the Code of Federal Reguations (CFR) from the U.S. Printing Office's Electronic (eCFR) beta to XML and, optionally transform it to XHTML. A few weeks later I found a 1 GB SQL Server 2000 database with the full-text indexing and the VB 6 COM components to deliver formatted data to a Windows Client and ASP pages. My only regret is use of mixed content for XML text documents; support for mixed contents is limited in many XML-based development platforms and programming tools.
Converting the COM components to an rpc/encoded Web service and adding an ASP Web service consumer was the next step, which proved that Web services were practical for delivering very large (200-KB and larger) documents to a variety of clients. During the Visual Studio 1.0 beta program, I upgraded the COM components to Visual Basic .NET, rewrote the data access elements to ADO.NET and the SqlClient managed provider, moved to ASP.NET’s standard document/literal SOAP messaging format and gained at least 25% better overall performance. The development project convinced me that Web Services are the way to go, even for large-scale, text-based applications. The project was one of the largest - if not the largest - publically-available Web service of its time. Give the CR service a test-drive at http://www.oakleaf.ws/cfr/.
Q: How about Windows operating systems, .NET, VB, XML and Web services? What can you add in these areas?
I’ve beta-tested and written books about most major Windows OS releases, starting with Windows 95. Writing Special Edition Windows 2000 Server was my most challenging book; it required setting up four semi-production servers just to test Windows NT upgrades and 2000/NT interoperation. I wasn’t satisfied with testing Active Directory and Group Policies with a few test users, so I wrote a VB6 application that created 30,000+ users in 20+ Windows NT or 2000 security groups. (You can download the Windows NT and 2000 versions of the GroupPol program and its source code from http://www.admin911.com/books/win2kgp_updates.asp.)
My favorite topics, aside from SQL Server 2000 database programming, are Visual Basic .NET and ASP.NET XML Web services. I’m convinced that Web services are the “Holy Grail” of distributed systems and enterprise application integration. ASP.NET makes creating basic Web service wrappers for .NET functions a point-and-click process. Microsoft’s Web Service Extensions 2.0 add security, routing addressing), and transaction support, albeit with considerable added code, much larger message size, and deployment complexity. I’m encouraged by the cooperation between Microsoft and IBM to demonstrate interoperability of .NET and Java implementations of the WS-Security and other recent WS-series specifications. The primary goal of Web services is platform and language-independence; Microsoft and IBM have proved this goal can be realized. I’m hoping that the other major players in the Web services sector will join Microsoft and IBM in future interoperability bake-offs.(Go to http://www.oakleaf.ws/articles.aspx for links to articles I’ve written on Web services and related topics.)
Q: Where is it all heading? What do you see as the major technologies in the future? How about predictions about their implementation? Who are the winners and losers?
Obviously, I see XML in general and Web services in particular as the major growth technologies during the next five years. The original vision of XML and Web services was for server-to-server communication, but products like InfoPath will bring XML to the desktop. For a demonstration of what InfoPath forms can accomplish, check out the new Microsoft Office Accelerator for Recruiting, which combines InfoPath forms, SharePoint Web parts, and an SQL Server back-end database to automate interview scheduling and applicant evaluation. Microsoft claims InfoPath is the “premier Web services client.” The jury’s still out on this statement, but setting up a basic Web service as an InfoPath data source is a simple point-and-click operation.
SQL Server Reporting Services offers another demonstration of the power of XML Web services. All interaction with Reporting Services occurs though a SOAP-based API. The report designer is a work of art. One of Access’s claims to fame is the ability to quickly generate fully-formatted reports from SQL Server back ends. I’m betting that SQL Server Reporting Services will become the basis of the reporting engine for the next version of Access. Like most other folks at the Microsoft Professional Developer’s conference, I’m anxious for a briefing on “Indigo” -- the code name for Microsoft’s forthcoming Web services messaging bus. I hope we won’t need to wait for “Longhorn Server” to arrive to take advantage of Indigo.
Q: Do you have comments about Web services, its impact on traditional business models, current trends in business models for Web services, creating a successful long-term Web services business model, and its impact on ROI?
A: The number of lines of text in Web service-related articles, analyst reports, books, and magazine articles probably outnumber by at least a couple orders of magnitude the number of lines of production Web service code. It's an encouraging sign, however, that the Web services hype appears to be waning.
Most of today’s Web service projects are exploratory; Web services won’t become ubiquitous until interoperable, standards-based digital signatures and encryption, authentication, authorization, message routing, transaction, orchestration, and quality of service features are in place and accepted by all stakeholders. I estimate that we’re about a year away from achieving this goal. If your acceptance criterion is a Web Services Interoperability Organization (WS-I) profile, add another year (or two).
To gain an acceptable ROI, development platforms must simplify the developer's job of implementing and testing these critical Web service features. Low-cost, easy-to-administer use of Web service application servers and management/logging systems are another key to deployment of production web services. I expect this hurdle to be overcome for Windows and UNIX/Linux shops in two or three years, assuming that Indigo arrives in 2006 or earlier.
Q: Which ten resources do you find the most useful?
Q: Why do you do what you do?
A: What else would I do? I tried retiring and that didn’t work.
Q: If you were doing this interview, what three questions would you ask of someone in your position and what would be your answers?
Q2: When will Longhorn RTM?
Q3: What are ObjectSpaces in 10 words or less?
Q: It was a pleasure interviewing you. Thank you for sharing your wealth of knowledge with our audience.
A: You’re welcome. It was fun.