Title: Connected Systems Applikasjoner i samspill
1Connected SystemsApplikasjoner i samspill
- Olav Tollefsen
- Teknologiansvarlig ISV
- Microsoft Norge
2En historie fra virkeligheten
3Mapaid V1
4Resultat
- Ressurskrevende 11 salgsinnsats
- Interesse i markedet, men kun en håndfull nye
kunder pr. uke - Vanskelig å nå forskjellige målgrupper
- Hvordan skal web siten skreddersys for
forskjellige behov?
5Mapaid V2
6Teknisk implementasjon hos en ny partner
7hvor.no
8Resultat
- Konsentrert 11 salg til et utvalg av partnere
- Eksplosjon i utberedelse (40.000 bilder pr. dag)
- Minimal eller ingen teknisk jobb for å få opp nye
partnere - Flyfoto blir tilgjengelig i nye sammenhenger
(legger opp til innovasjon i partner-leddet) - Meget stabilt (kjører på .NET Framework 2.0 Beta
2)
9Outline
- Enterprise realities
- Connected Systems
- Service Orientation
- Design Roadmap
- Technology Roadmap
- Futures and guidance
10Enterprise realities
- Enterprises are living entities, constantly
evolving - Must adapt to market conditions
- Mergers and acquisitions change makeup
- Dispersed geographically
- Different stakeholders
- Budgets priorities fluctuate
- Impact of politics is real
11Technology realities
- Technology landscape is constantly evolving
- New development platforms released frequently
- New tools and products constantly emerging
- New hardware and devices hitting the scene
- New design paradigms change the way we think
12The great enterprise challenge
- Enterprises expect technology to enhance
information flow across processes, people
infrastructure - Aligning business with technology is the key to
success - How do you align business with technology when
both are constantly changing? - With a Connected System designed to evolve
gracefully
13Microsofts Connected Systems strategy
- Microsoft offers a complete Connected Systems
solution - Connects people with computing infrastructure
- Evolves distributed applications to reflect the
real world - Spans boundaries without a single owner of system
- Leverages existing investments, while planning
for future - A Connected System is designed around the tenets
of Service Orientation - Its a system designed to evolve, adapt, and last
- SO enables long-term integration and reuse
14Service Orientation
- A service is an application you interact with by
exchanging messages over specific protocols - Boundaries are explicit.
- Services are autonomous
- Share schema and contract, not implementation
- Policy-based compatibility
15Increasing abstractions, increases reuse
- Scope of reuse increases with each abstraction
layer
Abstraction
Services
protocols
Components
platform
Objects
application
Procedures
call stack
16Granularity of services
- Services can be modeled at different levels of
granularity - Data services (lower-level data services)
- Business services (orchestrations, workflow)
- Data services
- You need fine grained control over data and flow
- You dont need conversational state or
compensating transactions atomic transactions
suffice - Business services
- You need to implement a business process that
involves multiple services, steps, or
long-running transactions
17Implementing Service Orientation
- SO is a paradigm for designing connected systems
- It provides guidelines for architecture and
modeling - Its not tied to any particular technology
- Reach is limited by the implementation
technologies - What technologies are used to traverse
boundaries? - Does everyone support them?
- Web services is the best implementation choice
today - WS-I Basic Profile 1.0 defines interoperable
foundation - WS- specs define additional layers in a standard
way
18Connected Systems design roadmap
- Connected Systems are composed of various layers
- Layers connected through Service Orientation
- Minimal assumptions, focus on integration
- Connected Systems layers
- Data
- Services
- Processes
- Consumers
- Various concerns cross-cut layers
19Connected Systems design roadmap (cont)
Data
Services
Processes
Consumers
Data access library
Service
1
Data access library
2
Service
Data access library
3
1
Data access library
Service
2
Data access library
Security
Management
Deployment
Cross-cutting concerns
20Connected Systems technology roadmap
Data
Services
Processes
Consumers
SQL Server 2000 and ADO.NET COM and ES (across
machines) .NET Remoting(between libraries) MSMQ
IIS 6.0 ASMX WSE 2.0
BizTalkServer 2004 Host IntegrationServer 2004
Winforms Office System 2003 SharePoint ASP.NET
HTTP
HTTP
HTTP
Data access library
Service
DCOM
MSMQ
1
Data access library
2
Service
Data access library
3
1
Data access library
Service
2
Data access library
MSI ZeroTouch, ClickOnce SMS 2003
Logs Counters WMI, ETW MOM 2005
Active Directory Integrated Security WS-Security
Security
Management
Deployment
Cross-cutting concerns
21Design for Integration
Smart Clients, SharePoint, and Office System 2003
BizTalk Server 2004
ASMX
ASMX
WSE2
adapter
adapter
adapter
Existing Investments
New Investments
Oracle
SAP
ASMX
ASMX
PeopleSoft, Siebel, etc.
ASMX WSE2
IBM
22Platform fundamentals
File system SQL Server Active Directory ADAM
- Where should I store my information?
- Where should my code run?
- How should my code communicate?
Your executable NT Service COM ASP.NET
DCOM MSMQ .NET Remoting ASMX WSE 2.0
Most technology decisions hinge on these questions
23Where should I store my information?
- Use SQL Server 2000 today for business
information - Start planning for SQL Server 2005 (Yukon)
- Use Active Directory for user and role management
- Use ADO.NET for general data access
- Offers both connected and disconnected modes
- Use transactions to simplify concurrency
- Use COM and Enterprise Services when you need
transactions across different resource managers - Future use System.Transactions for lightweight tx
24Where should my code run?
- There are three commonly used hosts today
- Windows (NT) Service (build your own .exe)
- COM - Enterprise Services (dllhost.exe)
- IIS 6 (ASP.NET Worker Process w3wp.exe)
- Each provides advantages over writing own process
- Activation / start-up, process creation
- Process identity control
- Thread allocation
- Failure recovery / recycling and debugging
25How should my code communicate?
- .NET offers 3 commonly used communication
protocols - HTTP (with ASP.NET or System.Net.Http)
- LPC/DCOM (with EnterpriseServices or COM interop)
- MSMQ (with System.Messaging or Queued components)
- Each has its place, typically chosen implicitly
with host - HTTP for broad reach (usually with Web Services)
- LPC/DCOM for high-speed, secure intra-domain
comm. - MSMQ for disconnected communication
26What to choose?
- Across the service boundary
- Use HTTP and XML (ASMX web services) hosted in
IIS - Within the service boundary
- Enterprise Services with DCOM for efficient,
secure cross-machine communication - MSMQ (or BizTalk MessageBox) for loosely coupled
sender/receivers - .NET Remoting for same-process inter-appdomain
calls only (especially moving forward)
27Business fundamentals
- How should I manage business processes?
- How can I leverage existing investments?
- How will people interact with my system?
Smart Clients (Winforms) Smart Documents (Office
System 2003) SharePoint ASP.NET
BizTalk Server 2004 Host InformationServer 2004
28How should I manage business processes?
- Use BizTalk Server 2004 to model business
processes - Models processes across heterogeneous
applications - Manages flow and orchestrates multiple services
- Processes can be exposed as coarser-grained
services - Use BizTalk adapters to connect to existing
investments - Use Host Integration Server 2004 for IBM
integration - Connects Windows to mainframe host applications
29How should people interact with my system?
- Use Winforms to build Smart Clients today
- Gives you the best of both rich and thin clients
- Use Office System 2003 to build Smart Documents
today - Integrates nicely with information worker
scenarios - Use Windows SharePoint Services and Portal Server
- To build Web portals today
- Can also use ASP.NET to build Web forms
- Future ASP.NET 2.0 WebParts
30Connected Systems cross-cutting concerns
- Various issues impact Connected Systems
architecture - Security
- Management
- Deployment
- Future migration
- Greatly impact design and implementation
31Security
- Security is an important factor in system design
- Must be addressed up front in design process
- Writing secure code takes discipline
- Good integration with OS security is critical
Trust domains Principle of least
privilege Integrated security Active
Directory Web security WS-Security
32Management
- Manageability is an important factor system
design - Post-development costs are non-trivial for
enterprises - Design for operations requires attention to both
instrumentation and control of running apps - Determine what data needs to be captured and
reported - Determine the best implementation technique
Event Logs Performance Counters WMI
Providers Event Tracing (ETW) MOM 2005 System
Center 2005
33Deployment
- Deployment is a distinct (and significant) area
- The more nodes involved, the harder deployment
gets - Versioning complicates matters
- Variety of implementation techniques available
Microsoft Installer (MSI) Zero-Touch
(1.1) ClickOnce (2.0) SMS 2003 System Center 2005
34Futures
- Migration is an important consideration when
making technology investments today - Well highlight some of the most important
migration considerations and compelling new
features - Along with guidance on how to best align today
.NET 2.0 (Whidbey) SQL Server 2005 Indigo
35Indigo
- Indigo is the kernel of Microsofts
next-generation connected systems platform - Unifies all previously distributed technologies
Indigo
ASMX
WSE2
ES
Remoting
System.Messaging
36Guidance
- Microsofts Patterns and Practices (PAG) provides
valuable guidance for connected systems
development - Download the guidance or order convenient books
- Numerous Application Blocks for use in your
designs - PAG delivers patterns and practices that are
- Proven based on field and partner experience
- Authoritative best advice available
- Accurate technically validated and tested
- Actionable provide the steps to success
- Relevant address real world scenarios
37Review
- Aligning enterprise realities with a shifting
technology landscape is the great challenge - Moving towards Connected Systems offers a
solution - Based on the tenets of Service Orientation
- Microsoft offers a complete Connected Systems
platform - Integrated, easy-to-use products and technologies
- Microsoft is continuing to invest in future
technologies - Microsoft provides clear patterns and practices
to help you get started on the right track
38Resources
- In-depth Connected Systems training
- .NET Campsight, Server Edition - Pluralsight, LLC
http//pluralsight.com/campsight/ - Microsoft Architecture Overview
- http//msdn.microsoft.com/architecture/enterprise/
default.aspx?pull/library/en-us/dnea/html/eaarcho
ver.asp - Service Orientation and Its Role in Your
Connected Systems Strategy - http//msdn.microsoft.com/architecture/soa/default
.aspx?pull/library/en-us/dnbda/html/srorientwp.as
p - An Introduction to the Web Services Architecture
and Its Specifications - http//msdn.microsoft.com/library/default.asp?url
/library/en-us/dnwebsrv/html/introwsa.asp
39(No Transcript)