View Source

h3. !http://wiki.cantara.no/download/attachments/8486963/acs_simple.png?version=1&modificationDate=1212701807968|width=100px! Aggregated Core Services
{section}{column:width=50%}

{tip:title=Aggregated Core Services}
{excerpt}Aggregated Core Services is extensions to [Core Services|CS]. ACS is usually either context-specializing (CustomerCustomer and VendorCustomer) or aggregations from several [Core Services|CS] like in CustomerDashboard which aggregates from Customer Service, Order Service and possibly more services{excerpt}
{tip}

{column}
{column}

!http://wiki.cantara.no/download/attachments/8486963/SOA_Service_Categorization_v2.jpg?version=1&modificationDate=1273227233523|width=400px!

{column}
{section}

{section}{column:width=50%}

h3. Characteristics

Services combined and orchestrated to produce
aggregated services
* Aggregated functionality from several services
* Context mapping
** Translating between contexts
** Anti corruption layer
* No central persistence
** Could (should) have cache (state full)



h3. Code-Patterns for Aggregated Core Services

* [Evolving Service Endpoint Pattern]
* [Recording Command Pattern]
* [Recording Proxy Pattern]
* [Smart Service Proxy Pattern]

----


{tip:title=Context Map-oriented Aggregated Core Services}
{tip}

{tip:title=EDR-aggregated Aggregated Core Services}
{tip}


{column}
{column}


h3. Technology/Implementation strategy (Java)

*Technology*
* Code-centric ESB products
* Space-Oriented Architecture
* EDA products
* AOP-oriented containers (services _inlined_ as aspects)


*Implementation and products*
* Java code
* Use mobile code if you can
** Jini/JavaSpaces or XML/XSD
* ESB/EDA products
** Mule, OpenESB (Glassfish), ServiceMix
** OSGi containers
** Esper (EDA-container)
* Wrappers
** Glue, XFire, SpringWS, (Axis)


h3. Technology/Implementation strategy (.NET)

*Technology*
* .NET 1.0/2.0 ASMX
* Windows Communication Foundation (WCF)
* IIS Hosted
* Windows service / Self-hosted
* In-proc (rarely)



*Implementation and products*
* .NETcode
* BizTalk orchestrations can do a good job for mapping and high throughput

{column}
{section}
h3. Design rules (often called design-time governance)

{navmap:policy_acs|cellWidth=160|cellHeight=70}

* [Designtime governance for ACS-services|Design-Time Governance for ACS Services]

----

h3. Other technical discussions