Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Javantura v3 - Develop the right way with S-CASE – Marin Orlić

1,297 views

Published on

Javantura v3 - Develop the right way with S-CASE – Marin Orlić

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Javantura v3 - Develop the right way with S-CASE – Marin Orlić

  1. 1. Develop the right way with S-CASE Marin Orlić marin.orlic@ericsson.com Ericsson Nikola Tesla, Zagreb, Croatia
  2. 2. Background Ericsson Nikola Tesla Java community ~200 ppl + students Wide range of projects and interests Zagreb, 20 February, 2016Javantura v3 2 EU FP7 project Final (3rd) year
  3. 3. Scaffolding Scalable Software services Zagreb, 20 February, 2016Javantura v3 3
  4. 4. Prototyping Scalable Software services Zagreb, 20 February, 2016Javantura v3 4
  5. 5. Prototyping Cloud Software services Zagreb, 20 February, 2016Javantura v3 5
  6. 6. Prototyping Cloud Web services Zagreb, 20 February, 2016Javantura v3 6
  7. 7. Software development Requirements Specifications Design Prototyping Zagreb, 20 February, 2016Javantura v3 7 Concept
  8. 8. Software development Requirements Specifications Design Prototyping Zagreb, 20 February, 2016Javantura v3 8 Existing artefacts Concept
  9. 9. Software development with S-CASE Requirements Prototyping Zagreb, 20 February, 2016Javantura v3 9 Existing artefacts Concept
  10. 10. Features • RESTful – 3rd level Richardson Maturity Model RESTful APIs – Full Hypermedia As The Engine of Application State (HATEOAS) • Authentication – Restrict access to selected resources • Search – Search functionality (Lucene) mapped to resources of your choice • Deploy ready – Maven project ready to deploy to a container of your choice • Code Generation – Automated code generation from multi- modal requirements (English text, UML diagrams, storyboards) • External web services – Call 3rd party REST web services – Create mashups of web services • Database – Generate the schema and database • Authorization – Enable attribute based access control (ABAC) – coming soon Zagreb, 20 February, 2016Javantura v3 11
  11. 11. Working with S-CASE • Create requirements • Create service mashups • Generate code • Deploy WAR • RESTReviews – 2100 LoC in Java – 15 mins from scratch – 0 bugs Zagreb, 20 February, 2016Javantura v3 12
  12. 12. 1 Zagreb, 20 February, 2016Javantura v3 13 INSTALL
  13. 13. 2 Zagreb, 20 February, 2016Javantura v3 14 CREATEPROJECT
  14. 14. 3 DEFINE REQUIREMENTS Zagreb, 20 February, 2016Javantura v3 15
  15. 15. 3 DEFINE WORKFLOWS Zagreb, 20 February, 2016Javantura v3 16
  16. 16. 3 UML Zagreb, 20 February, 2016Javantura v3 17
  17. 17. 4 (AUTO)ANNOTATE REQUIREMENTS Zagreb, 20 February, 2016Javantura v3 18
  18. 18. 5 GENERATE CODE - REST resources - Local DB - (Hibernate) - Search in DB (Lucene) - Call external web services - Authentication - Authorization (Basic, ABAC) Zagreb, 20 February, 2016Javantura v3 19
  19. 19. 5 CREATE MASHUPS Zagreb, 20 February, 2016Javantura v3 20
  20. 20. Zagreb, 20 February, 2016Javantura v3 21
  21. 21. 6 GENERATE MASHUP SERVICE • Resulting service can be used in prototype as external service Zagreb, 20 February, 2016Javantura v3 22
  22. 22. 7 DEPLOY (MAVEN) 8 USE THE SERVICE [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singleth readed.SingleThreadedBuilder with a thread count of 1 [INFO] [INFO] --------------------------------------------- --------------------------- [INFO] Building restreviews 1.0-SNAPSHOT [INFO] --------------------------------------------- --------------------------- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ restreviews --- [WARNING] Using platform encoding (Cp1250 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory C:WorkspaceTestWorkspaceMDEGeneratedCoderestrevi ewssrcmainresources [INFO] [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ restreviews --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ restreviews --- Zagreb, 20 February, 2016Javantura v3 23
  23. 23. There’s more... • Analyze natural language (NLP) • Find open source projects – Using existing indices (MARKOS, Agora) • Index and query (in English) over your projects • Publish your own services – YouREST service catalog, SAT tool, automatic • Perceived reliability, maintainability & code metrics of the service – Exceeds NASA standards • Expand the platform – 2D MDE – expandable code generation Zagreb, 20 February, 2016Javantura v3 24
  24. 24. Flavours – ECLIPSE SOLO ECLIPSE SOLO Single developer Smaller projects Simple services Zagreb, 20 February, 2016Javantura v3 25
  25. 25. Flavours – ECLIPSE PUBLIC ECLIPSE PUBLIC Developer teams Quick prototype Large projects Reuse and mashup Zagreb, 20 February, 2016Javantura v3 26
  26. 26. Flavours – ECLIPSE SOLO ECLIPSE PRIVATE Additional security Protect IP Customize S-CASE Zagreb, 20 February, 2016Javantura v3 27
  27. 27. Getting started Javantura v3 Zagreb, 20 February, 2016 29 @scasefp7 marin.orlic@erisson.com http://s-case.github.io http://www.scasefp7.eu S-Case S-Case FP7 s-case
  28. 28. Zagreb, 20 February, 2016Javantura v3 30

×