Method Engineering Homework2: PDD Topic: Adopting and Evaluating Service Oriented Architecture in Industry Vid Juvan F122026 PDD: Investigate IT landscape 1..* SYSTEM Identify all systems 1..* PLATFORM Identify all platforms, applications, technologies used 1..* APPLICATION Map identfied platforms, applications, technologies into a matrix TECHNOLOGY 1 1..* SYSTEM DIVERSITY STUDY Study diversity of different systems 1 1 LANDSCAPE DIVERSITY MATRIX Setup an Enterprise Service Bus Identify all units Integrate ESB functionality in the most central unit 1 ESB Systems in the landscape mostly unified YES 1 NO 1 Test Project – Proof of Concept Construct a Portal Solution Implement a scenarion in Portal Implement a Service 1..* PORTAL Scenario 1 Scenario 2 ... Test and evaluate portal solution inside the company YES SERVICE Id Description Implementation TEST PROJECT SUCCESS VERIFICATION Test project successful NO Recalculate risks and potential benefits of adopting SOA Integration Center of Competence Involve all business units 1..* 1 BUSINESS UNIT ICOC 1 1..* Construct ICoC unit 1 Establish work process methodology WORK PROCESS METHODOLOGY Service Integration Process NO Service to be integrated YES Integrate service Test Service Integration INTEGRATION PROCESS 1 INTEGRATION REQUEST Integrate service BU: write integration request ICoC: evaluate and validate the request Validation passed Vision, scope of business scenario Business rules Software arhitecure of the system consuming and providing the service YES ICoC: determen appropriate BU to provide the service and engage it in the process. ICoC: construct the high level design BU service consumer: agree upon design BU service provider: agree upon design HLD 1 Impact analysis Business model Initial project plan Costs resources COST ESTIMATE 1 1 PROJECT PLAN ICoC: prepare total cost estimate BU integration requestor: agree upon costs Interface definitions Supplementary specifications Resources planning Test plan ICoC: develop detailed project plan includes Request concerns an unknown integration NO YES Optional: Test Project – Proof of Concept PoC accepted YES Start integration process Business consultant,information analyst, software arhitect, release coordinator, project manager INTEGRATION PROCESS 1 Activities table: Activity Investigate IT landscape Sub-Activity Identify all systems Identify all platforms, applications, technologies used Map identified platforms, applications, technologies into a matrix Study diversity of different systems Setup an Enterprise Service Bus Test Project – Proof of Concept Report all different coherent business units Integrate ESB functionality in the most central unit Enterprise Service Bus functionality is nicely presented by Schmidt et. Al (2005). Find the most central unit and integrate ESB functionality. Construct a Portal Solution PORTAL is a graphical presentation of a service and its functionality. Create its framework. Implement a scenario in Portal Upgrade PORTAL to be able to work with a specified service Create a service provider for a specified service Enable company personal to work with PORTAL and gather information about its efficiency from them Recalculate risks and potential benefits of adopting SOA Here is one point, where an adoption process could be stopped. Some new information might be available now, which can change the calculation of potential benefits of SOA. Re-evaluation takes place. Involve all business units Construct CoC unit Establish work process methodology Service Integration Process Compare how many different platforms, applications, technologies are being used in a certain system to determine its diversity Identify all units Implement a service Test and evaluate portal solution inside the company Integration Center of Competence Description Distinguish between different systems and report them Analyze the software used in the complex and report all different platforms, applications, technologies used Create a easily readable matrix, that contains all platforms, applications, technologies It is important, that all units are onboard at this point and that they are being informed about any new changes. Find a most appropriate unit, to be serving as a Center of Competence, or create one. Work process methodology is presented in Concepts table. Establish it among all units. Integrate Service Service integration process is presented separately in a PDD. Test Service Integration For testing Services, it is important that they get tested one by one. Test should be thorough. Integrate service BU: write integration request ICoC: evaluate and validate the request ICoC: determine appropriate BU to provide the service and engage it in the process ICoC: construct the high level design BU service consumer: agree upon design BU service provider: agree upon design ICoC: prepare cost estimate BU integration requestor: agree upon costs ICoC: develop detailed project plan Optional: Test Project – Proof of Concept Start integration process Business unit, that wants to consume unimplemented service, first writes initial integration request and sends it to ICoC. ICoC looks into costs, effort and value of possible integrations. The selection criteria is based on assessment of feasibility, reusability, routing, estimate of time and cost for re-engineering, implementation and maintenance. ICoC determines, whether it is beneficial to proceed with integration. ICoC checks, if the requested service already exists in the organization. If not, the appropriate BU to provide this service is determined, and this BU will be engaged in the process. ICoC starts the High Level Design (HLD). It includes an impact analysis, business modeling, initial project plan, costs, and resources. After, ICoC sends HLD back to both Bus for approval. BU must agree with HLD BU must agree with HLD ICoC looks into possible costs and prepares the estimation of it. Estimation goes back to requesting BU for approval. BU must agree upon the costs, estimated by ICoC. Detailed project plan is developed. It includes interface definitions, supplementary specifications, resource planning and a test plan. This step is optional. If the request concerns an unknown integration, it is recommended that a Proof of Concept (PoC) is developed and tested. If it is a mainstream integration, than this step can be omitted. If the PoC is accepted, then the actual development can start. Concepts table: Concept SYSTEM PLATFORM APPLICATION TECHNOLOGY LANDSCAPE DIVERSITY MATRIX SYSTEM DIVERSITY STUDY ESB PORTAL SERVICE TEST PROJECT SUCCESS VERIFICATION BUSINESS UNIT ICOC WORK PROCESS METHODOLOGY INTEGRATION PROCESS INTEGRATION REQUEST HLD COST ESTIMATE PROJECT PLAN Description Coherent and independent part of a complex Platform, used in considered complex Application, used in considered complex Computer technology, used in considered complex A matrix containing all PLATFORMS, APPLICATIONS, TECHNOLOGIES that are being used A matrix where for every SYSTEM it can be seen which and how many different PLATFORMS, APPLICATIONS, TECHNOLOGIES are being used in it The Enterprise Service Bus (ESB) is the infrastructure which underpins a fully integrated and flexible end-to-end service-oriented architecture (SOA) (Schmidt et.al 2005) Graphical solution for accessing services and its functionality Main component of SOA. All functionality that one unit can provide or request is implemented as set of services Verification made by experts stating whether a project was a success A coherent unit of a complex Integration Center of Competence. Unit responsible for any new integration. This unit leads the integration process Methodology, that must be established between all units for any process(integration) A set of all documentation for a certain process of integration Request, written by an requesting BU for a new integration. It includes vision and scope of the business scenario, business rules and the software architecture of the involved systems. High Level Design (HLD), developed by ICoC. It includes an impact analysis, business modeling, initial project plan, costs, and resources. Estimation of costs for a discussed integration, made by ICoC. Project plan for the integration, constructed by ICoC. It includes interface definitions, supplementary specifications, resources planning and a test plan. References: [1] Nasr, K. A., Gross, H., & van Deursen, A. (2010, March). Adopting and Evaluating Service Oriented Architecture in Industry. In Software Maintenance and Reengineering (CSMR), 2010 14th European Conference, IEEE, (pp. 11-20). [2] Schmidt M.-T., Hutchison B., Lambros P., and Phippen R. (2005). The Enterprise Service Bus: Making Service-Oriented Architecture Real. IBM Systems Journal 44, No.4, (pp. 781–798).