User story : application design, development & deployment - easysoa/EasySOA GitHub Wiki
<<< Back to [[Final soa model design]]
- Roles involved: Business architect, Technical architect, Developer
-
Goal:
- To help design, implement and deploy a new SCA application made from scratch.
-
Features:
- SOA cartography
- Documents storage
- Endpoints availability validation
(NOTE: = Smart Travel scenario)
Here, we simplify the process by assuming a basic V-model over one iteration.
- He designs the application process thanks to a BPMN tool.
- From EasySOA/Eclipse, he lays down what is needed to start working on this application:
- He creates new Project Folder, and within it adds a "Smart Travel" Requirements node called "Smart Travel Requirements".
- He attaches the generated BPMN file and possibly more documentation to the Requirements.
- Once assigned to the "Smart Travel" Requirements, he downloads the BPMN schema and use it to create an SCA application.
- From EasySOA/Eclipse, browses to the Requirements, then imports the SCA composite as a new System, called "Smart Travel application".
- During the import, the file is not only stored under Requirements, but also parsed to construct some Services:
- CreateSummary (Provider: "MyCompany"; depends on WeatherService, TranslationService, ExchangeRate)
- WeatherService (Provider: "External")
- TranslationService (Provider: "External")
- ExchangeRate (Provider: "External")
- During the import, the file is not only stored under Requirements, but also parsed to construct some Services:
- For every service that has to be implemented (i.e. that have "MyCompany" as Provider), some SLR are specified, and more documentation (technical specifications, expected WSDL...) can be attached.
- The design phase is over, the design documents are versioned as a whole.
- Once assigned to the "Smart Travel" Requirements, the developer can work on the implementation: from EasySOA/Eclipse, he defines a new "Smart Travel Impl" Deliverable that implements the CreateSummary Service (in its V1), then develops it.
- The implementation phase is over, the deliverable is version-ed.
(We assume that EasySOA doesn't provide any management of the deployment process)
- In order to set up an integration environment, the developer starts by actually deploying the "Smart Travel Impl" Deliverable using the technologies of his choice.
- In order to keep EasySOA in sync with the deployed app, he creates a new "Integration" Environment.
- He adds "Smart Travel Impl" to this environment, and specifies the parameters that have been given to the "Deployment recipe", in order for EasySOA to compute the SmartTravel Service expected Endpoint.
- EasySOA checks that the Service is indeed made available at this Endpoint.
- EasySOA also checks for the 3 SmartTravel Service's dependencies: as they're considered "External", it will only check their presence by testing their URL (XXX stored where?)
- The deployment phase is over, the environment is version-ed.