VB.NET and The Microsoft .NET Initiative - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

VB.NET and The Microsoft .NET Initiative

Description:

The use of component transaction monitors (CORBA, DCOM) to manage processes. 10/4/09 ... First CORBA and then DCOM provided models for accessing a process (service) ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 31
Provided by: michael646
Category:

less

Transcript and Presenter's Notes

Title: VB.NET and The Microsoft .NET Initiative


1
VB.NET andThe Microsoft .NET Initiative
  • Michael B. Spring
  • Department of Information Science and
    Telecommunications
  • University of Pittsburgh
  • spring_at_imap.pitt.edu
  • http//www.sis.pitt.edu/spring

2
Context
  • VB.NET can only be understood as one small part
    of a much larger system
  • VB has a long tradition of making coding
    extremely easy by embedding functionality in
    components. This tradition continues in VB.NET
  • VB.NET also provides a language and development
    environment that is vastly improved error
    messages, try-catch block, true classes.
  • Finally VB.NET makes socket and DBMS connections
    very easy

3
.NET in a Nutshell
  • Imagine an environment within which you can write
    a few hundred lines of perfect client code by
    clicking a few buttons.
  • Imagine an environment within which devices of
    all sorts know how to connect to other devices
    in the environment.
  • Imagine an environment within which all the
    services are prepared for a connection through
    some kind of extensible clearinghouse.

4
Overview
  • Context
  • The technology
  • Historically
  • Retooled
  • The pieces of .NET
  • For the end user
  • For the system administrator
  • For the programmer

5
Context
  • The Web is accepted as THE environment within
    which future technologies will be developed.
  • The servers are in place
  • People know how to use browsers
  • Existing tools and infrastructure to support
    distributed services are being redesigned.
  • Servers that are web ready
  • IDEs that ease the development process using
    object oriented approaches
  • Applications that are service aware

6
The General Strategy
  • Web servers have had the ability to run programs
    that produce output for years. (CGI programs have
    historically produced dynamic web pages.) This
    continues with
  • Servlets
  • Server-side includes
  • ASP, JSP, and ASP.NET
  • Browsers have had the ability to run programs for
    years. (Applets and the Java Runtime Environment
    JRE, started this process.) This continues
    with
  • Plug-ins
  • Scripting languages
  • Downloaded executables

7
Microsoft and the Web
  • Microsoft views the next generation web as a
    challenge to its control of the desktop
  • Microsofts response .NET is one approach to
    developing a distributed computing environment
  • Microsoft is making all of their servers web
    compliant
  • Microsoft is upgrading their development software
    to include support for web services via wizards
  • Microsoft plans to promote this new environment
    via killer applications e.g. Office and Xbox

8
The Original Technology
  • Distributed computing, based on a client server
    model, has been with us for years.
  • The programming of distributed applications
    required extensive coding for even simple tasks.
  • The transmission and reception of messages had to
    be monitored and manually controlled.
  • Packet sequencing
  • Lost packet management
  • Data conversion across platforms had to be
    managed.
  • The location of servers had to be known in
    advance.

9
The Evolution of the Technology
  • The programming of distributed applications was
    made simpler by several developments
  • The use of TCP/IP stacks made connection
    management easier
  • The use of marshalling tools (XDR, ASN.1) made
    the movement of data between platforms easier.
  • The use of higher level APIs (RPC and RMI) made
    the design task easier.
  • The use of registration (portmapper, the
    registry) to locate objects
  • The use of component transaction monitors (CORBA,
    DCOM) to manage processes.

10
The New Technology
  • The next generation web .NET is simply a form
    of distributed services. The environment allows
    for services that are
  • Registered and discovered asynchronously
  • Allocated at run time dynamic late binding
  • Highly modular allowing for n-tiered
    architectures
  • May be peer-to-peer or client server
  • Instant messaging (AOL IM) and file sharing
    services (Gnutella) are examples of peer-to-peer
    services.

11
Infrastructure
  • Abstract syntax
  • A device independent form for data
  • Component transaction monitors
  • These are processes that manage other processes
    e.g. keeping a process in memory rather than
    restarting it each time.
  • Distributed directory services
  • A way of finding things by reference
  • Security and authentication
  • A way of providing both encryption and
    non-repudiation

12
Abstract Syntax XML
  • Data interchange needs to be device independent.
    XML serves this purpose.
  • XML is also used as the base language for
  • The Universal Description, Discovery, and
    Integration (UDDI) protocol. The UDDI protocol
    is used to advertise, find, and combine services.
  • The Web Services Description Language (WSDL)
    which allows web services to be defined or
    invoked.
  • The Simple Object Access Protocol (SOAP) which is
    the mens used to transmit requests and responses
    including WSDL or UDDI requests and responses.

13
CTM Infrastructure
  • CGI initially started a new process every time a
    script was called. This was expensive.
  • First CORBA and then DCOM provided models for
    accessing a process (service) running on a remote
    machine.
  • Processes that provide this kind of service are
    called Component Transaction Monitors (CTMs).
    CTMs manage processes. They
  • Maintain heavily used processes in memory
  • Provide some form of indirect connection.
  • Provide wrap around services such as transaction
    rollback, security, and authentication
  • Currently Passport is the main .NET CTM service

14
Directory Infrastructure
  • The directories allow resources to describe and
    advertise themselves so as to be discovered.
  • They are distributed and object oriented based on
    the X.500 Directory Service or Lightweight
    Directory Access Protocols (LDAP).
  • UDDI is the protocol for advertising and
    discovery.
  • WSDL is the protocol for description

15
Security and Authentication
  • CTMs will implement secure pipes of various types
    between monitors to allow transactions that begin
    and end behind firewalls to move across the
    unprotected internet.
  • Certificates will be used as the basis for the
    development of a web of trust that will allow for
    authentication and non-repudiation
  • The Passport Service is the Microsoft service for
    authentication

16
Finding a Registered Service
Directory
discovery
registration
Browser
UDDI SOAP HTTP
17
Using Known Hidden Services
WSDL/SOAP HTTP
Browser
Server
18
.NET
  • .NET is built by extending and creating new tools
    and services in three areas
  • A set of servers both modified existing (SQL
    and Exchange) and new (BizTalk)
  • A set of tools the wizards in VB and C are
    extended to encompass web services
  • New foundation services advertising,
    notification, and security (Passport) that are a
    part of the CTM.

19
.NET for the User
  • Microsoft will help users see how this new
    environment will work by building new devices and
    services
  • New devices that consume services
  • Xbox
  • Tablet PC
  • Smart phone
  • User experiences that promote the new environment
  • Office will be .NET sensitive
  • Microsoft Project will be .NET sensitive
  • XP will be .NET sensitive

20
.NET for the Sys Admin
  • Most of the Microsoft servers are being optimized
    to act as or interact with CTMs
  • Windows Client OS
  • XP clients are service enabled as device
    coordinators
  • Server OSs
  • 2000 Normal, Advanced, and Datacenter
  • .NET services include specialized functionality
    for databases, internet and intranet services,
    management services, messaging/collaboration,
    business solutions and portable devices

21
.NET for the Sys Admin
  • Database
  • SQL Server
  • Internet and Intranet
  • BizTalk and Commerce Server
  • Content Management Server
  • Security and Accelleration Server
  • Sharepoint Portal Server
  • Mobile Information Server

22
.NET for the Sys Admin
  • Messaging and Collaboration
  • Exchange Conferencing Server
  • Content Management Server
  • SharePoint Portal Server
  • Management Tools
  • Application Center
  • Operations Manager
  • Services for Unix and Netware

23
.NET for the Programmer
  • Even doing something tiny in a distributed
    environment is hard
  • Microsoft solves this problem by hiding this
    complexity in optimized objects with properties
  • VB.NET has been referred to as the Javatization
    of Visual Basic
  • VB is now compiled to byte codes for efficiency
    (CLR)
  • There are a set of class libraries, just like
    Java
  • VB has become more object oriented

24
2-Tier Programming
  • The design challenge in distributed processing is
    the allocation of responsibility
  • In simple two tier systems
  • The client should be responsible for presentation
  • The server should be responsible for the
    centralized or shared components
  • This can lead to server overload as 1000s of
    users vie for the attention of the server

25
3-Tier Programming
  • 3 tier systems help to offload the strain on the
    server by placing the majority of the processing
    on the server in a middle business logic layer
  • The client is responsible for presentation
  • The middle layer is responsible for the logic
  • The data layer is responsible only for the data
    store
  • This helps with server overload by restricting
    the contention to access to data this has to be
    one machine. The middle layer can be allocated
    to mutltiple machines

26
N-Tier Programming
  • In reality, the client can be communicating
    simultaneously with multiple servers, which can
    in turn offload parts of their work to numerous
    background servers
  • This provides significant flexibility in the
    balancing of loads and clarity of coding

27
The Complex Made Simple(1)
  • To build a server, you need to
  • Bind a port to a socket
  • Start the socket listening
  • Fork a new process when a connection is made
  • Translate incoming messages to the native format
  • Invoke the needed function
  • Marshall the returns of a structure
  • Write the data back to the socket
  • In VB.NET, you select Build web Service wizard,
    answer yes, type ltWebMethod()gt in front of the
    function, and press Start.

28
The Complex Made Simple(2)
  • If your server accesses a DBMS, you need to
  • Open a connection to the DBMS
  • Open a given database
  • Formulate the needed SQL statement
  • Submit the statement
  • If it returns data, the data needs to be
    organized and stepped through with appropriate
    data type translations
  • With VB.NET open Data Form Wizard, set the
    properties, and call a predefined method on the
    object created

29
The Complex Made Simple(3)
  • To access a server in a program, you need to
  • Allocate a socket
  • Open a connection to a machine and port via the
    socket
  • Build a request using the wire format
  • Send the message, identifying the needed function
  • Unmarshall the data returned via a structure
  • Take action on the data
  • With a browser, simply type the URL directory
    location service name of the service created.
  • With VB.NET, use the add web reference wizard and
    build the dialog.

30
Conclusions
  • .NET is Microsofts approach to component based
    distributed computing.
  • The focus of their effort is three fold
  • They are rewriting all of their components
    servers so that they are ready for contact
  • They are revamping their coding environments such
    that clients (VB.NET) and server side glue
    (ASP.NET) are easy to write.
  • They are developing applications of their own
    (Office, Xbox, etc) that demonstrate this new
    approach.
Write a Comment
User Comments (0)
About PowerShow.com