Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
The Impact of Microsoft .NET Billy Hollis Next Version Systems, LLC Presented for the Association of Information Technology Professionals October 31, 2002 Limitations of software at the turn of the century Internet “strapped on” to existing systems Multiplying programming models • Web programming different languages and technologies from other types of programming Lack of standard way for distributed systems to communicate • Most systems isolated within one organization • Information communicated “ad-hoc” – printing, fax, email, etc. Security vulnerabilities Microsoft-based systems hard to deploy The first post-Internet platform Microsoft .NET Designed from the ground up with the Internet in mind Microsoft is betting their future on it So big, it’s hard to grasp the changes it will bring Will likely bring competitive responses from other companies, so its effects matter even if you don’t expect to use it This session covers some of the expected long term and short term effects Structure of Microsoft .NET Two main elements • Common Language Runtime (execution engine) abstracts away the operating system • Framework Base Classes provide “infrastructure” code, allowing consistent programming with far fewer lines of code Web users Other systems local users Programs written in .NET Framework Base Classes (database access, user interface creation, XML, security interface over 8000 classes) Common Language Runtime (execution, security, memory management, program loading, interface to OS) Databases, message queues, other O/S Services Operating System (currently Windows) Goals of Microsoft .NET Unify programming models • Internet, local, mobile programming all done with the same language and toolset Provide new distributed architectures • Tying systems together across the Internet Better deployment • Cheaper deployment for standard apps • More deployment options, including Internet deployment Better security • Obliterate common security flaws such as buffer overruns • More security options – fine-grained policies Languages in .NET There are over thirty languages already enabled or being enabled to work with the .NET platform, including: • • • • Visual Basic C# (Microsoft’ new Java-like language) •Fortran Java •Many others COBOL All have similar flexibility and performance characteristics Languages work together transparently, including the ability to do cross-language inheritance The effects of .NET Breaking the “single-organization” model for software systems Decline of browser-based applications Simplified development via a common programming model Much faster creation of Internet applications Integration of mobile/wireless technologies Interoperability with existing systems Breaking the single-organization model Most current systems reside within a single organization Need to integrate with other organizations increases every year • Communicate information to customers/suppliers/public • Use functionality without having to write it • Support geographically distributed operations • Integrate external data into decision support programs The need for better integration Screen scrape Partner Web Applications FAX B2C website Client Partner Ad-hoc Credit info The technology – Web Services System-to-system communication over the Internet Standard communications protocol – SOAP • Variant of XML • W3C approved • Supported by Microsoft, IBM, Intel, HP, Sun, etc. Integrates systems with different hardware or operating systems Supplies data, not “web page”, so data can be used in any necessary fashion Very easy to create and use with .NET Changes caused by XML and Web Services Adoption Partner XML Partner XML Client XML Client B2C website XML Credit info Benefits: End-to-end automation; Share, analyze and act on the data Decline of browser-based apps Today we use the browser just to keep deployment costs low Alternative of “smart-client” applications costs too much to deploy for most scenarios So we put up with sub-standard, nonresponsive user interfaces .NET changes the economics of deployment Simple deployment model – copy and run Allows programs to run from • • • • Local computer Shared drive on a network Removable media (e.g. CD-ROM) An Internet server Fine-grained security • Security policies determine exactly what privileges code has, based on its origin and other pieces of evidence about the code Internet Deployment of Windows Forms Client with Web Server .NET Runtime Form1 Windows Forms App. HTTP Assembly Cache Web Server Forms contained in separate DLLs Form2 Deployment directory on web server Smart clients become practical again This new generation is sometimes referred to as “distributed smart client architecture” Common Programming Model in .NET For Microsoft (pre .NET), you needed multiple languages and technologies • Visual Basic, ASP, C++, DHTML, XML, etc. .NET languages can be used for all types of programming Internet Mobile Wireless Forms-based Component development System development Developers capable of doing a broader range of tasks No need to change languages for different types of development Simpler Programming Model in .NET XML can be accessed as normal data Web developers use far less HTML/DHTML Less SQL development – better data access tools .NET Framework Classes handle infrastructural details .NET applications have roughly half the amount of code as applications written with previous Microsoft tools The effects of .NET Breaking the “single-organization” model for software systems Decline of browser-based applications Simplified development via a common programming model Much faster creation of Internet applications Integration of mobile/wireless technologies Interoperability with existing systems Faster development of Internet applications Drag and drop development of web pages Smart “server controls” act like visual controls on a form • Manage their own state • Render their visual appearance in HTML • Support multiple browsers Infrastructure built in • Security • Caching • Storing information from page to page Mobile and wireless technologies Two approaches • Web pages for wireless devices (phones, PDAs) • Software that runs on mobile devices (PDAs, tablet PCs) Advantages to each approach • Web pages have broad reach, practically zero deployment costs, but cannot take advantage of local intelligence or store info locally • Software on device is limited to certain devices and must be copied to device, but can store locally and have smart UI .NET has support for both types of mobile development Mobile Internet Toolkit used to write pages for wireless devices • Drag and drop development • One page supports multiple devices, using HTML or WML as necessary .NET Compact Framework for mobile devices such as PDAs • Subset of complete .NET Framework • Can access Web Services for data • Smart UI with Windows Forms subset Interoperability with existing software You can’t just throw away everything you have now Older COM software can be used inside .NET through interoperability • Engine for interop built into the CLR • Good performance .NET software can expose a COM interface • Allows systems to be replaced piece-by-piece .NET versus Java The main competitor to .NET is Java Java is a strong, mature technology for server applications Java weaknesses vs. .NET • Behind on Web Services • No significant competition for distributed smart client architectures • More expensive • Only one language • Not as interoperable with older technologies Some of these will disadvantages will be reduced in time – others will not Summary These changes brought by .NET will drive new business needs and arrangements • Communication with partners • New business models for providing data and services on the web • Competitive advantages New, smarter systems… with greater reach… and more connectivity… developed faster Summary (continued) These changes will affect many aspects of software development • Wider reach and higher connectivity allow new architectures • Deployment options drive new choices for common applications • Changes in best practices • System definition and design • Makeup of development teams • Professional development and training Questions? Billy Hollis Next Version Systems, LLC [email protected] (615) 333-6555 • Strategic and architectural consulting in .NET • Focus on commercial software development • In-depth training in .NET Presenter - Billy Hollis [email protected]