Advanced Mono Development: Best Practices Miguel de Icaza CTO, Ximian Nat Friedman VP Software Development, Ximian

Slides:



Advertisements
Similar presentations
December 29, 2013 Willem Bagchus Master CNE, CLP, MCP Senior SE, Senior Trainer GWAVA Reload.
Advertisements

Reduce Cost & Complexity Partner logo here Presenters Name (16pt) Presenters Title (14pt) Company/ (14pt) Manage and Deploy Applications using Virtualization.
Nsure ™ Audit Essentials Rick Meredith Software Engineer Novell, Inc. Jaime Brimhall Software Engineer Novell, Inc.
How to Successfully Cluster GroupWise Gregg A. Hinchman Consultant, Hinchman Consulting Ed Hanley Senior Consultant, Novell.
SAN Design Considerations Hylton Leigh Senior Consultant Novell Consulting, UK Stuart Thompson Senior Consultant Novell Consulting, UK.
How to Implement a Cluster of Clusters Atiq Adamjee Senior Architect Novell, Inc. Brad Rupp Software Engineer Novell, Inc.
Password Management Bill Street, Nathan Jensen, Mike Simpson, Will Peterson Identity Management Engineering.
Upgrading to Novell ® SecureLogin 3.5 Rod Tietjen,
Studio 5 João Ferreira EMEA Product Specialist (exteNd) Studio Product manager, Novell, Inc.
Developing for Novell ® Nsure ™ SecureLogin Gordon Mathis Senior Software Engineer, Novell Inc.
DIR-835A1 Wireless N750 Dual-Band Router Wireless & Router Product Div. July 2011 D-Link WRPD.
Document Management with GroupWise ® Gregg Hinchman Consultant Hinchman Consulting Jerry Winkel Novell Escalation Engineer.
High thoughts must have high language. Aristophanes
Mono Development for Win32 Programmers Francisco “Paco” Martníez Mono Contributor Joseph Hill Mono Contributor Erik Dasque Product Manager, Mono Project.
Introduction to .NET Rui Ye.
Nsure ™ Audit: Instrumenting Custom Applications Rick Meredith Jason Arrington Nsure Audit Engineering Novell, Inc.
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.
Implementing Novell iChain ® at the City of Los Angeles Adam Loughran Senior Systems Engineer, Novell Robert Gillette IS Development Manager, City of Los.
Benefits of a SUSE ® Subscription Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Configuring Identity Manager 2 (formerly DirXML ® ) for JDBC (w/DirXML) Jason Elsberry Software Engineer
Implementing iChain ® in the Wild: Life beyond the lab Rich Roberts Senior Architect – Novell Consulting Novell Inc. Jim Short iChain Guru – Novell Consulting.
Implementing DirXML ® Stylesheets David Wagstaff
Novell Nsure TM Identity Manager 2 andGroupWise Provisioning Art Purcell, GroupWise ® Engineering, David Holbrook, DirXML Engineering,
Case Study: DirXML Implementation at Waste Management Rick Wagner Systems Engineer Novell, Inc.
May 23, 2006 Open Source and the Public Sector Brian Fisher Linux Specialist Public Sector
Successful GroupWise Clustering, Part 1 Gregg A. Hinchman Ed Hanley Novell Inc.
April 30, 2007 openSUSE.org Build Service a short introduction Moiz Kohari VP Engineering.
Mono Update. Miguel de Icaza
Novell ® BrainShare ® A Hands-on Approach to Implementing an Effective Retention Solution with Novell GroupWise and GWArchive Greg Smith, Director.
Overview of Novell® Nsure ™ Identity Manager Deployment Studio Steven Weitzeil Director of Engineering, Nsure Identity Manager & Nsure Audit Novell Bill.
How to Successfully Cluster GroupWise ® Gregg A. Hinchman Consultant, Hinchman Consulting Ed Hanley Senior Consultant, Novell.
Kevin James Prototype Systems Devloper Novell Inc. Freddy Kaiser Technical Directory, Enterprise Solutions Novell Inc. BUS172 - Case Study: Extended Provisioning.
SecureLogin Solution for Hospital Environments Keith Lewis Novell Consultant Novell, Inc. Troy Drewry Protocom Consultant Protocom.
Retention for GroupWise Angela Williams - Channel Sales Manager Jeff Stratford - President Nexic, Inc.
Beginning Programming with the Novell GroupWise ® Object API Glade Monson Developer Services, Novell Inc.
January 8, 2009 Business Continuity Cluster Always Running Gregg A. Hinchman Consultant Hinchman Consulting
Strong Authentication to any Application Using SecureLogin and NMAS TM Scott Kiester and John Jolly Software Engineer Novell, Inc.
Securing GroupWise ® end-to-end with SSL Mike Bills ATT Engineer, Novell Inc.
Best Practices for Running Multiple Identity Manager 2 (formerly DirXML ® ) Drivers on Linux and Solaris Patrick J Cush Senior Technical Specialist Novell.
Securing Legacy Applications with exteNd Composer and Novell iChain Kirk Noren Application Services Specialist Novell, Inc.
Configuring Novell GroupWise ® on SuSE LINUX Randy Brown GroupWise Dedicated Support Engineer, Novell Inc. Matt Preston GroupWise Support.
DIR-826L Wireless N600 Gigabit Cloud Router Sales Guide WRPD Jan 25 th, 2012 D-LINK HQ.
Introducing Novell ® Identity Manager 4 Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
가상화 기반의 Workload 관리솔루션 : FORGE PlateSpin Virtualization and Workload Management 나영관 한국노벨 /
SUSE ® Linux Enterprise High Availability Extension.
Introduction to GroupWise ® C3POs Glade Monson Developer Services, Novell Inc.
IDC Says, "Don't Move To The Cloud" Richard Whitehead Director, Intelligent Workload Management August, 2010 Ben Goodman Principal.
Novell ® IT Consulting Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
SUSE ® Linux Enterprise Desktop in a One-To-One 21st Century Classroom Alex Inman Director of Technology Whitfield School
What's new in openSUSE 11.2? Andreas Jaeger Director openSUSE Novell.
Novell ® Technical Training Field / Sales Presentation Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Introduction to SUSE Studio Tim Serong Senior Clustering Engineer OPS Engineering, Novell Inc.
OES11 / SLES11 Feature Competitive Novell Confidential.
GStreamer in OpenOffice.org? Cédric Bosdonnat, Radek Doulík.
Forrester and Novell Novell ® Identity Manager 4 Webcast I Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Novell ® Demo Systems Portal Update Doc Hodges Novell Demo Systems
DHP-600AV / DHP-601AV Powerline AV2 Gigabit Adapter Powerline AV2 Starter Kit Sales Guide WRPD, Mar 2013 D-Link Confidential.
From Source Code to Packages and even whole distributions By Cool Person From openSUSE.
UI-Facelift of the YaST Partitioner Module Martin Schmidkunz Arvin Schnell Katařina Machálková Status: 16th June 2008.
Enterprise Linux Servers Solution Overview Kerry Kim Enterprise Linux Servers Solution Manager.
From Source Code to Packages for Various Distributions Andreas Jaeger Program Manager openSUSE
UI-Facelift of the YaST Partitioner Module Martin Schmidkunz Status: 13th February 2008.
SUSE Studio: Building distributions By Cool Person From openSUSE.
The Community role in openSUSE life-cycle Dinar Valeev Community member.
Cross-Platform .NET: Mono and MySQL
From Source Code to Packages for Various Distributions
Redesign of AppArmor Modules in YaST
Presentation transcript:

Advanced Mono Development: Best Practices Miguel de Icaza CTO, Ximian Nat Friedman VP Software Development, Ximian

© March 9, 2004 Novell Inc. 2 one Net: Information without boundaries…where the right people are connected with the right information at the right time to make the right decisions. The one Net vision Novell exteNd ™ Novell Nsure ™ Novell Nterprise ™ Novell Ngage SM : : : :

© March 9, 2004 Novell Inc. 3 The one Net vision Novell Nterprise is an innovative family of products which gives you the power to enable and manage the constant interaction of people with your business systems — regardless of who they are or where they are. Novell Nterprise ™ Novell exteNd ™ Novell Nsure ™ Novell Nterprise ™ Novell Ngage SM : : : :

© March 9, 2004 Novell Inc. 4 Mono Project: Two Main Goals. Improve Linux Developer Productivity. ISV Migration path from Windows to Linux. An Open Source implementation of.NET Framework.

© March 9, 2004 Novell Inc. 5 The Two Stacks. Mono Runtime Microsoft Compatibility Libraries Mono Libraries ASP.NET ADO.NET Windows.Form Java Compatibility iFolder Evolution# Gnome# Novell.LDAP ZipLib GTK# Apache Mono Mozilla MySQL/Postgress

© March 9, 2004 Novell Inc. 6 Compatible: What Mono Will Run. Mono 1.0 will run Microsoft.NET code that uses: mscorlib, System, System.Net System.Xml System.Web (ASP.NET Web Forms) System.Web.Services (ASP.NET Web Services) Remoting, and SOAP Remoting (compatibility issues) System.Drawing. Binary compatible: Compile on Windows Deploy on Linux.

© March 9, 2004 Novell Inc. 7 We have created our own development platform. Takes advantage of Open Source technologies. Takes advantage of Novell ® services. Novell.LDAP: Works on Mono and Windows. Binaries produced by mono run on Windows unmodified. The community is creating an ecosystem And we get to reuse third-party components from the Windows world for Desktop and Web Applications. Mono Has its Own Development Platform

© March 9, 2004 Novell Inc. 8 Mono SDK C# compiler Supports V1 and some V2 features of the C# language. Performs the task of compiler and linker. IL tools ilasm: Intermediate Language assembler. monodis: Library and executable disassembler. Debugger: mdb: low-level debugger Web Services wsdl: generate stubs from a WSDL or Disco document.

© March 9, 2004 Novell Inc. 9 The Mono Documentation Browser. Documentation for.NET Class Libraries Mono and Novell Specific class libraries. Wiki-like support People can edit, modify the documentation Upload contributions to centralized server. Sample MonoDoc

© March 9, 2004 Novell Inc. 10 MonoDevelop: A port of the venerable SharpDevelop from Windows. Modified to use the Linux Desktop. Take advantage of Linux-specific features. Advanced editing features. Integrated Debugging Environment Uses the Mono Debugger Core Engine. MonoDevelop: Integrated IDE

© March 9, 2004 Novell Inc. 11 Assemblies. Assemblies: The deployment Unit. They end in “.exe” or “.dll” They contain IL code and any resources needed. There is no difference to the runtime: $ mcs hello.cs -r:library.dll $ mcs hello.cs -r:program.exe $ mcs library.cs -target:library $ mcs program.cs -target:exe

© March 9, 2004 Novell Inc. 12 Sample Session. Compiling Software: Running your software: Behind the curtains: $ mcs program.cs $ mono program.cs $ monodis program.cs

© March 9, 2004 Novell Inc. 13 Disassembled code. // method line 2.method private static default int32 'Add' (int32 'a', int32 'b') cil managed {.param [1].param [2] // Method begins at RVA 0x20f4 // Code size 4 (0x4).maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 IL_0002: add IL_0003: ret } // end of method X::default int32 'Add' (int32 'a', int32 'b') static int Add (int a, int b) { return a + b; }

© March 9, 2004 Novell Inc. 14 Instrumentation. The Mono Runtime can instrument your program: You can create your own profiling modules. $ mono --profile program.exe $ mono --profile=coverage program.exe So far: Internal call cost. Code Coverage Analysis. Mono can call you at invoke/return time

© March 9, 2004 Novell Inc. 15 Developing a Sample Client + Server We will develop a client and a server. Nat will be doing the client side. Using Gtk# to write the GUI and Glade for rapid prototyping. Miguel will be doing the server side. Plain server-side development. We will use a web service.

Demonstration

© March 9, 2004 Novell Inc. 17 Interop with Java Converting Java classes to.NET assemblies The ikvmc command Exporting.NET classes to be used by Java Using netexp.exe Running your Java applications Today Mono use GNU Classpath Limited in functionality to GNU Classpath features Eclipse, Jython run.

© March 9, 2004 Novell Inc. 18 Information. Mono: Blog: primates.ximian.com/~miguel/activity-log.php

Questions & Answers

General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. Novell, Inc., makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc., reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of Novell, Inc. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.