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
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?
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.
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