ADEV 239 Microsoft .NET and GeoMedia REDLANDS SOFTWARE, INC. Richard McFarland rmcfar@redlands-sw.com REDLANDS SOFTWARE, INC. Overview • What is .NET? • How do I get started? • What about .NET and GeoMedia? • Example Applications •Q&A REDLANDS SOFTWARE, INC. What is .NET? • It is huge, It is software • Provides an software environment to develop and execute modern applications • Like E-Business, Grid Computing, Web Services, Utilility computing, Autonomic computing, … REDLANDS SOFTWARE, INC. What is .NET? • Competitive products include J2EE and IBM Websphere • IBM has defined e-business on demand as an enterprise whose business processes -integrated end-to-end across the company and with key partners, suppliers, and customers -- can respond with speed to any customer demand, market opportunity, or external threat. REDLANDS SOFTWARE, INC. What is .NET? • This new software model integrates horizontally to link data, legacy systems, and custom applications, and this integration requires new levels of data integrity and transaction processing REDLANDS SOFTWARE, INC. What is .Net? • It allows an enterprise to connect with other enterprises, other business processes, other applications, and billions of pervasive computing devices • Open specifications and industry standards are the only realistic way that all of this can connect REDLANDS SOFTWARE, INC. What is .Net? • Grid computing allows distributed computing resources to be shared and managed as if they were one, large, virtual computer – like water, electricity, gas • Think of the water supply – its completely virtualized. Our interface is a water spigot! • See Scientific American, March 2003 REDLANDS SOFTWARE, INC. What is .Net? • Autonomic computing • Autonomic systems will self-manage, selfprotect, balance workloads, install device drivers, and upgrade software • See Scientific American, June 2003 REDLANDS SOFTWARE, INC. What is .Net? • Microsoft .NET comprises most of these concepts, and is built upon … • The .NET Framework • Microsoft Visual Studio® .NET • Servers like Microsoft Windows® Server 2003, Microsoft SQL Server™, and Microsoft BizTalk® Server REDLANDS SOFTWARE, INC. What is .NET • Client software, such as Windows XP, Windows CE, and Microsoft Office XP • The .NET Framework is an integral Windows component for building and running the next generation of software applications and Web services REDLANDS SOFTWARE, INC. .NET Framework XML Web Web Services Forms ASP.Net Windows Forms Data and XML Classes Base Framework Classes Common Language Runtime REDLANDS SOFTWARE, INC. The .NET Framework • 20 different programming languages • Plumbing for developing software built in, enabling developers to focus on the core business logic code • Easier to build, deploy, and administer secure, robust, high performance applications REDLANDS SOFTWARE, INC. The .NET Framework • Common Language Runtime or CLR is the core of .NET • Like an operating system running on another operating system • Like Java Virtual Machine, or the VB runtime • Abstracts the operating system even more • Windows itself is to close to the hardware • Is portable in theory (BSD Unix) REDLANDS SOFTWARE, INC. CLR XML Web Web Services Forms ASP.Net Windows Forms Data and XML Classes Base Framework Classes Common Language Runtime REDLANDS SOFTWARE, INC. CLR • The CLR is different • A .NET compiler generates binary executable software in a p-code format called Common Intermediate Language or CIL • At runtime the CLR re-compiles or JITcompiles (Just In Time) the CIL into native code such as x86 machine language. REDLANDS SOFTWARE, INC. CLR • “Managed” code runs in the native machine language of the system on which it is launched • The first invocation of an assembly is cached in its native machine code for subsequent invocations REDLANDS SOFTWARE, INC. Framework Class Library FCL • Framework Class Library or FCL • The FCL contains hundreds of classes • Classes pervade every aspect of .NET REDLANDS SOFTWARE, INC. Framework Class Library FCL • Framework Class Library reflects .NET’s object-oriented nature. • Most objects are extensible through class inheritance and other interesting .NET techniques • The FCL is one of the most extensive class libraries REDLANDS SOFTWARE, INC. Base Framework Classes XML Web Web Services Forms ASP.Net Windows Forms Data and XML Classes Base Framework Classes Common Language Runtime REDLANDS SOFTWARE, INC. FCL - Base Classes • Base classes provide standard functionality • Input/output, string manipulation, security management, network • Communications, thread management, text management • User interface design features. REDLANDS SOFTWARE, INC. Data and XML Classes XML Web Web Services Forms ASP.Net Windows Forms Data and XML Classes Base Framework Classes Common Language Runtime REDLANDS SOFTWARE, INC. FCL - Data and XML Classes • ADO.NET classes enable developers to interact with data accessed in the form of XML through the OLE DB, ODBC, Oracle, and SQL Server interfaces • XML classes enable XML manipulation, searching, and translations REDLANDS SOFTWARE, INC. ASP.Net and Window Forms XML Web Web Services Forms ASP.Net Windows Forms Data and XML Classes Base Framework Classes Common Language Runtime REDLANDS SOFTWARE, INC. FCL - ASP.NET classes • The ASP.NET classes support the development of Web-based applications and Web services. • Web Forms are analogous to Windows Forms and the design time and execution environments look and feel very much the same REDLANDS SOFTWARE, INC. FCL – Windows Forms • The Windows Forms classes support the development of desktop-based smart client applications REDLANDS SOFTWARE, INC. .NET Framework • Class libraries provide a common, consistent development interface across all languages supported by the .NET Framework • CLR and the .NET Frameworks allow the seamless reuse of code written in any supported language • But also allows the components to be extended in another language REDLANDS SOFTWARE, INC. .NET Framework • The .NET Framework is freely downloadable • http://msdn.microsoft.com/netframew ork/downloads/default.aspxs • Its about 23 MB • Once installed, you can run any .NET application REDLANDS SOFTWARE, INC. Building .NET Applications • The .NET Frameworks contains a collection of tools and compilers to generate .NET applications • MicroSoft provides C#, VB.NET, C++, and J# • There are at least 20 other compilers from other sources. • You can generate .NET apps with just the Framework. REDLANDS SOFTWARE, INC. Visual Studio .NET • However, to be productive, most developers use Visual Studio .NET • Comprises a single Integrated Development Environment for the Framework Classes and all .NET languages • Many, many tools to develop apps • Application delivery packaging REDLANDS SOFTWARE, INC. How do get started? • Develop on Windows 2000 or Server, Windows XP Professional or Server • Target these same platforms • Make sure Internet Information Services are installed and functioning • Buy and install Visual Studio .Net • Install your GeoMedia products REDLANDS SOFTWARE, INC. How do get started? • VB6 and C++ 6 will run just fine as well at the same time • Utilize the many free or cheap MS local technical sessions • Consult the many technical manuals available at your local book store • Utilize the Microsoft .NET online areas, and other services like CodeProject • MSDN Magazine REDLANDS SOFTWARE, INC. What language to use • Probably currently easier to use VB.Net than C# for GeoMedia apps • More enterprise type apps and examples seem to be biased towards C#. MSDN magazine seems to be more C# oriented • Most of the Framework and Visual Studio .NET written in C# • C# apps are a little faster REDLANDS SOFTWARE, INC. What language to use • If you are a C or C++ developer, C# for sure • If you’ve always wanted to learn C++, use C#. In many ways, C# is a leaner easier C++ • You can still write standard MFC and ATL C++ applications. REDLANDS SOFTWARE, INC. What about .NET and GeoMedia? • Version 4 and 5 GeoMedia seem to work pretty well with .NET • Version 4 GeoMediaWebMap will not • Not all objects seem to work with .NET • Customer requirements will probably dictate the time when all objects will work well with .NET REDLANDS SOFTWARE, INC. What about .NET and GeoMedia? • In the mean time, I would recommend getting started on small scale apps • Also applications, particularly Web Apps, in the portions were GeoMedia is not utilized • A major focus in .NET is Internet oriented applications and WebServices REDLANDS SOFTWARE, INC. What about .NET and GeoMedia? • COM versus .NET • COM will not disappear, but .NET Framework is a bigger, better, faster COM • But .NET provides many tools/classes for working with legacy COM object hierarchies like GeoMedia • What is Intergraph’s direction? REDLANDS SOFTWARE, INC. City View Example • .Net truly is a Rapid Develop Environment • CityView is a perfect example of the power of .NET to utilize Web Services to create interesting applications. • Code… REDLANDS SOFTWARE, INC. Web Services – City View REDLANDS SOFTWARE, INC. GeoMedia Example • A Water Company wants to maintain an atlas sheet approach for the maintenance crews • Various interface mechanisms and plotting mechanisms are based on a standard tiling scheme ( 3000’ X 2000’ ) • Sheets are being added somewhat frequently. REDLANDS SOFTWARE, INC. GeoMedia Example • Need a tool to generate all the interface/generation mechanisms from single source 65671820 65671822 65671834 65671836 65671838 65701812 65701814 65701816 REDLANDS SOFTWARE, INC. ASP.Net Example • Our Web applications tend to have many interface mechanisms for map navigation • ASP.NET provides a rich environment for extending existing controls • And debugging ASP really works! REDLANDS SOFTWARE, INC. Conclusion • What is .NET? • How do I get started? • What about .NET and GeoMedia? • Example Applications •Q&A REDLANDS SOFTWARE, INC.