Service Oriented Architecture

Blog for discussion on various topics related to SOA and SOE (Service Oriented Engineering)

Friday, May 12, 2006

What is SOE (Service Oriented Engineering) ?

Service Oriented Engineering (SOE) methodology is for "Collaborative and Iterative Software Engineering" in line with SOA principles. SOE differes from traditional engineering methodology in a sense that it facilitates "collaborative engineering" environment.

One of the key value proposition of SOA is the re-use of heritage (I picked this from Russell Irwin's speech... it is more appropriate than "legacy") assets. This heritage asset could be a brand-new piece of code written by team across the floor or could be a mainframe application developed 20 yrs back.

So, can any asset be reused ? Answer is - Really not !

One of the missing aspect in IBM's SOA Methodology (Model -> Assemble -> Deploy -> Manage) is that one can not start modeling without understaing the business processes and existing assets that have potential for re-use. In my view, there should be the "Analsys" phase before modeling can be done.

Other challenging aspects in collaborative engineering is quality and scope of components. That makes "testing" as an important activity in SOE. A chain is as strong as it's weakest link. So, what are various certification criterias that a component must undergo before other teams make it as a part of their mission critical applications ? Is internal testing sufficient enough or should there be an independent certification authority ?

Some of above issues can be addressed by putting a good SOA Governance. That brings our attention to another aspect of SOE - what are key ingradients for good SOA Governance ? It is just putting right organization structure and assigning responsibilities / accountabilities ? Or, something more ?

Back to our discussion on SOE ... SOE has 6 phases - Analysis, Modeling, Development, Testing, Commissioning and Integration. One may argue that these 6 phases can be reduced to 4 or 5. But I feel that these are 6 different aspects of software engineering and eash phase has it's own challenges and complications.

These 6 phases are supported by 4 enablers - Governance, Training, Frameworks and Tools. One may point that Frameworks and Tools are linked with each other.... however, it is not...

... to be continued !

My notes from IBM SOA Architecture Summit

IBM SOA Architecture Summit, Mumbai, 9th May, 2006

SOA Reference Architetcure
- Process
- People
- Information
- Non-functional Requirements
- Manage Environment

SOA Solution Layering

Comsumers
---------------------------

Business Process

---------------------------

Services (Atomic & Composite)

---------------------------

Service Components

---------------------------

Operational Systems

---------------------------

Above is quite similar to RUSA -> APIs -> GeneS -> Products -> Solutions hierarchy

SOA Programming Model Aspects

o Design
- Role Based Collaboration
- Declarative Policy to control execution behaviour
o Invocation
- Loose Coupling
o User Interface
o Composition of Business Level Applications
o Information
o Business Components

SOA Reference Architecture : Key Principles
o ESB
o Component based programming & Solution development
o Service Integration Maturity Model (SIMM)

SOA Adoption Considerations
o Business Drivers
o Organization Readiness
o Current Architecture Environment
o Operational Readiness

SOA Governance
- Catalyst for improving overall IT governance
- IT Governance
- SOA Governance Life Cycle
Plan --> Define --> Enable ->+
+<--------------------------|

Business Driven Development
- Align Technology & Business Priorities
- Improve efficiency & responsiveness
- Address Governance & Compliance requirements

SOA Programming Models
- JavaServer Faces -> for UI
- Service Component Architetcure
- Service Data Objects
- Business Process Execution Language

SOA Governance - Challenges
o Establish Decision Rights
- Funding & Ownership of shared services
- Execution Committee
- Organization Change
o Define high value business services
o Managing life-cycle of assets
o Measuring effectiveness

My Paper on SOA in Mobile Banking

see below URL :


SOA in Mobile Banking

Various Standards for Data Exchange Specifications