- Application Front end: Generally it is web browser based but thick client is also preferred in some cases.
- Service: In most of the real time implementations it is Web service but other types of services are based on CORBA, RMI, etc.
- Service Repository: If service is implemented using Web Service, it is UDDI (Universal Description, Discovery and Integration)
- Service Hosting Environment: In most of the implementations it is ESB ( Enterprise Service Bus)
- Contract: If service is Web Service then contract is WSDL (Web Services Description Language)
- Implementation: It is web service in most of the cases.
- Interface: In most of the cases it is Web based ( SOAP over HTTP)
- Business Logic: It can reside in any language, platform.
- Data: It can reside in any language, platform.
Sunday, November 30, 2008
SOA Components
SOA Principles
- Follow the standards
- Optimize the granularity of service
- Make conscious decision that when not to use SOA
- SOA is gradual process, do not emulate Big Bang.
- SOA effectiveness is not in number of services but in reusability and compos-ability of services
- SOA is for application and also for Enterprise, make conscious choice
Challenges in adopting SOA
Business Challenges
- SOA is a strategic decision not the tactical
- Vendor centric SOA view
- Resistance to standardization
- Fear of losing control
Technical Challenges
- Lack of technical understanding
- Re-usability of services
- Isolated implementation of SOA
- High demand on network and hardware
What & Why SOA ??
What is SOA
SOA is an architecture style, which exposes business or technical functionalities as reusable, compos-able and self describing stateless service over network.Advantages of SOA
There are only three advantages of SOA:
- Re usability
- Frugality of IT Assets
- Agility
- Business
- Technical
All other advantages can be derived from these three.
Business & Technical Case for SOA
Business
- Fast pace business environment
- Customers taste change
- Merger, acquisition & split
- Change in business processes & procedures
- Ever changing legal environment
- Ever changing IT environment
- Never ending race for cost cutting
Technical
- Spaghetti of technologies
- Independence from Technology and/or Vendor
- Shrinks SDLC efforts
- Reusable, compos-able services available over network
SOA offer the following advantages over traditional approaches to distributed computing:
- Business services across the platforms
- Provide location independence
- Services need not be at a particular system or particular network
- Completely loosely coupled approach
- Authentication and authorization support at every level
- The search and connectivity to other services is dynamic
Short-term benefits of implementation:
- Enhances reliability
- Reduces hardware acquisition costs
- Leverages existing development skills
- Accelerates movement to standards-based server and application consolidation
- Provides a data bridge between incompatible technologies
Long-term benefits of implementation:
- Provides the ability to build composite applications
- Creates a self-healing infrastructure that reduces management costs
- Provides truly real-time decision-making applications
- Benefits from the perspective of Business Value Ability to more quickly meet customer demands
- Lower costs associated with the acquisition and maintenance of technology
- Management of business functionality closer to the business units
- Leverages existing investments in technology
- Reduces reliance on expensive custom development
When to say NO to SOA
Every one is advocating for SOA. But there must be some scenarios when not to use SOA.
- In Homogeneous IT environment.
- When real time performance is critical.
- When Business and IT environment is static.
- When tight coupling is advantageous not a disadvantageous.
- When huge amount of data transfer is happening.
- When data sharing is in batch mode.
Friday, November 21, 2008
Just Started
In this blog I will try to jouney through software architecture mostly independent of tools and technology.
In this blog I will iterate my thoughts on:
1. Enterprise Architecture
2. Enterprise SOA
3. Enterprise BPM
4. EAI - A2A and B2B
5. Application Architecture
6. Application level SOA
7. Application level BPM
In this blog I will iterate my thoughts on:
1. Enterprise Architecture
2. Enterprise SOA
3. Enterprise BPM
4. EAI - A2A and B2B
5. Application Architecture
6. Application level SOA
7. Application level BPM
Labels:
A2A,
Application Architecture,
Architecture,
B2B,
BPM,
EAI,
Enterpise Architecture,
SOA
Subscribe to:
Posts (Atom)