Tuesday, October 24, 2006

BizTalk 2006 Recipes: A Problem-Solution Approach

After reading Understanding Enterprise SOA I have started reading a new book:

BizTalk 2006 Recipes: A Problem-Solution Approach
By Mark Beckner, Ben Goeltz, Brandon Gross, Brennan O’Reilly, Stephen Roger,Mark Smith, Alexander West

ISBN: 1-59059-711-7 560 pp. Published: Sep 2006

BizTalk 2006 Recipes: A Problem-Solution Approach is based on the experiences of many of the most prominent experts in the field. It features over 170 problem-solving recipes for BizTalk developers and administrators.
BizTalk Server 2006 builds on the heritage and core architecture of BizTalk Server 2004, leading to a powerful tool that encompasses the latest Microsoft technologies and industry standards for automating and managing business processes. BizTalk Server 2006 adds incremental value to BizTalk 2004 by improving administration, deployment, and other key areas of the product.

Monday, October 16, 2006

Understanding Enterprise SOA

Currently I am reading this book:

Understanding Enterprise SOA
Eric Pulier and Hugh Taylor with foreword by Paul Gaffner


This book gives technologists and business people an invaluable and until now missing integrated picture of the issues and their interdependencies. You will learn how to think in a big way, moving confidently between technology- and business-level concerns. Written in a comfortable, mentoring style by two industry insiders, the book draws conclusions from actual experiences of real companies in diverse industries, from manufacturing to genome research. It cuts through vendor hype and shows you what it really takes to get SOA to work.

What's Inside
  • How SOA streamlines portal development and EAI
  • Rapid integration with partners
  • Effective BPM and real time management
  • How to design, develop, run, and secure an SOA
  • Real-world SOA deployment scenarios

I already read couple of chapters and I must say I am very enthusiastic. SOA is clearly explained without any hype around it. It is nice to read and elaborates what I have heard during the Microsoft SOA Conference I attend beginning of this month.

(http://www.manning.com/pulier/)

Day 4 At Microsoft SOA and Business Process Conference

Last day at the conference I will following these sessions:

Developing Applications for the Web 2.0 Jon Flanders
Applying Maximum Sustainable Throughput to a Management/Operations Strategy Scott Colestock
Integrate Your Legacy Applications with the BizTalk Adapters for Host Systems and Host Integration Server Paul Larsen, Microsoft
Web Services Software Factory Don Smith Microsoft


Developing Applications for the Web 2.0 Jon Flanders

Here are the notes of this session:

Web 2.0 means nothing

Web 2.0 is really all about services and service usage models

AJAX is not new already there for years (outlook web access), Google use it Google maps and there u go
Web application more as a desktop application

AJAX moving away from XML, efficiency

ATLAS Microsoft’s entry point in AJAX --> Library to build these kinds of applications

Mashup, what does it mean:

A mashup is a website or web application that seamlessly combines content from more than one source into an integrated experience.
(http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid))

Web page or site that gets functionality from services from other sites
Web services bridges help to enable mashups by getting around browser security

Next session this morning is:

Applying Maximum Sustainable Throughput to a Management/Operations Strategy Scott Colestock Trace Ventures, LLC

Dense presentation

Why to apply
maximum Sustainable Throughput (MST)
Performance Goals
Measurement these goals against operational parameters
determine how to scale out

Project phases (5 phases)

Requirement phase
* Establish performance goals
* Identify performance risk area
* Perform first cut estimate size
* Plan sufficient testing

Design Phase
* Acquire detail throughput latency (production usage logs)
* Investigate performance risk mitigations
* Reference system size estimate

Implementation Phase
* Performance test cases
* Build test bed begin
* Validate test

Verification Phase
* Test verify sustainable throughput latency
* Identify bottlenecks adjust hardware

Release Phase
* Verify platform level optimizations
* Setup/back. log shipping, data retention, purging in production

What is missing

going to all phases, transfer operations groups, need to describe what outr systems what operation parameters, need to measure op group

if no operational parameters
look cpu, mem. disk idle %, sql lock wait
BizTalk op param
Pro activate monitoring,

MST, expression performance goals

highest load message traffic in system can handle in a production environ
message/sec transaction/sec
system = application + hardware config
performance testing. database maintenance, SQL agents, bam config, operational queries

Highest system can handle
performance goals drive performance test (latency, batch,
if perf test show system can handle, while meeting goals then basis for performance goals

Three parts expressing performance goals

1) transaction rate msgs/sec during the day (transaction rates or vol as function of time)
2) max acceptable latency, 95% satisfied in 15 sec or less or all requires must return in 2 sec
3) distribution of message types, sizes

Performance goals recap

entiuy often without goals without expressed in clear goals
if you do it you have your operational parameters

Loadgen tsting trans ratets
lactency test completion

Measure transaction rates against time
- BAM or tracking (HAT) MOM
- Business activity for transactions rates (BAM Alert or MOM)
- BizTalk Messages doc recv/sec counterhas instance (decicated hosT)
- Granualarity custom perf counters

Measure monitor transaction rates
- Echo transaction wfetch

Measure Latency
- request-response latency (sec) couter for each host
- BizTalk Tracking Database
- BAM (create duration with view)
- Custom counters in pipeline
- batch volume completion elasped in time constraint (tracking database, doc recv/sec)

DEMO measuring latency
- MOM, perfmon, Loadgen, HAT (quering)


Measure distributed of messages sizes and types
- message types
- sizes, adapters often perf counters
- types and size, tracking database and MOM

Determine scale out strategy

so you have been measuring (limits reached app + hardware)
how to scale out
need to understand BizTalk functions as shock absorbers

BizTalk Host concept
- artifacts container, runs as instance as NT service
- instances on machines

Job host pull message box (tech detail what happens in hosT)
- each has a table hostname Q
- message arrival several actions going to happen
- several actions happen

How does BizTalk acts as an shock absorber

Choosing workloads for new servers
- General counters perf counter spool size counter
- if climbing dig individual host queue count
- reach host queueu refl host not one server
- add server relieve orchestration bottlenecks when host queue grows for processing
- if orchestration times appears been growing cp bound

consider adding server ro relieve send host bottlenecks, with host queue length grows send host
relieve server if recv host bottlenecks
add server when message box general counters, track db size grows
makes sure you have archive/purge strategy in place DTA is the key

Summary

take what u learn performance testing
yield operation parameters
express performance goals clearly
while test 1 and 2, produce measure all
use queue behavior

blog www.traceoftoughts.net
scott@traceventures.net

Integrate Your Legacy Applications with the BizTalk Adapters for Host Systems and Host Integration Server Paul Larsen

Connected systems ;BizTalk, SQL Server --> connectors to other worlds like IBM OS/400, CICS, ...

Composite applications
- integrate multiple systems/apps
- preserve integrity, performance systems, high performance routing IP, SNA API, Optimized iSeries Servers
- solutions based on composite apps, orch composite sol

Session Integrator
- reuse 3270 based programs
- extend 4600 financial apps (cics)
- software development

Host File Web Service

Last Session of the conference:

Web Services Software Factory Don Smith Microsoft

All about communication

Architect -- Developer

Software Factories
Guidance Packages
Helping Communication
Challenges addressed
Factory demonstrated
The 2 Service Factories
Related Resources

Software Fact

- Help build specific kind of app
- incorporate variety guidance content types and form factors
* arch, design guidance, patterns (readable/printing)
* reference implementation (execute)
* application blocks (reusable)
* guidance packages (actionable)
- Enable process

Guiance Package

- Open
* Doc description manual/automate task
* result of automation is exposed
- Configurable
* key configuration setting can be
* automate guidance is defined using xml
- Extensible
* guidance can be tailored to meet specific requirements
- Verifiable
* generated code can be verified for compliance within standard

Helping Communication (snap shot written guidance)

Architect --> Developer --> Visual Studio

Service Factory Contents --> asmx services

- designing message ..
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/servicefactory.asp

Generator for services

ASMX release JUL 2006
WCF release DEC 2006

END OF CONFERENCE

Day 3 At Microsoft SOA and Business Process Conference

Third day at Microsoft SOA and Business Process Conference I will attend the following sessions:

SOA Lifecycle - Enabling Agility through Grass Roots SOA Kevin Farley & Alexander West
High Availability, Fault Tolerance, and Scalability with BizTalk Server 2006 Jay Lee EBI Solutions
Effective Techniques for Handling Large Messages in Service Oriented Solutions Thomas Abraham Digineer
Configuring, Building and Deploying BizTalk Applications in a Distributed Environment Paul Gomez ThinkBox Solutions

First SOA LifeCycle:

These are SOA and developer tracks, since I have some experience on high availability, fault tolerant scalable BizTalk environment, because I made architecture/implemented for an flex worker company in Holland I very curious on this session. ...

SOA lifecycle - Enabling Agility through Grass Roots

Business Rules Services
Having business rules as service (designed as exception)

Provision smart client Configuration Run from console

Security, SSL
WS-Security
Kerberos RADIUS (Secure token, pass multiple boundaries) WSE 2.0, WSE 3.0, WCF
XSD.exe (ability to serialize) XsdObjectGen, thinktecture WSCF
Contract oriented interfaces security
Service composition how to gather or aggregate services (worry about gather then, not reuse) align with use cases
use versioning
Host and Factor (WCF)

Implement composition

Choices: .Net (Inhertance), Web Services (facade pattern), BizTalk orchestration (composition pattern)

Organize by use case --> composition for performance (cache)

Hosting in an SOA asmx runs IIS not good for long-running, WCF (performance)

Shared services Enterprise Library 2.0 (AzMan)
use policy logging, exception handling
SQL Repository (Log to centralized store) --> reports

High Availability, Fault Tolerance, and Scalability with BizTalk Server Jay Lee (BI Solution)

BizTalk Farm

Role administrator
High availability concept
Farm demo
Database disaster recovery (set up log shipping)
Best Practices

Three roles (admin, developer, and analyst) Analyst is about rules and business process interact developer who builds and test it,
administrator deploy solutions environment.

What does a farm look like e.d. Role separation so developer/administrator (development lifecycle)

Concept high availability and goals

fault tolerant infra
high perform/scalability load balancing
security
back up disaster (message box or other)

Distributed architect

high availability (active/active)
Microsoft cluster service support
- sso redundancy (queuing cluster)
hardware affinity no, go

Enterprise sso secret server (passive cluster)

Scale out dedicated to specific host (scale out message box)

Deployment options: msi, batch/wmi script 3rd party Nant, BizTalk Assembly Checker (<-- good tool, remotly gac), gotdotnet SQL Agent jobs --> message active --> reset status to queued

NO MESSAGE LOSt

BizTalk Database recovery


(a) backup
- config sched back
- store file offsite

(b) log shipping
- config dest backup sql ser

(C) restore
- ..

BACKUP SERVER REMOTE LOCATION

backup logs 15 minutes
backup data every couple of hours or so (once a day)

SQL Agent

Job 15 min

BackFullUp Job check if it is run (every day)
BakckUp Transaction log
Clear up backup history

Another job DTA purge and archive

makes sure dta too large message box gets backup --> look in to this

MS BizTalk 2006\schema --> logschipping scripts --> look in to this

Deployment procedures document !!! See documentation (help file)

Lee graber

In the afternoon there was a session about deployment:

Effective Techniques for Handling Large Messages in Service Oriented Solutions

Here are the notes I made:

Real life scenarios
all about large message
Asp.net
BizTalk

Problems exist everywhere even in J2EE
in-memory in DOM (like PDF)
Problems with large messages BizTalk 2004

large Messages defined
Why? is very relative : network capacity, hardware capacity (we talk messages here not files !!!)

Message over 5 Mb is LARGE

Know your services

Troubles wit large message
- latency
- bandwidth
- base64 encoding
- memory usage
- encrypt cpu
- custom coding (threading, memory ...
- queue message/processing
- size/time

Redesign service
scale up/out hardware
compression
SOA purity/practically one call pass all data or split it up (complex)
streaming avoid encryption but use SSL, avoid unnecessary persistence

XSLT in memory , alternative mapper is not a good item

Scale up BizTalk 2006
multiple message boxes, SQL Server hardware
LOTS of memory
Move to win 2003 x64
Load/Stress testing before scaling

Keep data from getting to Message Box
Pipeline slice/Splice

XNOTE Stopwatch
LoadGen BizTalk
Serializations points
use messages only
persistence point
avoid mapping
create separate hosts each 2Gb memory space, each independent throlloting (biztalk send/receive)

Eliminate Message bodies tracking

ASP.NET
WSE, MTOM, WCF full support MTOM, Tool: Fiddler ASP.NET

make sure to know your services (usage patterns)
plan for future growth
choose one more approaches: hardware scaling, splitting, combining, compression, refectory services, MTOM, avoid encryption, USE LOADGEN

blog tabraham
BizTalk performance team
core team on large message

Last session of today here are some descriptive notes. Not a very interesting session, most what was being discussed is common knowlegde for BizTalk developers/adminstrators.

Configuring, Building and Deploying BizTalk Applications in a Distributed Environment Paul Gomez

agenda

config
build
deployment

Hosts

logical container
contains adapter handlers, recv loc, orch
host multiple inst more machines

mmc

runs as NT service (Host)
inst part host more server
inst different hosts on a different servers

main type’s bizt

improvises biztalk ocrh rev snd
IIS http soap

isolated host (soap recv handler)

binding functionality to biztalk hosts

Best practices hosts

different host for each functionality (security, scalability, management)
diff recv and send
separate not-trust and non-trust items (security reasons)

run two or more instances of each host of more server reliability
understand bonding performed and which host is implemented

multiple server development same config concerning hosts !!! deployment

High availability

deploy multiple server three (basic)

two BizTalk , one db (cluster I think other)

config multiple BizTalk hosts (recover/disaster)

SSO Master solid story reliable on BizTalk

Avd. deply multi serv, cluster sql, sso masyer, MSDTC, Microsoft cluster EDI cannot run it

Direct Adapter Concept

out of proces adapter, allow inline dont net code message direct in MsgBox (hown grown adapter from ThinkBox Solutions)

four biztalk adapters, two biztalk dec orch, other with other adapters, SQL Clustered, ENT SSO clusterd and MSDTC

Ent SSO
Achilles hill BizTlak server
dont restart biztalk server (cahce sso)
back up sso soon as it genreated
making master sercet server available
cluster ent sso on master secreta server
figurate out to get notifited if it fails SMTP or MOM

BizTalk Application Concept

single assembly for everything (artifacts together that belong to each other), schemas and maps --> depends on each other so together can (partition)

build/deploy strategy around BizTalk application

interface and implementation model for orchestration that reuse possibilities

Logical grouping BizTalk app

Build proces (VS.NET, set project properties, sn)

Multi Server considerations (everything’s is bound default host inst)

Bindings what is it? logical and psychical port mapping (customizing BizTalk binding files documentation)

Day 2 At Microsoft SOA and Business Process Conference

Today I will be following all sessions on SOA track. It will kick off with a customer’s panel: SOA Success Stories, which will be interesting how companies are successful with implementing a SOA in their organization. Next will be a session of avoiding 3 common pitfalls in Service Contract design. In the afternoon there will be two sessions; one is about building an ESB on the Microsoft Platform and the other is implementing change data capture as an event source for SOA.
Here are some notes from the customer panel:

First cutomer to speak was Ryan Garner from JetBlue (http://www.jetblue.com/)

Business Drivers

* Drive away from screen scrapping and work together with booking agents
* Show availability flights, hotel rooms, ect...

- Microsoft Service Model
- Web Service interface modeling
- Web Service Management Tool
- Governance; versioning

Low hanging fruit (gets things up and running fast)

Next speaker was Justin Myrick from Clearchannel (http://www.clearchannel.com/)

Business drivers

Lots of ERP (markets), varying different systems for everything, taking things out hands of people
Workflow for everybody, web services

- Managing web services
- Workflow K2
- System workflow BizTalk

Technology is not problem, it's the people (Changing organization, developers, how IT delivers solution)
Governance is a big deal, more web services than you think
SOA can't be bought, one size does not fit all

Last customer to speak was Rodney Turpin from HP (http://welcome.hp.com/country/us/en/welcome.html)

Business Drivers

reduction of legacy applications
balance workload

- BAM
- MOM
- BizTalk

disparate e-storefronts

aggregation BizTalk orchestrations

Tools Manage SOA

* Off the shelf tools, SLA Service Activity (Service Activity Store SQL Server)
* Team system, .NET 2.0 SOAP request/response (SOA) Service Management
* MOM for monitoring, BAM
* UDDI for registry for service

* Must haves for starting a SOA (heath monitoring security scalability availability)
- SOAP Reguest/Respone tracking
- body request/response tracking
- certificate based authentication
- log request/response times (SLA)
- tracking watch to not track everything
- clustering on the back-end
- track/tracing

* Fund SOA project

- Funded on backs on projects
- Invest in enabling technology by CIO (critical investment)
- separate funding

* Testing web service software

* SOA reusable enables agility
- reuse is there
- journal entry service (clear channel) reuse

* Happy Path SOA long running process exceptions consistency
- products ...
- no long running process
- no experience
- Exceptions management MOM

First technical session of the day the three comon pitfalls in service contract design from Tim Ewald (Foliage Software Systems). There are many challenges in systems integration for architects and developers, and the industry has focused on XML, web services, and SOA for solving integration problems by concentrating on communication protocols, particulary in regard to adding advanced features that support message flow in complex network topologies. However, this concentration on communication protocols has taken the focus away from the problem of integrating data. Flexible models for combining data across disparate systems are essential for succesful integration. These models are expressed in XML schema (XSD) in web service based systems, and instances of the model are represented as XML transmitted in SOAP messages. Here are the notes on this one:

Governance
Testability
Registry (Where is the service)

Silo-ed App

Designing contracts is a big challenge (data models)
- Maintain flexibility
- Single common data model

Canonical model approach, hard to maintain, change

3 systems with customer data (heterogeneous systems)
- Simple solution 3 systems 1 data store (hard almost impossible, mandatory adaptation, who have to use it) lose agility, transformation your way out off it
- Schema shared across systems add minOccurrs to elements (shape data if it is present)
- occurrence constraints at system level
- missing vs. null data
- no solution for versioning
- do not change namespace otherwise more mappings maintain compability
- It's about interfaces, changing by adding is no problem, new service type (new operations) no problem, but do not change existing service/data type then change the namespace. Nothing new here
- Service evolve so keep flexibility in mind
- Systems evolve so schema should evolve to, so flexible to change

First afternoon session was :

Building an ESB on the Micrsoft Platform Brian Loesgen/Lukas Cudridge

Here are my notes on this talk of both:

Top down approach

Business drivers

* Kaiser Permanente (http://www.kaiserpermanente.org/)

* show business value
* better way to integrate existing applications portfolio
* enabler for greater SOA strategy

TERM SOA lot of definitions (Fiorana group, sonic, IBM, Gartner)
Agreement on what an ESB is and what it does!!!

IDC research

Message broker
Message Transformation
Message validation
Message-Oriented middleware

Incl. adaptation and orchestration

ESB is important building block for SOA

Service Oriented Infrastructure

Preferred way service consumer standard service provider SOAP
Service Registry
Service Management
Security

Standard Service Provider/Consumer

WSDL defined SOAP
HTTP, JMS over WMQ
Support WCF and XMS
CIM/SIM Functionality

Service Registry second key component to SOA next to ESB (meta data, service portfolio)
Enterprise Service Catalog
Custom Publisher
Extended taxonomy

Web Service Management Amberpoint
Integration MOM

Who is in the ESB game

Cordys, Oracle, BEA, SUN, Sonic

Announcing ESB Guidance release to partners.

* Toolkit
* BizTalk 2006
* Architectural Guidance
* ESB Core Engine
* Sample On/Off Ramps
* Provisioning Framework

esbtlkt@microsoft.com

ESB Core Engine

On/Off Ramps (Get in/out of ESB) On ramp recieve location BizTalk, Off Ramp Send Port
dynamic routing, exception, transformation !!!!
Know more about the message before processing the message (context property)
Submit message set properties, so know to process message or route it;

- On/Off ramps
- Intermediary functions
- Standardized meta envelope
- resolution mechanism
- provisioning and administration

re-usable component for dynamic message transformation

more or less there is meta data in the envelope and in processing message it will through db lookup of bre ...
exception handling mechanism (enterprise library)
BizTalk message oriented environment --> publish exception --> message box --> handler listen to those message (subscribe to them0

Failed Message Routing (API --> create fault message)

Individual components

Demo ESB guidance and ESB Core Engine

ESB client meta data properties ...
Debug view

Through exceptions out to a SharePoint portal site, Infopath form to show error details
Retry port

SharePoint Portal and BI capabilities showing kind or exceptions

ESB Infrastructure

Flexible distributed architecture

Receiving NLB receiving
processing/Sending not in NLB
Message boxes clustered / Log shipping (data centers)
tracking db clustered
Separate locations

Developer SDK
VM with ESB core Engine installed
Sample application
Sample unit test
Sample automated build process

There is a role for SharePoint in ESB for monitoring

package pushed a few weeks

Last talk of the day for me was Implementing Change Data Capture as an Event Source for SOA from Doug Wheatin from Attunity (http://www.attunity.com/)

Here are some notes, it was not a lengthy presentation on the subject:

Why data capture?

SOA key to integration

Attunity provide adapter to connect to legacy systems looking for chaged data capture (lower level on SOA layer stack)

CDC where to use it; ETL data from legacy from one data source to another, include cleansing amongst other things
data sync, event driven BPM, BAM

CDC based ETL near real time updates to data warehouse, but in a SOA way ETL engine is BizTalk. Get data out fast into GW, and by continuous bulk loading (all of it) Amount of data will grow 500Gb + , so in that event by using CDC only changes on data is captured and loaded through ETL like of manner to DW. High frequency low volume so excellent for use for BizTalk. Changes are retrieved and noticed by services delivered by Attunity also adapters for these service so BizTalk can import this data in, transform and send to DW.

Services Extracting
BizTalk Transformation
Services Loading

CDC SOA way

Latency

Batch to near real time
pull mechanism

Real time event driven mechanism

That's it for today.

Tuesday, October 03, 2006

Day 1 At Microsoft SOA & Business Process Conference

Today will be the first day at the Microsoft SOA and Business Process Conference. It will start off with a key-note of David Chappell called: SOA, BPM and Microsoft: A Pragmatic View. This will be very interesting to see what his view on those topics is from a Microsoft perspective. Later there will be a keynote: Real World SOA from John deVadoss. In the afternoon I will be attending a session from John Evdemon who will be discussing: The Architecture of SOA. After that session I will go the next called Choosing the Right Technology for Exposing & Composing Services. I will end the day with another session of David Chappell, who will discuss: Selling BizTalk-Based Engagements.

So what did David Chappell tell the audience about SOA. He looks in this talk at SOA in a pragmatic point of view. Making SOA real is about three things:
A) Standardize
B) Infrastructure
C) Business Process Management

For standardization one has to agree on protocol like SOAP, WS-* and foundation like WCF for Microsoft or Service Component Architecture (SCA) IBM, Oracle. For definition of data XML can be used. An infrastructure for effective communication should be implemented to make SOA work. Microsoft has a product BizTalk, which role is INTEGRATION. Together with WCF an effective communication infrastructure can be achieved. Finally BPM is a bunch of processes. Core technologies for BPM are Workflow (system, human), graphic tooling, Business Rule Engine (BRE), Business Application Monitoring (BAM) and integration. BPM and SOA fit together and Microsoft is delivering BizTalk (system workflow), WWF, SharePoint Services 3.0 (human workflow) and Office SharePoint 2007 for it.

Next talk from John deVadoss jump into real world SOA. First note he made was about business value. To implement an SOA a business driver for it to implement is necessary. Microsoft has been an industry catalyst to standards like WS-* and tooling. SOA is an architectural style not a product, but a means to an end to deliver business value and to be agile. SOA has been hyped the last couple of years and has a lot of attention. Some companies have been successful in implementing an SOA like DELL, SANDVIK, Common Wealth Bank and SIEMENS. He did not in this talk look SOA in an academic way or approached in such a manner. Realizing a SOA requires business drivers (sound business reason) and should be realized in an incremental way, not a big bang (all at once). Other requirements are tooling, management and security. There is a 3 part model to create a SOA from a Microsoft point of view. It starts with service enabling; build services around i.e. legacy systems, data silos, LOB (line of business). Next is enabling compositions to create workflows, orchestrations... automate business processes. Finally compositions will be consumed by devices, portals, web 2.0 ect.. Services, Compositions and consumptions have to be managed and secured (identity and authorizations).

At 13:00 John Evdemon started his talk about the Architecture in SOA. Importance of the A in SOA. Business benefits an SOA can provide is agility. Fast adoption to a changing business to be efficient in ones processes. But before starting a SOA, one needs to think first before implementing it. For a given business problem one needs to think in solutions. Further one in this talk he dived into the 3 part model, discussed by John deVadoss in previous talk, but more in detail. The 3 part model being expose/compose/consume, where expose is about making resources available (service enabling), compose to aggregate services into a workflow or orchestration and consume make use of compositions in user interfaces made available in portals, web 2.0, devices, applications). Looking at architectural perspective to this model there are in John point of view a number of recurring logical capabilities at each level of it. These capabilities are:


  • User Interaction;
  • Workflow and Process;
  • Data;
  • Identity and Access;
  • Messaging and Services.


He explained every capability at each level of the model. The presentation detail can be found at http://blogs.msdn.com/jevdemon/.

At 2:30 Kris Horrocks did his talk about choosing the right technology for exposing and composing services. He refered back to early discussed model of expose/compose/consume.

Technology to service enable assests (resources) and compose these services is what he will be focussing on this session. He pointed that composition is in fact business process. To expose legacy systems Microsoft will be delivering adapters for it (Host Integration Server) for Cobol, RPG code, DB2 databses on AS400 ans so on.

Looking at databases a SOA will place new requirements on them. SQL Server 2005 has new features like web services, SQL Server Broker (queue mechanism), query notification (event model). For bulk, cleansing and rationalization SQL Server has SSIS (SQL Server Integration Services), whereas for discrete messages +/- 50 Mb binary size BizTalk can be used. Eventually one has to look at needs for data transport in a SOA. The trade-off is between bulk vs. discrete or data vs. application.

Next thing he discussed was Windows Communication Foundation to be used to expose resources. He talked about binding and configuration of services build with WCF. WCF is a common framework that resides every distributed technology from Microsoft so far: remoting, DCOM, Web Services and so on.

So far about the exposing part, now the composing part and the technology for it. Services can communicate through endpoints; point to point. BizTalk can mediate between endpoints and provide in a standard infrastructure for it. It can host business process as a composition of services and expose itself as a service. In case of human interaction in a business process BizTalk and SharePoint could be paired together in a new technology Windows Workflow Foundation.
This concludes day 1 at the conference for me, I did not make any notes of Selling BizTalk-Based Engagements by David Chappell. I only listen to his enthusiastic talk of the subject.