NET Enabling ApachePresented by Don HsiPresident CEO Halcyon Software Inc dhsi halcyonsoft comhttp www halcyonsoft com. What is NET Anyway NET as defined by Microsoft coversthree different areas NET framework a completely re engineereddevelopment environment and the facet with.which this presentation is concerned NET products applications from MS based onthe NET platform including Office and Visual NET services facilities for 3rd party developersto create services on the NET platform. How Committed is Microsoft 80 percent of R D resources in 2001are being allocated to NET Most products are expected to beported to NET. C CLI is in proposed to the ECMA C is slated to become thedevelopment language of choice The NET Framework Three basic parts . Two top level development arenas for webapplications ASP NET and regular Windowsapplications Windows Forms A set of extensive class libraries written fromthe ground up that comprise practically any.functionality you could ask for A runtime engine that handles memoryallocation error trapping all of the busy workthat can make programming less fun NET Framework Overview.ASP NET Framework Classes Common LanguageRuntime CLR Web Services XMLWeb Forms SystemMemory Management.Application Services ADO NETCommon Type SystemWindows Forms ThreadingControls DiagnosticsDrawing Net Lifecycle Monitoring.Application Services Much more NET General Benefits Shorter development cycle codereuse fewer programming headaches multiple language support . Easier deployment XCOPY installations Fewer bugs memory leaks disappear More flexible reliable applications Common Language Runtime. CLR OverviewCommon IntermediateType System LanguageBoolean compilersByte Collection .Execution Class loaderChar StackSupport Runtime and MemoryDouble functions layoutInt16 Manager.Int32 SecurityFunctionality What is the CLR NET applications are compiled to a commonlanguage known as Microsoft Intermediate.Language or IL CLR handles compiling the IL to machinelanguage and takes care of the miseries ofmemory management processcommunication etc . Ability to handle multiple language projects single set of standardized data types CLR Feature Highlights Less concern with internal plumbing Expansive tool support. Simpler deployment end of DLL Hell Superior scalability Multiple Language Support Common Type SystemLet s examine some of these in greater detail . CLR Multiple Language Support The CLR enables you to use multiplelanguages in a single project allworking together transparently 3rd parties are already working on.COBOL Fujitsu and PERL and Python ActiveState More than 50 projects in No IDL Metadata handles everything CLR Common Type System A new set of common types has been.defined for the CLR Casting between types can be done ata lower level for more consistency Calling one language from another nolonger requires weird type conversions.or calling conventions NET Framework ClassesOverview a Small SelectionSystem Data System Diagnostics System IODataSet Debug File.DataTable Trace FileStreamDataColumn etc Path etc System Math System Reflection System SecuritySqrt Assembly CryptographyLog Module Permissions.Cos etc Policy 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 componentsdwelling server side Console Applications CLI lives Program Interfaces. Web Services 3rd party applications available over the A Quick Look at WinForms Winforms are simply the name used todescribe the creation of a standardWin32 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 ASP NET Features Language is now full blown VB or C or anysupported 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 enhancedIntrinsics Rich controls List controls DatGridcontrol Repeater control Data list control and.validation controls Web Services canned application logicprogrammatically accessible via the Internet NET Considerations Cross Platform Concerns while the CLR.and the NET framework libraries can intheory be ported to other operating systems the scope of support is unknown ASP NET however is NOT designed to be You may be able to write Winform apps and.deploy them on other supported platforms but your Web platform will still be Microsoft NET Considerations cont d Will Microsoft be able to create agroundswell of support Reports in the.field indicate that customers arealready requesting NET tools Will NET be delivered on time Aloaded question but much of thefunctionality appears to be in place. Why Should You Care The benefits are compelling multiplelanguage support garbage collection possible cross platform support The beta development tools do exist.and people are using them Microsoft has enough marketingmuscle to make the NET initiativesuccessful Your clients will want the benefits too . But what s Wrong with CurrentFrameworks 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 Lacktier one support CGI Performance is a concern each timean application is access a separate process.is spawned NET HelloWorld application running onthe NET environment with IIS Same binary code running on Windowswith Apache without NET environment. Same binary code running on Linuxwith Apache without NET environment Running NET Application With Technology barrier Who is doing what. Commercial implication Developer consideration Java based Solution An implementation of ASP NET onJava 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 A Java based implementation of ASP NET including full support for the new extensions to.VB as well as the server side components and Why Java Java is mature and robust on the server Java has excellent development toolsavailable for it. Java is well supported on practicallyevery OS in existence Java will enable a NET implementationthat runs on any platform Implementation Considerations. Must support at the very least VB NET and allits enhancements Session management must be implemented forthe server side components Must have the same language flexibility as. Must have a much of the required NET classframework implemented as possible Must equal or exceed ASP NET performance Must be able to leverage the excellentMicrosoft and other 3rd party tools. Architecture OverviewApache WebServer Java NET FrameworkJava CLR ImplementationServlet Engine Java NET Class Libraries.VB NET supportSession management supportJava JDBC JDBC JDBCJDBC JDBC JDBC Java NET Implementation. VB NET implementation IL to Java bytecode conversion formaximum performance System services are mapped fromMicrosoft services to Java services. e g ADO NET to JDBC CLR environment NET class libraries Java NET Roadmap Late 2001 . Fully implemented IL2Java conversion engine Fully implemented ASP NET framework 80 percent of the core NET framework librariesimplemented 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 librariesimplemented Java 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 Contact Information Phone 408 998 1998 x101 Email . dhsi halcyonsoft com Web site http www halcyonsoft com Questions Answers..NET Enabling Apache Presented by Don Hsi President & CEO, Halcyon Software, Inc. [email protected] http://www.halcyonsoft.com