SOA foundation – Different roles

The Business Analyst is responsible for knowing the business processes contained in the business design and capturing them in a
model that can be used by the rest of the development team. Ideally, the model is in a form which can be used also to automate those processes in the information system. Generally this is done using modeling tools.  The business analyst is a member of the development team, participating throughout the development cycle to refine and optimize the business design and establish its key performance indicators. The analyst later uses that information to refine the business design or drive changes in its implementation, and ultimately to verify that the IT realization faithfully implements the business design.

The Integration Specialist is responsible for integrating existing and new services, and end-users into the business process definition . The specialist will typically use visual composition tools and service-bus configuration tools to connect/integrate abstract service components that comprise the business processes. The integration specialist, along with the enterprise architect, will also be involved in establishing an approach to satisfying the security and Quality of Service requirements of the enterprise when composing services from business partners and other service providers outside of the enterprise’ operational environment.

The Software Architect is responsible for translating the business design into a set of software component design specifications for
implementing the service definitions and business objects called for in that design. This may go beyond just defining the services in the business – it may go as far as designing the internal workings and structure of the actual service components. Building the software architecture will also include making decisions about the appropriateness of legacy function to that design, and determining how to wrapper, extend or re-factor that legacy function to best fit the design.

The Application Developer is responsible for implementing the design for service provided by the software architect. This includes using an appropriate language and technology in which to implement the services, and following the design for those components to the extent those details are provided by the software architect.

The Enterprise Developer is a specialist in legacy application functions, languages and technologies. The developer is responsible for assisting the software architect to identify potential re-use of these functions, and in helping determine how best to extend or re-factor those functions to enable a better fit with the business design.

Finally Enterprise Architect is the person responsible for ensuring consistency across each role’s tasks, in a manner that balances the creation of a set of implementation artifacts representing the business design against the constraints, preferences, and legacy capabilities of the operational environment.

Apart from the above mentioned important or high-level roles, we do have the normal roles like DB administrator, System Administrator, Support team etc, which you see in regular operations of execution of any project.

SOA Life Cycle – Assemble stage


In the previous post, we saw the first stage of the SOA lifecycle where we discussed the Modeling stage.
Once you model your business requirement, you can work with IT department to assemble the artifacts which will implement the business logic modeled by you in the previous stage. 

The enterprise architect working with the business analyst can begin to convert the business design into a set of business process definitions and activities deriving the required services from the activity definitions. They can work with the software architect to flesh out the design of the services.

During the process of resolving a design and implementation of your modeled business processes and services, you should search your existing asset inventories – your legacy programs – to find application components that already meet your needs. Some application components will fit perfectly; some will have to be re-factored; and some will have to be augmented to meet the requirements of the design. These existing assets should be rendered as services for assembly into composite applications.

Any new services required by the business design will have to be created. Software developers should use the SOA programming model to create these new services. Final assembly includes applying the set of policies and conditions to control how your  applications operate in your production environment.

You can import business process modeling projects from WebSphere Business Modeler to Rational Software Architect and transform those business models into UML models, which can be used as starting points for architecting software services. IBM Rational Software Architect then supports the transformation of UML models into service artifacts such as Web Services Description Language (WSDL) documents, XML Schema Definition (XSD) files, and Service Component Definition Language (SCDL) artifacts, which can then be imported into IBM WebSphere Integration Developer for further development, testing, and deployment.
Check this post to know more about the roles like business analyst, software architect etc in SOA foundation.

SOA Life cycle – Model Stage


Modeling is the process of capturing your business design from an understanding of business requirements and objectives and translating that into a specification of business processes, goals and assumptions – creating an encoded model of your business. As we indicated above, many businesses do not go through a formal modeling exercise. 
Capturing your business design using a rigorous approach offers the potential to gain better insight into your business, For example we can use the model to simulate how your business processes will actually run. A well made model will lets you perform ‘what-if’ scenarios that reflect your understanding of the actual number of process instances, contacts, quantities, incoming traffic, etc. that you may experience in your business. The process can then be simulated using those parameters to predict the effect that process will have on your business and on your IT systems. If you don’t achieve the results you expected then you can change your process definition to try to improve your results. You can go on to refine your processes to optimize your business performance even before ever investing in an implementation of those processes.

Your model can also capture key performance indicators like business metrics that are important measurements of your business. These key performance indicators are input to the assembly of your application and later, when the application is in production, collected and reported back to you. You will be able to use that information to determine how well your business is performing. You can use the correlation between your business design in your actual implementation in the information system to determine whether bottlenecks in your performance are due to limitations in your business design or limitations in the information system that automates your design. 
Roles performed in this stage:

Business Analysts
Uses WebSphere business Modeler product
• Analyze business requirements
• Model business processes

IT Analysts/Software Architect
Uses Rational Software Architect product
• Transform business models to service models
• Design service models
• Transform service models to service artifacts

Integration Specialist
Uses WebSphere Integration Developer product
• Develop service integration solutions for SOA
The business analyst will provide business models to IT Analyst in turn IT analyst will provide Service Artifacts to Integration Specialist.

Service Oriented Architecture - SOA, What is it?

Oh!! you didn’t heard of it, yet ? This is a very popular dog a few years ago, which had bitten almost every IT professional and company. :-) . Now there was a new one with name Cloud Computing doing the same thing :-D
OK. When you say SOA, now a days few people say, its a failure. Is really so? I don’t think so, in fact, its a building block for the future technologies
Now, lets back to the actual topic
Service Oriented Architecture – lets divide this into 3 parts.

  • Service
    what is a service? A service is representation of a repetitive task. So, it means, your applications will be converted to a service. As you know, services can be invoked by another service or client applications.
  • Service Oriented
    Service orientation means, a method of integrating different applications and process. So here, different applications which you exposed as services will be linked.
  • Architecture
    SOA is an architecture that supports service orientation.
In definition, A Service Oriented Architecture is an architecture style for creating an IT architecture that exploits the principles of service orientation to achieve a tighter relationship between business and the information systems that supports business.
Here comes a new term called Composite Application. It is a set of related and integrated services that support a business process built on an SOA
SOA life cycle
SOA life cycle composed of 4 stages
image
  • ModelHere, business requirements are translated into a specification of business processes for creating a model of the business.The IBM product for this phase is, WebSphere Business Modeler and IBM rational software architect.
  • Assemble
    This involves translating the design defined in the business model into a composite application implementing the defined processes. In this phase, service are created and linked together.
    The IBM product for this phase is, WebSphere Integration Developer
  • Deploy
    In this stage, SOA is configured to meet the specific needs of the business and then composite application developed above are deployed.
    The IBM product for this phase is, WebSphere Process Server WebSphere Portal
  • Manage
    This involves establishing and maintaining service availability and response times as well as managing the underlying service assets of SOA.
    The IBM product for this phase is, WebSphere Business Monitor, ITCAM.
Now, refer to the previous SOA post and see where and how these components will be used in SOA implementation.