Distributed SystemsAgendaIntroductionHistory IHistory IICurrent ChallengesService-oriented ArchitectureDistributed Application DesignTechnical ArchitectureService FrameworkIntroduction to the .NET Framework.NET Framework Applications.NET Framework Design GoalsCommon Type System & Multilanguage Integration ICommon Type System & Multilanguage Integration IIMetadata and Self-describing ComponentsUnified Class LibrariesASP.NET IASP.NET IIWeb Services IWeb Services IIData DesignScalabilityInterop ServicesRemoting IRemoting IIMessagingInside Look: Web ServicesXMLSOAPWDSLUDDIThe FutureConclusionDistributed SystemsBuilding Distributed Applications on the .NET FrameworkAgendaIntroductionService FrameworkUnified Class LibrariesInside Look: Web ServicesConclusionIntroductionHistoryCurrent ChallengesService-oriented ArchitectureDistributed Application DesignTechnical ArchitectureHistory IThe Web started as basically a read-only file system, enabling easy content access using industry standards and protocols. The first interactive Web applications were typically outward extensions of existing two-tier applications that exposed and rendered data in a Web browser.History IIMost of these Web applications were built on two-tier architectures, creating challenges around scalability and application integration.Advancements in Web development are rapidly moving from this two-tier architecture to an n-tier design, which enables a richer integration strategy by exposing business objects and middle-tier logic to Web and partner integration.Current ChallengesTime to MarketScaling to the WebLack of End-to-end Development ToolsService-oriented ArchitectureIn a service-oriented architecture (SOA), data, logic, and infrastructure assets are accessed by routing messages between network interfaces.How to leverage and manage the diverse IT assets within an organization?Web services allow the exposing of key software components as network-addressable services.Distributed Application DesignConceptual model for the partitioning of functionality in the applicationTechnical ArchitectureTechnical architecture is the technology basis for achieving an enterprise-scale Web service-oriented architecture in an organization.Service FrameworkIntroduction to the .NET Framework.NET Framework Applications.NET Framework Design GoalsCommon Type System & Multilanguage IntegrationMetadata and Self-describing ComponentsIntroduction to the .NET FrameworkThe .NET Framework is an integral Windows component that supports building and running the next generation of software and Web services. Based on industry standards and manages much of the plumbing involved in developing and running a piece of software, enabling developers to focus on writing the core business logic code..NET Framework ApplicationsASP.NETWeb ServicesServer ComponentsSmart Client.NET Framework Design GoalsThe .NET Framework is a set of class libraries and a runtime for rapidly building and efficiently operating Web services and applications on the Windows operating system.Common Type System & Multilanguage Integration ITo fully interact with other objects regardless of the programming language they were implemented in, objects must expose to callers only those features that are common to all the languages with which they must interoperate.Common Type System & Multilanguage Integration IIThe CLS and common type system enable deep Multilanguage integration: Calling methods on other objects Inheriting implementations from other objects Passing instances of a class to other objects Using a single debugger across multiple objects Trapping errors from other objectsMetadata and Self-describing ComponentsA key advantage of self-describing components is that no other files are needed in order to use a component. This contrasts with typical application development today, which requires separate header files for class definitions, separate Interface Description Language (IDL) files, separate type libraries, and separate proxies and stubs. Since the metadata is generated from the source code during the compilation process and stored with the executable code, it is never out of sync with the executable.Unified Class LibrariesASP.NETWeb ServicesData DesignScalabilityInterop ServicesRemoting MessagingASP.NET IASP.NET provides a set of controls and infrastructure that make it simple to build Web applications.ASP.NET comes with a set of server-side controls that mirror the typical HTML user interface widgets, and an additional set of Web controls that are more complex.ASP.NET IIOne important feature of these controls is that they can be written to adapt to client-side capabilities—the same pages can be used to target a wide range of client platforms and form factors.Web Services IWeb services provide a low-cost, scalable, and flexible solution to the challenges of integration. Web services are components that facilitate integration by sharing data and functionality over the network through standard, platform-agnostic protocols such as XML, SOAP, and HTTP.Web Services IIConceptually, developers integrate Web services into their applications by calling the methods exposed in this manner just as they would call local services. The difference is that these calls can be routed across the Internet to a service residing on a remote system.Data DesignThe .NET Framework includes ADO.NET, a data access subsystem optimized for n-tier environments. Data access in ADO.NET is designed around a disconnected design.ScalabilityInternet applications have a limitless supply of potential users. An application that consumes resources such as database locks and database connections will not serve high numbers of users well, because the user demand for those limited resources will eventually exceed their supply. .NET employ disconnected access to data, for example database locks or active database connections are not maintained for long durations, thus improving performance and scalability.Interop ServicesInterop Services are used to indicate how data should be transferred—or "marshaled"—between managed and unmanaged memory. Interop Services manages exceptional circumstances such as errors while performing certain operations, and serves as a way to bridge disparate systems.Remoting IUsed to enable
View Full Document