5 More about.net Framework 9 Cool new C# Language Features These are currently only in the spec for 2.0 so they might not become a reality See: for download of full spec Three main new features: Generics Anonymous Methods Partial Types Iterators Other Misc. Improvements 10 5

6 New C# Features Generics a form of C++ templates that makes reusing existing code easier a form of C++ templates that makes reusing existing code easier Anonymous Methods an easier way to perform simple tasks using delegates Iterators a construct that makes traversing collections of data significantly faster and easier Partial Types a means for programmers to split code across multiple files For more information see: This is also a great URL for a more in-debt covereage hanges.aspx 11 Alternatives to Visual Studio Free Development Environment called Web Matrix. Can be downloaded from here: is a great resource for web developers using.net The message board is free to use (as a lot of other projects). We use the message board extensively at my company. Borland C# Builder for the.net Platform Others I am forgetting? 12 6

7 Mono (www.go-mono.com) 13 Mono (www.go-mono.com) The Mono project, is an effort to create an Open Source implementation of the.net Development Framework. Compiler and Libraries 14 7

8 Mono (www.go-mono.com) Mono is a comprehensive open source development platform based on the.net framework that allows developers to build Linux and cross-platform applications with unprecedented productivity. Mono's.NET implementation is based on the ECMA standards for C# and the Common Language Infrastructure. Sponsored by Novell the Mono project has an active and enthusiastic contributing community. Mono includes both developer tools and the infrastructure needed to run.net client and server applications. 15 Mono (www.go-mono.com) Mono includes a compiler for the C# language, an ECMAcompatible runtime engine (the Common Language Runtime, or CLR),and class libraries. The libraries include Microsoft.NET compatibility libraries (including ADO.NET and ASP.NET), Mono's own and third party class libraries.gtk#, a set of.net bindings for the gtk+ toolkit and assorted GNOME libraries can be found in the later. This library allows you to build fully native Gnome application using Mono and includes support for user interfaces built with the Glade interface builder. Furthermore, Mono's runtime can be embedded into applications for simplified packaging and shipping. In addition, the Mono project offers an IDE, debugger, and documentation browser. 16 8

10 Microsoft Opening Up Mono would not be possible if Microsoft had not submitted.net and C# to Standards Authorities (ECMA ) See: This is what I consider (Damon) a new Microsoft that is embracing the global development community s concerns about proprietary technology from Microsoft 19 A Few Words About J2EE 20 10

11 A Tale of Two Technologies J2EE Java 2, Enterprise Edition Specifies 3-tier thin-client application architecture based on Java and libraries Defined by Sun with guidance by Java Community Process participants Microsoft.NET Implements broad range of application architecture models, including multi-tier, client-server, desktop, and mobile Defined by Microsoft with guidance by ECMA, W3C, IETF, WS-I, and so on 21 Apples and Oranges J2EE is a specification, while.net is both a spec and an implementation For full comparison, you must look at an actual J2EE implementation IBM WebSphere, BEA WebLogic, Difficult to discern where J2EE ends and vendor-specific features begin Java specs frequently change Often tracking Microsoft technologies Often as a result of J2EE implementations 22 11

13 A typical J2EE Enterprise Solution Browser Java Client Java App Server Servlet EJB JSP DB Server 25 Java vs.net Solutions Both multi-tiered, similar computing technologies Both support standards Both offer different tools & ways to achieve the same goal. A lot of parallelism can be seen. Very difficult to compare and qualify the comparison because each has its own advantages & disadvantages

16 Java vs. C# C# is an object oriented language of the C++/Java flavor Syntax similar to Java and C/C++. Quite an impressive design and care for details Java developers will feel comfortable most of the time and frustrated when things are different MS says: C# combines the power of VC++ with the ease of usage of VB Not really true: C# is really powerful BUT It is not easy to learn for non C++/Java programmers It is the language to learn if you are serious about.net! 31 The TMC Petshop Performance Case Study Java Pet Store is Sun s primary blueprint application for J2EE Source: Illustrates best coding practices for J2EE Ships as a sample application in IBM Websphere, Oracle Application Server 9i, Sun iplanet, and BEA WebLogic The.NET Petshop is a port of the J2EE Java Pet Store to.net Source: Implements the same functionality as Java Pet Store Illustrates best coding practices for.net Framework In the TMC Petshop Performance Case Study, The Middleware Company implemented both the Java Pet Store and the.net Petshop. The J2EE version ran on two different application servers All versions used the same hardware and OS 32 16

17 Java Pet Store vs..net Pet Shop 33 Choosing between Java and.net You are most likely to be developing in both environments for the foreseeable future Gartner Group: 30+% of all enterprise applications will have both J2EE and.net code Often IIS in front of J2EE infrastructure Interoperability issues Web Services (often too slow or doesn t support ) J2EE/.Net bridge (IL -> JBC or JBC ->IL) 34 17

18 Choosing between Java and.net Look out for The third way Linux, Apache, MySQL, PhP, Look out for disruptive technologies It only takes one guy to get the right idea and a small team to implement a completely new platform and One large company to productise it or a lot of grassroots 35 Component-oriented programming (COP) 36 18

19 Component-oriented programming (COP) recall OOP is programming with objects, classes and inheritance (Wegner) COP is programming with polymorphism, modular encapsulation, late binding and safety practically all existing programming methodologies work only within a component still looking for a methodology covering component interactions 37 Markets vs technology components are reusable assets; generally more expensive than use-once component approach viable only if extra investment is returned requires a component market, either in-house or external this in turn requires accepted standards the problems are not technological ones alone imperfect technology in a working market is sustainable; perfect technology without a market will vanish 38 19

20 New Professions Component system architect Provides architecture for the architects the architects of component frameworks. It is what city master planning is to the architects of individual buildings Component framework architect A component framework is not just a design, but may itself contain implementation parts. The framework implementation is the basis for the interoperation with other frameworks, rules of component interaction, and provision of component default behavior where applicable 39 New Professions Component developer Takes component framework specification and specific component requirements and develops, by means of analyses and design, these ideas into implementable components Component assembler A component assembler (or composer) takes application requirements, selects appropriate components and perhaps component frameworks and assembles these

Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,

Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

Visual COBOL is the industry leading solution for COBOL application development and deployment on Windows, Unix and Linux systems. It combines best in class development tooling within Eclipse and Visual

International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 1 (May 2013), PP. 116-121 A Comparison of J2EE and.net as Platforms for

Changtao Qu, Thomas Engel, Christoph Meinel: Implementation of an Enterprise-level Groupware System Based on J2EE Platform and WebDAV Protocol in Proceedings of the 4th InternationalEnterprise Distributed

Tect Web and Application Frameworks (.NET and J2EE) Gunjan Samtani Dimple Sadhwani Tect. All rights reserved. The author and publisher have made every effort in the preparation of this document to ensure

Based on Slides by Prof. Dr. H. Mössenböck University of Linz, Institute for System Software, 2004 published under the Microsoft Curriculum License.NET Overview Andreas Schabus Academic Relations Microsoft

Lecture 29 Application Server 1. Application servers in general 2. JBoss What is application server An application server is a software platform on which applications can be installed as services, which

What is.net Framework Microsoft.Net Framework is a programming infrastructure created by Microsoft for building, deploying, and running applications and services that use.net technologies, such as desktop

CrownPeak Java Web Hosting Version 0.20 2014 CrownPeak Technology, Inc. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical,

edeveloper 9.4 Certification T his document provides information about the various platforms on which edeveloper 9.4 has been certified for operation by Magic Software Enterprises. For each platform supported,

Oracle WebLogic Foundation of Oracle Fusion Middleware Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.com/in/lawrence143 History of WebLogic WebLogic Inc started in 1995 was a company

Industry 4.1 Lesson 4 Industry An survey of the impact on and use of Web Services in the industry today. SKILLBUILDERS Industry 4.2 4.2 Lesson Objectives What companies are using it? Popular SOAP Implementations.NET

Android Developer resume usa 1 of 5 1/12/2015 2:28 PM ANDROID DEVELOPER RESUME USA.NET Developers/Architects Resumes Please note that this is a not a Job Board - We are an I.T Staffing Company and we provide

Dot Net Training Course Syllabus Our.NET training course objective is to get familiarize with Microsoft.Net, C#, VB.NET and ASP.NET technologies along with some third party tools like CSS, AJAX, JAVA Script

Upgrading a Visual Basic Application to.net: The e-volutionvisualizer Example Introduction The emergence of a new technology brings the opportunity to develop new and more powerful applications. The cost

[Name] [Email ID] [Contact Number] Summary: Over 7 years of experience in object oriented programming, design and development of Multi-Tier distributed, Enterprise applications using Java and J2EE technologies

What is a Web service? Many people and companies have debated the exact definition of Web services. At a minimum, however, a Web service is any piece of software that makes itself available over the Internet

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise Eric Newcomer, CTO Overview First of all: concepts and definitions Change your thinking about your IT environment Including organization

Page 1 of 5 Developing Java Web Services Hands On 35 Hours Online 5 Days In-Classroom A comprehensive look at the state of the art in developing interoperable web services on the Java EE platform. Students

Chapter 4 IT Infrastructure and Platforms Essay Questions: 1. Identify and describe the stages of IT infrastructure evolution. 2. Identify and describe the technology drivers of IT infrastructure evolution.

Hello OpenROAD! An Introduction to Rapid Application Development for Ingres David Tondreau, Architect 11 Agenda Brief Recap from Last Week s Webinar An Introduction to OpenROAD Overview of OpenROAD Workbench

WHITE PAPER Domo Advanced Architecture Overview There are several questions that any architect or technology advisor may ask about a new system during the evaluation process: How will it fit into our organization