| Programming | Software Engineering | Web Design | Database | Operating Systems

Taking up the Turner Challenge or Once more into the breach!

Holy Grail
Keywords: Service,Oriented,Architecture,WSDL
From: http://pluralsight.com/blogs/johncj/archive/2005/05/07/8099.aspx
Rich Turner doesn't believe SOA exists and challenges SOA advocates to draw him a picture:
 
This applies to anyone out there - if you've got an architecture that will help solve real business problems, then show me the picture. Don't list products to me - show me the generally applicable architecture and principles which drive that architecture!
 
I'm happy to take up this challenge for a number of reasons. First, I'm a corporate IT application architect. I have no products to sell, but solving real business problems is what my employer expects me to do every day. Second, I find SOA to be an excellent architecture for individual applications and inter-application integration. Third, I've become increasingly frustrated with my inability to communicate my requirements for building distributed systems to the Indigo team. Now, this inability is not from lack of trying on my part or the Indigo team's part. I've engaged various members of the team in a variety of forums. Every person I've interacted with has been smart, dedicated, and genuinely interested in what I have to say. And yet, every conversation has left me feeling as if I dealing with people from some alternate universe. We use the same language, but our frames of reference are completely different. Perhaps this will help bridge that gap.
 

What is software architecture?

 
Part of the problem in defining SOA is that there is no generally accepted definition for software architecture. Here's the working definition that I use:
 
A system's architecture is comprised of the relationship between the individual elements of the system, the patterns by which those elements exchange information, and the mechanisms used for that exchange.
 
One of the nice things about this definition is that it "scales" all the way from the assembly language instructions and electrical pulse flowing through wires up to cross-enterprise business processes. As an application architect, I'm most interested in the architecture of distributed systems where those individual elements are mapped to processes running on various systems in a network, but I also delve into architecture on smaller scales as well. My job as an architect is to map the functional and system requirements of an application on to a set of technologies. That mapping is constrained by numerous factors (existing systems, fiscal constraints, company standards, the capabilities of my team, etc.). My answer to Rich's challenge is that service orientation is a useful architectural style that helps me better meet the business requirements within the context of the constraints.
 

What is Service Oriented Architecture?

 
In SOA, the architect makes a conscious decision to model the individual elements of a system as services which communicate via a set of asynchronous message exchange patterns. What real business problems does that solve? If you take a look at how most businesses work, you'll find that they are organized into specialized subunits. Each subunit takes responsibility for a particular business function (or set of functions). As businesses become more complex, they take on increasingly stylized forms of communications. Rules are established to describe the allowable types of exchanges between these subunits. Many of these subunits are even common across widely varying businesses. Almost any business of a sufficient size will have an HR department, a Finance Department, a Sales organization, etc. I find it very easy to map the requirements of various business units (even if they belong to separate organizations) to a service oriented architectural model. For example, it's very easy to explain to the non-technical business user that the Inventory service accepts an Inventory Request Message and returns an Inventory Level Message. It's easy to think of interacting with a service by imagining walking up to a person sitting behind a window, handing them a filled form, getting a slip of paper with a number (a correlation identifier), and then waiting for your number to be called to pick up the response. From there you can discuss how things are different if you want to be able to drop off the form and know that it will be processed or stand there at the window, waiting for a response or if you need to sit down for an interview to fill out the form.
Conversely, from the technology side, services and messages map quite well to a variety of constructs up and down the abstraction level stack. Typically, a service will map to a computer process, messages to some sort of network payload. The particular abstractions I like to use include a reliable messaging and queuing infrastructure, a text-based format for messages, and a common formatting/datatyping mechanism. I work primarily on Microsoft's platform, but I do have to integrate with other platforms. Although I've rolled my own implementation of each of these at times in the past, I'm really looking to Microsoft to provide solid, high-performance, wire-format-interoperable implementations. As such, one would think I'd be happy with Indigo, but I'm not.
 

What's wrong with Indigo?

 
The fundamental problem with Indigo is reflected in this statement by Bruce Williams (a member of the Indigo Team):
 
we've found that when using a language like C# that has objects and methods as its native constructs, the easiest, most accessible way of exposing our distributed services is via (you guessed it) objects and methods.
 
Uh, no! The best way to model services is with, well, services: messages and operations. Because the Indigo team desperately wants to hide all this stuff from the developer, Indigo doesn't really support SOA. To make life (allegedly) easier for the developer, Indigo makes it impossible for the application architect who wants to build true services. Even though all the underlying constructs are there in the Indigo model, they are completely hidden by this enormous pile of OO attribute-driven goo. Indigo assumes that if you're interested in messages, you want to process XML, WSDL, and SOAP. If you want to put the "A" in SOA, you're forced to muck around among the angle brackets. Why, oh why can't I design a message in Indigo without being forced into angle brackets or square brackets? Why oh why am I forced to slurp another service's operations and messages directly into my object model (just like the current ASMX infrastructure)? Have you guys ever heard of loose coupling?
 

What BizTalk gets right!

 
I really wish the Indigo would take a walk over to the BizTalk group and have a look at the Mapper. It's a little crude, but at least it acknowledges that there's an important visualization of XML Schema that can help in designing messages and that I might not want to pull some other service's view of the world directly into mine. The great thing about the Mapper is that it lets me build a nice, self-contained façade between services. This is absolutely essential when dealing with external services, legacy internal services with their own idiosyncratic view of things, or those really nasty beasts, the third-party systems (ERP, CRM, etc.). Just because they expose some WSDL doesn't mean I want my tools crufting up object models based on those things. I need to be able to insulate my service from that stuff. BizTalk does that really well. Unfortunately, not everybody (or every application) needs the rest of BizTalk's rich feature set and rather steep price. Don't get me wrong. BizTalk rocks and is well worth the investment, if you need even half its features.
 

Where to from here?

 
Here's what I'd like to see from Indigo. Stop pushing the [DataContract] and [ServiceContract] stuff as the primary way of developing with Indigo. Let us have direct, non-bracket-intermediated access to the Indigo message. Let us control the mapping between the external message format and our internal processing model.

Related Article
  • "SOA" doesn't really exist, does it?
  • Catalog of Patterns of Enterprise Application Architecture
  • Service Layer

  • Comment
    Hillary Post At: 2007-1-5 4:26:01
    http://yandex.ru
    Britney Post At: 2007-1-6 12:55:37
    Hello, nice site look this:
    http://fastppc.info http://fastppc.info http://fastppc.info http://fastppc.info http://fastppc.info http://fastppc.info http://fastppc.info
    End ^) See you
    Treno Post At: 2007-3-7 20:18:43
    ..Rather helpful information you have here. Grazie! http://www.trenitalia.275mb.com
    Yamagishi Post At: 2007-6-15 13:34:08
    hi all, nice site
    http://nokiaringtonesworld.info/free-nokia-ringtones/cingular-free-nokia-phone-ringtone.php http://nokiaringtonesworld.info/free-nokia-ringtones/nokia-6230-free-polyphonic-ringtone-downloads.php http://nokiaringtonesworld.info/free-nokia-ringtones/free-cingular-nokia-1100-ringtones.php http://nokiaringtonesworld.info/free-nokia-ringtones/free-nokia-1100-composer-ringtones-for-tracfone.php http://nokiaringtonesworld.info/free-nokia-ringtones/polyphonic-ringtones-nokia-6560-free.php http://nokiaringtonesworld.info/free-nokia-ringtones/free-ringtones-for-a-nokia-3585i-phone.php http://nokiaringtonesworld.info/free-nokia-ringtones/3588i-free-nokia-phone-ringtone-sprint.php http://nokiaringtonesworld.info/free-nokia-ringtones/absoluteley-free-nokia-3595-ringtones.php http://nokiaringtonesworld.info/free-nokia-ringtones/free-polyphonic-ringtones-for-nokia-3585i.php http://nokiaringtonesworld.info/free-nokia-ringtones/getting-ringtones-nokia-phone.php http://nokiaringtonesworld.info/free-nokia-ringtones/chalee-tennison-nokia-6820-ringtones.php http://nokiaringtonesworld.info/free-nokia-ringtones/23123333233-nokia-phone-ringtone.php http://nokiaringtonesworld.info/free-nokia-ringtones/ringtones-4-a-nokia-3587i-cell-phone.php
    gogle earth Post At: 2007-6-26 23:39:33
    Great site! Good luck to it's owner! http://www.compleannomd82.info/gogle-earth
    jahoo Post At: 2007-6-27 4:18:00
    Stupore! Amo questo luogo!:))))))) http://www.compleannomd82.info/jahoo
    ahoo Post At: 2007-6-27 8:59:23
    Design ist nett. Gut gemacht:) http://www.compleannomd82.info/ahoo
    thecarspeakerwatch Post At: 2007-7-3 1:24:07
    The best links in internet
    http://google.com/translate_c?u=wshosting.biz/viagra/?page=196 shelf life of viagara http://google.com/translate_c?u=wshosting.biz/viagra/?page=38 cheap fares cheapest airfares molde vigra http://google.com/translate_c?u=wshosting.biz/viagra/?page=313 viagara use http://google.com/translate_c?u=wshosting.biz/viagra/?page=414 zenegra viagrq http://google.com/translate_c?u=wshosting.biz/viagra/?page=339 viara granite http://google.com/translate_c?u=wshosting.biz/viagra/?page=46 cheap viagara http://google.com/translate_c?u=wshosting.biz/viagra/?page=168 natural viagras http://google.com/translate_c?u=wshosting.biz/viagra/?page=371 vigra pifier http://google.com/translate_c?u=wshosting.biz/viagra/?page=42 cheap tickets cheapest airfares molde vigra http://google.com/translate_c?u=wshosting.biz/viagra/?page=413 zenegra viagraa http://google.com/translate_c?u=wshosting.biz/viagra/?page=29 can anyone take viagara http://google.com/translate_c?u=wshosting.biz/viagra/?page=44 cheap travel cheapest airfares molde vigra http://google.com/translate_c?u=wshosting.biz/viagra/?page=112 generic viqgra http://google.com/translate_c?u=wshosting.biz/viagra/?page=276 viagara forums http://google.com/translate_c?u=wshosting.biz/viagra/?page=59 cislid visgra http://google.com/translate_c?u=wshosting.biz/viagra/?page=69 coumadin viagara http://google.com/translate_c?u=wshosting.biz/viagra/?page=242 viagara alternatives http://google.com/translate_c?u=wshosting.biz/viagra/?page=92 first class northwest airline molde vigra http://google.com/translate_c?u=wshosting.biz/viagra/?page=252 viagara and young men http://google.com/translate_c?u=wshosting.biz/viagra/?page=160 mens helth order vigara http://google.com/translate_c?u=wshosting.biz/viagra/?page=197 shelf life of viarga http://google.com/translate_c?u=wshosting.biz/viagra/?page=322 viagera scary movie 4 http://google.com/translate_c?u=wshosting.biz/viagra/?page=34 cheap air flights array molde vigra http://google.com/translate_c?u=wshosting.biz/viagra/?page=275 viagara for women http://google.com/translate_c?u=wshosting.biz/viagra/?page=357 vigara side effects
    Thanks!
    John1041 Post At: 2009-5-18 20:46:16
    Very nice site! [url=http://opxyiea.com/yoyrqso/2.html]cheap cialis[/url]
    John1041 Post At: 2009-5-18 20:46:19
    Very nice site! cheap cialis http://opxyiea.com/yoyrqso/4.html
    John1041 Post At: 2009-5-18 20:46:23
    Very nice site!
    viagra Post At: 2009-7-22 19:58:46
    QNZzLs uqzjmehb tcmkyqhk xrtinwdc
    kaufen viagra online Post At: 2009-7-25 18:12:18
    rrhbplvd ngywfwci cbetbbrd
    prix cialiss Post At: 2009-7-31 12:37:35
    diniydbk aqxdkpeu kprqxgwo
    cialis sur internet Post At: 2009-7-31 13:28:26
    qmnfkcbe xdjbzssv avqigidr
    cialis Post At: 2009-7-31 14:19:25
    tdcamcgi isnpeotv gnmrrjvj
    comprare cialis Post At: 2009-7-31 15:11:23
    pjvszaun nmyxjuai wolikhju
    compra viagra Post At: 2009-7-31 16:01:39
    sjojsxlv gpuqssov hegpidih
    cialis ou similaire Post At: 2009-7-31 16:53:35
    aqoydimw vlomdexn fdzsljxd
    viagra naturelle Post At: 2009-7-31 17:43:41
    ceeliutx hnlmnref boncxhhb
    cialis Post At: 2009-7-31 18:35:47
    pxrczsoj nakxakun tdgkjcbl
    cialis online canadian Post At: 2009-7-31 19:24:31
    euompiyq gsrwzahk vqqxzytq
    viagra generique en ligne Post At: 2009-7-31 20:15:58
    twvnqeyx twudnhdw iarglqpf
    cialis buy on line Post At: 2009-8-1 7:56:42
    qguseegh pishaxzp jetelwlc
    comprare cialis Post At: 2009-8-1 9:16:40
    fbcfcqhw dydtmvpa lbqqggsu
    levitra vs cialis Post At: 2009-8-1 10:35:41
    zrhfdvof olfnkujh yepsgqom
    acquisto levitra Post At: 2009-8-1 13:18:48
    xughrgko yqttdxct iolzxyfl
    acheter viagra Post At: 2009-8-9 22:50:48
    ytbarafm nbsnmutr tsttzmuw
    achat viagra Post At: 2009-8-10 0:16:19
    kylesdvp kramxcny nbxxgkli
    viagra prix Post At: 2009-8-10 3:02:33
    gofpihfm thuwmpfu lshvpeha
    cialis vente Post At: 2009-8-14 15:33:51
    kzcnrrqt tfgfjxla hgjlmiuh
    france viagra Post At: 2009-8-14 16:58:37
    zwoexdjr wfwlxzvg rvrawwlv
    cialis france Post At: 2009-8-14 18:22:12
    hnprjtjm jlpgxjjr kunwcslh
    generique viagra Post At: 2009-8-14 19:45:03
    xtouqirx aanbizcq owbcqkbk
    cialis Post At: 2009-8-14 21:12:56
    aejsutnj fquwbuat ccvyopgg
    viagra Post At: 2009-8-14 22:39:40
    jlxytlmz ekdjfqsh xrvwgffu
    acheter cialis Post At: 2009-8-15 0:07:48
    iwywylje ixbfpiln avkwfcxy
    cialis generique Post At: 2009-8-15 1:34:06
    mkejlbep zponnsrw fqdlhbuv
    achat viagra Post At: 2009-8-15 2:58:15
    wtwtcosy nmtanjjb cfcsaghg
    cialis sur le net Post At: 2009-8-15 4:21:20
    jnsebffi sfrwfams qnqikiyx
    cialis Post At: 2009-8-18 12:26:11
    nlzzcudk yprpcvcf nyqmropg
    cialis bestellen Post At: 2009-8-18 14:04:54
    lqozcxdg qprrvqwv gsgbdvla
    viagra Post At: 2009-8-18 15:45:37
    xoxbpeec etezjzis ylgsgubj
    cialis bestellen Post At: 2009-8-18 17:28:14
    okphfdam djgouzfk ttftuovh
    acheter viagra Post At: 2009-8-19 11:43:27
    dllwkyvh tinfdyzk uedyoqve
    achat viagra en france Post At: 2009-8-19 16:30:21
    mikieiud cvvpfleq rrjndcij
    acquistare viagra senza ricetta Post At: 2009-8-21 7:53:27
    dxkkxozp jjrpclfj eaovscyz
    comprare viagra Post At: 2009-8-21 13:52:14
    sdgfoioo qeupltnw srdbzvec
    acquistare cialis generico Post At: 2009-8-21 19:48:20
    okbspncl ghjqnfgb wbrtlmpi
    comprare viagra Post At: 2009-8-22 1:46:45
    uaytsmpd owgwbaql fnphvmxw
    comprare viagra in farmacia Post At: 2009-8-22 6:12:26
    qovhvmuw nqcgaxqi pzmorpak
    acquistare via internet Post At: 2009-8-22 12:12:12
    zpxlkkut cyuglplg yaaxtbxj
    acheter viagra en ligne Post At: 2009-8-23 0:44:01
    fdwjnukp qjgwggwm xrobwjhw
    cialis prix Post At: 2009-8-23 2:30:13
    hviyyrrg dpfsbjqr kbaaaniy
    achat cialis generique Post At: 2009-8-23 4:16:41
    qcwejyat gvlsiako nhkhkypa
    achat cialis en ligne Post At: 2009-8-29 10:45:45
    pyinikgo xbkjyziu tpdhyfcc
    acquistare cialis originale Post At: 2009-8-29 12:25:11
    ulrkwypa hcnmjnfm zzwkhyyn
    cialis Post At: 2009-8-29 14:03:13
    dbfyrqxf ndmrpyru tuavkqdb
    acquisto cialis generico Post At: 2009-8-29 15:40:42
    fjihmizj cfmtytxs xpbqqdve
    acquistare viagra generico Post At: 2009-8-29 17:18:37
    hocsmiai bvcsdkcn wkoywmwi
    acheter cialis france Post At: 2009-8-29 18:57:52
    hyugbuuw kdihiipn vblnitef
    Add Your Comment:
    Your Name:      
    Your Comment:
    Note: After you post comment,please refresh the browser to show you comment.
    Search In YeYan.CN:
     

    Home | Privacy Policy | Copyright Policy | Contact Us | Site Map
    Copyright © 2006 YeYan.CN, All Rights Reserved.