Integrated Development Environments


In Chapter 2, I referred to the mainframe tool Interactive System Programming Facility (ISPF) as an IDE. I mentioned that on the .NET platform, your IDE of choice is VS .NET. Well, it is now time to take a closer look at both IDEs .

The IDE of Yesterday: ISPF

For perspective, let's revisit the mainframe. There, you might have not normally used the phrase "integrated development environment" when referring to ISPF. Nevertheless, the phrase does fit. By the way, as a reformed mainframe programmer, you can now add ISPF to your fond-farewell list.

That is right. It is time to say goodbye to your old friend ISPF. OK, call me an old, sentimental you-know-what. Just think about it: no more JCL, no more VSAM, and now no more ISPF. Of course, the real point here is just to realize how critical these tools and technologies have been in your day-to-day mainframe development. Why is this point important? Because the requirements that were addressed with these legacy tools and technologies still need to be addressed. The basic requirements include the following:

  • Creating program code

  • Viewing and editing program code

  • Compiling program code

  • Testing and debugging program code

As ISPF did, your new IDE, VS .NET, will now easily take care of all of these basic needs. I discuss each of these needs in the next section, "The IDE of Today and Tomorrow: VS .NET."

start sidebar
What About the Modern Mainframe Tools?

There are products available now that are hosted on the Windows platform to enable developers to create applications targeted for the mainframe. These modern tools, being more graphical than their predecessors, even offer drag-and-drop features. It is not my intention to ignore those mainframe programmers who use these types of development tools and products that are hosted off the mainframe, on the Windows platform. Likewise, it is not my intention to pretend that these products do not exist. Yes, several companies, including Micro Focus, Fujitsu, and IBM, have made great advances with graphical Windows -based mainframe development products.

However, many of our mainframe brothers and sisters have not been fortunate enough to transition over to these modern development tools. Many are still stuck in the twentieth century. If you are currently using any of these types of Windows-based development tools, consider yourself lucky. Your .NET learning curve will not be as steep as it will be for others. Even so, from what I have seen so far, even these modern graphical mainframe tools pale in comparison to Microsoft's Visual Studio .NET (VS .NET) IDE. After you have spent some time with VS .NET, please share your opinions regarding this comparison with me via e-mail at Richardson@eClecticSoftwareSolutions.com .

end sidebar
 

At this point, perhaps you are asking the following question: "If I am saying good-bye to ISPF, what about all of the other tasks that ISPF performed for me?" You are right; I have only mentioned the so-called basic tasks. Nevertheless, there is a VS .NET feature available for the other, "nonbasic" ISPF tasks . As Figure 5-1 shows, the typical ISPF Primary Option Menu offers several menu options.

click to expand
Figure 5-1: The basic choices on the ISPF Primary Option Menu

Table 5-1 shows the chapter and section in which the comparable VS .NET feature is discussed in this book.

Table 5-1: ISPF Options and Comparable VS .NET Features

ISPF OPTION

ISPF DESCRIPTION

CHAPTER AND SECTION WHERE COMPARABLE VS .NET FEATURE IS DISCUSSED

Settings: configure ISPF

Chapter 5, "My Profile"

1

View: browse text

Chapter 5, "The IDE of Today and Tomorrow: VS .NET"

2

Edit: create and update

Chapter 5, "The IDE of Today and Tomorrow: VS .NET"

3

Utilities

Chapter 11, "Client-Side Tools"

4

Foreground: compile

Chapter 5, "The IDE of Today and Tomorrow: VS .NET"

5

Batch: execute

Chapter 5, "The IDE of Today and Tomorrow: VS .NET"

6

Command support

Chapter 5, "Executing Programs and Commands at a Command Prompt"

7

Dialog Test: program

Chapter 5, "VS .NET Customization Through Automation"

8

SDSF (Spool Display and Search Facility)

Chapter 3, "The Event Viewer"

(Other)

Third-party utility applications

Chapter 5, "NetCOBOL for .NET"

At a high level, this section has just about addressed the entire mainframe ISPF feature set. I have discussed ISPF as an IDE for perspective. Perhaps I have given you the impression that there is a one-to-one correspondence between the ISPF and VS .NET feature sets. As you will see in the next section, that is not the case. Yes, you can find an equivalent feature in VS .NET for each ISPF feature. However, with that, you will just be scratching the surface of what VS .NET has to offer.

Note  

Any features you find in ISPF that are not represented (in some form) in VS .NET are likely to be features not directly related to program development. For example, third-party Job scheduling software is commonly accessed from an ISPF menu option. For the Windows and Web development platform, this sort of production support software is located outside of VS .NET.

Are you ready to explore your new IDE, VS .NET? OK, let's do it.

The IDE of Today and Tomorrow: VS .NET

In the previous section, I discussed the many features of ISPF. Naturally, I will do the same for VS .NET in this section. It may seem that comparing (rather than contrasting) one IDE with the other is almost unfair. After all, the basic structure of ISPF has gone unchanged for as long as I can remember. VS .NET, along with the platform it was created for, is much newer and more oriented around graphics (hence the "visual" in "Visual Studio .NET") than ISPF. Nevertheless, the mainframe platform typically uses one IDE: ISPF. The .NET platform, on the other hand, uses VS .NET.

Chapter 2 discussed VS .NET as being one of the answers to the "What is .NET?" question. VS .NET is the feature-packed IDE that you use to develop .NET applications. Now, let's drill down to find out how to take advantage of the features offered in this tool.

Launching VS .NET

You have installed VS .NET and you are ready to put it to use. After the installation is complete, you launch VS .NET by clicking the Start button and selecting the Programs menu, as shown in Figure 5-2. Depending on the edition of VS .NET that you installed and the options you chose during installation, your Programs menu may differ slightly from the one shown in Figure 5-2.

click to expand
Figure 5-2: Launching VS .NET from the Programs menu

VS .NET Start Page

By default, the VS .NET Start Page is set to Show At Startup. Because VS .NET is configurable, you can turn this option off if you don't want to have the Start Page show at startup. However, I do not recommend doing so. At least wait until you have had a chance to discover the usefulness of this screen. Then decide.

Tip  

If you happen to close the Start Page (or maybe you accidentally turned off the Show At Startup option) and you would like to bring it back for display, choose Help Show Start Page. In my opinion, having the Show Start Page option under the Help menu is not intuitive. I think a more appropriate location for this option is under the View menu (under the Other Windows submenu) or under the File menu. However, I believe the location of the Show Start Page option is Microsoft's way of clearly indicating that the Start Page is intended as a page to provide help as opposed to just a page from which to start tasks.

When you launch VS .NET for the first time, the default setting is to show the My Profile view of the Start Page, as shown in Figure 5-3.

click to expand
Figure 5-3: The My Profile view of the Start Page

On subsequent launches of VS .NET, the Get Started screen view will be selected. For now, leave the default settings as they are on the My Profile view. I further discuss the My Profile view in the section "My Profile."

Now, I want to point out that there are a total of nine options on the Start Page. You navigate from one to the other with your mouse, selecting any choice you wish. As shown in Figure 5-3, the available Start Page options are as follows :

  • Get Started

  • What's New

  • Online Community

  • Headlines

  • Search Online

  • Downloads

  • XML Web Services

  • Web Hosting

  • My Profile

    Note  

    Except for Get Started and My Profile, the Start Page screen views require an Internet connection in order to function. The What's New screen view will function offline (somewhat). However, in order to get updated with current information, even the What's New screen view requires an Internet connection. Integrating with the Internet for value-added features appears to be a trend in Microsoft products and products from other vendors . (Considering the liberal use of Web site references in this book, even I have opted to integrate with the Inter- net ”for value-added features, of course.)

As the Primary Option Menu is to ISPF, so is the Start Page to VS .NET. Now, let's learn about each [1] of these "menu" (Start Page) options. The first one I discuss is the Get Started option, which appears at the top of the Start Page.

Get Started

After you click the Get Started screen view tab, you should see a display similar to what is shown in Figure 5-4.

click to expand
Figure 5-4: The Get Started view of the Start Page

The following are the basic requirements that you have when approaching program code in an IDE:

  • Creating

  • Viewing

  • Editing

  • Compiling

  • Testing

  • Debugging

On the Get Started screen view, notice there are two tabs: a Projects tab and a Find Samples tab. The Projects tab is where you accomplish each of the basic requirements in the preceding list. The Projects tab has three features:

  • Recent projects found list

  • Open Project button

  • New Project button

Note  

The term "project" is almost synonymous with the traditional mainframe term "program," with significant exceptions . Soon you will need to learn additional terms such as "solution," "assembly," "executable" (EXE), and "dynamic link library" (DLL). I explain these terms (and others) in Chapter 6.

Because you have not created any projects yet, the first two options (the recent projects found list and the Open Project button) are of little use at this point. To create a new project, click the New Project button. The dialog box shown in Figure 5-5 will appear.

click to expand
Figure 5-5: The New Project dialog box

Notice the Project Types options shown on the left side of the dialog box. This list includes programming languages, among other things. Additionally, notice the Templates choices shown on the right side of the dialog box.

Two factors influence what project type and language choices you have. First, when you install VS .NET, you have the chance to choose among the Microsoft-provided languages: Visual Basic .NET (VB .NET), Visual C# .NET (C#), and Visual C++ .NET (C++ .NET). Second, you can obtain (for a reasonable price) .NET language compilers provided by other software vendors.

In my case, I selected VB .NET and C# when I installed VS .NET. Separately, I obtained a copy of Fujitsu's NetCOBOL for .NET product and installed it after I completed installing VS .NET. Presumably, you have not installed Fujitsu's NetCOBOL for .NET product yet. Please refer to the documentation that accompanies Fujitsu's product for any needed installation assistance. I further discuss the topic of .NET language choices later in this chapter, in the section "Choosing Your .NET Language."

start sidebar
Choosing a VS .NET Project Type Extends Beyond Language Choice

You might have noticed that VS .NET shows several other types of projects in the New Project dialog box (in the Other Projects folder and the Setup and Deployment Projects folder). [2] The discussion in this chapter focuses on the language-specific project types. The other project types have various purposes. Among the choices, I discuss the following project types in later chapters:

  • I discuss the Application Center Test Project in Chapter 13.

  • I discuss Database Projects in Chapter 11.

  • I discuss Enterprise Template Projects in Chapter 13.

  • I discuss Setup and Deployment Projects in Chapter 17.

end sidebar
 

With regard to the Templates choices, if you love to type, then always select the Empty Project choice. Otherwise, if you are like the other 99 percent of us, choose one of the templates provided to serve as a program code skeleton.

In the mainframe environment, you created code skeletons, right? Perhaps you had a partitioned dataset (PDS) member into which you typed the minimal COBOL structure. For example, maybe you had a member that contained the appropriate Identification Division, Environment Division, Data Division, and Procedure Division statements. You may have even added the appropriate COBOL Section statements (i.e., the Input-Output, File, and Working-Storage Sections). Then, whenever you need a new program, the first step would be to copy the code skeleton to get a head start.

Honestly, when was the last time you created a mainframe COBOL program from scratch ? Exactly. That is what the templates are for: to increase productivity. However, for those who insist on starting from scratch, the Empty Project template shown in Figure 5-6 is available just for you.

click to expand
Figure 5-6: The Empty Project template

The available template choices vary depending on your project type choice. With regard to this chapter's discussion, that choice would relate to language. In other words, VB .NET offers a different set of project template choices than does NetCOBOL for .NET. However, I do expect that this list of template choices will continue to grow (particularly for NetCOBOL).

What's New

On the VS .NET Start Page, the second choice from the top is the What's New tab. When you click this tab, a screen view displays that is divided into three tabbed sections: a Technology tab (for software updates and highlights), a Training and Events tab, and a Tips and Walkthroughs tab.

It appears to me that the What's New tab will be one of those tabs that everyone should visit, but few will. Why do I say that? It is the second tab from the top. In other words, most will dive into the first tab (the Get Started screen view discussed in the previous section) and never come up for air. Therefore, I am spending time now on these other VS .NET Start Page options. I believe these supportive Start Page screen view options are worthwhile and offer great value.

I gave some thought to offering some sort of analogy, some sort of comparison of this What's New page to anything like it on the mainframe. Well, I suppose that a contrast can be just as useful as a comparison. That fact is, these "Internet-connected," interactive, integrated tools greatly surpass the tools that mainframe programmers have relied on for years . Honestly, the closest that we have come is the proliferation of mainframe help Web sites. Although there are a few good sites out there, not one of them (that I know of) is integrated into the mainframe development environment. That is the big difference. So, take some time and visit the What's New page (see Figure 5-7). You will be glad that you did.

click to expand
Figure 5-7: You can access the What's New screen view from the Start Page.
Online Community

The Online Community tab offers several ways to extend your reach when you are away from your desktop, away from your desk, and even away from your home and work location. After you click the Online Community tab on the Start Page, you will see the options displayed in Figure 5-8, which can potentially open the entire .NET development world up for you.

click to expand
Figure 5-8: The Online Community screen view

The first tab is labeled Code (for code sharing) and includes several Web links. Each of these links will lead you to part of an online community where people are sharing code for free. Eventually, as you progress in your own knowledge, you too can contribute. The same holds true for other tabs on this same page, except the other tabs approach sharing from a different direction.

The second and third tabs are labeled Newsgroups and User Groups, respectively, and again they promote sharing knowledge, enthusiasm , and even motivation.

The fourth tab, Experts, is the one that I really love. In this community, people volunteer to help others, which is similar in effect to what happens on the other tabs I just discussed, except that self-proclaimed experts are answering the questions. If this is not enough, there is even a Technical Chat option available on this Expert tab.

Although these features are also available elsewhere (see the "Web Sites" subsection of the "To Learn More" section at the end of this chapter), the real value here (as with the What's New tab) is that this wonderful feature is integrated right into the development environment ”right into VS .NET. As Figure 5-8 shows, the community has various points of entry.

I admit that it took me a while to get into the electronic "community" idea. This sort of faceless sharing ”even anonymous sharing ”was new to me. I believe it is new to the average mainframe programmer. Certainly , if this is the wave of the future, perhaps there is hope for humankind yet.

start sidebar
The Electronic Mentor

In this book's Introduction, I discussed how things have changed over time. In that discussion, I referred to the "mainframe old-timers who were always there for us as mentors." Well, coming from the mainframe environment, you will be hard-pressed to find the types of mentor programs that you may remember from "the old days." However, the same value that you realized from these partnering/ sharing/grooming relationships you can now realize from other types of relationships: electronic relationships.

Consider the following points for this new approach to mentoring:

  • It is no longer practical to be an old-timer due to the rapid evolution of technology.

  • Online communities facilitate rapidly built relationships at the appropriate Internet era rate.

  • The new, distributed electronic communities are integrated right into your new IDE: VS .NET.

end sidebar
 
Headlines

The Headlines screen view has four tabs. Each tab has "headline" news. The first tab, News, has content that is very familiar to me. It appears that most of the content on the News tab uses as its source the MSDN Web site. You see, for some time now I have had the MSDN site as my browser's home page. Naturally, I appreciate having the MSDN content show up in real time as one of the options of the VS .NET IDE.

The second and third tabs, .NET Platform and XML Web Services, respectively, should prove useful in your .NET retraining effort. The fourth tab, Development Life Cycle, provides good reading. However, this might be the one area where the average mainframe programmer has the upper hand (as discussed in Chapter 1 in the "Acknowledging Industry Perceptions" section). Nevertheless, consider yourself introduced to yet another VS .NET IDE feature.

Search Online

This is a great feature. As shown in Figure 5-9, it appears to be just a simple search tool. To appreciate its usefulness, you have to take into consideration the manner in which many developers perform their MSDN searches. For example, it's likely that you perform MSDN searches by opening up a browser window, navigating to the MSDN site, and then entering your search into the "Search for" box.

click to expand
Figure 5-9: The Search Online screen view

Alternatively, you can use the search feature built right into VS .NET. Obviously, using this search feature will save you a few steps, as you don't need to navigate to the MSDN site outside of VS .NET. Beyond the step savings, another great thing about this feature is that the search results are returned in a "tabbed" window that is integrated with the VS .NET environment. This allows you to easily switch back and forth between your application and the MSDN search results. There will be times when you will prefer to open a separate browser window. No problem ”at least you know that you have a choice.

Yes, the value of this feature drops considerably when an Internet connection is not available. Nevertheless, the term "integrated" is starting to take on a much larger meaning. Are you starting to look at the mainframe IDE (ISPF) in a slightly different light now? Perhaps it may not be so hard after all to part company with some of the mainframe tools that you hold near and dear.

Downloads

Downloads, free downloads. The Downloads screen view has two tab options: Free Downloads and Subscriber Downloads. You may be surprised to learn that the Free Downloads section actually has good stuff available to download. Some very well-written sample applications are available for download from that section. Integrated into the VS .NET IDE is the capability to download working examples. In some cases, you will find an answer to some confusing problem. In other cases, for sake of productivity (in other words, so you do not have to reinvent the wheel), you can download a sample application or code snippet. Then, you simply copy, paste, and modify it to meet your particular needs.

Note  

The common thread running through each of these Start Page discussions is as follows: Each Start Page tab represents a great feature integrated into VS .NET that increases productivity.

My Profile

Recall that with mainframe ISPF (menu option 0), you were allowed to perform a small amount of configuration. As Figure 5-10 shows, you typically configured the programmable function (PF) keys to suit your personal preferences.

click to expand
Figure 5-10: Mainframe ISPF PF key definitions
start sidebar
Editor Basics Yesterday and Today

As Figure 5-10 shows, the common setup for ISPF PF keys 5 and 6 was RFIND (repeat Find) and RCHANGE (repeat Change). Which reminds me that it was possible to perform a FIND and/or a REPLACE. Well, guess what? VS .NET also offers a Find and Replace feature. If you refer once again to Figure 5-10, you are reminded that ISPF PF keys 2 and 9 supported the ability to SPLIT the ISPF screen into two separate screens. Yes, you guessed it. VS .NET also offers a feature that allows you to split your screen (rather, window) in two.

end sidebar
 

With the VS .NET IDE, you are able to configure your IDE. The VS .NET configuration options extend far beyond (yet include) the ability to set the keyboard function keys to your personal preference.

Navigate to the My Profile screen view from the Start Page. Notice that the My Profile screen view offers options for you to configure your IDE. Take some time to click each drop-down window and view the available choices. You can always return to the My Profile view later to configure the IDE. Optionally, you can perform advanced-level configuration by selecting Tools Options. As shown in Figure 5-11, the options to change the font and color styles for the text editor (under the Environment category) are among many other options for configuration.

click to expand
Figure 5-11: The Options dialog box contains advanced configuration options.

All of the options shown on the My Profile view are also included on the Options dialog box. Again, for the purposes of this discussion, let's leave the configuration options at their default settings. Remember, you can always come back and change them later.

start sidebar
Getting Help

Here are a few suggestions for what to do when you want more details on a specific topic:

  • Use the Help search feature from within the VS .NET environment.

  • Use the Dynamic Help feature from within the VS .NET environment.

  • Use the Microsoft VS .NET documentation, which is available outside the VS .NET environment.

  • Press F1 while you edit/view programming code and the item in question is selected.

  • Take advantage of the various tools available from the VS .NET Start Page.

  • Visit the MSDN Web site ( http://msdn.microsoft.com/ ) and search the Knowledge Base.

  • Consider adding to your personal library (see the "Books" subsection of the "To Learn More" section at the end of each chapter for recommendations).

  • Consider joining an online discussion group and submitting questions (see the "Web Sites" subsection of the "To Learn More" section at the end of each chapter for recommended groups).

end sidebar
 

More VS .NET

With everything that this chapter has covered so far, you might expect that the topic of VS .NET would have been exhausted already. Perhaps your expectations were set too low. Honestly, VS .NET does so much, has so much to offer, and can be used for so many tasks, you would almost expect it to be able to make coffee and help solve world hunger.

In this section, I discuss two more topics related to VS .NET: customization through integration and automation. For your convenience, I will defer some remaining VS .NET discussions until I cover the actual topics that focus on various applications of .NET technologies. Table 5-2 details each forthcoming VS .NET discussion topic and the related chapter that provides a context for specific VS .NET features.

Table 5-2: VS .NET Discussion Topics and Related Chapters

DISCUSSION TOPIC

CHAPTER

Learning about the Solution Explorer, the Task List, and the Properties window

Chapter 6

Using the Class View window, the Object Browser, and IntelliSense

Chapter 7

Leveraging the Server Explorer

Chapter 11

Exploring the Toolbox

Chapter 14

VS .NET Customization Through Integration

Most mainframe installations of ISPF include some value-added products, somethird-party products that have been added to one of the main menu options.These value-added extensions usually range from various production supportand/or disaster recovery software to DASD management and/or security software.

With VS .NET, you also have independent software vendors (ISVs) integratingtheir extensions into VS .NET. To make this possible, Microsoft offers a programcalled the Visual Studio .NET Integration Program (VSIP). Microsoft providessupport to partners who want to create products that integrate into VS .NET. These products would program against the VS .NET automation object model thatMicrosoft provides.

Two examples of this type of collaboration that I discuss in this book are as follows:

  • Fujitsu Software Corporation's NetCOBOL for .NET product (discussed in the section "COBOL for .NET" later in this chapter)

  • Crystal Decisions' Crystal Reports for Visual Studio .NET product (discussed in Chapter 16)

There are many other good products available. In fact, the number of ISVs ready to "plug" their proprietary products into VS .NET is rapidly increasing. This is, by the way, a good thing. The more ISVs that create products for VS .NET, the more certain the long-term success of the .NET platform becomes.

VS .NET Customization Through Automation

You may recall the experience I shared with you earlier that dealt with the creation of an application based on script languages and customized ISPF Dialogs/PDF technologies (see the section "Client-Side Scripting Languages" in Chapter 4). Well, as that experience illustrated , it is certainly possible (and common) to create customized ISPF screens. Typically, mainframe ISPF Dialogs/PDF screen development is aimed at adding value and even improving productivity.

Likewise, you may choose to modify VS .NET with programmatic automations. That is right: You do not need to get into the formal VSIP to be able to programmatically customize VS .NET. The VSIP would be appropriate if you wanted to market your customizations. However, if you are doing something on a smaller or private scale, Microsoft has an answer for your needs: customization .

Earlier in this chapter in the section "My Profile," I discussed VS .NET features that allow you to configure your personal preferences in VS .NET. The opportunities available using customization go far beyond the options reviewed earlier for configuration. Microsoft has made customization of VS .NET possible by exposing the entire Visual Studio .NET automation object model.

start sidebar
What Is an Object Model?

Having an object model is equivalent to building custom ISPF Dialogs/PDF screens and having someone provide information that explains every single detail needed to accomplish your task, at one time. (See the section "Abstraction" in Chapter 4 for details.) For example, imagine if someone created a diagram that laid out all of the ISPF Dialogs/PDF Display, Variable, and Table Services. Additionally, suppose that all of the names of the ISPF development libraries were included in the diagram (for example, ISPSLIB, ISPTLIB, ISPMLIB, and so on). Picture this type of graphical aid presented in a hierarchal (flowchart-style) structure and you now have a rough idea of what an object model looks like.

end sidebar
 

On the mainframe, you typically used CLIST and/or REXX to implement the logic portions of the ISPF Dialog/PDF modules. With VS .NET, you could use VB .NET or NetCOBOL.

VS .NET provides three options for those looking to program against the Visual Studio .NET automation object model:

  • Add-ins

  • Wizards

  • Macros

Depending on your particular need, one of the preceding three approaches may be more appropriate than the others. Of the three approaches, the macros option may be the easiest way to get started. It offers a Record feature that will build your programming code for you. You can then view the code [3] that it creates for you and modify it as needed.

Tip  

The program logic associated with macros automation is displayed and edited in the Macros IDE, which is an IDE within the VS .NET IDE. You can access the macro Record feature from the Macros IDE. From within VS .NET, you have two ways to launch the Macros IDE: either select Tools Macros Macros IDE or press Alt-F11.

The opportunities available through programmatically manipulating ISPF panels have always interested me. If you share that sort of interest, consider looking further into this topic with VS .NET. Naturally, adding value and gaining productivity would be the motivating factors to undertake this challenge.

Cross-Reference  

From within the MSDN site ( http://msdn.microsoft.com/ ), navigate to /library/en-us/vsintro7/ html/vxoriManipulatingDevelopmentEnvironment.asp . This area provides lots of useful information related to VS .NET customization and automation.

Working Outside of VS .NET

Now it is time to learn about those few times when you might perform a development task outside of the VS .NET environment. With everything you have read, you may ask, why would anyone ever work outside of VS .NET? After all, it is such a great IDE.

Well, let's not forget that even on the mainframe, you occasionally found the need to do some things outside of ISPF. You know, I'm referring to those times that you chose ISPF Menu Option 6 to access the Command window. Perhaps there was a mainframe CLIST or TSO command that you needed to execute. In some cases, you may have exited ISPF completely to work from the TSO READY prompt.

In this section, I review the following examples of common situations in which temporarily working outside of VS .NET is justified:

  • Editing in Notepad

  • Executing programs and commands at a command prompt

  • Using utilities provided by ISVs

Editing in Notepad

In the section "Microsoft Office and Notepad" in Chapter 3, I emphasized the importance of learning the tools available on the Windows platform. Notepad is one of those types of tools. Now I will give you one specific example of needing to use this tool.

Say that you have developed a great application and deployed it to your production servers. Time passes and one day your application crashes. For the sake of this example, say that you are away from your desk (and thus away from your great VS .NET development environment) when the crash happens. You happen to be in an area where a group of people is fulfilling an operations/production support role and the group is asking you to fix your application. Using the great logging and tracing information output from your application, the group members have narrowed the problem down to one line of code. This troubleshooting information has been logged in a well-publicized report.

Just as you are about to mention that you need to get back to your desk (and back to VS .NET), the president of the company walks in and he's holding the well-publicized report in his hand. The president then asks why the online application is taking so long to fix, given that only one line of code needs to be corrected.

Continuing with this imaginary example, you, thinking quickly, ask one of the production support staff members if you can access the server where your application is running. You see the file that needs to be changed. Knowing that development tools such as VS .NET are not installed on the production server, you launch the Notepad editor. Looking at the file in question, you notice that the file is text based (i.e., HTML with VBScript) and does not require compilation after editing, so you make the one-line correction and save the file. Then, as you are signaling to the production support staff that all has been resolved (using the traditional two-thumbs-up sign), you notice that the president of the company is nodding his head in definite approval.

OK, how is that? I hope that you are convinced that there are some occasions when a very crude, feature-stripped editor such as Notepad (which happens to be available on all Windows servers, even production servers) can be useful.

Caution  

It is generally not advisable to edit production files directly while on a production server. It is generally against all modern security standards for an application developer to have access to production servers. It is generally bad practice to immediately deploy program code without taking the code through an extensive quality assurance and change control process.

Executing Programs and Commands at a Command Prompt

A few situations you will encounter will require you to execute programs and commands using VS .NET's command prompt. As Figure 5-12 shows, you access VS .NET's command prompt by clicking the Start button and selecting Programs Microsoft Visual Studio .NET Visual Studio .NET Tools Visual Studio .NET Command Prompt.

click to expand
Figure 5-12: Displaying the Visual Studio .NET Command Prompt menu option

For those instances when you need to access the command prompt, you will need to familiarize yourself with a couple of basic DOS commands: CD for changing the directory/ path and DIR/P for displaying a list of files in a particular directory. OK, before you drop this book to the floor, let me explain.

If you were teaching someone who was transitioning to the mainframe about ISPF, eventually you would have to mention something about CLIST, right? And what does CLIST contain? TSO commands. So, in this context, look at DOS commands on Windows as being equivalent to TSO commands on the mainframe. In the cases where you occasionally do things outside of VS .NET, I will be sure to provide adequate detail to walk you through some of these tricky areas when appropriate.

The VS .NET command prompt has many uses. However, in Table 5-3 I mention only a few uses that pertain to VS .NET development in addition to the chapters of this book where I discuss them in context.

Table 5-3: Command Prompt Uses and Related Chapters

COMMAND PROMPT USE

CHAPTER

Executing stand-alone programs (EXE files)

Chapter 6

Creating and using strong-named assemblies

Chapter 18

Adding a Serviced Component to COM+

Chapter 19

The Windows Command Prompt

There is another command prompt. The other one is referred to as the Windows command prompt, which you launch by clicking the Start button, selecting Run, typing cmd , and clicking OK. At the Windows command prompt, you use DOS commands to interact with the operating system. Compare the VS .NET command prompt with the mainframe ISPF Menu Option 6 command. Then, compare the Windows command prompt with the mainframe command prompt that you access when you totally leave ISPF to go to native TSO.

Tip  

When you get a chance, look into using the Windows command prompt to execute the program named DEVENV.EXE. When you execute this program, you will launch VS .NET. Now, imagine that you combined the execution of this program with some other program logic. Wow! The list of automation opportunities you can get yourself into is endless.

The Command Window

This other "command prompt" is actually referred to as the Command window. Additionally, this other command prompt is accessed from within the VS .NET IDE. I mention it here just to avoid confusion with the other two command prompts I just discussed.

Let me first briefly mention that the VS .NET IDE has multiple windows (all of which you will learn about in this book). One of those windows is the Command window, which you launch from within the VS .NET IDE by selecting View Other Windows Command Window. This VS .NET Command window has two modes: Command and Immediate. In Command mode, you can enter VS .NET IDE commands (as opposed to DOS commands).

Tip  

During development debugging, the VS .NET Command window (in either Command mode or Immediate mode) will prove to be very useful. I provide examples of its use in Appendix A.

Using Utilities Provided by ISVs

There are many great products on the market. (It so happens that Microsoft doesn't make all of them.) Many ISVs have leveraged the VSIP and developed products that are integrated right into VS .NET. I mentioned some of these products earlier this chapter in the section "VS .NET Customization Through Integration." Still, some great ISV products are not integrated into VS .NET (for various reasons). By the way, even some of Microsoft's own products are not integrated into VS .NET (yet).

The point being, there will be times when you work outside of VS .NET during the application development life cycle. In some cases, you will access software products via a command prompt (see the section "Executing Programs and Commands at a Command Prompt" earlier in this chapter). In other cases, you will access ISV products by clicking the Start button and selecting Programs.

Some of you will even choose to regularly edit certain file types outside of the VS .NET IDE. There is a product that you can install on your PC that looks and works similar to ISPF. The one that I am aware of is made by Command Technology Corporation ( http://www.commandtechnology.com/ ). The product, SPF/SourceEdit (SPF/SE), is 32-bit application that you can run on all current versions of Windows.

Additionally, companies such as Micro Focus and Fujitsu have great Windows-based IDEs (workbenches) that are all worthy of mention. The challenge you will face with regard to some of the ISV products is choosing when to install them and when not to install them. With that challenge, I will only advise you to keep integration and simplification in mind. Personally, I try to minimize the number of vendors whose products I use. Microsoft being one vendor, I start to count conservatively from there.

Cross-Reference  

See the sidebar titled "A Word of Caution About Installations" in Chapter 3 to review the recommended considerations before installing software.

Besides that, advising you on each product is beyond the scope of this book. Also, considering that I am not familiar with each and every product on the market (and who is?), it would likely be unethical for me to attempt to persuade you away from one product or the other.

Tip  

Keep integration and simplification in mind when you install new products.

It is possible that you will not need to worry that much about the available product choices. Some of these product choices will be made for you if you happen to work for a company of considerable size . For better or worse , the person signing the checks (or approving your department's expense budget) ultimately calls the shots. If you have a chance to influence product choices, consider yourself lucky (hence, the value of at least being familiar with the available choices).

Speaking of choices, choices will be made (by you or someone in your organization) regarding the available .NET programming languages. The following section introduces you to the .NET languages chosen for discussion in this particular book.

[1] I defer discussion of the XML Web Services screen view and Web Hosting screen view Start Page options until later chapters. I discuss the XML Web Services screen view in Chapter 13, and I discuss the Web Hosting screen view in Chapter 17.

[2] The project types that you have available may vary depending on the edition of VS .NET you have installed and which options you chose during installation. As I mentioned earlier, the examples I present in this book are based on the Enterprise Architect edition of VS .NET, version 1.0.

[3] There is one caveat: The code that VS .NET creates for you using the macro Record feature is in VB .NET.




COBOL and Visual Basic on .NET
COBOL and Visual Basic on .NET: A Guide for the Reformed Mainframe Programmer
ISBN: 1590590481
EAN: 2147483647
Year: 2003
Pages: 204

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net