EMEAEMEA
AGENDA:
10.00 - 11.00 Patterns in the Enterprise 11.00 - 11.30 Break 11.30 - 12.30 Integration Patterns 12.30 - 13.30 Lunch 13.30 - 14.30 Showcase 14.30 - 15.00 Break 15.00 - 16.00 Web Services: Interoperability and Integration 16.00 - 16.15 Summary
- The book ? Questions ? Visual Studio 2005 Beta ? Review form ?
AGENDA:
10.00 - 11.00 Patterns in the Enterprise 11.00 - 11.30 Break 11.30 - 12.30 Integration Patterns 12.30 - 13.30 Lunch 13.30 - 14.30 Showcase 14.30 - 15.00 Break 15.00 - 16.00 Web Services: Interoperability and Integration 16.00 - 16.15 Summary
- The book ? Questions ? Visual Studio 2005 Beta ? Review form ?
EMEAEMEA
AGENDA:
10.00 - 11.00 Patterns in the Enterprise Repeatable success in delivering complex enterprise systems depends on the ability to leverage experience from past systems. On an architectural level, direct reuse is usually not practical and blueprint architectures are often not flexible enough for complex systems. However, design patterns provide a middle-ground by describing idiomatic use of technologies and capturing the essence of successful designs.
AGENDA:
10.00 - 11.00 Patterns in the Enterprise Repeatable success in delivering complex enterprise systems depends on the ability to leverage experience from past systems. On an architectural level, direct reuse is usually not practical and blueprint architectures are often not flexible enough for complex systems. However, design patterns provide a middle-ground by describing idiomatic use of technologies and capturing the essence of successful designs.
Erik Doernenburg is a Senior Developer and Architect at ThoughtWorks, Inc. Coming from a background in enterprise applications and new media systems, Erik is currently exploring advanced patterns of enterprise integration and application architecture on the Microsoft .NET and J2EE platforms. Erik has been an advocate of domain-driven design and agile development for many years. Erik holds a degree in Informatics from the University of Dortmund.
Erik Doernenburg is a Senior Developer and Architect at ThoughtWorks, Inc. Coming from a background in enterprise applications and new media systems, Erik is currently exploring advanced patterns of enterprise integration and application architecture on the Microsoft .NET and J2EE platforms. Erik has been an advocate of domain-driven design and agile development for many years. Erik holds a degree in Informatics from the University of Dortmund.
EMEAEMEA
AGENDA:
11.30 - 12.30 Integration Patterns Based on the Integration Patterns book from Microsoft's Patterns & Practices team, this session discusses how patterns can be used to describe an integration architecture from business to implementation.
AGENDA:
11.30 - 12.30 Integration Patterns Based on the Integration Patterns book from Microsoft's Patterns & Practices team, this session discusses how patterns can be used to describe an integration architecture from business to implementation.
Christopher Baldwin is an Architect with the Microsoft EMEA Developer and Platform Evangelism Group. With 25 years experience in software engineering across numerous environments, Christopher now helps enterprises leverage the Microsoft .NET platform. Prior to joining Microsoft 9 years ago, Christopher’s background was in the financial industry. Christopher’s latest studies are in the software factories area. Christopher holds a Bachelor of Science degree in Computer Science from Westminster College.
Christopher Baldwin is an Architect with the Microsoft EMEA Developer and Platform Evangelism Group. With 25 years experience in software engineering across numerous environments, Christopher now helps enterprises leverage the Microsoft .NET platform. Prior to joining Microsoft 9 years ago, Christopher’s background was in the financial industry. Christopher’s latest studies are in the software factories area. Christopher holds a Bachelor of Science degree in Computer Science from Westminster College.
EMEAEMEA
AGENDA:
13.30 - 14.30 Showcase
Know IT presents an integration solution in Microsoft BizTalk Server using integration patterns and a SOA based architecture.
AGENDA:
13.30 - 14.30 Showcase
Know IT presents an integration solution in Microsoft BizTalk Server using integration patterns and a SOA based architecture.
Anders Kingstedt has been active in the IT industry since the latter part of the 80’s, previously working as a developer and systems designer. Having worked in the web industry for a few years, Anders is currently employed as a consultancy manager at Know IT, focusing on integration solutions. Anders is also the Alliance Manager with Microsoft at Know IT.
Anders Kingstedt has been active in the IT industry since the latter part of the 80’s, previously working as a developer and systems designer. Having worked in the web industry for a few years, Anders is currently employed as a consultancy manager at Know IT, focusing on integration solutions. Anders is also the Alliance Manager with Microsoft at Know IT. Alan Smith is a BizTalk expert and the only BizTalk MVP in Sweden.Alan is form the north of England, and living in Stockholm Sweden, he has been working as a developer with Microsoft technologies since 1995.
Alan Smith is a BizTalk expert and the only BizTalk MVP in Sweden.Alan is form the north of England, and living in Stockholm Sweden, he has been working as a developer with Microsoft technologies since 1995.
EMEAEMEA
AGENDA:
15.00 - 16.00 Web Services: Interoperability + Integration
This session addresses the use of web services to build highly interoperable solutions that fit into an enterprise integration architecture.
AGENDA:
15.00 - 16.00 Web Services: Interoperability + Integration
This session addresses the use of web services to build highly interoperable solutions that fit into an enterprise integration architecture.
Daniel Akenine is an Architect Evangelist at Microsoft. For the last five years he has been focusing on Enterprise Application Development – on both the J2EE and Microsoft platforms. Previously he has been working as a researcher at Karolinska Institutet, division IT-manager at the Karolinska Hospital and as a technical specialist and counsellor for a number of IT projects in the Stockholm Financial Sector – e.g. the OMX stock exchange. Daniel holds a M.Sc in Engineering Physics.
Daniel Akenine is an Architect Evangelist at Microsoft. For the last five years he has been focusing on Enterprise Application Development – on both the J2EE and Microsoft platforms. Previously he has been working as a researcher at Karolinska Institutet, division IT-manager at the Karolinska Hospital and as a technical specialist and counsellor for a number of IT projects in the Stockholm Financial Sector – e.g. the OMX stock exchange. Daniel holds a M.Sc in Engineering Physics.
EMEAEMEA
ThemeTheme
Interoperability + Integration > open
Interoperability Able to operate in conjunction1
Integration Combining of diverse parts into a complex whole1
Open Open system, open source, open solution
1 Definition from Oxford Dictionary1 Definition from Oxford Dictionary
EMEAEMEA
88
Industries:Industries:> Insurance Insurance> Asset Finance Asset Finance> Mortgage Mortgage> Retail Retail
Expertise:Expertise: > NET NET> Java Java> SOA SOA> EAI EAI> Open Source Open Source> Agile Agile> DA DA
Company:Company:> 600 employees 600 employees> $80M in revenue $80M in revenue> Global WW Reach> Major corporations
< ThoughtWorks’ < ThoughtWorks’ publicationspublications
ThoughtWorks at a Glance
EMEAEMEA
1010
Web Services:Web Services:Interoperability + IntegrationInteroperability + Integration
Daniel AkenineArchitect [email protected]
EMEAEMEA
Are we serious ?Are we serious ?
3 feb – 2005: Bill Gates and interopability
“interoperability is a proven approach for dealing with the diversity and heterogeneity of the marketplace ..”
Our strategy:Work with what you got:
Host Integration Server, BizTalk, Identity Integration Server
AppleTalk, Netware, Unix/Linux, C++, JAVA, Oracle, Sybase, DB2, SAP, Siebel, SWIFT, HL7,
Use XML to get "Interoperability by Design“ Office XML, WS-*
EMEAEMEA
AgendaAgendaAgendaAgenda
- Service Oriented Architecture
- Web Services and Integration
- Web Services and maturity
- Services in the future
EMEAEMEA
AgendaAgendaAgendaAgenda
- Service Oriented Architecture
- Web Services and Integration
- Web Services and maturity
- Services in the future
EMEAEMEA
Why are we talking about SOA today ?Why are we talking about SOA today ?Why are we talking about SOA today ?Why are we talking about SOA today ?
It is not the strongest of the species that survive, or the most intelligent, but the ones most responsive to
change.- Charles Darwin
EMEAEMEA
Internet Internet BankingBanking
WirelessWireless
AggregationAggregation
Branch BankingBranch Banking
CRMCRM
Core BankingCore Banking
Wealth Wealth ManagementManagement
Treasury / Treasury / ForexForex
Trading / Back Trading / Back office office
Payment Systems and Card MgmtPayment Systems and Card Mgmt3D Secure3D Secure
Business Business IntelligenceIntelligence
EAIEAI
Straight through Straight through ProcessingProcessing
ATM / POSATM / POS
No Application Is An IslandNo Application Is An IslandNo Application Is An IslandNo Application Is An Island
EMEAEMEA
The “service oriented enterprise”The “service oriented enterprise”
Infrastructure
Services
User interface
Devices
EMEAEMEA
Services and Systems are not the sameServices and Systems are not the sameServices and Systems are not the sameServices and Systems are not the same
A service is a program you interact with via message exchanges Services are built to last Availability and stability are critical
A system is a set of deployed services cooperating in a given task Systems are built to change Adapt to new services after deployment
EMEAEMEA
What is Service Orientation (SO)?What is Service Orientation (SO)?What is Service Orientation (SO)?What is Service Orientation (SO)?
An approach to building systems using services which adhere to the 4 tenets of Service Orientation:
Boundaries are Explicit Services are Autonomous Services share schema and contract, not class Service compatibility is determined based on
policy
EMEAEMEA
Understanding Tenet 1: Understanding Tenet 1: Boundaries are ExplicitBoundaries are ExplicitUnderstanding Tenet 1: Understanding Tenet 1: Boundaries are ExplicitBoundaries are Explicit
Each Service interaction is a boundary crossing
Crossing service boundaries may have costsService Orientation makes interaction formal,
intentional, and explicit
Respect my Boundaries.
EMEAEMEA
Understanding Tenet 2: Understanding Tenet 2: Services are AutonomousServices are AutonomousUnderstanding Tenet 2: Understanding Tenet 2: Services are AutonomousServices are AutonomousTopology of a system evolves over time No presiding authorityServices in a system are deployed, managed,
versioned independently
Don’t be Codependent.
EMEAEMEA
Understanding Tenet 3: Understanding Tenet 3: Services Share Schema and Contract, not Services Share Schema and Contract, not ClassClass
Understanding Tenet 3: Understanding Tenet 3: Services Share Schema and Contract, not Services Share Schema and Contract, not ClassClass
Services interact solely on schemas for structures, contract for behaviors
Unlike OO classes, services do not combine structure and behavior
Contracts and schema remain stable over time
Don’t (expect me to) overshare.
EMEAEMEA
Understanding Tenet 4: Understanding Tenet 4: Service Compatibility is Determined Based Service Compatibility is Determined Based on Policy on Policy
Understanding Tenet 4: Understanding Tenet 4: Service Compatibility is Determined Based Service Compatibility is Determined Based on Policy on Policy
Separates the interactions the service can have from the constraints on those interactions.
Service capabilities and requirements are expressed in terms of a policy expression
Assertions identified by stable, globally unique names
The fact that I can, doesn’t mean I will.
EMEAEMEA
Service-Oriented ArchitectureService-Oriented Architecture
Contract
Agreements
ProgrammingLanguage
Object Model
Application
Database
OperatingSystem
Database
OperatingSystem
ProgrammingLanguage
Object Model
Application
You Your Partner
Complexity
Complexity
To Loosely Coupled ServicesFrom Tightly Coupled Objects…From Tightly Coupled Objects…
EMEAEMEA
Architecting with ServicesArchitecting with ServicesPromoting Loose CouplingPromoting Loose CouplingArchitecting with ServicesArchitecting with ServicesPromoting Loose CouplingPromoting Loose Coupling
Contract
How is it implemented?
How to build it?
How to publish it?
How does it work?
Where to host it?
How to use it?
What does it do?
Where to find it?
Service provider Service consumer
EMEAEMEA
What kind of tools do we need to do SOA ?What kind of tools do we need to do SOA ?What kind of tools do we need to do SOA ?What kind of tools do we need to do SOA ?
“A fool with a tool is still a fool :-)” - Old saying
EMEAEMEA
Visual Studio Team SystemVisual Studio Team System
Change Management
Work Item Tracking
Reporting
Project Site
Visual Studio
Team Foundation Integration Services
Project Management
Pro
cess
an
d A
rch
itect
ure
Pro
cess
an
d A
rch
itect
ure
G
uid
an
ceG
uid
an
ce
Dynamic Code Analyzer
Visual Studio
Team Architect
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Visio and UML Modeling
Team Foundation Client
VS Pro
Class Modeling
Load Testing
Manual Testing
Test Case Management
Application Modeling
Logical Infra. Modeling
Deployment Modeling
Visual Studio
Team DeveloperVisual Studio
Team Test
Vis
ual S
tud
io In
du
stry
V
isu
al S
tud
io In
du
stry
Part
ners
Part
ners
Build Server
EMEAEMEA
Visual Studio Team SystemVisual Studio Team System
Change Management
Work Item Tracking
Reporting
Project Site
Visual Studio
Team Foundation Integration Services
Project Management
Pro
cess
an
d A
rch
itect
ure
Pro
cess
an
d A
rch
itect
ure
G
uid
an
ceG
uid
an
ce
Dynamic Code Analyzer
Visual Studio
Team Architect
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Visio and UML Modeling
Team Foundation Client
VS Pro
Load Testing
Manual Testing
Test Case Management
Application Modeling
Logical Infra. Modeling
Deployment Modeling
Visual Studio
Team DeveloperVisual Studio
Team Test
Vis
ual S
tud
io In
du
stry
V
isu
al S
tud
io In
du
stry
Part
ners
Part
ners
Application Modeling
Logical Infra. Modeling
Deployment Modeling
Class Modeling
Build Server
Probably th
e best
development tool in
the
world :-)
EMEAEMEA
Number 1Application Designer
Service-OrientedArchitecture modelService-Oriented
Architecture model
Port Details editorPort Details editor
EMEAEMEA
Number 2Infrastructure Designer
Logical Infrastructure DesignerLogical Infrastructure Designer
Services assignedto logical infrastructure
Services assignedto logical infrastructure
Architecture validatedagainst operational
settings and constraints
Architecture validatedagainst operational
settings and constraints
EMEAEMEA
And the last.Class designer
Class DesignerClass Designer
Class Designerand
two-way code synch
Class Designerand
two-way code synch
EMEAEMEA
AgendaAgendaAgendaAgenda
- Service Oriented Architecture
- Web Services and Integration
- Web Services and maturity
- Services in the future
EMEAEMEA
Web services is the only way to do integration !
"Every generalization is dangerous, especially "Every generalization is dangerous, especially this one." this one." — Mark Twain— Mark Twain
EMEAEMEA
A basic web service is not always OK !A basic web service is not always OK !
Security ReliableMessaging
Transactions
Messaging
Meta
data
XML
Security ReliableMessaging
Transactions
Messaging
XML
Meta
data
Metadata• Service description• Policy• Discovery
Metadata• Service description• Policy• Discovery
XML• Data• Schema• Interoperability
XML• Data• Schema• Interoperability
Messaging• Functional data• Operational data• Address services & resources• Attach binary data
Messaging• Functional data• Operational data• Address services & resources• Attach binary data
Reliable Messaging• Guaranteed delivery• In order processing• Idempotency
Reliable Messaging• Guaranteed delivery• In order processing• Idempotency
Security• Encryption• Authentication• Authorization• Non-repudiation• Federation• Trust
Security• Encryption• Authentication• Authorization• Non-repudiation• Federation• Trust
Transactions• Coordinated activity• Atomic transaction• Business activity
Transactions• Coordinated activity• Atomic transaction• Business activity
EMEAEMEA
IntegrationIntegration
WindowWindowss
CLRCLR
.NET .NET
Secu
ritS
ecu
rityy
Ad
ap
ter
Ad
ap
ter
ssO
rchestra
tioO
rchestra
tionnEESS
MS
MM
SM
LinuxLinux
JVMJVM
J2EE J2EE
Secu
ritS
ecu
rityy JCJCAA
eb
XM
eb
XM
LLJTJTAAJMJMSS
WS-IWS-I
EMEAEMEA
EMEAEMEA
Existing Client/Server ApplicationExisting Client/Server ApplicationExisting Client/Server ApplicationExisting Client/Server Application
Client Application(VB6, Delphi or PowerBuilder)
Server Components
DCOM
Database
EnterpriseEnterprise
Integration?Integration?
EMEAEMEA
EnterpriseEnterprise
C/S 1: Expose DatabaseC/S 1: Expose DatabaseC/S 1: Expose DatabaseC/S 1: Expose Database
Client Application(VB6, Delphi or PowerBuilder)
Server Components
DCOM
Database
WebServiceFaçade
EMEAEMEA
EnterpriseEnterprise
C/S 2: Expose ServerC/S 2: Expose ServerC/S 2: Expose ServerC/S 2: Expose Server
Client Application(VB6, Delphi or PowerBuilder)
Server Components
DCOM
Database
WebServiceFaçade
EMEAEMEA
EnterpriseEnterprise
C/S 3: Expose ClientC/S 3: Expose ClientC/S 3: Expose ClientC/S 3: Expose Client
Client Application(VB6, Delphi or PowerBuilder)
Server Components
DCOM
Database
WebServiceFaçade
EMEAEMEA
Web Services: Messaging and moreWeb Services: Messaging and moreWeb Services: Messaging and moreWeb Services: Messaging and more
Web services provide the benefits of messaging loose-coupling service oriented
And more vendor neutral suitable for access through Internet
EMEAEMEA
Web Services: TenetsWeb Services: TenetsWeb Services: TenetsWeb Services: Tenets
Boundaries are explicitServices are autonomousServices share schema and contractService compatibility is based on policy
Tenet conformance gives better Interoperability
Better Interoperability means stronger Integration
EMEAEMEA
Web Services: Active communityWeb Services: Active communityWeb Services: Active communityWeb Services: Active community
Web Services are expected to become the default Messaging solution in the future
WS-* standards are evolving rapidly, most important WS-Security WS-Policy WS-Addressing
WS-I defines profiles, sample applications and testing tools Profiles are guidelines for using WS specifications Use Basic profile 1.1 to build interoperable solutions
Further research on WS is being carried out
EMEAEMEA
Why integrate through Web Services?Why integrate through Web Services?Why integrate through Web Services?Why integrate through Web Services?
To get Messaging and more Tenets Active community
Required for external integrationBeneficial for internal integration
EMEAEMEA
Building Interoperable Web ServicesBuilding Interoperable Web ServicesBuilding Interoperable Web ServicesBuilding Interoperable Web Services
EMEAEMEA
AgendaAgendaAgendaAgenda
- Service Oriented Architecture
- Web Services and Integration
- Web Services and maturity
- Services in the future
EMEAEMEA
The Web Services Maturity Model The Web Services Maturity Model
Early Learning Integration Reengineering Maturity
Integrated Architected Measured
and Managed
FederatedService
Deployments
TechnicalInterface
BusinessCapability
BusinessProduct
Domain Standard
Service Perspective
Technical Business Enterprise Industry/
Ecosystem
Drivers
Internal Limited
External
Virtual
Business
Anonymous Collaborations
Momentum Extended Momentum
Reengineered StandardizedService
Process
EMEAEMEA
Phase 1 - Early LearningPhase 1 - Early Learning
In this phase the predominant service deployments will be:
Mostly internal Low-risk external Using existing security mechanisms Not mission critical Focused on better application
integration
EMEAEMEA
Phase 2 – IntegrationPhase 2 – Integration
Business process oriented Project level implementation Mostly internal usage
EMEAEMEA
Phase 3 – ReengineeringPhase 3 – Reengineering
Enterprise level, with common services used right across organizations
Services implemented as an integral part of business products
Supported by guarantees and standards based measurement and monitoring systems
EMEAEMEA
Phase 4 – MaturityPhase 4 – Maturity
Services are ubiquitous
Federated services collaborate and create complex products with individual services provided from potentially many providers
Services are designed to support the consumer in their ecosystem, not in a company specific system or service
EMEAEMEA
AgendaAgendaAgendaAgenda
- Service Oriented Architecture
- Web Services and Integration
- Web Services and maturity
- Services in the future
EMEAEMEA
Future
IndigoLonghornFederation
ServerVisual Studio
2007? (Orcas)
Tomorrow
ASMX (VS2005 enhancements)
WSE 3.0Indigo (Beta)Visual Studio
2005 Longhorn (Beta)SQL Server 2005
Today
Microsoft SOA Technology Microsoft SOA Technology
ASMX (aka ASP.NET Web Services)
Windows XP, Server 2003, .NET
Visual Studio 2003WSE 2.0Office System
2003BizTalk Server
2004SQL Server 2000
EMEAEMEA
SOA Technology RoadmapSOA Technology Roadmap
Indigo
ASMX
Enterprise Services
.NET Remoting
Com(+)
MSMQ
ASMX
WSE1
WSE2
WSE-n
EMEAEMEA
Road to Indigo Road to Indigo Secure, Reliable, Transacted – ASP.NETSecure, Reliable, Transacted – ASP.NETclass EntityService { [WebMethod] public void AddEntity( string entity ) { // Custom security X509CertificateCollection collection = new X509CertificateCollection(); IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); . . . // Custom reliable messaging SeqAckRange range = new SeqAcknRange( id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); . . . // Custom DTC transaction context hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); . . . }}
EMEAEMEA
Road to Indigo Road to Indigo Secure, Reliable, Transacted – WSESecure, Reliable, Transacted – WSEclass EntityService { [WebMethod] public void AddEntity( string entity ) { // Integrated WS-Security support foreach ( SecurityToken token in requestContext.Security.Tokens ) { X509SecurityToken x509 = token as X509SecurityToken; . . . } // Custom reliable messaging SeqAckRange range = new SeqAcknRange( id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); . . . // Custom DTC transaction context hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); . . . }}
EMEAEMEA
Road to IndigoRoad to IndigoSecure, Reliable, Transacted – IndigoSecure, Reliable, Transacted – Indigo[Confidentiality][Reliability( Guarantees.ExactlyOnce | Guarantees.InOrder )][Service]class EntityService { [TransactionCoupling( TransactionCouplingOptions.Required )] [ServiceMethod] void AddEntity( string entity ) { . . . }}
EMEAEMEA
More informationMore information
www.microsoft.se/arkitekt
www.microsoft.com/interoperability
www.ws-i.org/
Please complete your sessionfeedback form
THANK YOU
Please complete your sessionfeedback form
THANK YOU
Top Related