OCX Technology : Field & Mapping Applications
Sandy Cobb Geographic Sciences, Inc. 4609 Lowell Ave. Tarnpa, Florida 33629 (800) 474-6277 Email : geoscinc@gte.net
Abstract
More customers. Larger service area. Same or less staff. Leveraging limited assets is a critical concern for deregulated utilities, especially in emergency outage situations. Graphical work order management and autonomous navigation has become a critical success factor (C SF) to maintain budget and meet end-user demand. Due to the relatively limited mapping and navigation skills of service and restoration crews, interfaces are becoming a focal point. Incorporating a variety of off-the-shelf OCX technologies, developers no longer need to concern themselves as much with software coding, but rather with making the graphical user interfaces as simple and intuitive to use as possible. A variety of stock OCX technologies used for mapping, navigation, scheduling, and GPS will be examined. This presentation will focus on the successful implementation of a mapped based, wireless communication system for outage restoration and work order management. We will review OCX technologies used for mapping and navigation using VB5. Also considered is how the use of OCX technologies in an application server component tier can streamline development and create programming maintenance efficiencies for use with multiple front end tools supporting a 3-tier architecture. Introduction What is an OCX? Who should consider using it? Where can it be used? What are the budget and managed cost considerations? How will using OCX technology assist you in object-oriented development, supporting a 3-tiered architecture and eliminating code reuse? This paper presents a look at the significance of OCX controls and uses a sample program to illustrate how developers can make visual and functional enhancements to field mapping applications. OCX Technology What is an OCX? ActiveX controls are part of the componentware OCX family, designed to run in any Windows application that is OLE-enabled. There are 3 basic types of controls - Built-in, User Controls, and ActiveX. ActiveX Controls are independent software components that can be quickly and easily added to development projects using tools like Visual Basic, C++, Java, PowerBuilder, etc.. OCX controls can execute events, and give the developer the ability to code methods, properties and behaviors. Just like built-in Visual Basic controls implement simple user interfaces and logic, ActiveX controls feature more complex interfaces and behaviors. They range from the simple, such as the ability to display text, to complex, such as displaying a mapping file or graphics file and navigating through those maps. If you have features and behaviors you need to add to your application, look at OCX technology, it might be just what you’re looking for. All you have to do is install a control and use it. Close integration of OCX support with popular drag-and-drop design interface GUI client fronts (like VB5) enables developers to build applications using OCX components as if they were native controls. Who should consider using an OCX? For utilities deploying field crews to maintain facilities and or respond to outages for restorations, technologies exist today to eliminate the use of paper maps and documents in the field, thereby providing more efficient field-to-office operations. Deregulation experience is causing utilities to compete for customers; compete on the basis of cost, quality and service. In such competitive environments, customers naturally look to the lowest-cost provider. This means utilities must streamline workflow with technology and heavily weigh the managed costs (maintenance) for continued development and support When migrating mission-critical systems from mainframes to client/server 3-tiered architectures, the use of OCX controls should be considered seriously. Supporters of 3-tiered architectures want to build and maintain their core business logic functions in only one standardized set of code within the application server tier. The application server component can then be used with any one of the client side front end tools. Interfaces become generic, flexible and scalable to the multiple front-end tools (Tier-1) as well as to Client tier or back end data stores (Tier-3). This allows the core business logic functions to maintain platform independence from front-end tools and separates itself from the inherent problems of those front-end or data store tools. Why Should I consider OCX technolom? Most see Microsoft Windows as a major breakthrough for field and GIS applications for several reasons. Not only will the ease-of- use of Windows be of benefit in the field, but as office systems move to Windows applications, the downloading of subsets of office applications to field devices will be much easier, and the user interface on the field and office systems will be very similar, if not the same. This will facilitate movement of personnel between the office and the field, and make the development of new applications much easier. OCX technology is an acceptable, emerging technology for today’s NCA (Network Computing Architecture) framework. As more and more companies move towards client/server, fully integrated Windows networks, 32-bit architecture is the way. Use of OCX technology can minimize dependencies on fading technologies and can also modularize maintenance issues. Modularization allows departments to use their own front-end tools and pick and choose any or all of the core business logic components they need. And who owns the code? With OCXS, the proprietary knowledge and source code of the OCX belongs to the originator of the OCX, but the code you write around it is yours. With OCXS, coding updates are less painful due to the fact that you just have to change the interaction with the OCX. Also, these changes are made through popular programming software like Visual Basic or C++ - and technical support for such areas are much more abundant and less costly than specialized software programmers. Also, highly technical, niche OCXS (like map viewing) can offer usable solutions for companies with no map programming language knowledge necessary. This alleviates the need to hire and keep highly trained, niche programming specialists and, in turn, offers the opportunity to keep broad based programmers with expertise in your business logic fi.mctions. What are the Benefits of OCX? In the world of Microsoft Windows, solutions based on Windows Custom Controls, VBX controls, and OCXS provide application developers with an effective, accessible way of redistributing high levels of functionality by other means. Because they encapsulate complex fimctionality and present developers with a simple, uniform interface, OCXS are good examples of efficient code reuse. Consequently, it’s easy to add enhancements to an application that is an OCX container. By using OCX controls to add third-party functionality to your applications, you can extend the reach of your custom applications. Success of componentware can be best attributed to the simple precept of providing self-contained software components compliant with a common standard. Through the use of OCXS, no one reinvents the wheel, they just pick out which one they want and use it. OCXS allow programmers to take advantage of someone else’s sweat and time. This can lower costs, reduce maintenance, and offer relationship relief from high-priced development teams. OLE acts like a document-centric adhesive between objects “Because OLE integrates the functionality of dij%erent object applications in a single application, users can interact with that one application and concentrate on their tasks instead of being concerned with switching between the various object applications ... Using OLE(components), developers can deliver applications quickly and inexpensively. The power (of OLE) lies in the face that users can plug sof~are components~om one vendor seamlessly into sof~are components from other vendors, incorporating specialized componentsfiom multiple vendors in their applications.”1 Reinventin~ the Wheel - NOT! Why do OLE controls get so much attention? Application developers know that reinventing algorithms and code is a waste of time, yet it happens repeatedly at every level in most organizations. Although object orientation promises a panacea for code reuse, the benefits are not free: Object-oriented development requires careful planning and a clear vision of design objectives, and it helps immeasurably if early design decisions are well founded. Managed Costs In the age-old effort to manage development and maintenance budgets, guidelines should be followed to evaluate software costs. Every system or program needs to have the proper design and data normalization, but the cost of actually writing the program and the cost of those programmers (expertise level and availability) are import criteria. Upgrades can be a painful, almost nauseous process - especially if you’re lacking in design and/or qualified staff. For a critical system that includes 250,000 lines of original code, the cost to update that thing or even try to add a new piece it could be costly - really costly if you have to rely on the consulting firm or software development house that originally wrote the code. Consideration on who will maintain the source code (is it easier for a third party or an internal group) also effects yearly budgets. If you use an outside source, what are their support costs? If you want a particular function or capability for your applications, is it easier to develop something from scratch or to purchase an OCX? OCXS can range in cost from free shareware to hundreds of dollars depending on the type of OCX (broad based or niche). Additionally to buying the OCX, several require the purchase of a run-time license that is multiplied by the number of users or products you install. OCXS are not compiled into the executable program and must be distributed in addition to the program. Most software products offer Wizards to assist in completing this task. As long as the OCX maintains consistency between upgrades, upgrading your application (like from 16-bit to 32-bit) can be as simple as registering the OCX and recompiling your program. Using an OCX As stated above, OCX controls provide methods, properties and behaviors that can be manipulated by the programmer. Some OCX controls are packed with extra goodies, like a sample form, running examples, or an interface. Programmers can take advantage of these goodies and look at the “glue code” that was used to kick off a method or behavior. For example, in Locator VBX and OCX, there is a sample form. In the picture below we have the Locator VBX sample form opened as well as the form we want to develop. On the sample form, buttons are defined with functioning “glue code” for the Visual Basic programmer. So, if a programmer wants to view a type of graphics file (we are using ELECTRIC as an example), all the programmer needs to do is to double-click on the button that says “Turn ON ‘ Teck Choo Tan, OLE and Developer/2000 File Type” and they can see example code. This code can then be copied into their own program button procedure named “Show Electric Files”.
Conclusion OCX technology represents an emerging, key component to Windows based clientiserver and field applications. As companies focus on streamlining programming due to budget and economic events, OCX technology provides “chunks” of logic and technology to permit programmers to focus on the task at hand, and not on how to create the task or function itself. This re-usable, moveable, pluggable and scalable type of software offers plenty for its cost. Additionally, programmers can add OCX functionality that will not only benefit the developer, but also provide easy interface solutions for field and non-technical personnel. In very simple terms, use of OCXS in object-oriented programming boils down to being just a different way of looking at problems--with the goal of creating your business applications as quickly as possible, with as few bugs as possible, while building on as much existing work as possible. Those who choose to grasp this technology will find managed costs for development and maintenance to be acceptable, providing quality services for today’s and tomorrow’s market place. References
| ||
|
|