Challenges of SOA / Comparison of SOA and traditional apps
Traditional enterprise applications present themselves as islands of data, automation and security. Integration is needed because of the nature of existing enterprise apps.
Islands of Data
- Each island has its own definition of enterprise objects and information
- Each Island has information that overlaps with that of other islands, causing data integrity issues
- No single island can provide a complete picture of the enterprise objects or information
- Creating a unified view of the enterprise requires integrating information from multiple sources
Islands of Automation
- Each island focuses on a limited set of activities
- This causes duplicate functionality across islands
- Changes need to be coordinated between multiple applications
- Duplication of business processes
Islands of Security
- Different locations and mechanisms for security audit trails
- Different authentication models
- Difficult to propagate identity across multiple applications
- Varying privacy concerns across multiple applications
Traditional Applications
- Built for a single purpose
- Typically without concerns for other processes int he enterprise
- Each has its own data-stores
- Uses + Produces a limited set of the enterprise data
- Implements a sub-set of the enterprise functionality
- Has a single set of users
Design + Implementation
Traditional Apps:
- Function oriented
- Built to static set of requirements
- Long development cycles
SOA Solutions:
- Coordination oriented
- Built to change
- Built + deployed independently
Resulting System
Traditional apps:
- Application Silo’s
- Tightly coupled
- Object-Oriented interactions
SOA Solutions:
- Enterprise Solutions
- Loosly Coupled
- Semantic message oriented interactions
Challenges of SOA
SOA services are based on the decomposition of the enterprise semantic data model
Services need to support business processes that can be easily adapted to changing business needs to provide new business capabilities for the enterprise
Architecture and design must provide an enterprise context which influence the design and implementation of services
Traditional architectures (OO, MVC, component based, etc) cant provide the flexibility needed to use IT as a strategic differentiator to provide the enterprise with a competitive advantage.
Sources:
WikiPedia