1975 1994 - 2002 1975 - 1987
2002 - 2008
1987 - 1994
Evolution of Microsoft Technologies - Geeta Bora
Quick Facts About Microsoft • Founded in 1975 by Bill Gates & Paul Allen • Microsoft was formed soon after the introduction of the MITS Altair, the first "personal computer“ • Allen & Gates ported BASIC for Altair in 24 hours !! • Micro-Soft at MITS • Microsoft incorporates – June 25, 1981 • As of June 30, 2008 – Headcount (91,259), Net Revenue ($60.41B), Net Income($17.68B), Diversity Ratio(3:1) • bgC3 - Think tank company by Bill Gates • Authored by Bill Gates – ‘The Road Ahead’ & ‘Business @ the Speed of Thought’ Weird Facts about Microsoft Windows !!! • Nobody can create folder named ‘CON’, ‘PRN’, ‘AUX’, ‘NUL’, ‘COM1’…. • ‘Bush hid the facts’ in notepad (4-3-3-5) • ‘=rand(1,1)’ in word pad
Theoretical Evolution of Programming Languages • • • • • • • • • • • • • • • •
Cyborg Neural Path Symbiosis (Cybernetics) . . . Internet-Enabled Languages Artificial Intelligence (XML, AIML) Multitasking GUI Operating System Combinations (Windows 95,98,ME) Object-Oriented Languages (C++, C# ..) Operating System Command Languages (Batch files) High level Languages (BASIC, C) Machine-Oriented Languages (B,BCPL) Problem-Oriented Languages (FOTRAN, ALGOL) Assembly Language (MS DOS) . . Actual Hardware
Evolution of OOPs C at Bell for Unix operating system Simula / Smalltalk Windows API (Win 16, Win 32 ..) C with classes (C++) Java ( C++ minus multiple inheritance, automatic type conversions, the use of pointers, and C++'s memory management
Visual tools (VC++, VB, VJ++…) Microsoft Foundation Classes (MFC) .NET Framework (C#, VB.NET, VJ++.NET, ASP.NET …)
Evolution of Component Technologies • Custom Controls (C Language Dlls) Limitations: Difficult to use in VB development environment. Did not provide a way for VB to query these controls for properties and methods supported by control.
• VBX (VB Extensions written in C, C++) Limitations: Unable to port to 32 bit environment.
• OLE 1.0 (Object Linking and Embedding) - OCX - Document centric approach rather than application centric approach Limitations: Had to be coded using complex C interface (API)
• OLE 2.0 (Object based services architecture) - Foundation was Component Object Model (COM)… Remote Procedure Call - VC++ with MFC library wrapped had OLE API in C++ class library Limitations: Required all components to be on same computer
Evolution of Component Technologies • DCOM, Activex
Activex - COM enabled for Internet. Supports multi-tier applications. Limitations: Interoperability across platforms. Ports and Firewalls limitations.
• COM+
COM + DCOM + MTS + extra services (in-memory database, event service, queued components, load balancing) ATL for implementing COM instead of MFC Limitations: Interoperability across platforms. Ports and Firewalls limitations.
• .NET Framework controls
– Web services based on standards SOAP, XML,WSDL with clients communicating using SOAP over HTTP – Clients from other platforms can interoperate with web services Limitations: Stateless environment. Only XML serialization of objects.
Evolution of Component Technologies •
.NET Remoting - Widely distributed applications with inter process communication. - Supports state management - Can be accessed over TCP, SMTP, HTTP Limitations: Homogeneous environment. Both applications should be in .NET
•
WCF (Windows Communication Foundation) - Can be hosted in IIS, Console apps, Winforms, WPF. Service Host EndPoint Client - Supports all communication protocols Address Binding Contract
Proxy Channels Behavior
Evolution of Web Technologies • Static web sites – HTML • Dynamic web sites C (or) Perl using CGI standard (Common Gateway Interface), CGI scripts (UNIX) Limitations: Security, Scaling to larger sites, Time consuming, Expensive to create. CGI is not multithreaded-limitations on concurrent users, uses great amount of server resources
• DHTML (DOM + Scripts + CSS + XHTML) Dynamic HTML give you more control over the HTML elements and allows them to change at any time, without returning to the Web server
Evolution of Web Technologies • ASP
evolved from Active phase as in Activex, Active Directory, Active Desktop ASP(1996 for NT) = HTML + Objects + Server side scripts + access to database + Activex Limitations: Users need to work on lot of servers – IIS,MTS … Should know ASP, VB Script and db server like MS SQL etc.
• ASP.NET 1. Separation of HTML interface from application logic 2. Rich set of server-side controls 3. Less code to write due to Data binding capabilities 4. Event-based programming 5. Compiled code and support for multiple languages 6. Allows third parties to create controls that provide additional functionality
Evolution of Web Technologies • AJAX (Asynchronous JavaScript and XML) Limited transfer of data to and from Web server
• SilverLight - Cross-browser, Cross-platform multimedia plug-in - Developed under WPF - Uses XAML (Extensible Application Markup Language)
• ASP.NET 3.5 Extensions - SilverLight and Media Player controls - Dynamic Data Controls - Model View Controller (MVC)
Evolution of Databases • MS Access Small amount of data in single user/few users environment Limitations: Cannot be restored to point of failure. Not integrated with Windows NT security. Does not support triggers, temporary tables, TSQL, user defined functions..
• SQL Server SQL 1.0: Microsoft and Sybase ….. SQL 6.0: Rewrite of SQL server’s core technology - Performance, Builtin replication, centralized administration SQL 7.0 : Rewrite of database engine & storage technology ….
Note: ADO.NET , LINQ (Language Integrated Query)
Sample Build a web site … • Client side programming HTML, CSS, XML, Activex, VBScript, JavaScript, AJAX, DHTML Web Forms, SilverLight (RIA) • Server side programming ASP, ASP.NET, JavaScript, VBScript • Client Server communication DCOM, Web Services, .NET Remoting, WCF • Database MS-SQL, SQL Server
Q&A