MitchellBosecke,GregBurlet,DavidDietrich, - - PowerPoint PPT Presentation

mitchell bosecke greg burlet david dietrich peter lorimer
SMART_READER_LITE
LIVE PREVIEW

MitchellBosecke,GregBurlet,DavidDietrich, - - PowerPoint PPT Presentation

MitchellBosecke,GregBurlet,DavidDietrich, PeterLorimer,RobinMiller 0 Introduction 0 ASP.NET 0 WebServicesandCommunication 0 MicrosoftVisualStudio2010 0 Mono 0


slide-1
SLIDE 1

Mitchell
Bosecke,
Greg
Burlet,
David
Dietrich,

 Peter
Lorimer,
Robin
Miller


slide-2
SLIDE 2

0 Introduction


0 ASP
.NET
 0 Web
Services
and
Communication
 0 Microsoft
Visual
Studio
2010
 0 Mono
 0 Support
and
Usage
Metrics


slide-3
SLIDE 3

.NET


What
is
.NET?


0 Framework
for
developing
software
in
Microsoft


Windows


0 Large
library
 0 Several
languages
supported,
allows
language


interoperability


0 Initial
Release:
February,
2002
 0 Current
Version:
.NET
4.0


slide-4
SLIDE 4

C#
and
VB.NET



C#


0 Syntax
extremely
similar
to
Java
and
C
 0 Extremely
common
language
for
Windows


development
 VB
.NET


0 Relatively
easy
to
learn
 0 Friendly
for
non‐developers
to
use


slide-5
SLIDE 5

Lambda
Expressions


0 Greatly
reduce
the
amount
of
code
needed
 0 Supported
starting
in
.NET
3.5
 0 Custom
Sorting!



(a,b)
=>
a.Length.CompareTo(b.Length);
 Nothing
like
it
in
Java,
planned
for
JDK
8,
not
until
late
 2012


slide-6
SLIDE 6

0 Introduction


0 ASP
.NET


0 Web
Services
and
Communication
 0 Microsoft
Visual
Studio
2010
 0 Mono
 0 Support
and
Usage
Metrics


slide-7
SLIDE 7

ASP.NET


What
is
it?


0 Web
application
framework
 0 Supports
dynamic
websites,
web
applications,
and


web
services


0 Developer
can
use
any
.NET
language


slide-8
SLIDE 8

ASP.NET


Browser
 requests
 ASP.NET
`ile
 IIS1
passes
 request
to
 ASP.NET
 engine
on
 the
server
 Engine
 reads
the
 `ile
line
by
 line
and
 executes
the
 scripts
in
 the
`ile
 ASP.NET
`ile
 is
returned
 to
browser
 as
plain
 HTML


1
IIS
–
Internet
Information
Services


slide-9
SLIDE 9

ASP.NET


Pros


0 Can
program
in
VB.NET,
C#,
Delphi.NET,
Chrome,
etc.


0 Can
even
use
multiple
languages
in
one
application


0 Object
oriented
programming
approach
 0 Support
for
web
services
 0 Very
easy
to
use
XML
support
 0 Easy
migration
for
windows
developers
to
switch
to


web
development


slide-10
SLIDE 10

ASP.NET


Cons


0 Microsoft
platform
needed
for
deployment
 0 Not
open
source
 0 Possibly
steep
learning
curve


slide-11
SLIDE 11

ASP.NET


ASP.NET
vs.
PHP


0 ASP.NET
is
compiled
where
PHP
is
scripted


0 Room
for
better
performance
with
compilation


0 Updates
to
ASP.NET
are
much
more
drastic
than
PHP


so
more
effort
is
needed
to
keep
up


0 Use
ASP.NET
if
developers
already
have
experience


with
Windows


slide-12
SLIDE 12

0 Introduction
 0 ASP
.NET


0 Web
Services
and
Communication


0 Microsoft
Visual
Studio
2010
 0 Mono
 0 Support
and
Usage
Metrics


slide-13
SLIDE 13

Web
Services
and
 Communication


0 Many
modern
web
applications
require
the
ability
to


interface
with
other
applications


0 SOAP
(Simple
Object
Access
Protocol)


0 Sends
commands
to
a
single
server
via
POST
in
XML


documents


0 Single
endpoint


0 REST
(Representational
State
Transfer)


0 Uses
the
web's
infrastructure
(like
URLs)
to
send


commands


0 Distributable
endpoint


slide-14
SLIDE 14

Web
Services
and
 Communication


0 (WCF)
Windows
Communication
Foundation
API


0 Supports
SOAP
natively
and
REST
with
add
on
package


0 Other
3rd
party
packages


0 XML
Parsing
(ex.
Chilkat)


0 Can
integrate
other
services


0 ex:
Google
Maps
 0 ex:
Amazon
Store


slide-15
SLIDE 15

0 Introduction
 0 ASP
.NET
 0 Web
Services
and
Communication


0 Microsoft
Visual
Studio
2010


0 Mono
 0 Support
and
Usage
Metrics


slide-16
SLIDE 16

Visual
Studio
2010


0 Microsoft’s
Solution
to
Development


0 
A
collection
of
products
integrated
into
one


environment
ranging
from
design
to
deployment.


0 Divided
into
packages
such
as
Visual
Studio
Ultimate,


Premium,
Professional
and
Express.


slide-17
SLIDE 17

Development
Made
Easy


Visual
Studio
2010
Pros


0 Allows
for
development
in
multiple
languages
for


multiple
platforms.

 
i.e.
PC,
XBOX
and
Windows
7
phone


0 Easy
project
creation
and
management.
 0 Easy
design
and
deployment
of
ASP
.NET
applications
 0 Intellisense
‐
advanced
code
completion.
 0 Easy
layout
management
 0 Great
technical
support.


slide-18
SLIDE 18

Maybe
Not
That
Easy


Visual
Studio
2010
Cons


0 Proprietary.

 0 It’s
not
cheap
either
ranges
from
$800
‐
$12
000.
 0 Large
overhead
for
small
projects.
 0 Heavy
resource
consumption.


slide-19
SLIDE 19

.NET
and
Visual
Studio


0 .NET
4
SDK
‐
development
optimized
in
Visual
Studio.
 0 Visual
Studio
has
support
for
ALL
.NET
languages



C#,
ASP.NET,
VB.NET,
etc..


0 Microsoft
products
play
well
together.


slide-20
SLIDE 20

0 Introduction
 0 ASP
.NET
 0 Web
Services
and
Communication
 0 Microsoft
Visual
Studio
2010


0 Mono


0 Support
and
Usage
Metrics


slide-21
SLIDE 21

Hypothetical
Situation


0 Economic
recession
forces
your
company
to
reduce
costs.


You
look
into
Linux
because
not
only
is
it
free,
but
it
has
 free,
open‐source
software
leading
to
signi`icant
cost
 reductions.



0 Your
code
base
contains
various
.NET
applications
critical


to
your
business.


0 Your
business
employs
developers
skilled
in
.NET
and
VS.


Either
employ
new
developers
(costs
go
up)
or
push
 current
developers
out
of
their
comfort
zone
leading
to
a
 learning
curve,
initial
mistakes
(costs
go
up)


0 Problem:
.NET
applications
do
not
run
in
the
Linux


environment


slide-22
SLIDE 22


An
open
source
implementation
of
.NET
framework.

 
A
software
platform
designed
to
promote
easy
development
of


 cross‐platform
.NET
applications.


slide-23
SLIDE 23

Options,
options,
options


Portability
 Flexibility


0 Develop
and
run
.NET


applications
on
Linux,
 Microsoft
Windows,
 Mac
OS
X,
BSD,
Sun
 Solaris,
Nintendo
Wii,
 Sony
PlayStation
3,
 Apple
iPhone


0 Mono
is
cross‐platform


itself.
It
runs
on
the
 aforementioned
 platforms


0 Write
code
in
your


favourite
 programming
 language
supported
 by
CLR
(Common
 Language
Runtime).



0 Code
is
interoperable


between
CLR
 languages.


slide-24
SLIDE 24

Hassle‐Free
Installation


0 Linux






 
Distribution
packages
(apt‐get)
or
manual
source‐





 
code
compilation

 



 
disclaimer:
manual
compilation
probably
isn’t
hassle­free


0 Windows,
OS
X,
BSD,
Solaris



Automated
installers


slide-25
SLIDE 25

Compatibility


0 Now
supports
everything
included
in
.NET
4.0
except:



Windows
Presentation
Foundation
(WPF),
Windows
Communication
 Foundation
(WCF),
and
Windows
Forms
(WF)


0 These
features
are
projected
to
be
completed
in
Mono


3.0
Olive


0 As
well
as
supporting
most
of
.NET
4.0
features,
Mono


also
has
it’s
own
extended
frameworks


slide-26
SLIDE 26

Mono
Tools
for
Visual
Studio


0 Microsoft
Visual
Studio
plugin
allows
developers
to


create
.NET
applications
to
deploy
on
mono‐enabled
 platforms.


0 Sets
everything
up
for
you


Mono
caters
to
web
as
well
as
desktop
applications!


slide-27
SLIDE 27

Mono
for
the
Web


Apache/Nginx
 Web
Services/Consuming
 Database
Connection


slide-28
SLIDE 28

Apache:
Mod_Mono


0 Mod_Mono
is
a
module
providing
ASP.NET
support
for


the
widely
used
HTTP
web
server
Apache.


0 Mod_Mono
passes
ASP.NET
page
requests
to
external


program,
mod­mono­server
which
handles
the
 request
instead
of
apache.



Socket:TCP


host
multiple
 independent
 applications


slide-29
SLIDE 29

Results


0 Can
route
speci`ic
URL’s
to
different
mod­mono­server


processes
running
under
one
virtual
machine
 





Example:
testing
server
runs
experimental
code
apart
from
production
code.



0 Set
speci`ic
quotas
(CPU,
disk,
memory)
to
different


server
processes


0 Mod_Mono
Con`iguration
Tool
–
automatically


generates
conf.d
`ile
to
deploy
application
 immediately
 
Con:
works
well
for
simple
applications.
Anything
more


complex
requires
extensive
con`iguration
text
`ile
tweaking


slide-30
SLIDE 30

Porting
Applications
between
OS


0 Web
applications
easier
to
port
than
desktop
apps



Complications
mostly
arise
with
data
access,
 authentication,
and
other
OS
speciQic
code
and
database
 migration
(i.e.
Microsoft
SQL
Server
­>
PostgreSQL)
 MoMa
(Mono
Migration
Analyzer)


0 Tool
that
helps
identify
platform
speci`ic
calls


*MoMa
might
fail
to
report
more
complex
problems
or
report
problems
which

are
 not
really
issues.


0 
Useful
method
to
estimate
the
ease
of
porting
your
code


base
to
the
Mono
framework
before
investing
lots
of
time.


slide-31
SLIDE 31

0 Introduction
 0 ASP
.NET
 0 Web
Services
and
Communication
 0 Microsoft
Visual
Studio
2010
 0 Mono


0 Support
and
Usage
Metrics


slide-32
SLIDE 32

Support


Documentation


  • MSDN
API
Reference

  • Online
Tutorials
&
Code
Snippets


Community


  • Blogs

  • Forums/Mailing
Lists

  • Ask
a
developer


Tracking


  • Microsoft
Connect:
bug
reports
and
suggestions

  • Change
logs

slide-33
SLIDE 33

Stack
Over`low
Tags


slide-34
SLIDE 34

Stack
Over`low
Tags