Copyright © 2002 OSI Software, Inc. All rights reserved..NET Experiences Chris Manhard and David Hearn OSI Software, Inc.

Slides:



Advertisements
Similar presentations
What is.Net Gary Devendorf. .Net Framework.Net framework works like the Domino Objects only much lower level and very complete It is part of the OS (or.
Advertisements

Introduction to .NET Framework
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Developing with the.NET Framework Rob Howard Program Manager.NET Framework Team Microsoft Corporation.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
.Net Overview Giuseppe Attardi Università di Pisa.
Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 1.1 of…
Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented.
Introduction to ASP.NET What is.NET What is ASP.NET and how is different from ASP –ASP: server side technology for creating dynamic web pages using scripting.
DEV200.NET Framework Overview Chris Anderson Software Architect,.NET Client Microsoft Corporation.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
Introducing the Common Language Runtime for.NET. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
Aptech Borivali(West) Hefin Dsouza. Agenda  What is.NET and What is Visual Studio? .NET Framework 3.5 Overview.  Visual Studio 2008 Enhancements. 
Platforms and tools for Web Services and Mobile Applications Introduction to C# Bent Thomsen Aalborg University 3rd and 4th of June 2004.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Rajeswari Indupuri Introduction to.NET Framework.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Overview of Microsoft.Net and Vb.Net ITSE 2349 Spring 2002 Material from Microsoft.Net an Overview for ACC faculty by Stuart Laughton and Introduction.
Overview of.NET Framework Carlotta Eaton Associate Professor of IST New River Community College Dublin, VA Slides created by Microsoft Modified by Carlotta.
© 2004 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin Programming the Web Using ASP.Net Chapter 2: The ASP.Net Template Dave.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
IBSS Inc (International Business Software Solutions Inc.) Microsoft.NET.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
Copyright © 2001 by iigo, Inc. Introduction To.NET Dallas.NET User Group April 4, 2001.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
.NET Framework & C#.
Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a library for.
 Internet providing backbone for applications  Use of several web sites and devices to provide one complete solution  Software as services  Quick software.
ASP.NET  ASP.NET is a web development platform, which provides a programming model, a comprehensive software infrastructure and various services required.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Nilotpal Bhattacharya Partner Technical Consultant| Microsoft.
C# Overview and Features. Content I.History of C# II.Architecture III.How to install IV.Features V.Code Sample VI.Microsoft.NET Platform VII.Why use C#
MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Introduction to ASP.NET 1www.tech.findforinfo.com.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Managed C++. Objectives Overview to Visual C++.NET Concepts and architecture Developing with Managed Extensions for C++ Use cases Managed C++, Visual.
.NET Framework Danish Sami UG Lead.NetFoundry
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
.Net – The First Glance What Is.Net, Why Use.Net.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
From DNA to.NET Design Path. Objectives Sketch up a typical Win DNA Application Sketch up the.NET version Compare Design and Implementation Advantages.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
Module 1: Overview of the Microsoft .NET Framework
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
Microsoft .NET A platform that can be used for building and running windows and web applications such that the software is platform and device-independent.
ISV Community Day Best Practice Per Ahlberg Developer Evangelist Developer & Platform Evangelism Microsoft Sweden.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Introduction to ASP.NET What is.NET What is ASP.NET and how is different from ASP –ASP: server side technology for creating dynamic web pages using scripting.
CIS 375—Web App Dev II ASP.NET 1 Getting Started.
DEV394.NET Framework: Migrating To Managed Code Adam Nathan QA Lead Richard Lander Program Manager Microsoft Corporation.
.NET Mobile Application Development XML Web Services.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.
DotNetSpider Editor Hefin Dsouza
Moving from ASP to ASP.NET
Web Development Using ASP .NET
Paul Stubbs MCSD, MCSE 4.0, MCP+I, MCT, MCAD .Net
.NET Framework Design Goals
Presentation transcript:

Copyright © 2002 OSI Software, Inc. All rights reserved..NET Experiences Chris Manhard and David Hearn OSI Software, Inc.

Agenda Microsoft.NET overview PI Application Framework and.NET Development Experiences Using.NET with existing PI tools Opinions and Recommendations

Microsoft’s.NET Goals Unifies programming models Dramatically simplifies development Supports multiple programming languages Provides robust execution environment Natively supports XML Web Services

Microsoft.NET Platform Consistent programming model Includes clients, servers, services Development tools

Microsoft.NET Architecture Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit WindowsForms Common Language Specification VBC++C#JScript… Visual Studio.NET

Unify Programming Models Windows API.NET Framework Consistent API availability regardless of language and programming model ASPStateless, Code embedded in HTML pages MFC/ATLSubclassing,Power,Expressiveness VB Forms RAD,Composition,Delegation

The.NET Evolution – Before COM Before COM, applications were completely separate entities with little or no integration Applicatio n Code and data structures

The.NET Evolution - COM COM provides a way for components to integrate. However, each component must provide the “plumbing” and objects cannot directly interact.

The.NET Evolution - Now With the.NET Framework common language runtime, components are built on a common substrate. No “plumbing” is needed and objects can directly interact

Robust Environment Automatic lifetime management –All objects are garbage collected Exception handling –Error handling 1 st class and mandatory Type-safety –No buffer overruns, unsafe casts, or uninitialized variables –Base types are treated as true objects Deployment and management –Assemblies, side-by-side execution –No more DLL hell!

Assemblies Unit of deployment –One or more files, independent of packaging –Self-describing via manifest Versioning –Provided by compiler use of attributes –Policy per-application as well as per-machine Security boundary –Assemblies are granted permissions –Methods can demand proof that a permission has been granted to entire call chain Types named relative to assembly Shared assemblies placed in GAC

PI Data from a Web Service Demo What is a Web Service Creating a web service Demo using PI OLE-DB Other ways to create a service

PI Application Framework Background Developing PI Application Framework Business Logic Layer Distributed Architecture Desire to publish / consume data across the various channels

PI Application Framework C++ Development Used C++ and ATL template library Common code abstracted to templates Override default template methods

PI Application Framework C# Development Direct access to objects Methods declared as ‘internal’ or ‘public’ Single inheritance of base class Reduction in code Improved error handling Faster compile times

Reduction in Code – iterating a COM object using C++ // Create the PISDK object PISDK::IPISDKPtr spPISDK; spPISDK.CreateInstance("PISDK.PISDK"); PISDK::ServersPtr spPIServers= spPISDK->Servers; // Enumerate over the collection using sequential access HRESULT hr; IEnumVARIANTPtr spEnum= spPIServers->Get_NewEnum(); do { ULONG numFetched; CComVariant varItem; hr= spEnum->Next(1, &varItem, &numFetched); if(hr == S_OK) { PISDK::ServerPtr spPIServer(varItem); MessageBox(NULL, spPIServer->Name, "PI Server", MB_OK); } while(hr == S_OK);

Reduction in Code – iterating a COM object using C# // Create the PISDK object PISDK.IPISDK piSDK= new PISDK.PISDKClass(); // Enumerate over the collection using sequential access foreach(PISDK.Server item in piSDK.Servers) { MessageBox.Show(item.Name, "PI Server"); }

Error Handling in C++ try { // Code which might throw an exception. PISDK::ServerPtr spPIServer= spPIServers->GetDefaultServer(); if( spPIServer == NULL ) return AtlReportError(CLSID_PIAF, “Failed to get default server”, IID_Server, hres); }catch(…) { return AtlReportError(CLSID_PIAF, “Failed to get default server”); }

Error Handling in C# PISDK.Server piServer= spPIServers.DefaultServer; if( piServer == null) return System.InvalidOperation(“Failed to get default server”);

Interop With COM COM Only COM Client.NET Client COM Server.NET Server.NET Only Unmanaged CodeManaged Code PIAF SDK PISDK ASP/IIS ProcessBook

Invoking PI-SDK from.NET Use References, just as in VB6 Use PISDK 1.2 if calling from IIS Some parameters must be ‘boxed’ in C# namedValues.Add(“Level”, 0.0) becomes Object val = 0.0; namedValues.Add(“Level”, ref val); Must create top level PISDK object PISDK.PISDK and PISDK.Server conflicts

Web Form Demo with PISDK

Calling the PI API from.NET 1.Must use locking if calling from within IIS 2.Run Migration Utility on PIAPI32.BAS 3.Add Structure Layout Attributes 4.Change ANY types to defined types 5.Change buffers from Strings to StringBuilder 6.Rename variable as appropriate 7.Arrays should marshal fine

Hints and Tips Learn the.NET framework Option Strict On in VB.NET Use StringBuilder instead of String Don’t modify a collection while iterating it Add ASPNET user account bug Use ComSourceInterfaces attribute with ‘typeof’ parameter when exposing events. [ComSourceInterfaces(typeof(OSIsoft.AFSDK._IAFCollectionEvents))]

Top 10 Favorite Things in.NET C# is easy transition Remoting capabilities ASP.NET simplifies web development Rich Framework Exception Handling Com Interop / PI Code Editor Development Environment Compile Speed Unified Development

Top 10 Least Favorite Things in.NET Information overload WinForms is step back from VC6 All tools not yet integrated VB Migration Tool Poor support of VS6 resource editor Versioning – Side by Side hell? Install – not as easy as advertised Beta Software Can’t Write ActiveX Controls Change

When to use Microsoft.NET Building Distributed Applications (n-tier) –Especially client and business tiers Creating Web Services Creating ASP Web Site Creating small to medium size applications

When NOT to use Microsoft.NET Large Traditional Applications Smaller Applications, especially if distributing.NET Framework (21 Meg) is an issue, or Win95 support required. Creating ActiveX Controls Real-Time Requirements External Toolset Requirements Projects where migration might be difficult

Summary What is.NET? Related Presentations –PI Application Framework, (351) Wed. 8:00 AM –Application Module Example Using the Application Framework (112) Mon. 1:50 PM, (352) Wed. 8:50 AM –Sigmafine 4.0 (342) Wed. 8:50 AM Demo Room (Tuesday, 1:00 pm to 6:00 PM) –PI Application Framework –Application Framework Applications –Sigmafine 4.0 Questions