 |
|
Presentations
Architecture Presentations
Cloud Computing Presentations
Service Oriented Architecture and Web Services PresentationsWindows Workflow Presentations
Advanced .NET Presentations
Introductory .NET Presentations
Architecture Presentations
Architects? We Don't Need No Stinkin' Architects!
Many developers have the opinion that architecture is the job of all the developers.
Not only is there no need for an architect, but having someone in that position is at best unnecessary, and at worst dangerous.
This stems from a misunderstanding of what architecture is.
Ironically, this misunderstanding about architecture is also shared by many of those who do believe in the importance of having an architect.
The focus of this keynote will be to correct this misunderstanding of what software or technology architecture is.
We will then be better architects. Our users will be happier, and developers will be more productive.
Cloud Computing Presentations
What is Microsoft Dallas?
Download Code
Samples
Dallas is a data information service built on Microsoft Azure.
Dallas is currently a Community
Technology Preview (CTP). Dallas accesses a variety of
data from government, news, financial, traffic, and other
sources. By providing a uniform method and format for retrieving
and offering data, Microsoft hopes to create a data marketplace.
Both large and small data providers can provide access to data
for large and small development organizations in an environment
where otherwise it would be highly unlikely or impossible for
these groups to partner. Potentially this could lead to the
democratization of data, where data can be combined with other
data, in ways that could not be foreseen by the original
providers.
Cloud Computing Is In Your Future
Computing power is available when you need it, where you need it. You only use as much as you need. Such is the dream of cloud computing.
We are far from realizing this dream.
Nonetheless, there is enormous potential now for organizations to build cloud applications.
Small and medium sized businesses can develop services and applications that up to now could only be provided by large companies.
Startups can minimize their infrastructure costs. Businesses of all sizes can use cloud infrastructure to handle unpredictable bursts of computing activity.
Building software that lives in the cloud requires managers, architects, and developers to think differently about security, databases, and applications.
As with any new technology, there is no agreement among the vendors as how to proceed, and no standards exist. Service level agreements are primitive.
This explores the opportunities and pitfalls of cloud computing, and how to think about building cloud applications, and how cloud computing could evolve in the future.
Cloud Computing Will Change Electronic Commerce
Buying and selling of goods and services electronically will be radically transformed by cloud computing. Vendors and service providers will pay for just whatever
computing resources they use, instead of building or renting from a data center where they must pay for peak capacity.
Since you pay only for what you use, and the infrastructure is outsourced, it will be easier for companies to start offering services, and for units of large
companies to avoid using their central IT facilities. The marketplace will be more dynamic, and existing IT infrastructure, or the availability of large capital to pay for it,
will not be a barrier to offer innovative, new solutions. Small companies will find it easier to compete with large ones.
The Cloud Computing future is here now.
Introduction to Cloud Computing With Microsoft Azure
Cloud Computing presents a very enticing opportunity for
businesses, especially small and mid-size businesses, or small
business units of large corporations. You use only the compute
resources that you need, which makes the economics, and the
ability to scale up and down quickly huge advantages. On the
other hand, there are some critical technological and social
challenges. Depending on the geographic dispersion or size of
your client base, you may have to think about application design
very differently. In addition, if cloud computing is a utility,
then the social and political implications have to be considered
as well. Using Microsoft Azure as an example (but the concepts
apply to Google, Amazon and other providers as well), these
challenges are discussed.
Do Relational Databases Belong in the Cloud?
If applications put data in a computing cloud, the requirements of consistency, availability, and partitioning can conflict.
That means to have a highly available and scalable application you may have to give up classic ACID database transactions and relational database features such as foreign keys,
joins, and stored procedures. How do you handle versioning of data and data latency? Using Microsoft’s Windows Azure as an example, this talk will
describe these problems and talk about how to architect and design in this new world.
Software as a Service in the Cloud
Architecting and building a Software as a Service application requires solving a series of problems that are independent of a particular software platform.
First, a SaaS architecture follows directly from the fundamental principles of the business model. Second, a series of difficult technical problems must be solved in addition to
providing the business functionality. These include certificate security, low-IT-capable clients, business continuity when connectivity is lost, provisioning of services,
scalability as the number of clients increase, database design for clients, how to use virtualization, and how to integrate and release service functionality over several
different client applications. Third, you have to effectively use the platform technology such as WCF and ASP.NET. If you approach building a SaaS application on these three
levels, you can then leverage your work into new platforms such as Windows Azure. This talk was first given at TechEd 2009.
A Lap Around Windows Azure and the Azure
Platform
Download Code
Samples
Here is a tour of the Azure cloud operating
system and computing platform capabilities. It contains an
overview of its various components, and explains how these fit
together. It explains the unique approach Microsoft is taking to
allow a developer to write a service in the cloud. Learn about
the cloud services that enable developers to easily create or
extend their applications and services whether they are consumer-targeted
applications, social networking web sites, or enterprise class
applications and services.
Claims Based Security
Download Code Samples
How can Internet-based, collaborative applications communicate
identity information about their users? How can trading partners use
each other’s applications without keeping login information about
each other’s every changing list of employees? How can emergency
responders use each other’s databases of information only for the
duration of the emergency? Claims represent an industry standard way
of representing user identity that is the part of the solution to
this problem that directly relates to a developer of Internet based
applications. A claim can represent any relevant information about a
user. For example: their age, how they were authenticated, and their
job title, even what they had for breakfast. This talk will explain
how to use claims in a .NET application so that applications do not
have to change as the security requirements evolve, or the users of
the application change over time.
SOA and Web Services Presentations
Windows Workflow and WCF Help Make “Software + Services” a Reality
Download Code Samples
The future of software is a combination of local software and Internet services
interacting with one another. Software should run in locations that have the maximum compute power while
minimizing the amount of data that has to be transferred. Sometimes mission critical software has to run
even when disconnected to the Internet. When reconnected, the various data sources have to be reconciled.
By bringing together the worlds of rich clients and services in the cloud, you can get the best of both worlds.
Two critical technologies for putting together these two worlds are Windows Workflow Foundation (WF) and
Windows Communication Foundation (WCF). WCF makes it possible for the different worlds to talk to each other.
WF makes it possible for applications to run when and where it is appropriate, and to easily wait for data to arrive.
.NET Framework 3.5 has begun the integration of these two technologies. This gateway to the world of Software + Services
is what we will explore.
Speaking a
Common Language: The OASIS Reference Model for Service Oriented
Architecture
The Reference Model for SOA is an OASIS standard. It provides a
vocabulary for service oriented applications that allows people to
achieve a common understanding when they talk about services. This
talk will explain how to use the reference model in discussions with
vendors, stakeholders, development staff, business analysts and
others that participate in the development of services. This will
permit everyone to speak the same language when planning,
architecting, developing, and using a SOA.
Video
Presentation: SOA World East June 2007
Introduction to
Service Oriented Architecture
Developers often have trouble understanding Service
Oriented Architecture (SOA) because it is frequently talked about in
very abstract terms. This is unfortunate because corporate economics
and technology improvements are driving the use of service
orientation to develop modern business applications. This talk explains in very clear and concrete terms what a SOA is, why it is
important, and what it means to develop a SOA application.
Service Oriented
Architecture and Windows Communication Foundation (nee Indigo)
Download Code
Samples
Windows Communication Foundation (WCF) is Microsoft's
new technology for building all kinds of distributed applications.
This introductory talk explains the basic concepts of the Indigo
programming model and relates them to how to build a service
oriented application. Since this is a pre-release version of the
technology, the code samples were built with the September 2005 CTP
build.
Windows Workflow Presentations
Workflow
Services Using WCF and WF
Download Code
Samples
Using workflow to build services is one of the
fundamental building blocks of service-oriented systems. Version 3.5
of the .NET Framework simplifies the building of workflow enabled
services using Windows Workflow Foundation (WF) and Windows
Communication Foundation (WCF). The new framework classes reduce the
amount of plumbing code that has to be written as well as providing
new templates to help build these kinds of scenarios. This talk will
not only illustrate the new features, but demonstrate them with a
realistic scenario.
Using the Windows Workflow Rules Engine Outside of a Workflow
Download Code
Samples
Windows Workflow Rules Engine can be used as a
standalone rules engine. This talk explains how to use the Windows
Workflow Rules Engine as part of an application without invoking a
workflow. You have to understand how to design and code the
integration and connection of the Rules Engine with your
application. You have to understand how to incorporate modified rule
sets into your application without having to rebuild the
application. You have to understand how to architect and build an
application that allows you to edit the rules outside of your
application. You will have to build your own, and decide how you
want to handle the versioning of rule sets. Understanding WWF is
helpful for this talk, but it is not a prerequisite.
State Machine Workflows
Download Code
Samples
When modeling workflows involve human interaction, there are often long
periods of time before a response is made to a request. In this
environment, modeling the workflow as a series of states and
transitions is often the best model. This session will demonstrate
how to incorporate a state transition model into a workflow.
Advanced Topics in Windows Workflow Foundation
Download Code Samples
This talk
will discuss some of the more sophisticated topics you need to
understand in order to build complex workflows.
Sophisticated workflows must handle errors and this talk will start
out by talking about workflow error and cancellation handlers. We
talk about how to synchronize workflows that share data. Many workflows will interact with databases so
you will have to understand transactional workflows. Since many
workflows will be long lived, they will have to incorporate
compensation as opposed to atomic, or two-phase commit type
transactions. We will discuss both transaction models in workflow.
We will explain how sophisticated hosts will trap runtime events,
and persist workflows.
Building Business Applications Using Microsoft Windows Workflow
Foundation
Download Code
Samples
Microsoft Windows Workflow (WF) will arrive with
.NET Framework 3.0, and offers a programming solution that lets you
focus on writing business workflows immediately without having to
solve the difficult problems of workflow plumbing. In this session,
I will enhance the application built in the introductory session by
introducing more advanced features of workflow in order to
demonstrate how to build real world workflows. This will require
overcoming some difficult challenges. Businesses have complex
policies that are difficult to express. Workflow Foundation allows
you express these business policy constraints as rules which may
vary depending on the specific business conditions. Most real life
workflows run for long periods of time, this talk will show how to
use compensation, rather than the classic ACID transaction model to
build workflows. In addition, I will demonstrate how these long
running workflows can communicate asynchronously with other people
and software.
Introduction to Microsoft Windows Workflow Foundation
Download Code
Samples
What do email, meeting planning, document
approval, budgeting, manufacturing processes, resource planning, and
product lifecycle management have in common? Work flow: long
running, complex business processes that interact with human
decision making. But traditional, conventional programming
techniques require you to spend an enormous amount of time building
your workflow infrastructure before you write a line of application
code.
Fortunately, there’s a solution: Microsoft Windows
Workflow (WF) will arrive with .NET Framework 3.0, and offers a
programming solution that lets you focus on writing business
workflows immediately without having to solve the difficult
problems of workflow plumbing. In this session, I will introduce the
fundamentals of building workflow applications. Using an example of
a simple business process, I will show you how to build a simple
workflow application. I will also explain the fundamental parts of
WF such as hosts, workflow, the activities and the basic workflow
patterns.
Advanced .NET Presentations
How to Partition and Layer a Software Application
Download Code Samples
How do you make your software adaptable to changing
technologies? Everyone answers: use layering. But
exactly how do you develop software layers? How do you create
application interfaces that allow you to change the underlying
technology? This is especially crucial as we begin to think about
cloud computing and realize that parts of applications may migrate
to the cloud, while others stay on desktops and local servers.
This session will focus on techniques such as interface based
design, proper use of inheritance, dependency inversion, factories,
single responsibility, facades, and other patterns and techniques to
accomplish this.
Refactoring,
Serialization, and Version Hell
Download Code Samples
With the introduction of assemblies, the Global
Assembly Cache, strong names, and version policy, .NET developers
need not suffer with the "DLL Hell" that has plagued Windows
development for years. While that is a gigantic step in the right
direction, a large, but manageable problem has emerged: "Version
Hell".
"Version Hell" arises from two facts of .NET life
if you use assembly versions to build bullet-proof installations and
deinstallations. First, strongly named executables must call into
strongly named class library assemblies. Second, change the version
of an assembly, and you have a different version of the types in
that assembly.
What happens when you want to move a type from one assembly to
another? What happens when you want to refactor a type so that its
functionality is moved among several assemblies? What happens when
you have changed the assembly version, or refactored a type, and you
want to bring back a serialized type of a previous version? Or you
want to bring back a type that no longer exists? Is there some
optimal number of assemblies to break your application up into?
These are all issues that all .NET developers will encounter sooner
or later and should be prepared to solve. This talk was given to the
MaineBytes Users Group.
Application Domains And Contexts and Threads, Oh My!
Download Code Samples
Application domains are fundamental to the .NET programming model and are an excellent
example of how a .NET concept such as type safety can be used to build very scalable
applications (such as ASP.NET), or allow programs to control security settings.
Associated with the idea of an application domain are contexts which provide a mechanism
for the .NET Framework to simplify various programming tasks. Understanding how threads
interact with application domains and contexts will give you the basic knowledge you
need to build scalable applications.
Stopping the Barbarians at the Gate: .NET Code Access Security
Download Code Samples
Most programmers have difficulty understanding security issues. It is easy to take
any .NET assembly and expose it to other machines through .NET Remoting, or as a
Web service. Programmers cannot assume that the software they are developing will
only live on a single machine. Your technology can easily be exposed to the outside
world, and that means exposing it to hackers. Code Access Security (CAS) helps deal
with this problem by allowing you to place limitations on the code itself,
irrespective of the user id under which the code runs. This talk was
given to the Boston .NET Users Group.
Introductory .NET
Presentations
An Experienced Programmer's Guide to C# and .NET
Download Code
Samples
Microsoft
.NET revolutionizes software development on the Windows platform.
The C# language provides a particularly clear way of working with .NET’s
Common Language Runtime, and the extensible .NET Framework class
library. This session will leverage your existing programming
skills from other languages such as Java, Visual Basic, or C++ to
help you understand how to use C# to develop on the .NET platform. The topics covered include
attributes, metadata, interface-based programming, memory
management, type safety, and the basics of the framework class
library. This talk was given at the SYSCON
Edge 2004 East Conference.
What is Microsoft .NET and Why Should I Care?
Microsoft .NET revolutionizes software development on the Windows platform to provide
one programming development paradigm. .NET is made up of a virtual execution environment,
the Common Language Runtime, and the extensible .NET Framework class library. While
understanding this technology is imperative for people who develop on Microsoft
platforms, other developers need to understand this technology so that they can
build applications for heterogeneous platform environments.
|
 |