R EDLANDS SOFTWARE, INC. ADEV 239 Microsoft.NET and GeoMedia REDLANDS SOFTWARE, INC. Richard...

42
R R EDLANDS EDLANDS SOFTWARE, INC. SOFTWARE, INC. ADEV 239 ADEV 239 Microsoft .NET and Microsoft .NET and GeoMedia GeoMedia REDLANDS REDLANDS SOFTWARE, INC. SOFTWARE, INC. Richard McFarland Richard McFarland [email protected] [email protected]
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    220
  • download

    0

Transcript of R EDLANDS SOFTWARE, INC. ADEV 239 Microsoft.NET and GeoMedia REDLANDS SOFTWARE, INC. Richard...

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

ADEV 239ADEV 239Microsoft .NET and Microsoft .NET and GeoMediaGeoMedia

REDLANDSREDLANDS SOFTWARE, INC.SOFTWARE, INC.Richard McFarlandRichard McFarland

[email protected]@redlands-sw.com

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

OverviewOverview

• What is .NET?What is .NET?

• How do I get started?How do I get started?

• What about .NET and GeoMedia?What about .NET and GeoMedia?

• Example ApplicationsExample Applications

• Q & AQ & A

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What is .NET?What is .NET?

• It is huge, It is softwareIt is huge, It is software

• Provides an software environment Provides an software environment to develop and execute modern to develop and execute modern applicationsapplications

• Like E-Business, Grid Computing, Like E-Business, Grid Computing, Web Services, Utilility computing, Web Services, Utilility computing, AutonomicAutonomic computing, …computing, …

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What is .NET?What is .NET?

• Competitive products include J2EE and Competitive products include J2EE and IBM Websphere IBM Websphere

• IBM has defined IBM has defined e-business on demande-business on demand as as an enterprise whose business processes -- an enterprise whose business processes -- integrated end-to-end across the company integrated end-to-end across the company and with key partners, suppliers, and and with key partners, suppliers, and customers -- can respond with speed to any customers -- can respond with speed to any customer demand, market opportunity, or customer demand, market opportunity, or external threat.external threat.

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What is .NET?What is .NET?

• This new software model This new software model integrates horizontally to link integrates horizontally to link data, legacy systems, and custom data, legacy systems, and custom applications, and this integration applications, and this integration requires new levels of data requires new levels of data integrity and transaction integrity and transaction processingprocessing

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What is .Net?What is .Net?

• It allows an enterprise to connect It allows an enterprise to connect with other enterprises, other with other enterprises, other business processes, other business processes, other applications, and billions of applications, and billions of pervasive computing devicespervasive computing devices

• Open specifications and industry Open specifications and industry standards are the only realistic standards are the only realistic way that all of this can connect way that all of this can connect

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What is .Net?What is .Net?

• Grid computing allows distributed Grid computing allows distributed computing resources to be shared computing resources to be shared and managed as if they were one, and managed as if they were one, large, virtual computer – like water, large, virtual computer – like water, electricity, gaselectricity, gas

• Think of the water supply – its Think of the water supply – its completely virtualized. Our completely virtualized. Our interface is a water spigot!interface is a water spigot!

• See Scientific American, March 2003See Scientific American, March 2003

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What is .Net?What is .Net?

• Autonomic computingAutonomic computing

• Autonomic systems will self-Autonomic systems will self-manage, self-protect, balance manage, self-protect, balance workloads, install device drivers, workloads, install device drivers, and upgrade softwareand upgrade software

• See Scientific American, June 2003See Scientific American, June 2003

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What is .Net?What is .Net?

• Microsoft .NET comprises most of these Microsoft .NET comprises most of these concepts, and is built upon …concepts, and is built upon …

• The .NET FrameworkThe .NET Framework

• Microsoft Visual Studio® .NET Microsoft Visual Studio® .NET

• Servers like Microsoft Windows® Server Servers like Microsoft Windows® Server 2003, Microsoft SQL Server™, and 2003, Microsoft SQL Server™, and Microsoft BizTalk® ServerMicrosoft BizTalk® Server

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What is .NETWhat is .NET

• Client software, such as Windows XP, Client software, such as Windows XP, Windows CE, and Microsoft Office XPWindows CE, and Microsoft Office XP

• The .NET Framework is an integral The .NET Framework is an integral Windows component for building and Windows component for building and running the next generation of software running the next generation of software applications and Web servicesapplications and Web services

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

.NET Framework.NET Framework

                                                                                                                                                               

Common Language Runtime

Base Framework Classes

Data and XML Classes

XML Web Services

Web Forms

WindowsForms

ASP.Net

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

The .NET FrameworkThe .NET Framework

• 20 different programming languages20 different programming languages

• Plumbing for developing software built in, Plumbing for developing software built in, enabling developers to focus on the core enabling developers to focus on the core business logic code business logic code

• Easier to build, deploy, and administer Easier to build, deploy, and administer secure, robust, high performance secure, robust, high performance applications applications

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

The .NET FrameworkThe .NET Framework

• Common Language Runtime or CLR is the Common Language Runtime or CLR is the core of .NETcore of .NET

• Like an operating system running on Like an operating system running on another operating systemanother operating system

• Like Java Virtual Machine, or the VB Like Java Virtual Machine, or the VB runtimeruntime

• Abstracts the operating system even moreAbstracts the operating system even more

• Windows itself is to close to the hardwareWindows itself is to close to the hardware

• Is portable in theory (BSD Unix)Is portable in theory (BSD Unix)

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

CLRCLR

                                                                                                                                                               

Common Language Runtime

Base Framework Classes

Data and XML Classes

XML Web Services

Web Forms

WindowsForms

ASP.Net

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

CLRCLR

• The CLR is differentThe CLR is different

• A .NET compiler generates binary A .NET compiler generates binary executable software in a p-code format executable software in a p-code format called called Common Intermediate Common Intermediate LanguageLanguage or CIL or CIL

• At runtime the CLR re-compiles or JIT-At runtime the CLR re-compiles or JIT-compiles (Just In Time) the CIL into compiles (Just In Time) the CIL into native code such as x86 machine native code such as x86 machine language.  language. 

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

CLRCLR

• ““Managed” code runs in the native Managed” code runs in the native machine language of the system machine language of the system on which it is launchedon which it is launched

• The first invocation of an The first invocation of an assembly is cached in its native assembly is cached in its native machine code for subsequent machine code for subsequent invocationsinvocations

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

Framework Class Library Framework Class Library FCLFCL• Framework Class LibraryFramework Class Library or or

FCLFCL

• The FCL contains hundreds of The FCL contains hundreds of classesclasses

• Classes pervade every aspect Classes pervade every aspect of .NETof .NET

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

Framework Class Library Framework Class Library FCLFCL• Framework Class Library Framework Class Library

reflects .NET’s object-oriented reflects .NET’s object-oriented nature.nature.

• Most objects are extensible through Most objects are extensible through class inheritance and other class inheritance and other interesting .NET techniquesinteresting .NET techniques

• The FCL is one of the most extensive The FCL is one of the most extensive class libraries  class libraries 

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

Base Framework ClassesBase Framework Classes

                                                                                                                                                               

Common Language Runtime

Base Framework Classes

Data and XML Classes

XML Web Services

Web Forms

WindowsForms

ASP.Net

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

FCL - Base ClassesFCL - Base Classes

• Base classes provide standard Base classes provide standard functionalityfunctionality

• Input/output, string manipulation, Input/output, string manipulation, security management, network security management, network

• Communications, thread Communications, thread management, text managementmanagement, text management

• User interface design features.User interface design features.

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

Data and XML ClassesData and XML Classes

                                                                                                                                                               

Common Language Runtime

Base Framework Classes

Data and XML Classes

XML Web Services

Web Forms

WindowsForms

ASP.Net

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

FCL - Data and XML FCL - Data and XML ClassesClasses• ADO.NET classes enable ADO.NET classes enable

developers to interact with data developers to interact with data accessed in the form of XML accessed in the form of XML through the OLE DB, ODBC, through the OLE DB, ODBC, Oracle, and SQL Server interfacesOracle, and SQL Server interfaces

• XML classes enable XML XML classes enable XML manipulation, searching, and manipulation, searching, and translationstranslations

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

ASP.Net and Window ASP.Net and Window FormsForms

                                                                                                                                                               

Common Language Runtime

Base Framework Classes

Data and XML Classes

XML Web Services

Web Forms

WindowsForms

ASP.Net

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

FCL - ASP.NET classesFCL - ASP.NET classes

• The ASP.NET classes support the The ASP.NET classes support the development of Web-based development of Web-based applications and Web services.applications and Web services.

• Web Forms are analogous to Web Forms are analogous to Windows Forms and the design Windows Forms and the design time and execution environments time and execution environments look and feel very much the samelook and feel very much the same

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

FCL – Windows FormsFCL – Windows Forms

• The Windows Forms classes The Windows Forms classes support the development of support the development of desktop-based smart client desktop-based smart client applicationsapplications

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

.NET Framework.NET Framework

• Class libraries provide a common, Class libraries provide a common, consistent development interface consistent development interface across all languages supported by across all languages supported by the .NET Frameworkthe .NET Framework

• CLR and the .NET Frameworks CLR and the .NET Frameworks allow the seamless reuse of code allow the seamless reuse of code written in any supported languagewritten in any supported language

• But also allows the components to But also allows the components to be extended in another languagebe extended in another language

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

.NET Framework.NET Framework

• The .NET Framework is freely The .NET Framework is freely downloadabledownloadable

• http://msdn.microsoft.com/netfrahttp://msdn.microsoft.com/netframework/downloads/default.aspxsmework/downloads/default.aspxs

• Its about 23 MBIts about 23 MB

• Once installed, you can run Once installed, you can run any .NET applicationany .NET application

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

Building .NET ApplicationsBuilding .NET Applications

• The .NET Frameworks contains a The .NET Frameworks contains a collection of tools and compilers to collection of tools and compilers to generate .NET applicationsgenerate .NET applications

• MicroSoft provides C#, VB.NET, C++, MicroSoft provides C#, VB.NET, C++, and J#and J#

• There are at least 20 other compilers There are at least 20 other compilers from other sources.from other sources.

• You can generate .NET apps with just You can generate .NET apps with just the Framework.the Framework.

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

Visual Studio .NETVisual Studio .NET

• However, to be productive, most However, to be productive, most developers use Visual Studio .NETdevelopers use Visual Studio .NET

• Comprises a single Integrated Comprises a single Integrated Development Environment for the Development Environment for the Framework Classes and all .NET Framework Classes and all .NET languageslanguages

• Many, many tools to develop appsMany, many tools to develop apps

• Application delivery packagingApplication delivery packaging

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

How do get started?How do get started?

• Develop on Windows 2000 or Server, Develop on Windows 2000 or Server, Windows XP Professional or ServerWindows XP Professional or Server

• Target these same platformsTarget these same platforms

• Make sure Internet Information Make sure Internet Information Services are installed and Services are installed and functioningfunctioning

• Buy and install Visual Studio .NetBuy and install Visual Studio .Net

• Install your GeoMedia productsInstall your GeoMedia products

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

How do get started?How do get started?

• VB6 and C++ 6 will run just fine as VB6 and C++ 6 will run just fine as well at the same timewell at the same time

• Utilize the many free or cheap MS local Utilize the many free or cheap MS local technical sessionstechnical sessions

• Consult the many technical manuals Consult the many technical manuals available at your local book storeavailable at your local book store

• Utilize the Microsoft .NET online areas, Utilize the Microsoft .NET online areas, and other services like CodeProjectand other services like CodeProject

• MSDN MagazineMSDN Magazine

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What language to useWhat language to use

• Probably currently easier to use VB.Net Probably currently easier to use VB.Net than C# for GeoMedia appsthan C# for GeoMedia apps

• More enterprise type apps and More enterprise type apps and examples seem to be biased towards examples seem to be biased towards C#. MSDN magazine seems to be C#. MSDN magazine seems to be more C# orientedmore C# oriented

• Most of the Framework and Visual Most of the Framework and Visual Studio .NET written in C#Studio .NET written in C#

• C# apps are a little fasterC# apps are a little faster

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What language to useWhat language to use

• If you are a C or C++ developer, If you are a C or C++ developer, C# for sureC# for sure

• If you’ve always wanted to learn If you’ve always wanted to learn C++, use C#. In many ways, C# C++, use C#. In many ways, C# is a leaner easier C++is a leaner easier C++

• You can still write standard MFC You can still write standard MFC and ATL C++ applications.and ATL C++ applications.

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What about .NET and What about .NET and GeoMedia?GeoMedia?• Version 4 and 5 GeoMedia seem to Version 4 and 5 GeoMedia seem to

work pretty well with .NETwork pretty well with .NET

• Version 4 GeoMediaWebMap will notVersion 4 GeoMediaWebMap will not

• Not all objects seem to work Not all objects seem to work with .NETwith .NET

• Customer requirements will Customer requirements will probably dictate the time when all probably dictate the time when all objects will work well with .NETobjects will work well with .NET

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What about .NET and What about .NET and GeoMedia?GeoMedia?• In the mean time, I would In the mean time, I would

recommend getting started on small recommend getting started on small scale appsscale apps

• Also applications, particularly Web Also applications, particularly Web Apps, in the portions were GeoMedia Apps, in the portions were GeoMedia is not utilizedis not utilized

• A major focus in .NET is Internet A major focus in .NET is Internet oriented applications and oriented applications and WebServicesWebServices

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

What about .NET and What about .NET and GeoMedia?GeoMedia?• COM versus .NETCOM versus .NET

• COM will not disappear, but .NET COM will not disappear, but .NET Framework is a bigger, better, Framework is a bigger, better, faster COMfaster COM

• But .NET provides many But .NET provides many tools/classes for working with tools/classes for working with legacy COM object hierarchies like legacy COM object hierarchies like GeoMediaGeoMedia

• What is Intergraph’s direction?What is Intergraph’s direction?

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

City View ExampleCity View Example

• .Net truly is a Rapid Develop .Net truly is a Rapid Develop EnvironmentEnvironment

• CityView is a perfect example of CityView is a perfect example of the power of .NET to utilize Web the power of .NET to utilize Web Services to create interesting Services to create interesting applications.applications.

• Code…Code…

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

Web Services – City ViewWeb Services – City View

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

GeoMedia ExampleGeoMedia Example• A Water Company wants to maintain A Water Company wants to maintain

an atlas sheet approach for the an atlas sheet approach for the maintenance crewsmaintenance crews

• Various interface mechanisms and Various interface mechanisms and plotting mechanisms are based on a plotting mechanisms are based on a standard tiling scheme ( 3000’ X standard tiling scheme ( 3000’ X 2000’ )2000’ )

• Sheets are being added somewhat Sheets are being added somewhat frequently.frequently.

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

GeoMedia ExampleGeoMedia Example

• Need a tool to generate all the Need a tool to generate all the interface/generation mechanisms interface/generation mechanisms from single sourcefrom single source

65671820656718206567182265671822656718346567183465671836656718366567183865671838657018126570181265701814657018146570181665701816

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

ASP.Net ExampleASP.Net Example• Our Web applications tend to have Our Web applications tend to have

many interface mechanisms for map many interface mechanisms for map navigationnavigation

• ASP.NET provides a rich environment ASP.NET provides a rich environment for extending existing controlsfor extending existing controls

• And debugging ASP really works!And debugging ASP really works!

RREDLANDSEDLANDS SOFTWARE, INC.SOFTWARE, INC.

ConclusionConclusion• What is .NET?What is .NET?

• How do I get started?How do I get started?

• What about .NET and GeoMedia?What about .NET and GeoMedia?

• Example ApplicationsExample Applications

• Q & AQ & A