45
Connected Connected Applications Today Applications Today Case Studies I Case Studies I Lawrence Wilkes Lawrence Wilkes

Connected Applications Today Case Studies I Lawrence Wilkes

Embed Size (px)

Citation preview

Page 1: Connected Applications Today Case Studies I Lawrence Wilkes

Connected Applications Connected Applications TodayTodayConnected Applications Connected Applications TodayToday

Case Studies ICase Studies I

Lawrence WilkesLawrence Wilkes

Page 2: Connected Applications Today Case Studies I Lawrence Wilkes

Deutsche BankDeutsche BankDeutsche Bank Global financial services group Deutsche Bank Global financial services group provide services in 70 countriesprovide services in 70 countries

Business ChallengeBusiness ChallengeComponents calculate option pricing for equity Components calculate option pricing for equity derivativesderivatives

Distribute components to local operations Distribute components to local operations in a way that in a way that could be easily adopted for each market in which the set could be easily adopted for each market in which the set of calculators was being usedof calculators was being used

Their derivatives calculators provide option prices Their derivatives calculators provide option prices as a web service hosted on Unixas a web service hosted on Unix

Using custom controls and Visual Studio .NET, a Using custom controls and Visual Studio .NET, a drag and drop toolkit was provided to its drag and drop toolkit was provided to its developers around the worlddevelopers around the world

.NET Framework provided:.NET Framework provided:Seamless interoperability with Unix hosted servicesSeamless interoperability with Unix hosted services

Encapsulation through componentisationEncapsulation through componentisation

development time reduced by 50%development time reduced by 50%

Page 3: Connected Applications Today Case Studies I Lawrence Wilkes

Global Pricing Calculation Global Pricing Calculation Architecture Architecture

.NET.aspx

.cs

Client SDK usingCustom controls

Unix hosted equityoption calculator

NameTickerCCYExch

F(x)

Web Service

Page 4: Connected Applications Today Case Studies I Lawrence Wilkes

L’OréalL’OréalBefore .NETBefore .NET

No separation of No separation of elements in the elements in the pagepage

Logic and page Logic and page design mixed design mixed togethertogether

High costs of High costs of maintenance and maintenance and changechange

http://www.lancome.fr

Page 5: Connected Applications Today Case Studies I Lawrence Wilkes

L’Oréal L’Oréal ArchitectureArchitecture

.asp

Transform

Validate

BizTalk Server

SQL 2000

Web Service

HTML

XML

ASP.NET

ServiceFacadeasmx

Queue

L’ Oréal Web L’ Oréal Web Services Services

Product DescriptionProduct Description SearchSearch ImagesImages Request Further InfoRequest Further Info

Page 6: Connected Applications Today Case Studies I Lawrence Wilkes

L’Oréal L’Oréal SummarySummaryBizTalk Server and SQL 2000 used to implement BizTalk Server and SQL 2000 used to implement XML product CatalogueXML product Catalogue

ASP .NET separates user interface from XML data ASP .NET separates user interface from XML data – using server controls– using server controls

Web Services integrate with retailers and Web Services integrate with retailers and supplierssuppliers

BizTalk for XML transformation and integrationBizTalk for XML transformation and integration

"We expect .NET to deliver a 20 to 30 percent "We expect .NET to deliver a 20 to 30 percent reduction in the total cost of ownership for our reduction in the total cost of ownership for our hundreds of Internet properties. In addition to hundreds of Internet properties. In addition to lower development and deployment costs, our lower development and deployment costs, our new solution will reduce ongoing administrative new solution will reduce ongoing administrative costs by making life much easier for our costs by making life much easier for our webmasters and marketing people.“webmasters and marketing people.“Jérôme Peyrelevade Head Technology Officer Jérôme Peyrelevade Head Technology Officer L'Oréal Internet and e-Business L'Oréal Internet and e-Business Group ArchitectureGroup Architecture

Page 7: Connected Applications Today Case Studies I Lawrence Wilkes

Accor ServicesAccor Services3500 hotels in 88 countries, 46% market share, 3500 hotels in 88 countries, 46% market share, offering budget to luxury accommodations including offering budget to luxury accommodations including travel agencies, restaurants, and casinostravel agencies, restaurants, and casinos

Accor swapped development from Java/WebLogic Accor swapped development from Java/WebLogic when Microsoft Consulting Services demonstrated when Microsoft Consulting Services demonstrated the .NET development environmentthe .NET development environment

The task:The task:

Replace back-office systems with common library Replace back-office systems with common library of business objectsof business objects

Streamline e-procurement for the chain of Streamline e-procurement for the chain of restaurants and hotelsrestaurants and hotels

Manage sales and marketing campaigns for Manage sales and marketing campaigns for increased sales and incentives for sales staffincreased sales and incentives for sales staff

Page 8: Connected Applications Today Case Studies I Lawrence Wilkes

ASP.NET

BizTalk

SQL 2000Windows 2000

Accor .NET ArchitectureAccor .NET Architecture

ServiceFacadeasmx

Supplier

E-procurementSales Campaigns

Businessobjects

C#

AppCentre

Web Service

HTML

XML

Page 9: Connected Applications Today Case Studies I Lawrence Wilkes

SQL 2000

WindowsServer 2003

.NET

BTI UK Hotel BrokerBTI UK Hotel Broker

HotelsBTI HotelBroker

• Hotel Broker• Flight Broker• Car Broker

Corporate Travel Rules Maps

WeatherDrivingInstructions

Corporate Users

XML

Car Hire

Web Service

HTML

XML

Web Service

GALILEO Web Services GALILEO Web Services Reservation BuilderReservation Builder Trip PlannerTrip Planner Flight InformationFlight Information ItineraryItinerary Travel Codes TranslatorTravel Codes Translator

Page 10: Connected Applications Today Case Studies I Lawrence Wilkes

BTI BenefitsBTI BenefitsCall centre productivity increased by up to Call centre productivity increased by up to 40 per cent 40 per cent

Agents concentrate on complex requests Agents concentrate on complex requests

Supported infrastructure and lower cost of Supported infrastructure and lower cost of ownership ownership

Integration with other systems via Web Integration with other systems via Web services services

New automated services to customers New automated services to customers

Page 11: Connected Applications Today Case Studies I Lawrence Wilkes

Building Connected Apps Building Connected Apps on the Microsoft Platformon the Microsoft PlatformBuilding Connected Apps Building Connected Apps on the Microsoft Platformon the Microsoft Platform

Nigel WatlingNigel [email protected]@microsoft.comMicrosoft EMEAMicrosoft EMEA

Page 12: Connected Applications Today Case Studies I Lawrence Wilkes

Components, Services, Components, Services, SystemsSystems

Do Foo

Do Baz

Do Bar

Ser

vice

Com

ponen

t

System

Page 13: Connected Applications Today Case Studies I Lawrence Wilkes

Service Oriented Service Oriented Architecture Architecture Key PointsKey PointsSOASOA is an architectural approach to is an architectural approach to

creating systems built from creating systems built from autonomous servicesautonomous services

i.e. it is a mindset NOT a technology i.e. it is a mindset NOT a technology It can be It can be implementedimplemented using any using any technologytechnology

A major leap forward in philosophy and A major leap forward in philosophy and approach to designing and building approach to designing and building distributed, connected systems distributed, connected systems Leverages what we already knowLeverages what we already know

Evolves and consolidates all we’ve Evolves and consolidates all we’ve learned to date about designing & learned to date about designing & building distributed systemsbuilding distributed systems

Page 14: Connected Applications Today Case Studies I Lawrence Wilkes

Service-Orientation TenetsPhilosophy of services

Services have explicit boundariesAcross boundariesAcross boundaries we must have FORMAL interaction we must have FORMAL interaction

Services are autonomousMessage based interaction with no implicit dependenciesMessage based interaction with no implicit dependencies

Services share contract and schemaRequire a formal, shared language for schema and contractRequire a formal, shared language for schema and contract

Service compatibility is determined based on policy

Require a formal, shared language and namespace for policyRequire a formal, shared language and namespace for policy

Tenet \Ten"et\, n.Tenet \Ten"et\, n.Any opinion, principle, dogma, belief, or doctrine, Any opinion, principle, dogma, belief, or doctrine, which a person holds or maintains as true.which a person holds or maintains as true. Source: Webster's Revised Unabridged Dictionary, © 1996, 1998Source: Webster's Revised Unabridged Dictionary, © 1996, 1998

Page 15: Connected Applications Today Case Studies I Lawrence Wilkes

Why is SO important?Why is SO important?

Provides us with an opportunity to Provides us with an opportunity to rethink how we design and architect rethink how we design and architect tomorrow’s systemstomorrow’s systems

With Web services it enables a level With Web services it enables a level of interoperability never before of interoperability never before achievableachievable

Makes explicit some of the core Makes explicit some of the core assumptions that compromise assumptions that compromise today’s systemstoday’s systems

Particularly around boundaries and Particularly around boundaries and locality …locality …

Page 16: Connected Applications Today Case Studies I Lawrence Wilkes

PracticalitiesPracticalitiesBoundariesBoundaries

A SOA boundary is A SOA boundary is explicitexplicit

autonomous, autonomous,

based on schema and contract for structure, based on schema and contract for structure,

and on policy for semanticsand on policy for semantics

Influenced by platform, deployment and trustInfluenced by platform, deployment and trust

Objects are appropriate within boundariesObjects are appropriate within boundaries

Services are appropriate across and within Services are appropriate across and within boundaries boundaries

A SOA environment extends only as far as A SOA environment extends only as far as where we agree the boundary iswhere we agree the boundary is

How far do you want your boundary to extend?How far do you want your boundary to extend?

Page 17: Connected Applications Today Case Studies I Lawrence Wilkes

Web Services Web Services Standards-based Messaging

Web Services form a global infrastructure Web Services form a global infrastructure for message passingfor message passing

Interoperability through open standardsInteroperability through open standardsCore set of standards has been builtCore set of standards has been built

Industry is driving development of additional Industry is driving development of additional standards to complete the architecturestandards to complete the architecture

Can be used with Can be used with anyany architecture (not just architecture (not just SOA) SOA)

e.g. RPC between components!e.g. RPC between components!

On any hardware, any platform, any On any hardware, any platform, any programming languageprogramming language

Broad interoperability requires web Broad interoperability requires web servicesservices

Page 18: Connected Applications Today Case Studies I Lawrence Wilkes

What is a What is a practical, broadly practical, broadly interoperableinteroperable SOA? SOA?

An An appliedapplied approach to creating systems approach to creating systems built from built from interoperableinteroperable autonomous autonomous WebWeb servicesservices

WebWeb services servicesCommunicate via Communicate via SOAPSOAP message exchanges message exchanges

Are built to lastAre built to last

Have a critical need for availability and stabilityHave a critical need for availability and stability

SystemsSystemsAre a set of Are a set of WebWeb services cooperating in a services cooperating in a given taskgiven task

Are built to changeAre built to change

Adapt to new services after deploymentAdapt to new services after deployment

Page 19: Connected Applications Today Case Studies I Lawrence Wilkes

SOA ImplementationSOA ImplementationSystems and ServicesSystems and Services

A A systemsystem built using SOA principles built using SOA principles which wants broad usage will:which wants broad usage will:

Build on the WS- protocolsBuild on the WS- protocols

And use And use SOAPSOAP messages between messages between servicesservices

InternallyInternally a a serviceservice can utilize can utilize whichever technologies and whichever technologies and techniques are the most appropriatetechniques are the most appropriate

E.g. mainframeE.g. mainframe

Choose your boundaries carefullyChoose your boundaries carefully

Page 20: Connected Applications Today Case Studies I Lawrence Wilkes

Microsoft TechnologiesMicrosoft TechnologiesWhat to use, where and when!What to use, where and when!

There are many Microsoft technology There are many Microsoft technology choices for building SOA systemschoices for building SOA systems

Which should you use, where and Which should you use, where and when?when?

Page 21: Connected Applications Today Case Studies I Lawrence Wilkes

ASMXASMXASP.NET Web ServicesASP.NET Web Services

ASMX is Microsoft’s recommended ASMX is Microsoft’s recommended method for developing Web Services method for developing Web Services todaytoday

ASMX gives great support for formal ASMX gives great support for formal contract and schema expression contract and schema expression (WSDL)(WSDL)

ASMX doesn’t natively support the ASMX doesn’t natively support the WS-* protocol familyWS-* protocol family

ASMX can be combined with WSE to ASMX can be combined with WSE to get WS-* supportget WS-* support

Page 22: Connected Applications Today Case Studies I Lawrence Wilkes

WSEWSEWeb Services EnhancementsWeb Services Enhancements

Getting started today? Use the evolving Getting started today? Use the evolving advanced feature set provided by WSEadvanced feature set provided by WSE

Early implementations of WS-* Early implementations of WS-* specifications specifications

WSE tracks the evolution of emerging WS-* WSE tracks the evolution of emerging WS-* protocolsprotocols

WSE builds on current Microsoft messaging WSE builds on current Microsoft messaging technologiestechnologies

WSE can be used with ASMX for Web Services WSE can be used with ASMX for Web Services over HTTPover HTTP

WSE can be used standalone for Web Services WSE can be used standalone for Web Services over TCP/IPover TCP/IP

WSE’s supportability is 2+1 WSE’s supportability is 2+1 (standard+extended)(standard+extended)

Page 23: Connected Applications Today Case Studies I Lawrence Wilkes

.NET Remoting.NET Remoting

.Net Remoting is an easy-to-use object remoting .Net Remoting is an easy-to-use object remoting technologytechnology.NET Only.NET Only

.NET Common Type System (NOT XML Schema).NET Common Type System (NOT XML Schema)Proprietary messagesProprietary messagesThird party bridging productsThird party bridging products

No built-in security until .NET Framework 2.0No built-in security until .NET Framework 2.0Can leverage IIS for transport-level securityCan leverage IIS for transport-level securityOr roll-your-own custom channelOr roll-your-own custom channel

It requires tightly coupled implementation between It requires tightly coupled implementation between participants, and is therefore participants, and is therefore particularly unsuited particularly unsuited to to SOA boundary implementationSOA boundary implementationIt is a reasonable technology to use for cross app-It is a reasonable technology to use for cross app-domain communication within the service boundarydomain communication within the service boundaryDON’T USE XPROCESS/XMACHINEDON’T USE XPROCESS/XMACHINE

Use ASMX or Enterprise ServicesUse ASMX or Enterprise Services

Page 24: Connected Applications Today Case Studies I Lawrence Wilkes

.NET Remoting and Web ServicesWorking Side by Side

ServiceImplementation

RemotingClient

RemotingInterface

Web ServiceClient

Web ServiceInterface

Page 25: Connected Applications Today Case Studies I Lawrence Wilkes

Don Box on .NET Don Box on .NET Remoting…Remoting…From his blog on 26/4/04From his blog on 26/4/04

The GoodThe Good The transparent proxy (TP) /stack builder sink (SBS) infrastructureThe transparent proxy (TP) /stack builder sink (SBS) infrastructure

Allows you to construct an object reference for ANY CLR interface.Allows you to construct an object reference for ANY CLR interface.Allows the CLR to marshal object references across AppDomains inside a processAllows the CLR to marshal object references across AppDomains inside a processThe technology is alive and well and a crucial part of the CLR. Indigo M5 uses this!The technology is alive and well and a crucial part of the CLR. Indigo M5 uses this!

The BadThe Bad The support for WSDL under the TP/SBS infrastructure is an architectural The support for WSDL under the TP/SBS infrastructure is an architectural dead enddead end

The UglyThe Ugly .NET Remoting assumes shared classes and shared assemblies between the .NET Remoting assumes shared classes and shared assemblies between the two endpoints. Indigo exists to break this dependency. This is a profound two endpoints. Indigo exists to break this dependency. This is a profound architectural change. architectural change. Custom transport channels are based on bytes. Indigo has a SOAP/Infoset-Custom transport channels are based on bytes. Indigo has a SOAP/Infoset-based architecture that is more general and will have a longer life span based architecture that is more general and will have a longer life span There are no plans to support the binary/TCP transport channel. It is one-off There are no plans to support the binary/TCP transport channel. It is one-off and proprietary.and proprietary.The TP/SBS infrastructure allows class-based remoting using The TP/SBS infrastructure allows class-based remoting using MarshalByRefObject. Indigo does not require MBRO.MarshalByRefObject. Indigo does not require MBRO.

ConclusionConclusionThe real asset of .NET Remoting is the TP/SBS infrastructure. If you find The real asset of .NET Remoting is the TP/SBS infrastructure. If you find yourself wanting to use it, do so with a clear conscience.yourself wanting to use it, do so with a clear conscience.If you're crossing host boundaries, ASMX is probably a better choice, both If you're crossing host boundaries, ASMX is probably a better choice, both architecturally as well as in terms of tracking where the platform is headed architecturally as well as in terms of tracking where the platform is headed in the next 2-10 years. in the next 2-10 years.

Page 26: Connected Applications Today Case Studies I Lawrence Wilkes

Enterprise ServicesEnterprise ServicesES offers rich enterprise system featuresES offers rich enterprise system features

ES is the programming model that will ES is the programming model that will most resemble the Indigo programming most resemble the Indigo programming modelmodelES uses DCOM as its communication ES uses DCOM as its communication protocolprotocol

DCOM is not suitable for spanning trust DCOM is not suitable for spanning trust boundariesboundariesIt is tightly coupled enough (because you have It is tightly coupled enough (because you have proxies/stubs) that you should avoid using it proxies/stubs) that you should avoid using it cross machinecross machineCOM+ relies on closely coupled participant COM+ relies on closely coupled participant systems, and is unsuitable for expression of systems, and is unsuitable for expression of service boundaries. It is fine for use within a service boundaries. It is fine for use within a service boundaryservice boundary

Just-in-time activationJust-in-time activationDeclarative transactionsDeclarative transactionsRole-based securityRole-based securityAnd more…And more…

PerformancePerformanceSecuritySecurityACID transactionsACID transactionsObject PoolingObject Pooling

Page 27: Connected Applications Today Case Studies I Lawrence Wilkes

.NET Enterprise ServicesWorking Together

Service Implementation

RemotingClient

RemotingInterface

Web ServiceClient

Web ServiceInterface

ACID Transaction

Page 28: Connected Applications Today Case Studies I Lawrence Wilkes

MSMQMSMQSystem.MessagingSystem.Messaging

MSMQ is Microsoft’s Message MSMQ is Microsoft’s Message Queuing technologyQueuing technology

Performant, reliable, durable Performant, reliable, durable messagingmessaging

Rich administrative supportRich administrative support

Proven modelProven model

No language for schema, contract, No language for schema, contract, policypolicy

These are intuited, not interpretedThese are intuited, not interpreted

Great to use within a service Great to use within a service boundaryboundary

System.Messaging is the .NET System.Messaging is the .NET wrapperwrapper

Page 29: Connected Applications Today Case Studies I Lawrence Wilkes

SOA and MSFT Messaging SOA and MSFT Messaging StacksStacks

ASMX and/or WSE for the boundariesASMX and/or WSE for the boundaries

ASMX, WSE, .NET Remoting, ASMX, WSE, .NET Remoting, Enterprise Services, MSMQ inside the Enterprise Services, MSMQ inside the boundariesboundaries

ASMX+/|WSE

ASMX.Net R

emoting

Ent. SvcsMSMQ

Page 30: Connected Applications Today Case Studies I Lawrence Wilkes

Other Microsoft Web Other Microsoft Web Services Solutions Services Solutions

ATL Server and Managed C++ – ISAPI ATL Server and Managed C++ – ISAPI extensionsextensionsSOAP Toolkit – deprecated by .NETSOAP Toolkit – deprecated by .NET

No longer retires July 1, 2004No longer retires July 1, 2004 Standard support April 05, Extended Standard support April 05, Extended April 07April 07

SQL ServerSQL Server 2005 2005TDS only prior to SQL Server 2005 TDS only prior to SQL Server 2005 Now uses SOAP and HTTP via http.sys to Now uses SOAP and HTTP via http.sys to go through firewallsgo through firewalls

#1 Recommendation#1 RecommendationUse ASMX + WSE to create Web Use ASMX + WSE to create Web servicesservices

Page 31: Connected Applications Today Case Studies I Lawrence Wilkes

Complementary TechnologiesTechnology Map

CLR

Application

CLR Remoting

BizTalk

CRM

ERP

Connectors…

ASMX

SOAPClientsWeb Services

EnterpriseServices

Page 32: Connected Applications Today Case Studies I Lawrence Wilkes

BizTalk Server 2004Overview

Services must be agileBusiness Process ManagementEnterprise Application IntegrationTrading Partner Interaction

BizTalk Server incorporates SOA paradigmComponents are exposed and self-describingRobust support for long-running, asynchronous transactionsSolutions are extensible and reusableProcesses can be monitored in real timeCan reconfigure any process activity without disrupting the process

Page 33: Connected Applications Today Case Studies I Lawrence Wilkes

BizTalk Server 2004BizTalk Server 2004

Faster development and deployment Faster development and deployment of business integration applicationsof business integration applications

Microsoft Office accessMicrosoft Office access

Vertical Market acceleratorsVertical Market accelerators

Enterprise class scalabilityEnterprise class scalability

Easy integration with Web servicesEasy integration with Web services

Extensive standards supportExtensive standards support

Page 34: Connected Applications Today Case Studies I Lawrence Wilkes

BizTalk Server 2004Process Service Features

Process OrchestrationRapidly develop integration servicesTransport abstraction

Human Workflow ServicesExpose end user touchpointsScalable long-running transactions

Business Activity Monitoring

Page 35: Connected Applications Today Case Studies I Lawrence Wilkes

BizTalk Server 2004Orchestration

Page 36: Connected Applications Today Case Studies I Lawrence Wilkes

BizTalk Server 2004Infrastructure Service Features

SecurityEncryptionAuthorizationSingle sign-on

Reliable messagingAuto retrySecondary transports

AuditingMessage trackingApplication data tracking

Page 37: Connected Applications Today Case Studies I Lawrence Wilkes

BizTalk Server 2004Working Together

BizTalk Server

WebService

BAS

IISWeb

Service

ClientApplication

Page 38: Connected Applications Today Case Studies I Lawrence Wilkes

SharePoint Portal Server & SharePoint Portal Server & SharePoint ServicesSharePoint Services

Web-based Team and enterprise Web-based Team and enterprise collaborationcollaboration

Audience targeting and personalizationAudience targeting and personalization

Combine team portals into enterprise Combine team portals into enterprise portalsportals

SharePoint Services built on .NET SharePoint Services built on .NET frameworkframework

Integrated with BizTalk ServerIntegrated with BizTalk Server

Sites created in ASP.NETSites created in ASP.NET

Web service and XML integrationWeb service and XML integration

Page 39: Connected Applications Today Case Studies I Lawrence Wilkes

Host Integration Server Host Integration Server 20042004

Technologies to Integrate IBM Hosts Technologies to Integrate IBM Hosts with New Solutions Developed using with New Solutions Developed using Microsoft WindowsMicrosoft Windows

Lower Costs to Deploy Web and SOA Lower Costs to Deploy Web and SOA SolutionsSolutions

Reduce Time to Market for Enterprise DevsReduce Time to Market for Enterprise Devs

Simplify and Secure Network InfrastructureSimplify and Secure Network Infrastructure

Approaches and Methods of IntegrationApproaches and Methods of IntegrationNetwork and Security Network and Security

Data Access and MessagingData Access and Messaging

Application to ApplicationApplication to Application

Page 40: Connected Applications Today Case Studies I Lawrence Wilkes

The Role of ObjectsThe Role of Objects

Reduce assumptions between Reduce assumptions between servicesservices

Builds on ideas from component Builds on ideas from component software, distributed objects, and MOM software, distributed objects, and MOM

Boundaries are explicitBoundaries are explicitOpt in modelOpt in model

Share schemas, not typesShare schemas, not typesAutonomousAutonomous

Security and failure isolation are a Security and failure isolation are a mustmustVariable cost, explicit Variable cost, explicit communicationcommunicationIndependent deployment of Independent deployment of client / Serviceclient / Service

Policy-based compatibilityPolicy-based compatibilityAssertions use stable global namesAssertions use stable global names

Interaction Richness Reduced Assumptions

Complete fidelity with local Complete fidelity with local contractcontract

Customers have 20+ years of Customers have 20+ years of experience and have built intuition hereexperience and have built intuition here

Boundaries are harder to Boundaries are harder to isolateisolate

Requires careful opting outRequires careful opting out

Share types, not schemasShare types, not schemasTightly CoupledTightly Coupled

Typically require deployment of Typically require deployment of both client and server in syncboth client and server in syncAssume cheap, transparent Assume cheap, transparent communicationcommunicationobject identity and lifetime object identity and lifetime maintained by infrastructuremaintained by infrastructure

Platform-based compatibilityPlatform-based compatibilityAssertions built into platformAssertions built into platform

Service OrientationObject Orientation

Page 41: Connected Applications Today Case Studies I Lawrence Wilkes

Today’s Prescriptive Today’s Prescriptive GuidanceGuidanceSummarySummaryBuild services using ASMXBuild services using ASMX

Enhance your ASMX service with WSE if you need Enhance your ASMX service with WSE if you need the WSE feature set and can accept the support the WSE feature set and can accept the support policypolicy

Use object technology in a service’s Use object technology in a service’s implementationimplementation

Use Enterprise Services if:Use Enterprise Services if:You need ES rich feature setYou need ES rich feature setYou are communicating between components on the You are communicating between components on the local machine and have performance issues with ASMX or local machine and have performance issues with ASMX or WSEWSE

Use .NET Remoting if:Use .NET Remoting if:You need to integrate with an existing proprietary You need to integrate with an existing proprietary protocolprotocolYou are communicating in-process, cross app domainYou are communicating in-process, cross app domain

Use System.Messaging if you need the Use System.Messaging if you need the reliable messaging and queuing features in reliable messaging and queuing features in MSMQMSMQ

Page 42: Connected Applications Today Case Studies I Lawrence Wilkes

Developer Developer EnablementEnablement

GuidanceGuidanceAuthorization and Profile Authorization and Profile Application Block Application Block

Building Interoperable Web Building Interoperable Web Services: WS-I Basic Profile 1.0 Services: WS-I Basic Profile 1.0

Web Service Façade for Legacy Web Service Façade for Legacy ApplicationsApplications

Visual Studio .NET Visual Studio .NET 20032003Foundation for XML Foundation for XML WS programming WS programming modelmodel

Key supported Key supported standardsstandards

Attribute based Attribute based developmentdevelopment

Schema driven XML Schema driven XML serializationserialization

WS-I Basic profile WS-I Basic profile compliant*compliant*

Web Services Web Services Enhancements (WSE) Enhancements (WSE) 1.01.0Foundation for advanced Foundation for advanced Web service supportWeb service support

Improved extensibilityImproved extensibility

WS-SecurityWS-Security

Page 43: Connected Applications Today Case Studies I Lawrence Wilkes

Infrastructure And Business Infrastructure And Business ProcessProcess

GuidanceGuidanceInformation & Information & Application Application Architecture for the Architecture for the Service-Oriented Service-Oriented EnterpriseEnterprise

Application Application Interoperability: Interoperability: MicrosoftMicrosoft .NET and J2EE

Windows Server Windows Server 20032003MetadataMetadata

AD & ADAMAD & ADAM

SecuritySecurity

Authorization Authorization ManagerManager

Registry & DiscoveryRegistry & Discovery

Enterprise UDDIEnterprise UDDI

QueuingQueuing

MSMQMSMQ

HostingHosting

IIS 6.0 & Enterprise IIS 6.0 & Enterprise ServicesServices

ManagementManagementWMIWMI

BizTalk Server 2004BizTalk Server 2004Connectivity (EAI/B2B)Connectivity (EAI/B2B)

350+ Adapters350+ Adapters

Native Web service Native Web service supportsupport

Business ProcessBusiness ProcessOrchestrationOrchestration

Business Rule EngineBusiness Rule Engine

Business Activity Business Activity MonitoringMonitoring

Human Workflow Human Workflow ServicesServices

Partner ManagementPartner Management

SecuritySecuritySingle Sign-OnSingle Sign-On

ManagementManagement

SQL Server 2000SQL Server 2000Web Services Web Services SupportSupport

Page 44: Connected Applications Today Case Studies I Lawrence Wilkes

Smart Client And ReachSmart Client And ReachOffice System Office System

20032003XML meta and XML meta and persistence formatpersistence format

InfoPath for InfoPath for schema, template schema, template driven formsdriven forms

Native Web Native Web service consumerservice consumer

Visual Studio .NET Visual Studio .NET integrationintegration GuidanceGuidance

Smart Client Offline Smart Client Offline Application Block Application Block

Asynchronous Asynchronous Invocation Application Invocation Application BlockBlock

Service Aggregation Service Aggregation Application BlockApplication Block

Sharepoint Portal Sharepoint Portal Server for OfficeServer for Office

Windows Windows Sharepoint Sharepoint ServicesServices

.NET Compact .NET Compact FrameworkFrameworkPocketPC and PocketPC and SmartPhoneSmartPhone

Page 45: Connected Applications Today Case Studies I Lawrence Wilkes

© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.