Open ESB.next and Project Fuji Andreas Egloff Lead Architect SOA / Business Integration Sun Microsystems 1 2 Introduction 3 Project Open ESB Close to 40 components Over 600 members and 600,000 downloads CDDL license Free to download and free to deploy http://openes!"org 4 Project Open ESB > ro!ect "ncubated # $avaOne 200% > &ew Component ro!ect' (Open $)" Components* September 200+ > ,ibrant -eveloper Community More t.an +00 /e0istered Members > ,ibrant artner Community 1estalt' "mola' )ostec.' 2viware' ServiceSpan' 3calia' -anet' ersistent Systems' /emedyM-' 444 Several "ndividual Contributors Over 10 active partners and over a 100 active contributors % What's What in Open ESB > Open 2S) v2 is t.e current production version "ncluded and supported in t.e $ava C5S /+ suite' released in $une 2006 Many more components and en.ancements bein0 wor7ed on and planned for t.is and ne8t year "s t.e basis of 1lassFis. 2S) v2 later t.is year' a supported distribution on 1lassFis. v2 > ro!ect Fu!i' Open 2S)4ne8t /esearc. into t.e ne8t 0eneration inte0ration stac7' some en.ancements will flow earlier into v2 S.ared (early* to develop fully in t.e open in t.e community + Fully interates into !lassFish v2 "nte0rated /untime > $)" runtime pre9installed wit. 1lassFis. > 2nabled by default in every 1lassFis. instance > re9pac7a0ed components: ;<< )C and $ava 22 S2 "nte0rated 5dministration > 5dmin 1=" > C>" ?asadmin@ > 5nt ?asant@ "nte0rated 5rc.itecture > Open 2S) fits seamlessly into 1lassFis. domain administration model > Clustered Open 2S) A !lassFish " #eveloper Pro$ile 6 !lassFish " %luster Pro$ile B &d'inistration ( )onitorin 28tensive runtime and toolin0 support for mana0ement and monitorin0 > "nstallationC-eployment > >ife Cycle Mana0ement > Monitorin0 > Confi0uration Completely inte0rated wit. 1lassfis. administration interfaces for seamless loo7 and feel Open contracts allow t.ird9party components to plu09in to e8istin0 administration framewor7 10 &d'inistration Exa'ple 11 &dapters Communication 5dapters > F< )C > 2mail )C > C"CS )C > CO/)5 )C > -COM )C > File )C > ;<< )C > $MS )C > >-5 )C
> /SS )C > S" )C > S&M )C > <CC" )C > =--" )C > 3M )C > 5steris7 )C > MD Series )C > MSMD )C 12 &dapters and Service %ontainers -atabase 5dapters > $-)C )C > SD> S2 5pplication 5dapters > S5 )C > "MS )C > ;>A )C > SE"F< )C Service Containers > 3S>< S2 > -ata Mas.up S2 Service Containers continued > $ava 22 S2 > )2> S2 > 2<> S2 > $/uby S2 > 1roovy S2 > Scriptin0 S2 > 5spect S2 > "2 S2 > Eor7>istMana0er S2 > And #ore""" 13 &rchitectural Properties %rash"course 14 SO& Bi *ules 1% Service Oriented &rchitecture &avi0atin0 a terminolo0y minefield > Service4 Service Consumer4 Service rovider > Service -escription > Service )us Fey aspects of a SO5 runtime > Messa0e9based > 5sync.ronous > Mediation Service9Oriented "nte0ration > "nte0ration viewed as a conversation between services > More t.an !ust web services 1+ Plua+le &rchitecture Core Services Communication "nfrastructure Open ESB %ore, leveraes ,BI lu00able Components Composite 5pplications Normalized Message Router "nstallation -eployment Control Monitorin0 )2> 2n0ine 3S>< 2n0ine "2 2n0ine F< )indin0 $ava 22 2n0ine ;<< )indin0 S5 )indin0 4Gip 4!ar 4bpel 4!ar 4wsdl 4!ar 4ear 4!ar 48sl 1A Plua+le - )any %o'ponents . /eeds Syste'ic 0ualities "dentifyin0 system9wide features and Huality concerns and addressin0 t.em in a unified manner 5 few e8amples > 5pplication Confi0uration > Component Confi0uration > Component =p0rade > assword ;andlin0 > >o00in0 > Monitorin0 > Eire Dualities 16 So'e &rchitecture Principles 5dds a standard communications contract > romotes interoperability between service containers > 5llows for easy service mediation 5sync.ronous service invocation > 5llows individual containers ?(components*@ to scale "ncludes in9vm messa0e e8c.an0es > 5llows effective ?distributed@ transaction propa0ation > Streamin0' assin0 by reference Messa0e based inte0ration > 2veryt.in0 is represented as services' includin0 le0acy systems 1B Inherent Scala+ility 12o %odin Several properties of Open 2S) allow for effective scalin0 wit.out actually e8plicitly codin0 ,ertical Scalability > >evera0e S2-5 ?sta0ed' event driven arc.itecture@ principles wit. async.ronous messa0e e8c.an0e approac. of $)" > 5sync.ronous e8c.an0es means t.at no t.reads .ave to be bloc7ed' a t.read is not tied to an invocation or messa0e savin0 t.reads' memory and resources ;oriGontal > >oose couplin0 and mediation capabilities ma7e it easier to distribute t.e system 20 3ess Boiler Plate %ode ro0rammin0 model s.ould not c.an0e > For e8ample' develop annotated O$Os for business lo0ic (as usual* )e.ind t.e scenes deploys to $ava 22 service en0ine > <.e service containers and service bus transparently add t.e additional Hualities and features > 5pplication developers are e8pected to use e8istin0 components ?service containers@' typically not to write t.em 28ternal connectivity 0enerally done via confi0uration rat.er t.an codin0 a0ainst 5"s > Service based interaction wit. t.e e8ternal 21 &dditional $lexi+ility o$ in"4) SO& <ransaction scopes can span as many services as desired > &ot forced to add a transaction boundary for eac. sta0e as a pure $MS based arc.itecture would Dueuin0 and persistence points c.osen by user w.ere needed and desirable >i0.t wei0.t contract' less over.ead > &o serialiGation reHuired > 2fficient streamin0' pass by reference capabilities 2asily interacts wit. ot.er SO5 based systems > >ow impedance mismatc. 22 Interopera+ility, 3oose %ouplin Components are not directly aware of each other > Only interact t.rou0. standard service bus ?normaliGed messa0e router@' messa0e e8c.an0e contract and messa0e format > 2liminates (stove9pipe* inte0ration issue between components 23 Plua+le, %o'ponent Ecosyste' lu00able arc.itecture I component interoperability > Mi8 and matc. components from different contributors and partners > Components from different vendors ?usin0 t.e $)" standard@ can be used wit. no or small c.an0es ,ibrant Component 2cosystem > Over 30 components in open9!bi9components pro!ect today for use wit. Open 2S) and ot.ers > .ttps:CCopen9!bi9components4dev4!ava4netC /educes t.e dan0er of vendor loc79in 24 Where are 1e oin5 Project Fuji, Open ESB.next
2% Bac6round ro!ect Fu!i represents researc. for t.e ne8t 0eneration of our core inte0ration stac7 > Some advances will flow earlier into t.e current production line' Open 2S) v2 Compatibility > Open 2S) v2 toolin0 can 0enerate applications for Fu!i > Fu!i runtime uses t.e same components as Open 2S) v2' no separate code lines 1oals: > Feep t.e robust infrastructure in Open 2S) v2 > /i0.t9siGed runtime' li0.twei0.t micro7ernel > 2ase9of9use' roductivity > More Fle8ibility and C.oices ?<oolin0' >an0ua0es444@
2+ Overvie1 )ased on OS1i > Core $)" runtime J 3007b > 2veryt.in0 is an OS1i bundle > $)" framewor7' components' applications' libraries' 444 > Can be used in any OS1i framewor7 5dds ?non9intrusive@ Maven9based toolin0 > 5pplication and service arc.etypes > /eally cool plu0ins > Service 0eneration > 5ppliation distribution > Eor7s wit. any Maven9enabled "-2 > &et)eans' 2clipse' etc4
2A &rchitecture
26 Service %o'position " IF3
2B Service %o'position " 7I
30 )ore In$o... $aGoon <ec.nical resentation > "nte0ration rofile for 1lassFis. v3 Eednesday' $une 2%t. 2006' 14:00 14:%0' 5rena B laces to boo7mar7 > open9esb4or0 > wi7i4open9esb4!ava4net > fu!i4dev4!ava4net > blo0s4sun4comCandi Connect wit. Open 2S) team via > users#open9esb4!ava4net > dev#open9esb4!ava4net 31 8han6 9ou 31 Andreas Egloff !logs"sun"co#/andi andreas"egloff$sun"co#