Archive for the 'SoftwareArchitecture' Category
Service-Oriented Architecture(SOA)
Introduction
SOA represents new model for building distributed applications. SOA is a platform where you can expose your organization business logic through services. Here services are the interfaces which process and deliver the XML Messages.
SOA approach makes sense when we build applications cross organizational. A business with multiple systems and applications on different platforms can use SOA to build a loosely coupled integration applications.We can implement SOA by using web services.
Overview of SOA
SOA uses service components that reside in different domains. Service Components operate in their own boundary.
Three main entities in SOA are
- Service Providers
- Service Consumers
- Service Directories
The communication between the services and the consumer is in the form of XML messages that are defined against XSD schemas.
SOA Benefits
- SOA Address the availability and scalability issue: Synchronous communication model with linear workflow model is highly susceptible to failures. SOA address this problem by implementing the strategies for handling them. For example if service failed to accept a message request, the architecture will be designed to retry the delivery.SOA improves the reliability because a temporary failure in the system will not bring down the entire business process.
Software Architecture
Software architecture is the set of decisions about the organization of a software system that software architect makes.
What decisions does the software architect make?
Architects create architectures and defines their responsibilities which involved in doing so. Conceptualizing and experimenting the alternative architectural approaches.Creating models, components and interface documents which validates the architecture against the requirements and assumptions.
Experienced architect role involves not just technical activities but others that are more strategic in nature. A sense of business and technical strategy is required to envision the right architectural approach to customer problem.
Software Architect Activities include
- Listening to stakeholders values, concerns and goals.
- Creating technology road maps and making assertions about technology directions.
- The architect needs to partner well with a variety of different stakeholder groups,business analysts and developers.
- Preparing the tech tutorials to help developers in understanding the architecture and rationale behind the architecture.
- The architect also act as mentor and coach, working with developers to address the challenges that arise.
- Lastly, the architect must lead – the architecture team, developer community and in technical direction, the organization.