30
.NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. [email protected] http://www.halcyonsoft.com

NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. [email protected]

Embed Size (px)

Citation preview

Page 1: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

.NET Enabling Apache.NET Enabling Apache

Presented by Don HsiPresident & CEO, Halcyon Software, Inc.

[email protected]://www.halcyonsoft.com

Page 2: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

What is .NET Anyway?What is .NET Anyway?

• .NET as defined by Microsoft covers three different areas:• .NET framework—a completely re-engineered

development environment and the facet with which this presentation is concerned

• .NET products—applications from MS based on the .NET platform, including Office and Visual Studio

• .NET services—facilities for 3rd party developers to create services on the .NET platform

Page 3: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

How Committed is Microsoft to .NET?How Committed is Microsoft to .NET?• 80 percent of R&D resources in 2001

are being allocated to .NET• Most products are expected to be

ported to .NET• C#/CLI is in proposed to the ECMA• C# is slated to become the

development language of choice

Page 4: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

The .NET FrameworkThe .NET Framework

• Three basic parts:• Two top-level development “arenas” for web

applications (ASP.NET) and regular Windows applications (Windows Forms)

• A set of extensive class libraries, written from the ground up that comprise practically any functionality you could ask for

• A runtime engine that handles memory allocation, error trapping, all of the busy work that can make programming less fun

Page 5: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

.NET Framework Overview.NET Framework Overview

Web Services

Web Forms

Application Services

ASP.NET

Controls

Drawing

Application Services

Windows Forms

Framework Classes

XML

System

ADO.NET

Security

Threading

Diagnostics

Net

Much more…

Common Language Runtime (CLR)

Memory Management

Common Type System

Lifecycle Monitoring

Page 6: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

.NET General Benefits.NET General Benefits

• Shorter development cycle (code reuse, fewer programming headaches, multiple language support)

• Easier deployment (‘XCOPY’ installations)

• Fewer bugs (memory leaks disappear)• More flexible, reliable applications

Page 7: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Common Language Runtime (CLR) OverviewCommon Language Runtime (CLR) Overview

Common Type System

Intermediate Language runtime

compilersBoolean

Byte

Char

Double

Int16

Int32

Etc…

Execution Support, Runtime

functions

Security Functionality

Class loader and Memory

layout

Garbage Collection,

Stack walker, Code

Manager

Page 8: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

What is the CLR?What is the CLR?

• .NET applications are compiled to a common language known as “Microsoft Intermediate Language” or IL

• CLR handles compiling the IL to machine language and takes care of the miseries of memory management, process communication, etc.

• Ability to handle multiple-language projects; single set of standardized data types

Page 9: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

CLR Feature HighlightsCLR Feature Highlights

• Less concern with internal plumbing• Expansive tool support• Simpler deployment (end of DLL Hell)• Superior scalability• Multiple Language Support• Common Type System

Let’s examine some of these in greater detail…

Page 10: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

CLR Multiple Language SupportCLR Multiple Language Support

• The CLR enables you to use multiple languages in a single project, all working together transparently

• 3rd parties are already working on COBOL (Fujitsu) and PERL and Python (ActiveState). More than 50 projects in the works

• No IDL—Metadata handles everything!

Page 11: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

CLR Common Type SystemCLR Common Type System

• A new set of common types has been defined for the CLR

• Casting between types can be done at a lower level for more consistency

• Calling one language from another no longer requires weird type conversions or calling conventions

Page 12: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

.NET Framework Classes Overview—a Small Selection.NET Framework Classes Overview—a Small Selection

DataSet

DataTable

DataColumn, etc.

System.Data

Sqrt

Log

Cos, etc.

System.Math

Debug

Trace

System.Diagnostics

Assembly

Module

System.Reflection

File

FileStream

Path, etc.

System.IO

Cryptography

Permissions

Policy

System.Security

Page 13: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

.NET Framework Classes.NET Framework Classes

• Consistent and Unified Programming Model• User Interfaces

• Windows Forms (conventional Win32 apps)• Web Forms (the forms engine for ASP.NET)• Server Controls (reusable user interface components

dwelling server-side)• Console Applications (CLI lives)

• Program Interfaces• Web Services (3rd party applications available over the

Internet)

Page 14: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

A Quick Look at WinFormsA Quick Look at WinForms

• Winforms are simply the name used to describe the creation of a standard Win32 application

• Instead of relying on 3 disparate APIs: COM components (ADO, MSXML, etc.); OS-specific (Win32, Win16, etc.); and Language-specific (Vbrun, MFC, etc.) you now have a single coordinated class framework

Page 15: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

ASP.NET FeaturesASP.NET Features

• Language is now full-blown VB or C# (or any supported .NET language for that matter)

• Support for HTML Server Controls (session state supported on the server)

• Server-side processing of client-side events• New control families including enhanced

Intrinsics, Rich controls, List controls, DatGrid control, Repeater control, Data list control, and validation controls

• Web Services—canned application logic programmatically accessible via the Internet

Page 16: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

.NET Considerations.NET Considerations

• Cross Platform Concerns—while the CLR and the .NET framework libraries can, in theory, be ported to other operating systems, the scope of support is unknown

• ASP.NET, however, is NOT designed to be ported

• You may be able to write Winform apps and deploy them on other supported platforms, but your Web platform will still be Microsoft

Page 17: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

.NET Considerations cont’d.NET Considerations cont’d

• Will Microsoft be able to create a groundswell of support? Reports in the field indicate that customers are already requesting .NET tools

• Will .NET be delivered on time? A loaded question, but much of the functionality appears to be in place

Page 18: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Why Should You Care?Why Should You Care?

• The benefits are compelling—multiple language support, garbage collection, possible cross-platform support

• The beta development tools do exist and people are using them

• Microsoft has enough marketing muscle to make the .NET initiative successful

• Your clients will want the benefits too…

Page 19: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

But what’s Wrong with Current Frameworks for Apache?But what’s Wrong with Current Frameworks for Apache?• ASP: Conducive to spaghetti code.

HTML+Scripting is messy and unstructured.• JSP: Elegant specification but complex—

requires much greater investment• PHP: More suitable for smaller projects. Lack

tier-one support• CGI: Performance is a concern—each time

an application is access a separate process is spawned

Page 20: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

DemoDemo

• .NET HelloWorld application running on the .NET environment with IIS

• Same binary code running on Windows with Apache, without .NET environment

• Same binary code running on Linux with Apache, without .NET environment

Page 21: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Running .NET Application With ApacheRunning .NET Application With Apache• Technology barrier• Who is doing what• Commercial implication• Developer consideration

Page 22: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Java-based SolutionJava-based Solution

• An implementation of ASP.NET on Java requires the following:• A Java-based version of the CLR (VM on VM)

including plenty of optimization• A Java-based version of the .NET Framework

Classes• A Java-based implementation of ASP.NET,

including full support for the new extensions to VB as well as the server-side components and features

Page 23: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Why Java?Why Java?

• Java is mature and robust on the server• Java has excellent development tools

available for it• Java is well-supported on practically

every OS in existence• Java will enable a .NET implementation

that runs on any platform

Page 24: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Implementation ConsiderationsImplementation Considerations

• Must support at the very least VB.NET and all its enhancements

• Session management must be implemented for the server-side components

• Must have the same language flexibility as ASP.NET

• Must have a much of the required .NET class framework implemented as possible

• Must equal or exceed ASP.NET performance• Must be able to leverage the excellent

Microsoft and other 3rd party tools

Page 25: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Architecture OverviewArchitecture Overview

Java .NET Servlet Engine

Apache Web Server

Java CLR Implementation

Java .NET Class Libraries

VB.NET support

Java .NET Framework

Session management support

JDBC JDBC JDBC

JDBC JDBC JDBC

JavaServices

Page 26: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Java .NET ImplementationJava .NET Implementation

• VB.NET implementation• IL to Java bytecode conversion for

maximum performance• System services are mapped from

Microsoft services to Java services (e.g. ADO.NET to JDBC)

• CLR environment• .NET class libraries

Page 27: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Java.NET Roadmap Java.NET Roadmap

• Late 2001:• Fully implemented IL2Java conversion engine• Fully implemented ASP.NET framework• 80 percent of the core .NET framework libraries

implemented for 95 percent of the functionality• 80 percent of the .NET web services libraries

implemented for 95 percent of the functionality• 80 percent of the ADO.NET libraries

implemented

Page 28: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Java.NET RoadmapJava.NET Roadmap

• Mid 2002:• Fully implemented core libraries• Fully implemented web services libraries• Fully implemented ADO.NET• Fully implemented XML.NET• Fully implemented Visual Basic.NET• GUI .NET (late 2002)

Page 29: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Contact InformationContact Information

• Phone: • (408) 998-1998 x101

• Email: • [email protected]

• Web site: • http://www.halcyonsoft.com

Page 30: NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. dhsi@halcyonsoft.com

Questions & AnswersQuestions & Answers