Javantura v3 - Develop the right way with S-CASE – Marin Orlić
1. Develop the right way with S-CASE
Marin Orlić
marin.orlic@ericsson.com
Ericsson Nikola Tesla, Zagreb, Croatia
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
9. Software development with S-CASE
Requirements
Prototyping
Zagreb, 20 February, 2016Javantura v3 9
Existing
artefacts
Concept
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. 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
21. 6 GENERATE MASHUP
SERVICE
• Resulting service can be used in
prototype as external service
Zagreb, 20 February, 2016Javantura v3 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. 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. Flavours – ECLIPSE SOLO
ECLIPSE
SOLO
Single
developer
Smaller
projects
Simple
services
Zagreb, 20 February, 2016Javantura v3 25
25. Flavours – ECLIPSE PUBLIC
ECLIPSE
PUBLIC
Developer
teams
Quick
prototype
Large
projects
Reuse and
mashup
Zagreb, 20 February, 2016Javantura v3 26
26. Flavours – ECLIPSE SOLO
ECLIPSE
PRIVATE
Additional
security Protect IP
Customize
S-CASE
Zagreb, 20 February, 2016Javantura v3 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